From f2d095dd7f3df56b09564ba46dcaa36d912ae4a8 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期一, 18 三月 2024 18:05:45 +0800
Subject: [PATCH] 整理

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java |  310 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 192 insertions(+), 118 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
index b503299..a0b2d69 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -63,101 +63,105 @@
            if(list == null || list.size() ==0){
                return;
            }
-           int tryNum = 1;
-           try {
-               tryNum = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.RETRY_CONNECT_NUM).getCode());
-           }catch (Exception e){
-
-           }
-           for(Empower c : list){
-               TaskPersonDetailRequest param = new TaskPersonDetailRequest();
-               param.setPageNo(1);
-               param.setPageSize(100);
+            Thread t1=new Thread(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                    for(Empower c : list){
+                        TaskPersonDetailRequest param = new TaskPersonDetailRequest();
+                        param.setPageNo(1);
+                        param.setPageSize(100);
 //               param.setPersonIds(new ArrayList<>());
 
-               param.setPersonIds(new String[]{c.getMemberHkId()});
-               param.setTaskId(c.getHkId());
-               TaskDataAdditionResourceRequest rec = new TaskDataAdditionResourceRequest();
-               rec.setResourceIndexCode(c.getDeviceIndexCode());
-               rec.setResourceType(c.getDeviceType());
+                        param.setPersonIds(new String[]{c.getMemberHkId()});
+                        param.setTaskId(c.getHkId());
+                        TaskDataAdditionResourceRequest rec = new TaskDataAdditionResourceRequest();
+                        rec.setResourceIndexCode(c.getDeviceIndexCode());
+                        rec.setResourceType(c.getDeviceType());
 //               rec.setChannelNos(c.getDeviceChannelNo().split(","));
-               param.setResourceInfo(rec);
-               //鏌ヨ涓嬪彂鐘舵��
-               BaseResponse<TaskPersonDetailListResponse> response = HKService.taskPersoDetail(param);
-               if(response!=null
-                       && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE) && response.getData()!=null
-                       ) {
-                   if (response.getData().getList() != null
-                           && response.getData().getList().size() > 0) {
-                       TaskPersonDetailResponse model = response.getData().getList().get(0);
-                       if (model != null && StringUtils.equals(model.getPersondownloadResult(), "0")) {
-                           //鏇存柊宸插畬鎴愪笅杞戒换鍔�
-                           String remark = "";
-                           String cardInfo = "鍗$墖涓嬪彂澶辫触";
-                           TaskPersonDetailCardFaceResponse d = model.getPersonDownloadDetail();
-                           if (d.getCards() != null && d.getCards().size() > 0) {
-                               cardInfo = "鍗$墖锛氥��";
-                               for (TaskPersonDetailCardInfoResponse card : d.getCards()) {
-                                   cardInfo += card.getId() + " ";
-                               }
-                               cardInfo += "銆戜笅鍙戞垚鍔�";
-                           }
-                           if (d.getFaces() == null || d.getFaces().size() == 0) {
-                               remark = cardInfo + "锛� 涓嶆敮鎸佷汉鑴歌澶囷紒";
-                           } else {
-                               remark = "" + cardInfo + "锛屼汉鑴镐笅鍙戞垚鍔燂紒";
-                           }
-                           empowerMapper.update(null, new UpdateWrapper<Empower>()
-                                   .lambda()
-                                   .eq(Empower::getId, c.getId())
-                                   .set(Empower::getRemark, remark)
-                                   .set(Empower::getSendInfo, remark)
-                                   .set(Empower::getSendStatus, Constants.EmpowerStatus.pass));
-                       } else {
-                           empowerMapper.update(null, new UpdateWrapper<Empower>()
-                                   .lambda()
-                                   .eq(Empower::getId, c.getId())
-                                   .set(Empower::getRemark, "涓嬪彂澶辫触")
-                                   .set(Empower::getSendInfo, "涓嬪彂澶辫触")
-                                   .set(Empower::getSendStatus, Constants.EmpowerStatus.fail));
-                       }
-                   } else {
-                       //濡傛灉鏄凡鍒犻櫎鐨勬暟鎹紝涓嬪彂澶辫触锛堥槻姝㈣澶囩绾匡級锛屽垯灏濊瘯閲嶆柊涓嬪彂浠诲姟
-                       if(Constants.equalsInteger(c.getIsdeleted(), Constants.ONE) ){
+                        param.setResourceInfo(rec);
+                        //鏌ヨ涓嬪彂鐘舵��
+                        BaseResponse<TaskPersonDetailListResponse> response = HKService.taskPersoDetail(param);
+                        if(response!=null
+                                && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE) && response.getData()!=null
+                        ) {
+                            if (response.getData().getList() != null
+                                    && response.getData().getList().size() > 0) {
+                                TaskPersonDetailResponse model = response.getData().getList().get(0);
+                                if (model != null && StringUtils.equals(model.getPersondownloadResult(), "0")) {
+                                    //鏇存柊宸插畬鎴愪笅杞戒换鍔�
+                                    String remark = "";
+                                    String cardInfo = "鍗$墖涓嬪彂澶辫触";
+                                    TaskPersonDetailCardFaceResponse d = model.getPersonDownloadDetail();
+                                    if (d.getCards() != null && d.getCards().size() > 0) {
+                                        cardInfo = "鍗$墖锛氥��";
+                                        for (TaskPersonDetailCardInfoResponse card : d.getCards()) {
+                                            cardInfo += card.getId() + " ";
+                                        }
+                                        cardInfo += "銆戜笅鍙戞垚鍔�";
+                                    }
+                                    if (d.getFaces() == null || d.getFaces().size() == 0) {
+                                        remark = cardInfo + "锛� 涓嶆敮鎸佷汉鑴歌澶囷紒";
+                                    } else {
+                                        remark = "" + cardInfo + "锛屼汉鑴镐笅鍙戞垚鍔燂紒";
+                                    }
+                                    empowerMapper.update(null, new UpdateWrapper<Empower>()
+                                            .lambda()
+                                            .eq(Empower::getId, c.getId())
+                                            .set(Empower::getRemark, remark)
+                                            .set(Empower::getSendInfo, remark)
+                                            .set(Empower::getSendStatus, Constants.EmpowerStatus.pass));
+                                } else {
+                                    empowerMapper.update(null, new UpdateWrapper<Empower>()
+                                            .lambda()
+                                            .eq(Empower::getId, c.getId())
+                                            .set(Empower::getRemark, "涓嬪彂澶辫触")
+                                            .set(Empower::getSendInfo, "涓嬪彂澶辫触")
+                                            .set(Empower::getSendStatus, Constants.EmpowerStatus.fail));
+                                }
+                            } else {
+                                //濡傛灉鏄凡鍒犻櫎鐨勬暟鎹紝涓嬪彂澶辫触锛堥槻姝㈣澶囩绾匡級锛屽垯灏濊瘯閲嶆柊涓嬪彂浠诲姟
+                                if(Constants.equalsInteger(c.getIsdeleted(), Constants.ONE) ){
 //                               && Constants.formatIntegerNum(c.getTryNum())+1 < tryNum ){
-                           empowerMapper.update(null, new UpdateWrapper<Empower>()
-                                   .lambda()
-                                   .eq(Empower::getId, c.getId())
-                                   .set(Empower::getRemark,  "涓嬪彂澶辫触锛岀瓑寰呴噸鏂板垹闄ゆ潈闄�")
+                                    empowerMapper.update(null, new UpdateWrapper<Empower>()
+                                            .lambda()
+                                            .eq(Empower::getId, c.getId())
+                                            .set(Empower::getRemark,  "涓嬪彂澶辫触锛岀瓑寰呴噸鏂板垹闄ゆ潈闄�")
 //                                   .set(Empower::getHkId,null)
 //                                   .set(Empower::getSendDate,null)
-                                   .set(Empower::getTryNum,Constants.formatIntegerNum(c.getTryNum())+1)
-                                   .set(Empower::getSendInfo, "涓嬪彂澶辫触锛岀瓑寰呴噸鏂板垹闄ゆ潈闄�")
-                                   .set(Empower::getSendStatus, Constants.EmpowerStatus.wait));
-                       }else{
-                           empowerMapper.update(null, new UpdateWrapper<Empower>()
-                                   .lambda()
-                                   .eq(Empower::getId, c.getId())
-                                   .set(Empower::getRemark, "涓嬪彂澶辫触")
-                                   .set(Empower::getSendInfo, "涓嬪彂澶辫触")
-                                   .set(Empower::getSendStatus, Constants.EmpowerStatus.fail));
-                       }
+                                            .set(Empower::getTryNum,Constants.formatIntegerNum(c.getTryNum())+1)
+                                            .set(Empower::getSendInfo, "涓嬪彂澶辫触锛岀瓑寰呴噸鏂板垹闄ゆ潈闄�")
+                                            .set(Empower::getSendStatus, Constants.EmpowerStatus.wait));
+                                    empowerMapper.update(null, new UpdateWrapper<Empower>()
+                                            .lambda()
+                                            .eq(Empower::getId, c.getId())
+                                            .set(Empower::getRemark, "鍒犻櫎鏉冮檺涓嬪彂澶辫触")
+                                            .set(Empower::getSendInfo, "鍒犻櫎鏉冮檺涓嬪彂澶辫触")
+                                            .set(Empower::getSendStatus, Constants.EmpowerStatus.fail));
+                                }else{
+                                    empowerMapper.update(null, new UpdateWrapper<Empower>()
+                                            .lambda()
+                                            .eq(Empower::getId, c.getId())
+                                            .set(Empower::getRemark, "涓嬪彂澶辫触")
+                                            .set(Empower::getSendInfo, "涓嬪彂澶辫触")
+                                            .set(Empower::getSendStatus, Constants.EmpowerStatus.fail));
+                                }
+                            }
+                            checkDelMemberTask(c.getMemberId());
+                        }
+                    }
+                    }catch (Exception e){
 
-                      /* empowerMapper.update(null, new UpdateWrapper<Empower>()
-                               .lambda()
-                               .eq(Empower::getId, c.getId())
-                               .set(Empower::getRemark, Constants.equalsInteger(c.getIsdeleted(), Constants.ZERO) ? "涓嬪彂澶辫触" : "鍒犻櫎鏉冮檺鎴愬姛")
-                               .set(Empower::getSendInfo, "鍒犻櫎鏉冮檺鎴愬姛")
-                               .set(Empower::getSendStatus, Constants.equalsInteger(c.getIsdeleted(), Constants.ZERO) ? Constants.EmpowerStatus.fail : Constants.EmpowerStatus.pass));
-                         */
-                     }
-                   checkDelMemberTask(c.getMemberId());
-               }
-           }
+                    }finally {
+                        Constants.DEALING_HK_EMPOWER_DETAIL=false;
+                    }
+                }
+            });
+            t1.start();
+
+
         }catch (Exception e){
             e.printStackTrace();
-        }finally {
-            Constants.DEALING_HK_EMPOWER_DETAIL=false;
         }
 
     }
