From f76c68a87261cf2396a64c7125324c24483d4623 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 09 六月 2026 09:46:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao
---
server/visits/admin_timer/src/main/java/com/doumee/api/HkEmpowerTimerController.java | 62 ++++++++++++++++++++++++-------
1 files changed, 48 insertions(+), 14 deletions(-)
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkEmpowerTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/HkEmpowerTimerController.java
index 4cfd2d0..df30c8e 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/HkEmpowerTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/HkEmpowerTimerController.java
@@ -5,39 +5,58 @@
import com.doumee.service.business.impl.hksync.fhk.HkSyncVehicleFromHKServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
/**
* @author 姹熻箘韫�
* @date 2023/11/30 15:33
*/
@Api(tags = "浜哄憳璁惧鎺堟潈瀹氭椂鍣ㄦ帴鍙�")
+@Slf4j
@RestController
@RequestMapping("/timer/empower")
public class HkEmpowerTimerController extends BaseController {
@Autowired
private HkSyncEmpowerServiceImpl hkSyncEmpowerService;
+ private final AtomicInteger endId2 = new AtomicInteger(0);
+ private final AtomicBoolean dealingDetail = new AtomicBoolean(false);
- public static Integer endId2 = 0;
@ApiOperation("寮�鍚畾鏃舵煡璇汉鍛樿澶囨巿鏉冪粨鏋�")
@PostMapping("/syncEmpowerDetailData")
public ApiResponse syncEmpowerDetailData() {
- if(endId2 ==null){
- endId2 =0;
+ log.info("瀹氭椂浠诲姟鎵ц寮�濮嬶細syncEmpowerDetailData-鏌ヨ浜哄憳璁惧鎺堟潈缁撴灉");
+ if(!dealingDetail.compareAndSet(false, true)){
+ return ApiResponse.success("syncEmpowerDetailData姝e湪鎵ц锛岃烦杩�");
}
- endId2 = hkSyncEmpowerService.syncEmpowerDetailData(endId2);
- for (int i = 0; i < 9; i++) {
- if(endId2!=null){
- endId2 = hkSyncEmpowerService.syncEmpowerDetailData(endId2);
+ try {
+ int current = endId2.get();
+ Integer next = hkSyncEmpowerService.syncEmpowerDetailData(current);
+ for (int i = 0; i < 9; i++) {
+ if(next != null){
+ endId2.set(next);
+ next = hkSyncEmpowerService.syncEmpowerDetailData(next);
+ }
}
+ if(next != null){
+ endId2.set(next);
+ }
+ } catch (Exception e){
+ log.error("syncEmpowerDetailData寮傚父", e);
+ } finally {
+ dealingDetail.set(false);
}
return ApiResponse.success("寮�鍚畾鏃舵煡璇汉鍛樿澶囨巿鏉冪粨鏋滄垚鍔�");
}
@ApiOperation("寮�鍚畾鏃舵煡璇汉鍛樿澶囨巿鏉冧笅杞借繘搴�")
@PostMapping("/syncEmpowerResultData")
public ApiResponse syncEmpowerResultData() {
+ log.info("瀹氭椂浠诲姟鎵ц寮�濮嬶細syncEmpowerResultData-鏌ヨ鎺堟潈涓嬭浇杩涘害");
hkSyncEmpowerService.syncEmpowerResultData(0);
return ApiResponse.success("寮�鍚畾鏃舵煡璇汉鍛樿澶囨巿鏉冧笅杞借繘搴︽垚鍔�");
}
@@ -45,24 +64,39 @@
@ApiOperation("寮�鍚畾鏃堕噸鏂颁笅鍙戝け璐ョ殑鎺堟潈鏁版嵁")
@PostMapping("/syncEmpowerFailData")
public ApiResponse syncEmpowerFailData() {
+ log.info("瀹氭椂浠诲姟鎵ц寮�濮嬶細syncEmpowerFailData-閲嶆柊涓嬪彂澶辫触鎺堟潈");
hkSyncEmpowerService.syncEmpowerFailData(0);
return ApiResponse.success("寮�鍚畾鏃堕噸鏂颁笅鍙戝け璐ョ殑鎺堟潈鏁版嵁鎴愬姛");
}
- public static Integer endId = 0;
+ private final AtomicInteger endId = new AtomicInteger(0);
+ private final AtomicBoolean dealingEmpower = new AtomicBoolean(false);
+
@Autowired
private HkSyncVehicleFromHKServiceImpl hkSyncVehicleFromHKService;
@ApiOperation("寮�鍚畾鏃跺埛鏂颁汉鍛樿澶囨巿鏉�")
@PostMapping("/syncEmpowerData")
public ApiResponse syncEmpowerData() {
- if(endId ==null){
- endId =0;
+ log.info("瀹氭椂浠诲姟鎵ц寮�濮嬶細syncEmpowerData-鍒锋柊浜哄憳璁惧鎺堟潈");
+ if(!dealingEmpower.compareAndSet(false, true)){
+ return ApiResponse.success("syncEmpowerData姝e湪鎵ц锛岃烦杩�");
}
- endId = hkSyncEmpowerService.syncEmpowerData(endId);
- for (int i = 0; i < 9; i++) {
- if(endId!=null){
- endId = hkSyncEmpowerService.syncEmpowerData(endId);
+ try {
+ int current = endId.get();
+ Integer next = hkSyncEmpowerService.syncEmpowerData(current);
+ for (int i = 0; i < 9; i++) {
+ if(next != null){
+ endId.set(next);
+ next = hkSyncEmpowerService.syncEmpowerData(next);
+ }
}
+ if(next != null){
+ endId.set(next);
+ }
+ } catch (Exception e){
+ log.error("syncEmpowerData寮傚父", e);
+ } finally {
+ dealingEmpower.set(false);
}
return ApiResponse.success("寮�鍚畾鏃跺埛鏂颁汉鍛樿澶囨巿鏉冩垚鍔�");
}
--
Gitblit v1.9.3