From d9c657aa78cf0ebe31933a87e63ca92edd8a8da3 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 11 六月 2026 09:57:50 +0800
Subject: [PATCH] 数据采集站

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java |  126 ++++++++++++++++++++++++++---------------
 1 files changed, 79 insertions(+), 47 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
index 550868e..c797984 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -24,12 +24,14 @@
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.concurrent.Executor;
 
 /**
  * 娴峰悍闂ㄧ鎺堟潈涓氬姟Service瀹炵幇
@@ -50,12 +52,17 @@
     @Autowired
     private MemberCardMapper memberCardMapper;
 
+    @Autowired
+    @Qualifier("asyncExecutor")
+    private Executor asyncExecutor;
+
     /**
      * 瀹氭椂鏌ヨ鏉冮檺涓嬪彂浠诲姟杩涘害鎵ц缁撴灉
      */
     @Override
     public  Integer   syncEmpowerDetailData(Integer endId){
-        log.error("");
+        long startTime = System.currentTimeMillis();
+        log.info("syncEmpowerDetailData鎵ц寮�濮�, endId={}", endId);
 //        if(Constants.DEALING_HK_EMPOWER_DETAIL){
 //            return   ;
 //        }
@@ -63,14 +70,19 @@
             //鏌ヨ鎵�鏈夊畬鎴愪笅杞斤紝寰呮煡璇㈢粨鏋滅殑鏁版嵁璁板綍
             List<Empower>  list = getDealListDetail(endId);
            if(list == null || list.size() ==0){
+               log.info("syncEmpowerDetailData鏃犲緟澶勭悊鏁版嵁, 鑰楁椂{}ms", System.currentTimeMillis() - startTime);
                return null;
            }
-        Thread t1=new Thread(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    for(Empower c : list){
-                        TaskPersonDetailRequest param = new TaskPersonDetailRequest();
+        asyncExecutor.execute(() -> {
+            try {
+                for(Empower c : list){
+                        AuthResultPageRequest param = new AuthResultPageRequest();
+                        param.setPageNo(1);
+                        param.setPageSize(999);
+                        param.setBusinessNo(c.getHkId());
+                        BaseResponse<AuthResultPageResponse> response =HKService.authResultPage(param);
+
+                       /* TaskPersonDetailRequest param = new TaskPersonDetailRequest();
                         param.setPageNo(1);
                         param.setPageSize(10);
                         param.setPersonIds(new String[]{c.getMemberHkId()});
@@ -80,22 +92,24 @@
                         rec.setResourceType(c.getDeviceType());
                         param.setResourceInfo(rec);
                         //鏌ヨ涓嬪彂鐘舵��
-                        BaseResponse<TaskPersonDetailListResponse> response = HKService.taskPersoDetail(param);
+                        BaseResponse<TaskPersonDetailListResponse> response = HKService.taskPersoDetail(param);*/
                         if(response!=null
                                 && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)
                                 && response.getData()!=null
                                 && response.getData().getList() != null
                                 && response.getData().getList().size() > 0
                                 &&response.getData().getList().get(0) !=null){
-                                TaskPersonDetailResponse model = response.getData().getList().get(0);
-                            if (model.getPersonDownloadDetail()!=null ) {
+//                                TaskPersonDetailResponse model = response.getData().getList().get(0);
+
+                            AuthResultPageDetailResponse model = getAuthDetailByUserAndDevice(c,response.getData().getList());
+//                            if (model.getPersonDownloadDetail()!=null ) {
+                            if (model!=null ) {
                                 boolean isface = false;//鏄惁浜鸿劯涓嬪彂鎴愬姛
                                 boolean iscard = false;//鏄惁鏈夊崱鐗囦笅鍙戞垚鍔�
                                 //鏇存柊宸插畬鎴愪笅杞戒换鍔�
                                 String remark = "";
                                 String cardInfo ="";
-                                TaskPersonDetailCardFaceResponse d = model.getPersonDownloadDetail();
-                                if (d.getCards() != null && d.getCards().size() > 0) {
+                               /* if (d.getCards() != null && d.getCards().size() > 0) {
                                     for (TaskPersonDetailCardInfoResponse card : d.getCards()) {
                                         if(StringUtils.equals(card.getErrorCode(),HKResponseCode.ReturnCode.RESPONSE_SUCCEE.getKey())){
                                             cardInfo += card.getId() + " ";
@@ -138,13 +152,31 @@
                                     }
                                 }
                                 //濡傛灉杩斿洖涓嬪彂鎴愬姛 鎴栬�� 浜鸿劯涓嬪彂鎴愬姛骞朵笖鍗$墖涓嬪彂鎴愬姛
-                                boolean isSuccess =StringUtils.equals(model.getPersondownloadResult(), "0") || (iscard&&isface);
+                                boolean isSuccess =StringUtils.equals(model.getPersondownloadResult(), "0") || (iscard&&isface);*/
+
+                                if (Constants.equalsInteger(model.getDownCardStatus(),0)) {
+                                    cardInfo = "鍗$墖涓嬪彂鏈彉鏇�";
+                                }else  if (Constants.equalsInteger(model.getDownCardStatus(),1)) {
+                                    cardInfo = "鍗$墖涓嬪彂鎴愬姛";
+                                }else {
+                                    cardInfo = "鍗$墖涓嬪彂澶辫触";
+                                }
+
+                                if ( Constants.equalsInteger(model.getDownFaceStatus(),0)) {
+                                    remark = "浜鸿劯涓嬪彂鏈彉鏇达紒";
+                                } else  if (Constants.equalsInteger(model.getDownFaceStatus(),1)) {
+                                    remark = "浜鸿劯涓嬪彂鎴愬姛锛�";
+                                }else{
+                                    remark = "浜鸿劯涓嬪彂澶辫触锛�";
+                                }
+                                //涓嬪彂鎴愬姛鎴栬�呮湭鍙樻洿
+                                boolean isSuccess = Constants.equalsInteger(model.getDownPersonStatus(),1)|| Constants.equalsInteger(model.getDownPersonStatus(),0) ;
                                 empowerMapper.update(null, new UpdateWrapper<Empower>()
                                         .lambda()
                                         .eq(Empower::getId, c.getId())
-                                        .set(Empower::getRemark, remark)
+                                        .set(Empower::getRemark,cardInfo+ remark)
                                         .set(Empower::getEditDate,new Date())
-                                        .set(Empower::getSendInfo, remark)
+                                        .set(Empower::getSendInfo,cardInfo+remark)
                                         .set(Empower::getSendStatus, isSuccess?Constants.EmpowerStatus.pass:Constants.EmpowerStatus.fail));
                                 if(isSuccess && Constants.equalsInteger(c.getMemberDeleted(), Constants.ONE)&& Constants.equalsInteger(c.getIsdeleted(), Constants.ONE) ){
                                     //濡傛灉鏄垹闄ゆ潈闄愭垚鍔燂紝妫�鏌ユ槸鍚﹀垹闄や汉鍛�
@@ -175,13 +207,21 @@
                         }
                     }
                 }catch (Exception e){
-                    e.printStackTrace();
+                    log.error("syncEmpowerDetailData鎵ц寮傚父", e);
                 }
-            }
         });
-        t1.start();
+         log.info("syncEmpowerDetailData鎵ц缁撴潫, 鑰楁椂{}ms", System.currentTimeMillis() - startTime);
          return list.get(list.size()-1).getId();
 
+    }
+
+    private AuthResultPageDetailResponse getAuthDetailByUserAndDevice(Empower c, List<AuthResultPageDetailResponse> list) {
+        for(AuthResultPageDetailResponse t : list){
+            if(StringUtils.equals(t.getPersonId(),c.getMemberHkId()) && StringUtils.equals(t.getDeviceIndexCode(),c.getDeviceIndexCode())){
+                return t;
+            }
+        }
+        return null;
     }
 
 
@@ -310,18 +350,15 @@
      */
     @Override
     public  Integer syncEmpowerResultData(Integer endId){
-//        if(Constants.DEALING_HK_EMPOWER_RESULT){
-//            return  null ;
-//        }
-//        Constants.DEALING_HK_EMPOWER_RESULT=true;
+        long startTime = System.currentTimeMillis();
+        log.info("syncEmpowerResultData鎵ц寮�濮�, endId={}", endId);
             //鏌ヨ鎵�鏈夋墽琛屼腑寰楁暟鎹�
          List<Empower>  list = getIngTaskListResult(Constants.formatIntegerNum(endId));
            if(list == null || list.size() ==0){
+               log.info("syncEmpowerResultData鏃犲緟澶勭悊鏁版嵁, 鑰楁椂{}ms", System.currentTimeMillis() - startTime);
                return null;
            }
-            Thread t1=new Thread(new Runnable() {
-                @Override
-                public void run() {
+            asyncExecutor.execute(() -> {
                     try {
                         for(Empower c : list){
                             TaskProgressRequest param = new TaskProgressRequest();
@@ -354,13 +391,10 @@
                             }
                         }
                     }catch (Exception e1){
-                        e1.printStackTrace();
-                    }finally {
-                        Constants.DEALING_HK_EMPOWER_RESULT =false;
+                        log.error("syncEmpowerResultData鎵ц寮傚父", e1);
                     }
-                }
-            });
-            t1.start();
+                });
+            log.info("syncEmpowerResultData鎵ц缁撴潫, 鑰楁椂{}ms", System.currentTimeMillis() - startTime);
             return list.get(list.size()-1).getId();
 
     }
@@ -372,6 +406,8 @@
      */
     @Override
     public  Integer syncEmpowerFailData(Integer endId) {
+        long startTime = System.currentTimeMillis();
+        log.info("syncEmpowerFailData鎵ц寮�濮�, endId={}", endId);
         List<Empower> allList =getAllFailDealList( endId);
         if(allList!=null && allList.size()>0){
             Date date = new Date();
@@ -411,6 +447,7 @@
             }
             return allList.get(allList.size()-1).getId();
         }
+        log.info("syncEmpowerFailData鎵ц缁撴潫, 鑰楁椂{}ms", System.currentTimeMillis() - startTime);
         return null;
     }
     /**
@@ -418,33 +455,28 @@
      */
     @Override
     public  Integer syncEmpowerData(Integer endId) {
-//        if(Constants.DEALING_HK_EMPOWER){
-//            return  null ;
-//        }
-//        Constants.DEALING_HK_EMPOWER =true;
+        long startTime = System.currentTimeMillis();
+        log.info("syncEmpowerData鎵ц寮�濮�, endId={}", endId);
             //鍏堝垹闄ゆ墍鏈夐渶瑕佸彇娑堟巿鏉冪殑鏁版嵁
             if(empowerMapper.selectCount(new QueryWrapper<Empower>().lambda()
                     .eq(Empower::getSendStatus,Constants.EmpowerStatus.ing)) > 1000){
-                //濡傛灉褰撳墠浠诲姟澶т簬1000涓紙澶ф10涓换鍔★級
+                log.info("syncEmpowerData浠诲姟闃熷垪宸叉弧(>1000), 璺宠繃, 鑰楁椂{}ms", System.currentTimeMillis() - startTime);
                 return endId;
             }
             List<Empower> allList =getAllWaitDealList( endId);
             if(allList !=null && allList.size()>0){
                 //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁,閲嶆柊涓嬪彂鏈�鏂颁汉鍛樻潈闄愬嵆鍙�
-                Thread t1=new Thread(new Runnable() {
-                    @Override
-                    public void run() {
-                        try {
-                            dealAllListTask(allList);
-                        }catch (Exception e){
-                            log.info("======================涓嬪彂鎺堟潈寮傚父锛�"+e.getMessage());
-                            e.printStackTrace();
-                        }
+                asyncExecutor.execute(() -> {
+                    try {
+                        dealAllListTask(allList);
+                    }catch (Exception e){
+                        log.error("======================涓嬪彂鎺堟潈寮傚父", e);
                     }
                 });
-                t1.start();
+                log.info("syncEmpowerData鎻愪氦{}鏉℃暟鎹�, 鑰楁椂{}ms", allList.size(), System.currentTimeMillis() - startTime);
                 return allList.get(allList.size()-1).getId();
             }
+        log.info("syncEmpowerData鏃犲緟澶勭悊鏁版嵁, 鑰楁椂{}ms", System.currentTimeMillis() - startTime);
         return null;
     }
     @Override
@@ -656,7 +688,7 @@
         if(list ==null || list.size()==0){
             return;
         }
-//        clearAllEmpowerFirst(list);
+//      clearAllEmpowerFirst(list);
         Date date = new Date();
         //鍒涘缓浠诲姟
         String taskId = hkTaskAddtion();

--
Gitblit v1.9.3