@@ -279,30 +283,41 @@
            if(list == null || list.size() ==0){
                return;
            }
-           for(Empower c : list){
-               TaskProgressRequest param = new TaskProgressRequest();
-               param.setTaskId(c.getHkId());
-               //鏌ヨ涓嬪彂鐘舵��
-               BaseResponse<TaskProgressNumResponse> response = HKService.taskProgressNum(param);
-               if(response!=null
-                       && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)
-                       && response.getData()!=null
-                       && response.getData().getIsDownloadFinished() != null
-                       && response.getData().getIsDownloadFinished() ){
-                   //鏇存柊宸插畬鎴愪笅杞戒换鍔�
-                   empowerMapper.update(null,new UpdateWrapper<Empower>()
-                           .lambda()
-                           .eq(Empower::getHkId,c.getHkId() )
-                           .set(Empower::getSendInfo,"浠诲姟宸蹭笅杞藉畬鎴�" )
-                           .set(Empower::getSendStatus,Constants.EmpowerStatus.downloaded) );
-               }
-           }
+            Thread t1=new Thread(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        for(Empower c : list){
+                            TaskProgressRequest param = new TaskProgressRequest();
+                            param.setTaskId(c.getHkId());
+                            //鏌ヨ涓嬪彂鐘舵��
+                            BaseResponse<TaskProgressNumResponse> response = HKService.taskProgressNum(param);
+                            if(response!=null
+                                    && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)
+                                    && response.getData()!=null){
+                                //鏇存柊宸插畬鎴愪笅杞戒换鍔�
+                                if(  response.getData().getIsDownloadFinished() != null
+                                        && response.getData().getIsDownloadFinished() ){
+                                    empowerMapper.update(null,new UpdateWrapper<Empower>()
+                                            .lambda()
+                                            .eq(Empower::getHkId,c.getHkId() )
+                                            .set(Empower::getSendInfo,"浠诲姟宸蹭笅杞藉畬鎴�" )
+                                            .set(Empower::getSendStatus,Constants.EmpowerStatus.downloaded) );
+
+                                }
+                            }
+                        }
+                    }catch (Exception e1){
+                        e1.printStackTrace();
+                    }finally {
+                        Constants.DEALING_HK_EMPOWER_RESULT =false;
+                    }
+                }
+            });
+            t1.start();
         }catch (Exception e){
             e.printStackTrace();
-        }finally {
-            Constants.DEALING_HK_EMPOWER_RESULT =false;
         }
