From f62345115d02710c23772cc345bf1ecfa89faeeb Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期日, 17 三月 2024 10:35:01 +0800
Subject: [PATCH] ERP接口

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java |  169 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 136 insertions(+), 33 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 a326513..a5c0441 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
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.haikang.model.HKConstants;
@@ -12,12 +13,11 @@
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
 import com.doumee.dao.business.DeviceMapper;
+import com.doumee.dao.business.MemberCardMapper;
+import com.doumee.dao.business.MemberMapper;
 import com.doumee.dao.business.join.EmpowerJoinMapper;
 import com.doumee.dao.business.join.VisitsJoinMapper;
-import com.doumee.dao.business.model.Device;
-import com.doumee.dao.business.model.Empower;
-import com.doumee.dao.business.model.Member;
-import com.doumee.dao.business.model.Visits;
+import com.doumee.dao.business.model.*;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -39,7 +39,13 @@
     @Autowired
     private EmpowerJoinMapper empowerMapper;
     @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+    @Autowired
+    private MemberMapper memberMapper;
+    @Autowired
     private DeviceMapper deviceMapper;
+    @Autowired
+    private MemberCardMapper memberCardMapper;
 
     /**
      * 瀹氭椂鏌ヨ鏉冮檺涓嬪彂浠诲姟杩涘害鎵ц缁撴灉
@@ -55,6 +61,12 @@
             List<Empower>  list = getDealListDetail();
            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();
@@ -72,36 +84,73 @@
                //鏌ヨ涓嬪彂鐘舵��
                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 ){
-                   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+"锛屼汉鑴镐笅鍙戞垚鍔燂紒";
+                       && 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));
                        }
-                       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 {
+                       //濡傛灉鏄凡鍒犻櫎鐨勬暟鎹紝涓嬪彂澶辫触锛堥槻姝㈣澶囩绾匡級锛屽垯灏濊瘯閲嶆柊涓嬪彂浠诲姟
+                       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));
+                       }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));
+                       }
 
+                      /* 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());
                }
            }
         }catch (Exception e){
@@ -111,6 +160,60 @@
         }
 
     }
+    /**
+     * 瀵规捣搴峰垹闄ょ粍缁囦俊鎭�
+     * @param id
+     * @param date
+     */
+    private boolean doHkDeleteUser(Integer  id,String delHkIds,  Date date ) {
+        if(StringUtils.isBlank(delHkIds)){
+            return true;
+        }
+        UserDelRequest request = new UserDelRequest();
+        request.setPersonIds(new String[]{delHkIds});
+        BaseResponse<List<UserDelResponse>> result =  HKService.delBatchUser(request);
+        if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
+            List<String> fIds = new ArrayList<>();
+            //鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛�
+            if(result.getData()!=null && result.getData().size()>0){
+                log.info("娴峰悍鍒犻櫎鐢ㄦ埛澶辫触锛�==============="+result.getData().get(0).getPersonId());
+                memberMapper.update(null,new UpdateWrapper<Member>().lambda()
+                        .set(Member::getHkStatus,Constants.TWO)//鍚屾澶辫触
+                        .set(Member::getRemark,"鍚屾娴峰悍鍒犻櫎澶辫触")//鍚屾澶辫触
+                        .set(Member::getHkDate,date)
+                        .in(Member::getId, id));
+            }else{
+                //鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛�
+                memberMapper.update(null,new UpdateWrapper<Member>().lambda()
+                        .set(Member::getHkStatus,Constants.ONE)//鍚屾鎴愬姛
+                        .set(Member::getRemark,"鍚屾娴峰悍鍒犻櫎澶辫触")//鍚屾澶辫触
+                        .set(Member::getHkDate,date)
+                        .in(Member::getId, id));
+                //鍒犻櫎鎵�鏈夌粦瀹氱殑鍗$墖淇℃伅
+                memberCardMapper.delete(new QueryWrapper<MemberCard>().lambda().eq(MemberCard::getMemberId,id));
+            }
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 妫�鏌ュ垹闄や汉鍛樼殑鏉冮檺鏄惁閮藉垹闄ゅ畬鎴愶紝濡傛灉鏉冮檺鍒犻櫎瀹屾垚锛� 杩涜娴峰悍浜哄憳鐨勫垹闄ゆ搷浣�
+     */
+    private void checkDelMemberTask(Integer memberId) {
+            Date date = new Date();
+            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::getIsdeleted,Constants.ONE)
+                        .ne(Empower::getSendStatus,Constants.EmpowerStatus.pass)) ==0){
+                    //濡傛灉鏉冮檺閮藉凡缁忓垹闄ゆ垚鍔燂紝鍒欏垹闄ゆ捣搴蜂汉鍛樺拰鍗$墖鏁版嵁
+                     doHkDeleteUser(member.getId(),member.getHkId(),date);
+            }
+        }
+    }
+
     public  void syncEmpowerDetailDataOld(){
         if(Constants.DEALING_HK_EMPOWER_DETAIL){
             return   ;
@@ -189,8 +292,8 @@
                    empowerMapper.update(null,new UpdateWrapper<Empower>()
                            .lambda()
                            .eq(Empower::getHkId,c.getHkId() )
+                           .set(Empower::getSendInfo,"浠诲姟宸蹭笅杞藉畬鎴�" )
                            .set(Empower::getSendStatus,Constants.EmpowerStatus.downloaded) );
-
                }
            }
         }catch (Exception e){

--
Gitblit v1.9.3