From b0ea50dd24a7ed5ada38dc6c8209f78fc09f0441 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 21 六月 2024 17:45:33 +0800
Subject: [PATCH] 修复bug

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java |  338 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 271 insertions(+), 67 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
index 07709a6..0073884 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl.hksync.ferp;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.doumee.biz.system.SystemDictDataBiz;
@@ -19,7 +20,9 @@
 import com.doumee.dao.business.model.*;
 import com.doumee.service.business.ext.ERPSyncService;
 import com.doumee.service.business.impl.hksync.HkSyncBaseServiceImpl;
+import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -49,9 +52,13 @@
     @Autowired
     private EmpowerMapper empowerMapper;
     @Autowired
+    private ParkBookMapper bookMapper;
+    @Autowired
     private MemberCardMapper memberCardMapper;
     @Autowired
     private MemberJoinMapper memberMapper;
+    @Autowired
+    private MemberMapper memberMapper1;
     @Autowired
     private ERPSyncService erpSyncService;
     @Autowired
@@ -209,7 +216,6 @@
         model.setOrgIndexCode(c.getHkId());
         model.setOrgName(c.getName());
         return  model;
-
     }
 
     /**
@@ -228,7 +234,7 @@
             List<String> fIds = new ArrayList<>();
             if(result.getData()!=null){
                 for(OrgUpdateFailureResponse r : result.getData()){
-                    if(!r.getCode().equals("0x00052102")){
+                    if(r.getCode().equals("0x00052102")){
                         //涓嶅瓨鍦ㄧ殑涔熺畻鍒犻櫎鎴愬姛
                         fIds.add(r.getOrgIndexCode());//鍒犻櫎澶辫触鐨勬暟鎹泦鍚�
                     }
@@ -264,10 +270,12 @@
             List<Member> list = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
                     .selectAll(Member.class )
                     .selectAs(Company::getHkId,Member::getHkOrgId)
-                    .isNotNull(Member::getFaceId)
+//                    .isNotNull(Member::getFaceId
                     .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                     .eq(Member::getHkStatus,Constants.ZERO)
+                    .eq(Member::getStatus,Constants.ZERO)
                     .eq(Member::getType,Constants.memberType.internal)
+                    .notExists("select d.id from empower d where d.member_id=t.id and d.send_status in (1,5)")//鎺掗櫎鏈夋鍦ㄥ悓姝ヤ笅鍙戜换鍔$殑鏁版嵁
                     .orderByAsc(Member::getErpDate));
             if(list ==null || list.size()==0){
                 return;
@@ -284,6 +292,85 @@
             Constants.DEALING_HK_USER =false;
         }
     }
+    /**
+     * 鍚屾娴峰悍浜哄憳淇℃伅
+     * @return
+     */
+    @Override
+    public   void syncMemberDelData(){
+        if(Constants.DEALING_HK_DEL_USER  || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) != DataSyncConfig.origin.erp){
+            return   ;
+        }
+        Constants.DEALING_HK_DEL_USER =true;
+        try {
+            dealWaitDelMemberData();//绛夊緟鍒犻櫎鏉冮檺鏁版嵁鐨勫垹闄や笅鍙�
+//            dealFailDelMemberData();//澶勭悊鍒犻櫎澶辫触鏁版嵁閲嶆柊涓嬪彂
+        }catch (Exception e){
+            e.printStackTrace();
+        }finally {
+            Constants.DEALING_HK_DEL_USER =false;
+        }
+    }
+
+    /**
+     *  澶勭悊鍒犻櫎澶辫触鏁版嵁閲嶆柊涓嬪彂
+     */
+    private void dealFailDelMemberData() {
+        //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑浼佷笟鏁版嵁
+        List<Member> list = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
+                .selectAll(Member.class )
+                .eq(Member::getHkStatus,Constants.TWO)//绛夊緟涓嬪彂瀹屾垚鐨�
+                .eq(Member::getIsdeleted,Constants.ONE)//宸插垹闄ょ殑
+                .eq(Member::getType,Constants.memberType.internal)
+                .orderByAsc(Member::getEditDate));
+        if(list ==null || list.size()==0){
+            return;
+        }
+        Date date = new Date();
+        for(Member member : list){
+            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::getFailFlag,Constants.ONE)
+                        .ne(Empower::getSendStatus,Constants.EmpowerStatus.pass)) ==0) {
+                    //濡傛灉鏉冮檺閮藉凡缁忓垹闄ゆ垚鍔燂紝鍒欏垹闄ゆ捣搴蜂汉鍛樺拰鍗$墖鏁版嵁
+                    HkSyncEmpowerServiceImpl.doHkDeleteUser(member.getId(),member.getHkId(),new Date(),memberMapper1,memberCardMapper);
+                }
+            }
+        }
+    }
+
+    /**
+     * 绛夊緟鍒犻櫎鏉冮檺鏁版嵁鐨勫垹闄や笅鍙�
+     */
+    private void dealWaitDelMemberData() {
+        //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑浼佷笟鏁版嵁
+        List<Member> list = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
+                .selectAll(Member.class )
+                .eq(Member::getHkStatus,Constants.FOUR)//绛夊緟涓嬪彂瀹屾垚鐨�
+                .eq(Member::getIsdeleted,Constants.ONE)//宸插垹闄ょ殑
+                .eq(Member::getType,Constants.memberType.internal)
+                .orderByAsc(Member::getEditDate));
+        if(list ==null || list.size()==0){
+            return;
+        }
+        Date date = new Date();
+        for(Member member : list){
+            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::getFailFlag,Constants.ONE)
+                        .ne(Empower::getSendStatus,Constants.EmpowerStatus.pass)) ==0) {
+                    //濡傛灉鏉冮檺閮藉凡缁忓垹闄ゆ垚鍔燂紝鍒欏垹闄ゆ捣搴蜂汉鍛樺拰鍗$墖鏁版嵁
+
+                    HkSyncEmpowerServiceImpl.doHkDeleteUser(member.getId(),member.getHkId(),date,memberMapper1,memberCardMapper);
+                }
+            }
+        }
+    }
+
     public static   List<Integer>  getRoleIdByParam(  Member member,DeviceRoleMapper deviceRoleMapper) {
             //鏌ヨ鏁版嵁搴撳瓨鍦ㄧ殑鏉冮檺
             List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
@@ -301,19 +388,31 @@
                     String doorids =deviceRole.getDoorIds();
                     if(StringUtils.isNotBlank(doorids)){
                         String[] ss = doorids.split(",");
-                        try {
-                            for(String s :ss){
-                                r.add(Integer.parseInt(s));
+                        for(String s :ss){
+                            try {
+                                Integer ts =Integer.parseInt(s);
+                                 r.add(ts);
+                            }catch (Exception e){
+                                //鑴忔暟鎹笉澶勭悊
                             }
-                        }catch (Exception e){
-                            //鑴忔暟鎹笉澶勭悊
                         }
+
                     }
                 }
                 return  r;
             }
         return  null;
     }
