From 68ae0e6a2dc077d8b85187ee3dbee4b87a6c9b90 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 21 三月 2024 18:02:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java |   67 +++++++++++++++++++++++++++++++--
 1 files changed, 62 insertions(+), 5 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 572e8ff..f4066e7 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
@@ -366,9 +366,6 @@
     }
 
     public static void dealMemberRoleEmpowerDo(List<MemberCard> cards,Member member , DeviceRoleMapper deviceRoleMapper, EmpowerMapper empowerMapper, DeviceMapper deviceMapper) {
-        if(cards == null || cards.size() == 0){
-            return;
-        }
         List<Integer> doorIds = getRoleIdByParam(member,deviceRoleMapper);
         if(doorIds==null || doorIds.size() == 0){
             //濡傛灉鏉冮檺娓呯┖锛屽垯娓呯┖浜哄憳鎺堟潈鐨勬潈闄愭暟鎹�
@@ -379,7 +376,8 @@
                     .set(Empower::getSendStatus,Constants.ZERO));
             return;
         }
-        if(StringUtils.isBlank(member.getFaceImg())){
+        if((cards == null || cards.size() == 0) && StringUtils.isBlank(member.getFaceId())){
+            //濡傛灉娌℃湁鍗� 涔熸病鏈変汉鑴�
             return;
         }
 
@@ -428,6 +426,63 @@
             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.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());
+                model.setSendType(Constants.ZERO);
+                //鏍囪鏈�鏂扮殑鎺堟潈璁惧缂栫爜闆嗗悎
+                deviceIds.add(deviceRole.getId());
+                list.add(model);
+            }
+        }
+        //瀵煎叆鏂板鐨勬巿鏉冧俊鎭�
+        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);
+        }
+    }
 
     /**
      * 瀵逛汉鍛樺甫寮�鍗℃暟鎹繘琛岃嚜鍔ㄥ紑鍗℃搷浣�
@@ -437,7 +492,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){
             //娌℃湁甯﹀鐞嗙殑鏁版嵁锛岀洿鎺ヨ烦杩�
@@ -468,6 +523,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());

--
Gitblit v1.9.3