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

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java |  157 ++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 104 insertions(+), 53 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 a0b2d69..d94d165 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
@@ -21,6 +21,7 @@
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
@@ -52,33 +53,29 @@
      * 瀹氭椂鏌ヨ鏉冮檺涓嬪彂浠诲姟杩涘害鎵ц缁撴灉
      */
     @Override
-    public  void syncEmpowerDetailData(){
-        if(Constants.DEALING_HK_EMPOWER_DETAIL){
-            return   ;
-        }
-        Constants.DEALING_HK_EMPOWER_DETAIL = true;
-        try {
+    public  Integer   syncEmpowerDetailData(Integer endId){
+//        if(Constants.DEALING_HK_EMPOWER_DETAIL){
+//            return   ;
+//        }
+//        Constants.DEALING_HK_EMPOWER_DETAIL = true;
             //鏌ヨ鎵�鏈夊畬鎴愪笅杞斤紝寰呮煡璇㈢粨鏋滅殑鏁版嵁璁板綍
-            List<Empower>  list = getDealListDetail();
+            List<Empower>  list = getDealListDetail(endId);
            if(list == null || list.size() ==0){
-               return;
+               return null;
            }
-            Thread t1=new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    try {
+        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.setPageSize(10);
                         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);
@@ -123,26 +120,26 @@
                                 //濡傛灉鏄凡鍒犻櫎鐨勬暟鎹紝涓嬪彂澶辫触锛堥槻姝㈣澶囩绾匡級锛屽垯灏濊瘯閲嶆柊涓嬪彂浠诲姟
                                 if(Constants.equalsInteger(c.getIsdeleted(), Constants.ONE) ){
 //                               && Constants.formatIntegerNum(c.getTryNum())+1 < tryNum ){
-                                    empowerMapper.update(null, new UpdateWrapper<Empower>()
+                              /*      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));
+                                            .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::getTryNum,Constants.formatIntegerNum(c.getTryNum())+1)
                                             .set(Empower::getSendStatus, Constants.EmpowerStatus.fail));
                                 }else{
                                     empowerMapper.update(null, new UpdateWrapper<Empower>()
                                             .lambda()
                                             .eq(Empower::getId, c.getId())
                                             .set(Empower::getRemark, "涓嬪彂澶辫触")
+                                            .set(Empower::getTryNum,Constants.formatIntegerNum(c.getTryNum())+1)
                                             .set(Empower::getSendInfo, "涓嬪彂澶辫触")
                                             .set(Empower::getSendStatus, Constants.EmpowerStatus.fail));
                                 }
@@ -150,21 +147,19 @@
                             checkDelMemberTask(c.getMemberId());
                         }
                     }
-                    }catch (Exception e){
+                }catch (Exception e){
 
-                    }finally {
-                        Constants.DEALING_HK_EMPOWER_DETAIL=false;
-                    }
+                }finally {
+//                    Constants.DEALING_HK_EMPOWER_DETAIL=false;
                 }
-            });
-            t1.start();
-
-
-        }catch (Exception e){
-            e.printStackTrace();
-        }
+            }
+        });
+        t1.start();
+         return list.get(list.size()-1).getId();
 
     }
+
+
     /**
      * 瀵规捣搴峰垹闄ょ粍缁囦俊鎭�
      * @param id
@@ -226,7 +221,7 @@
         Constants.DEALING_HK_EMPOWER_DETAIL = true;
         try {
             //鏌ヨ鎵�鏈夊畬鎴愪笅杞斤紝寰呮煡璇㈢粨鏋滅殑鏁版嵁璁板綍
-            List<Empower>  list = getDealListDetail();
+            List<Empower>  list = getDealListDetail(0);
            if(list == null || list.size() ==0){
                return;
            }
@@ -272,16 +267,15 @@
      * 瀹氭椂鏌ヨ鏉冮檺涓嬪彂浠诲姟杩涘害鎵ц缁撴灉
      */
     @Override
-    public  void syncEmpowerResultData(){
-        if(Constants.DEALING_HK_EMPOWER_RESULT){
-            return   ;
-        }
-        Constants.DEALING_HK_EMPOWER_RESULT=true;
-        try {
+    public  Integer syncEmpowerResultData(Integer endId){
+//        if(Constants.DEALING_HK_EMPOWER_RESULT){
+//            return  null ;
+//        }
+//        Constants.DEALING_HK_EMPOWER_RESULT=true;
             //鏌ヨ鎵�鏈夋墽琛屼腑寰楁暟鎹�
-            List<Empower>  list = getIngTaskListResult();
+         List<Empower>  list = getIngTaskListResult(Constants.formatIntegerNum(endId));
            if(list == null || list.size() ==0){
-               return;
+               return null;
            }
             Thread t1=new Thread(new Runnable() {
                 @Override
@@ -315,13 +309,59 @@
                 }
             });
             t1.start();
-        }catch (Exception e){
-            e.printStackTrace();
-        }
+            return list.get(list.size()-1).getId();
+
     }
 
 
 
+    /**
+     * 澶勭悊浜哄憳鎺堟潈鏁版嵁锛屽畾鏃朵笅鍙�
+     */
+    @Override
+    public  Integer syncEmpowerFailData(Integer endId) {
+        List<Empower> allList =getAllFailDealList( endId);
+        if(allList!=null && allList.size()>0){
+            Date date = new Date();
+            List<Integer> retryIds = new ArrayList<>();
+            List<Integer> noIds = new ArrayList<>();
+            for(Empower empower:allList){
+                //濡傛灉鏄垹闄ょ殑鏉冮檺涓嬪彂锛屾煡璇㈡槸鍚︿己鍊欐湁涓嬪彂鎴愬姛鐨勬暟鎹紝濡傛灉鏈夛紝鍒欎笉澶勭悊
+                if(empower.getId().equals(392479)){
+                    System.out.println("============================");
+                }
+//                int flag= empowerMapper.selectCount(new QueryWrapper<Empower>().lambda()
+//                        .eq(Empower::getMemberId,empower.getMemberId())
+//                        .eq(Empower::getDeviceId,empower.getDeviceId() )
+//                        .gt(Empower::getId,empower.getId())
+//                        .last("limit 1"));
+                    if(empower.getTempCouunt() ==0){
+                        //濡傛灉涔嬪悗鏃堕棿鍐呭張閲嶆柊涓嬪彂璁板綍锛屽垯璺宠繃涓嶅仛澶勭悊
+                        retryIds.add(empower.getId());
+                    }else{
+                        noIds.add(empower.getId());
+                    }
+            }
+
+             if(retryIds.size()>0){
+                empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
+                        .set(Empower::getCreateDate,date)
+                        .set(Empower::getSendStatus,Constants.EmpowerStatus.wait)
+                        .set(Empower::getEditDate,date)
+                        .set(Empower::getRemark,"涓嬪彂澶辫触锛屽緟閲嶆柊涓嬪彂~")
+                        .set(Empower::getSendInfo,"涓嬪彂澶辫触锛屽緟閲嶆柊涓嬪彂~")
+                        .in(Empower::getId,retryIds));
+            }
+            if(noIds.size()>0){
+                empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
+                        .set(Empower::getEditDate,date)
+                        .set(Empower::getFailFlag,Constants.ONE)
+                        .in(Empower::getId,noIds));
+            }
+            return allList.get(allList.size()-1).getId();
+        }
+        return null;
+    }
     /**
      * 澶勭悊浜哄憳鎺堟潈鏁版嵁锛屽畾鏃朵笅鍙�
      */
@@ -331,7 +371,6 @@
 //            return  null ;
 //        }
 //        Constants.DEALING_HK_EMPOWER =true;
-        try {
             //鍏堝垹闄ゆ墍鏈夐渶瑕佸彇娑堟巿鏉冪殑鏁版嵁
             List<Empower> allList =getAllWaitDealList( endId);
             if(allList !=null && allList.size()>0){
@@ -360,12 +399,6 @@
                 t1.start();
                 return allList.get(allList.size()-1).getId();
             }
-
-        }catch (Exception e){
-            e.printStackTrace();
-        }finally {
-//            Constants.DEALING_HK_EMPOWER =false;
-        }
         return null;
     }
     @Override
@@ -378,6 +411,7 @@
         }catch (Exception e){
             e.printStackTrace();
         }finally {
+
         }
     }
 