+
+    private static boolean isNorExistInList(Integer ts, List<Integer> list) {
+        for(Integer r :list){
+            if(Constants.equalsInteger(ts,r)){
+                return true;
+            }
+        }
+        return false;
+    }
+
     @Transactional
     public boolean dealMemberInfoBiz(Member c, Date date, String path) {
         if( c.getCompanyId() == null){
@@ -329,13 +428,29 @@
         }
         return  false;
     }
-    private void dealDelMemberRoleEmpower(Member member ) {
+    private int dealDelMemberRoleEmpower(Member member ) {
         //寰呯Щ闄ゆ潈闄愮殑璁惧鏁版嵁鎺堟潈璁板綍锛堥拡瀵瑰垹闄ゅ拰鏇存柊涓㈠け鐨勬潈闄愶紝闇�瑕佸悓姝ヤ笅鍙戝垹闄ゆ潈闄愶級
-        empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
-                .eq(Empower::getMemberId,member.getId())
-                .set(Empower::getIsdeleted,Constants.ONE)
-                .eq(Empower::getIsdeleted,Constants.ZERO)
-                .set(Empower::getSendStatus,Constants.ZERO));
+            bookMapper.update(null,new UpdateWrapper<ParkBook>().lambda()
+                .eq(ParkBook::getMemberId,member.getId())
+                .set(ParkBook::getRemark,"绛夊緟鍚屾鍒犻櫎瀹夐槻骞冲彴")
+                .set(ParkBook::getIsdeleted,Constants.ONE)
+                .eq(ParkBook::getIsdeleted,Constants.ZERO)
+                .set(ParkBook::getHkStatus,Constants.ZERO));
+            //鎶婃墍鏈夊緟涓嬪彂鐨勪换鍔℃敼鎴� 宸插彇娑�
+            empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
+                    .eq(Empower::getMemberId,member.getId())
+                    .eq(Empower::getIsdeleted,Constants.ZERO)
+                    .eq(Empower::getSendStatus,Constants.EmpowerStatus.wait)
+                    .set(Empower::getIsdeleted,Constants.ONE)
+                    .set(Empower::getSendStatus,Constants.EmpowerStatus.cancel));
+            return  empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
+                        .eq(Empower::getMemberId,member.getId())
+                        .set(Empower::getIsdeleted,Constants.ONE)
+                        .notIn(Empower::getSendStatus,Constants.EmpowerStatus.fail)
+                        .set(Empower::getRemark,"绛夊緟鍚屾鍒犻櫎瀹夐槻骞冲彴")
+                        .eq(Empower::getIsdeleted,Constants.ZERO)
+                        .eq(Empower::getIsdeleted,Constants.ZERO)
+                        .set(Empower::getSendStatus,Constants.ZERO));
     }
     private void dealMemberRoleEmpower(Member member ) {
         //澶勭悊鏂板鐨勪汉鍛樺崱鐗囨暟鎹紙涓庢捣搴峰悓姝ワ級
@@ -343,22 +458,27 @@
         dealMemberRoleEmpowerDo(cards,member,deviceRoleMapper,empowerMapper,deviceMapper);
     }
 