-
     }
 
 
@@ -311,21 +326,47 @@
      * 澶勭悊浜哄憳鎺堟潈鏁版嵁锛屽畾鏃朵笅鍙�
      */
     @Override
-    public  void syncEmpowerData() {
-        if(Constants.DEALING_HK_EMPOWER){
-            return   ;
-        }
-        Constants.DEALING_HK_EMPOWER =true;
+    public  Integer syncEmpowerData(Integer endId) {
+//        if(Constants.DEALING_HK_EMPOWER){
+//            return  null ;
+//        }
+//        Constants.DEALING_HK_EMPOWER =true;
         try {
             //鍏堝垹闄ゆ墍鏈夐渶瑕佸彇娑堟巿鏉冪殑鏁版嵁
-            dealDelListTask(getDealList(Constants.ONE));
-            //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁,閲嶆柊涓嬪彂鏈�鏂颁汉鍛樻潈闄愬嵆鍙�
-            dealNewListTask(getDealList(Constants.ZERO));
+            List<Empower> allList =getAllWaitDealList( endId);
+            if(allList !=null && allList.size()>0){
+                //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁,閲嶆柊涓嬪彂鏈�鏂颁汉鍛樻潈闄愬嵆鍙�
+//            dealNewListTask(getDealList(Constants.ZERO,endId));
+                List<Empower> dellist = new ArrayList<>();
+                List<Empower> addlist = new ArrayList<>();
+                for(Empower e : allList){
+                    if(Constants.equalsInteger(e.getIsdeleted(),Constants.ONE)){
+                        dellist.add(e);
+                    }else {
+                        addlist.add(e);
+                    }
+                }
+                Thread t1=new Thread(new Runnable() {
+                    @Override
+                    public void run() {
+                        if(dellist!=null &&dellist.size()>0) {
+                            dealDelListTask(dellist);
+                        }
+                        if(addlist!=null &&addlist.size()>0) {
+                            dealNewListTask(addlist);
+                        }
+                    }
+                });
+                t1.start();
+                return allList.get(allList.size()-1).getId();
+            }
+
         }catch (Exception e){
             e.printStackTrace();
         }finally {
-            Constants.DEALING_HK_EMPOWER =false;
+//            Constants.DEALING_HK_EMPOWER =false;
         }
+        return null;
     }
     @Override
     public  void syncEmpowerDataNew(int start,int end) {
@@ -405,7 +446,21 @@
                 .set(Empower::getEditDate,date)
                 .in(Empower::getId,errorList));
     }
