From 87ec373c158f7fa4c65fb037822fe7142a6fd5e7 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期二, 26 三月 2024 16:46:32 +0800
Subject: [PATCH] 整理

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java |  106 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 87 insertions(+), 19 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 3b9e929..ae2b0f8 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;
@@ -80,7 +81,7 @@
                         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);
@@ -107,6 +108,10 @@
                                             .set(Empower::getRemark, remark)
                                             .set(Empower::getSendInfo, remark)
                                             .set(Empower::getSendStatus, Constants.EmpowerStatus.pass));
+                                    if(Constants.equalsInteger(c.getMemberDeleted(), Constants.ONE)&& Constants.equalsInteger(c.getIsdeleted(), Constants.ONE) ){
+                                        //濡傛灉鏄垹闄ゆ潈闄愭垚鍔燂紝妫�鏌ユ槸鍚﹀垹闄や汉鍛�
+                                        checkDelMemberTask(c.getMemberId(),c.getMemberHkId());
+                                    }
                                 } else {
                                     empowerMapper.update(null, new UpdateWrapper<Empower>()
                                             .lambda()
@@ -118,32 +123,32 @@
                             } 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,  "涓嬪彂澶辫触锛岀瓑寰呴噸鏂板垹闄ゆ潈闄�")
-//                                   .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));
                                     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));
                                 }
                             }
-                            checkDelMemberTask(c.getMemberId());
+                        }else if(response!=null && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_DOWNLOAD_ERROR)                        ){
+                            empowerMapper.update(null, new UpdateWrapper<Empower>()
+                                    .lambda()
+                                    .eq(Empower::getId, c.getId())
+                                    .set(Empower::getRemark, "涓嬪彂澶辫触")
+//                                    .set(Empower::getFailFlag, Constants.ONE)//鏃犻渶閲嶅彂锛堜笅杞戒换鍔′笉瀛樺湪锛�
+                                    .set(Empower::getTryNum,Constants.formatIntegerNum(c.getTryNum())+1)
+                                    .set(Empower::getSendInfo, "涓嬪彂澶辫触")
+                                    .set(Empower::getSendStatus, Constants.EmpowerStatus.fail));
                         }
                     }
                 }catch (Exception e){
@@ -185,7 +190,7 @@
                 //鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛�
                 memberMapper.update(null,new UpdateWrapper<Member>().lambda()
                         .set(Member::getHkStatus,Constants.ONE)//鍚屾鎴愬姛
-                        .set(Member::getRemark,"鍚屾娴峰悍鍒犻櫎澶辫触")//鍚屾澶辫触
+                        .set(Member::getRemark,"宸插悓姝�")//鍚屾澶辫触
                         .set(Member::getHkDate,date)
                         .in(Member::getId, id));
                 //鍒犻櫎鎵�鏈夌粦瀹氱殑鍗$墖淇℃伅
@@ -199,17 +204,18 @@
     /**
      * 妫�鏌ュ垹闄や汉鍛樼殑鏉冮檺鏄惁閮藉垹闄ゅ畬鎴愶紝濡傛灉鏉冮檺鍒犻櫎瀹屾垚锛� 杩涜娴峰悍浜哄憳鐨勫垹闄ゆ搷浣�
      */
-    private void checkDelMemberTask(Integer memberId) {
+    private void checkDelMemberTask(Integer memberId,String memberHkid) {
             Date date = new Date();
-            Member member = memberMapper.selectById(memberId);
-            if(member!=null && Constants.equalsInteger(member.getIsdeleted(),Constants.ONE) ){
+//            Member member = memberMapper.selectById(memberId);
+//            if(member!=null && Constants.equalsInteger(member.getIsdeleted(),Constants.ONE) ){
                 if(empowerMapper.selectCount(new QueryWrapper<Empower>().lambda()
-                        .eq(Empower::getMemberId,member.getId())
+                        .eq(Empower::getMemberId,memberId)
                         .eq(Empower::getIsdeleted,Constants.ONE)
+                        .ne(Empower::getFailFlag,Constants.ONE)
                         .ne(Empower::getSendStatus,Constants.EmpowerStatus.pass)) ==0){
                     //濡傛灉鏉冮檺閮藉凡缁忓垹闄ゆ垚鍔燂紝鍒欏垹闄ゆ捣搴蜂汉鍛樺拰鍗$墖鏁版嵁
-                     doHkDeleteUser(member.getId(),member.getHkId(),date);
-            }
+                     doHkDeleteUser(memberId,memberHkid,date);
+//            }
         }
     }
 
@@ -318,6 +324,55 @@
      * 澶勭悊浜哄憳鎺堟潈鏁版嵁锛屽畾鏃朵笅鍙�
      */
     @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::getRemark,"涓嬪彂澶辫触锛屽凡澶辨晥~")
+                        .set(Empower::getSendInfo,"涓嬪彂澶辫触锛屽凡澶辨晥~")
+                        .set(Empower::getFailFlag,Constants.ONE)
+                        .in(Empower::getId,noIds));
+            }
+            return allList.get(allList.size()-1).getId();
+        }
+        return null;
+    }
+    /**
+     * 澶勭悊浜哄憳鎺堟潈鏁版嵁锛屽畾鏃朵笅鍙�
+     */
+    @Override
     public  Integer syncEmpowerData(Integer endId) {
 //        if(Constants.DEALING_HK_EMPOWER){
 //            return  null ;
@@ -363,6 +418,7 @@
         }catch (Exception e){
             e.printStackTrace();
         }finally {
+
         }
     }
 
@@ -596,6 +652,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<>();
@@ -620,6 +687,7 @@
         MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper.selectAll(Empower.class);
         queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
+        queryWrapper.selectAs(Member::getIsdeleted,Empower::getMemberDeleted);
         queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId);
         queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
         queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType);

--
Gitblit v1.9.3