-    public static void dealMemberRoleEmpowerDo(List<MemberCard> cards,Member member , DeviceRoleMapper deviceRoleMapper, EmpowerMapper empowerMapper, DeviceMapper deviceMapper) {
-        if(cards == null || cards.size() == 0){
-            return;
-        }
+    public static void dealMemberRoleEmpowerDo(List<MemberCard> cards1,Member member , DeviceRoleMapper deviceRoleMapper, EmpowerMapper empowerMapper, DeviceMapper deviceMapper) {
         List<Integer> doorIds = getRoleIdByParam(member,deviceRoleMapper);
         if(doorIds==null || doorIds.size() == 0){
+            //濡傛灉鏉冮檺娓呯┖锛屽垯娓呯┖浜哄憳鎺堟潈鐨勬潈闄愭暟鎹�
+            empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
+                    .eq(Empower::getMemberId,member.getId())
+                    .set(Empower::getIsdeleted,Constants.ONE)
+                    .eq(Empower::getIsdeleted,Constants.ZERO)
+                    .set(Empower::getSendStatus,Constants.ZERO));
             return;
         }
-        if(StringUtils.isBlank(member.getFaceImg())){
+//        if((cards == null || cards.size() == 0) && StringUtils.isBlank(member.getFaceId())){
+        if( StringUtils.isBlank(member.getFaceId())){
+            //濡傛灉娌℃湁鍗� 涔熸病鏈変汉鑴�
             return;
         }
 
-        List<Integer> deviceIds =new ArrayList<>();//鏂拌澶囩紪鐮侀泦鍚�
-        List<Empower> list = new ArrayList<>();//鏂版巿鏉冭褰曢泦鍚�
-        if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO)
-                && Constants.equalsObject(member.getHkStatus(),Constants.ONE)){
+        if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO)){
+//                && Constants.equalsObject(member.getHkStatus(),Constants.ONE)){
+            List<Integer> deviceIds =new ArrayList<>();//鏂拌澶囩紪鐮侀泦鍚�
+            List<Empower> list = new ArrayList<>();//鏂版巿鏉冭褰曢泦鍚�
             //濡傛灉鐢ㄦ埛鏄悓姝ユ捣搴锋垚鍔燂紝娣诲姞甯︿笅鍙戞潈闄愶紙鍙鐞嗘柊澧炴垨鑰呯紪杈戠殑锛�
             List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>().lambda().in(Device::getId,doorIds));
             if(deviceList == null || deviceList.size() == 0){
@@ -374,6 +494,72 @@
                 model.setSendInfo("寰呭悓姝ュ畨闃插钩鍙�");
                 model.setRemark("寰呭悓姝ュ畨闃插钩鍙�");
                 model.setStartTime(member.getStartTime());
+                model.setFailFlag(Constants.ZERO);
+                model.setEndTime(member.getEndTime());
+                //榛樿缁欎簬铏氭嫙鍗�
+                model.setCardNos(Constants.VIRTUAL_CARD_INDEX+member.getId());
+                model.setSendType(Constants.ZERO);
+                //鏍囪鏈�鏂扮殑鎺堟潈璁惧缂栫爜闆嗗悎
+                deviceIds.add(deviceRole.getId());
+                list.add(model);
+            }
+            //寰呯Щ闄ゆ潈闄愮殑璁惧鏁版嵁鎺堟潈璁板綍锛堥拡瀵瑰垹闄ゅ拰鏇存柊涓㈠け鐨勬潈闄愶紝闇�瑕佸悓姝ヤ笅鍙戝垹闄ゆ潈闄愶級
+            empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
+                    .eq(Empower::getMemberId,member.getId())
+                    .set(Empower::getIsdeleted,Constants.ONE)
+                    .eq(Empower::getIsdeleted,Constants.ZERO)
+                    .notIn(deviceIds.size()>0,Empower::getDeviceId,deviceIds)
+                    .set(Empower::getSendStatus,Constants.ZERO));
+            //瀵煎叆鏂板鐨勬巿鏉冧俊鎭�
+            if(list.size()>0){
+                //鐩存帴瑕嗙洊閲嶅鐨勮澶囨潈闄愶紝鐩存帴鍒犻櫎鍗冲彲
+                empowerMapper.delete(new UpdateWrapper<Empower>().lambda()
+                        .eq(Empower::getMemberId,member.getId())
+                        .eq(Empower::getIsdeleted,Constants.ZERO)
+                        .in(Empower::getDeviceId,deviceIds) );
+                empowerMapper.insertBatchSomeColumn(list);
+            }
+        }
+    }
+    public static void dealChangeDeviceRoleEmpower( Member member ,List<Integer> addDoorIds,List<Integer> delDoorIds, DeviceRoleMapper deviceRoleMapper, EmpowerMapper empowerMapper, DeviceMapper deviceMapper) {
+        if(delDoorIds!=null && delDoorIds.size()>0){
+            //寰呯Щ闄ゆ潈闄愮殑璁惧鏁版嵁鎺堟潈璁板綍锛堥拡瀵瑰垹闄ゅ拰鏇存柊涓㈠け鐨勬潈闄愶紝闇�瑕佸悓姝ヤ笅鍙戝垹闄ゆ潈闄愶級
+            empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
+                    .eq(Empower::getMemberId,member.getId())
+                    .set(Empower::getIsdeleted,Constants.ONE)
+                    .eq(Empower::getIsdeleted,Constants.ZERO)
+                    .in(Empower::getDeviceId,delDoorIds)
+                    .set(Empower::getSendStatus,Constants.ZERO));
+        }
+        if(addDoorIds==null || addDoorIds.size()==0){
+            //寰呯Щ闄ゆ潈闄愮殑璁惧鏁版嵁鎺堟潈璁板綍锛堥拡瀵瑰垹闄ゅ拰鏇存柊涓㈠け鐨勬潈闄愶紝闇�瑕佸悓姝ヤ笅鍙戝垹闄ゆ潈闄愶級
+           return;
+        }
+        if(StringUtils.isBlank(member.getFaceId())){
+            //濡傛灉娌℃湁鍗� 涔熸病鏈変汉鑴�
+            return;
+        }
+
+        List<Integer> deviceIds =new ArrayList<>();//鏂拌澶囩紪鐮侀泦鍚�
+        List<Empower> list = new ArrayList<>();//鏂版巿鏉冭褰曢泦鍚�
+        if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO)
+                && Constants.equalsObject(member.getHkStatus(),Constants.ONE)){
+            //濡傛灉鐢ㄦ埛鏄悓姝ユ捣搴锋垚鍔燂紝娣诲姞甯︿笅鍙戞潈闄愶紙鍙鐞嗘柊澧炴垨鑰呯紪杈戠殑锛�
+            List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>().lambda().in(Device::getId,addDoorIds));
+            if(deviceList == null || deviceList.size() == 0){
+                return;
+            }
+            for (Device deviceRole:deviceList) {
+                Empower model = new Empower();
+                model.setCreateDate(new Date());
+                model.setMemberId(member.getId());
+                model.setIsdeleted(Constants.ZERO);
+                model.setFailFlag(Constants.ZERO);
+                model.setDeviceId(deviceRole.getId());
+                model.setSendStatus(Constants.ZERO);
+                model.setSendInfo("寰呭悓姝ュ畨闃插钩鍙�");
+                model.setRemark("寰呭悓姝ュ畨闃插钩鍙�");
+                model.setStartTime(member.getStartTime());
                 model.setEndTime(member.getEndTime());
                 //榛樿缁欎簬铏氭嫙鍗�
                 model.setCardNos(Constants.VIRTUAL_CARD_INDEX+member.getId());
@@ -383,13 +569,6 @@
                 list.add(model);
             }
         }