+    public class TaskRuner implements Runnable{
+        private    List<Empower> list ;
+        @Override
+        public void run() {
+            dealNewListTask(list);
+        }
 
+        public List<Empower> getList() {
+            return list;
+        }
+
+        public void setList(List<Empower> list) {
+            this.list = list;
+        }
+    }
     private void dealNewListTask(List<Empower> list) {
         //鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁
         if(list ==null || list.size()==0){
@@ -520,7 +575,7 @@
             return  false;
         }
     }
-    private List<Empower> getDealList(int del  ) {
+    private List<Empower> getDealList(int del ,Integer endId ) {
         MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper.selectAll(Empower.class);
         queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
@@ -530,7 +585,26 @@
         queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
         queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
         queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.wait);
-        queryWrapper.eq( Empower::getIsdeleted,del);
+//        queryWrapper.eq( Empower::getIsdeleted,del);
+        queryWrapper.gt(Empower::getId,endId);
+        queryWrapper.orderByAsc(Empower::getId );
+//        queryWrapper.orderByAsc(Empower::getCreateDate );
+        queryWrapper.last("limit 100");//姣忔闄愬埗涓嬪彂100涓�
+        List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
+        return list;
+    }
+    private List<Empower> getAllWaitDealList(int endId   ) {
+        MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper.selectAll(Empower.class);
+        queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
+        queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId);
+        queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
+        queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType);
+        queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
+        queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
+        queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.wait);
+//        queryWrapper.eq( Empower::getIsdeleted,del);
+        queryWrapper.gt(Empower::getId,endId);
         queryWrapper.orderByAsc(Empower::getId );
 //        queryWrapper.orderByAsc(Empower::getCreateDate );
         queryWrapper.last("limit 100");//姣忔闄愬埗涓嬪彂100涓�

--
Gitblit v1.9.3