@@ -611,6 +645,17 @@
         List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
         return list;
     }
+    private List<Empower> getAllFailDealList(int endId ) {
+        MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper.select(Empower::getId,Empower::getMemberId,Empower::getDeviceId,Empower::getIsdeleted);
+        queryWrapper.select(" (select count(1) from empower ee  where ee.member_id=t.MEMBER_ID and ee.device_id =t.DEVICE_ID   and ee.id>t.id) as tempCouunt");
+        queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.fail);
+        queryWrapper.gt(Empower::getId,endId);
+        queryWrapper.orderByAsc(Empower::getId );
+        queryWrapper.ne( Empower::getFailFlag,Constants.ONE);
+        List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
+        return list;
+    }
 
     private List<Empower> getDealList(int del ,int start,int end) {
         MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
@@ -631,7 +676,7 @@
         List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
         return list;
     }
-    private List<Empower> getDealListDetail() {
+    private List<Empower> getDealListDetail(int endId ) {
         MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper.selectAll(Empower.class);
         queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
@@ -642,17 +687,23 @@
         queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
         queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.downloaded);
         queryWrapper.isNotNull(Member::getHkId) ;
+        queryWrapper.gt(Empower::getId,endId);
         queryWrapper.orderByAsc(Empower::getSendDate);
+        queryWrapper.last("limit 100");//姣忔闄愬埗涓嬪彂100涓�
         List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
         return list;
     }
-    private List<Empower> getIngTaskListResult() {
+    private List<Empower> getIngTaskListResult(int endId) {
         MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper.selectAll(Empower.class);
         queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.ing);
+        queryWrapper.gt(Empower::getId,endId);
         queryWrapper.groupBy(Empower::getHkId);
-        List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
+        queryWrapper.orderByAsc(Empower::getSendDate);
+        queryWrapper.last("limit 100");//姣忔闄愬埗涓嬪彂100涓�
+        List<Empower> list = empowerMapper.selectList(queryWrapper);
         return list;
     }
 
+
 }

--
Gitblit v1.9.3