-        //寰呯Щ闄ゆ潈闄愮殑璁惧鏁版嵁鎺堟潈璁板綍锛堥拡瀵瑰垹闄ゅ拰鏇存柊涓㈠け鐨勬潈闄愶紝闇�瑕佸悓姝ヤ笅鍙戝垹闄ゆ潈闄愶級
-        empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
-                .eq(Empower::getMemberId,member.getId())
-                .set(Empower::getIsdeleted,Constants.ONE)
-                .eq(Empower::getIsdeleted,Constants.ZERO)
-                .notIn(deviceIds.size()>0,Empower::getDeviceId,deviceIds)
-                .set(Empower::getSendStatus,Constants.ZERO));
         //瀵煎叆鏂板鐨勬巿鏉冧俊鎭�
         if(list.size()>0){
             //鐩存帴瑕嗙洊閲嶅鐨勮澶囨潈闄愶紝鐩存帴鍒犻櫎鍗冲彲
@@ -409,7 +588,7 @@
     private List<MemberCard> dealMemberHkCard(Member member) {
         List<MemberCard> memberCards = memberCardMapper.selectList(new QueryWrapper<MemberCard>().lambda()
                 .eq(MemberCard::getMemberId,member.getId())
-                .eq(MemberCard::getType,Constants.TWO)
+//              .eq(MemberCard::getType,Constants.TWO)
                 .eq(MemberCard::getHkStatus,Constants.ZERO)  );
         if(memberCards==null ||  memberCards.size()==0){
             //娌℃湁甯﹀鐞嗙殑鏁版嵁锛岀洿鎺ヨ烦杩�
@@ -440,6 +619,8 @@
         //澶勭悊鏂板鏁版嵁
         BaseResponse<List<CardInfoResponse>> result =  HKService.cardBingding(param);
         if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) ){
+
+//            0x04a12022","msg":"cardNo [1223382985] is exists
             if(result.getData()!=null ){
                 for(CardInfoResponse r : result.getData()){
                     doneCodes.add(r.getCardNo());
@@ -470,7 +651,7 @@
     public static   List<MemberCard> getNormalCardList(Member member,MemberCardMapper memberCardMapper) {
        return memberCardMapper.selectList(new QueryWrapper<MemberCard>().lambda()
                 .eq(MemberCard::getMemberId,member.getId())
-                .eq(MemberCard::getType,Constants.TWO)
+//                .eq(MemberCard::getType,Constants.TWO)
                 .eq(MemberCard::getStatus,Constants.MemberCard.normal)
                 .eq(MemberCard::getHkStatus,Constants.ONE)  );
 
@@ -487,30 +668,38 @@
         c.setHkStatus(Constants.ONE);
         if(Constants.equalsInteger(Constants.ONE,c.getIsdeleted())){
             //澶勭悊鍒犻櫎鏁版嵁锛堝垹闄や箣鍓嶄笅鍙戠殑娴峰悍浜哄憳鏉冮檺淇℃伅锛�
-            dealDelMemberRoleEmpower(c);
-            c.setHkStatus(Constants.FOUR );
-            c.setRemark( "绛夊緟鍒犻櫎鎺堟潈锛�");
-            /*boolean r = doHkDeleteUser(c.getId(),c.getHkId(),date);
-            c.setHkStatus(r?Constants.ONE:Constants.TWO);
-            c.setRemark(r?null:"鍒犻櫎娴峰悍浜哄憳淇℃伅澶辫触锛�");
-            c.setIsdeleted(r? Constants.ONE: Constants.ZERO);//鍒犻櫎澶辫触锛屾仮澶嶆暟鎹�
-            //鍒犻櫎鎵�鏈夌粦瀹氱殑鍗$墖淇℃伅
-            memberCardMapper.delete(new QueryWrapper<MemberCard>().lambda().eq(MemberCard::getMemberId,c.getId()));*/
+            int rr = dealDelMemberRoleEmpower(c);
+            if(rr >0){
+                //濡傛灉鏈夋瑠闄愬緟鍒櫎锛岀瓑寰呭垹闄ゅ畬鎴愬啀鍒犻櫎浜哄憳
+                c.setHkStatus(Constants.FOUR );
+                c.setFaceStatus(Constants.ONE);//鎶婂紓甯镐汉鑴哥姸鎬佹敼涓烘甯革紝鐢ㄤ簬鍒犻櫎鏉冮檺鏁版嵁
+                c.setRemark( "绛夊緟鍒犻櫎鎺堟潈锛�");
+                c.setEditDate(date);
+                memberMapper.updateById(c);
+            }else{
+                //娌℃湁鏉冮檺鐩存帴鍒犻櫎浜哄憳
+               HkSyncEmpowerServiceImpl.doHkDeleteUser(c.getId(),c.getHkId(),new Date(),memberMapper1,memberCardMapper);;
+            }
         }else{
             //澶勭悊淇敼鏁版嵁锛屽苟涓旀洿鏂颁汉鑴�
             UserAddRequest  addHkModel = getUserAddModel(c,path,1);//淇敼
             //澶勭悊鏂板鏁版嵁
             BaseResponse result =  HKService.editUser(addHkModel);
             if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) ){
-                if(StringUtils.isNotBlank(c.getFaceImg())){
+                if(StringUtils.isNotBlank(c.getFaceImg()) && Constants.equalsInteger(c.getFaceStatus(),Constants.ZERO)){
                     //濡傛灉鏈変汉鑴哥収鐗囷紝澶勭悊浜鸿劯鐓х墖鍚屾
                     String faceid = dealMemberFace(c,path);
                     if(StringUtils.isBlank(faceid)){
-                        noticeErpFail(c,Constants.ZERO,"浜鸿劯淇℃伅鏇存柊澶辫触锛岃妫�鏌ヤ汉鑴哥収鐗囨槸鍚﹀悎娉曪紒");
                         c.setHkStatus(Constants.TWO);
+                        c.setFaceStatus(Constants.TWO);
                         c.setRemark("浜鸿劯淇℃伅鏇存柊澶辫触锛岃妫�鏌ヤ汉鑴哥収鐗囨槸鍚﹀悎娉曪紒锛�"+result.getMsg());
+                        noticeErpFail(c,Constants.ZERO,"浜鸿劯淇℃伅鏇存柊澶辫触锛岃妫�鏌ヤ汉鑴哥収鐗囨槸鍚﹀悎娉曪紒");
                     }else{
                         c.setFaceId(faceid);
+                        c.setFaceStatus(Constants.ONE);
+                        //濡傛灉浜鸿劯璺熶綘锛岄噸鏂颁笅鍙戞潈闄愭暟鎹�
+                        c.setRemark("浜哄憳鍜屼汉鑴镐俊鎭悓姝ユ垚鍔�"+result.getMsg());
+                        dealMemberRoleEmpower(c);
                     }
                 }
             }else{
@@ -518,11 +707,10 @@
                 c.setHkStatus(Constants.TWO);
                 c.setRemark("浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴鏇存柊澶辫触锛岃淇鍚庨噸璇曪紒锛�"+(result!=null?result.getCode()+result.getMsg():""));
             }
-            //閲嶆柊涓嬪彂鏉冮檺鏁版嵁
-            dealMemberRoleEmpower(c);
+            c.setHkDate(date);
+            c.setEditDate(date);
+            memberMapper.updateById(c);
         }
-        c.setHkDate(date);
-        memberMapper.updateById(c);
     }
 
     /**
@@ -547,7 +735,9 @@
             //濡傛灉浜鸿劯鏁版嵁涓嶆纭紝涓嬭浇澶辫触绛夊師鍥�
             noticeErpFail(c,Constants.ZERO,"浜鸿劯鐓х墖涓嶅瓨鍦紝鑾峰彇澶辫触锛�");
             c.setHkStatus(Constants.TWO);
+            c.setFaceStatus(Constants.TWO);
             c.setRemark("浜鸿劯鐓х墖涓嶅瓨鍦紝鑾峰彇澶辫触锛�");
+            c.setHkDate(new Date());
             memberMapper.updateById(c);
             return  false;
         }
@@ -555,15 +745,22 @@
         BaseResponse<UserAddResponse> result =  HKService.addUser(addHkModel);
         if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){
             c.setFaceId(result.getData().getFaceId());
+            if(StringUtils.isNotBlank(c.getFaceId())){
+                c.setFaceStatus(Constants.ONE);
+            }else{
+                c.setFaceStatus(Constants.ZERO);
+            }
             c.setHkStatus(Constants.ONE);
             c.setHkId(addHkModel.getPersonId());
+            c.setHkDate(new Date());
             memberMapper.updateById(c);
-            dealMemberRoleEmpower(c);
+//            dealMemberRoleEmpower(c);
             return  true;
         }else{
             noticeErpFail(c,Constants.ZERO,"浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"+result.getCode()+result.getMsg());
             c.setHkStatus(Constants.TWO);
             c.setRemark("浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"+(result!=null?result.getMsg():""));
+            c.setHkDate(new Date());
             memberMapper.updateById(c);
             return  false;
         }
@@ -575,21 +772,26 @@
      * @param path
      * @return
      */
-    private String dealMemberFace(Member c,String path) {
-        if(StringUtils.isBlank(c.getFaceId())){
-            BaseResponse<FaceAddOrEditesponse> response = HKService.addFace(getFaceAddModel(c,path));
-            if(response !=null && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)&& response.getData()!=null ){
-                return  response.getData().getFaceId();
-            }
-        }else{
-            FaceEditRequest param =getFaceUpdateModel(c,path);
-            if(param !=null){
-                BaseResponse response = HKService.editFace(param);
-                if(StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE) ){
-                    return  c.getFaceId();
+    public static String dealMemberFace(Member c,String path) {
+        try {
+            if(StringUtils.isBlank(c.getFaceId())){
+                BaseResponse<FaceAddOrEditesponse> response = HKService.addFace(getFaceAddModel(c,path));
+                if(response !=null && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)&& response.getData()!=null ){
+                    return  response.getData().getFaceId();
+                }
+            }else{
+                FaceEditRequest param =getFaceUpdateModel(c,path);
+                if(param !=null){
+                    BaseResponse response = HKService.editFace(param);
+                    if(response!=null && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE) ){
+                        return  c.getFaceId();
+                    }
                 }
             }
+        }catch (Exception e){
+
         }
+
         return null;
     }
 
@@ -607,12 +809,12 @@
         //閫氱煡ERP浜鸿劯鏁版嵁涓嶆纭�
         erpSyncService.noticeUserFail(r);
     }
-
-    /**
+/*
+    *//**
      * 瀵规捣搴峰垹闄ょ粍缁囦俊鎭�
      * @param id
      * @param date
-     */
+     *//*
     private boolean doHkDeleteUser(Integer  id,String delHkIds,  Date date ) {
         if(StringUtils.isBlank(delHkIds)){
             return true;
@@ -621,25 +823,26 @@
         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::getHkDate,date)
+                        .set(Member::getRemark,"鍚屾娴峰悍鍒犻櫎澶辫触:"+ JSONObject.toJSONString(result.getData().get(0) ))
                         .in(Member::getId, id));
             }else{
                 //鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛�
                 memberMapper.update(null,new UpdateWrapper<Member>().lambda()
                         .set(Member::getHkStatus,Constants.ONE)//鍚屾鎴愬姛
                         .set(Member::getHkDate,date)
+                        .set(Member::getRemark,"宸插悓姝�")
                         .in(Member::getId, id));
             }
             return true;
         }
         return false;
-    }
+    }*/
 
     /**
      * 鍒犻櫎浜哄憳鎵�鏈夎澶囦笂鐨勬潈闄愪俊鎭�
@@ -680,7 +883,7 @@
         }
         return  model;
     }
-    private FaceAddRequest getFaceAddModel(Member c,String path) {
+    public static FaceAddRequest getFaceAddModel(Member c,String path) {
         FaceAddRequest model = new FaceAddRequest();
         model.setPersonId(c.getHkId());
         if(StringUtils.isNotBlank(c.getFaceImg())){
@@ -693,7 +896,7 @@
         }
         return  model;
     }
-    private FaceEditRequest getFaceUpdateModel(Member c,String path) {
+    public static FaceEditRequest getFaceUpdateModel(Member c,String path) {
         FaceEditRequest model = new FaceEditRequest();
         model.setFaceId(c.getFaceId());
         if(StringUtils.isNotBlank(c.getFaceImg())){
@@ -707,4 +910,5 @@
         return  model;
     }
 
+
 }

--
Gitblit v1.9.3