From 6765787baa5e0b771d71f865c4deb776367410c4 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 13 八月 2024 13:38:19 +0800
Subject: [PATCH] 修复bug

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java |   62 ++++++++++++++++++++++++++++++-
 1 files changed, 60 insertions(+), 2 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
index b7ba8c9..68065d5 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -163,6 +163,56 @@
             tt.start();
        }
     }
+    @Override
+    public  void updateMemberRole(DeviceRole deviceRole) {
+        deviceRole.setType("2");
+        deviceRole.setIsdeleted(Constants.ZERO);
+        List<DeviceRole> list =findList(deviceRole);
+        if(list == null || list.size()==0){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        for(DeviceRole model :list){
+            updateMemberRoleDO(model);
+        }
+    }
+    public  void updateMemberRoleDO(DeviceRole model) {
+        if(model.getDoorIds()  == null){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        String[] newIds =StringUtils.defaultString(model.getDoorIds()).split(",");
+        List<Integer>  allids = getChangeIdsByArray(new String[]{},newIds);//鏈�鏂拌澶�
+        List<MemberRole> memberRoleList = memberRoleMapper.selectList(new QueryWrapper<MemberRole>().lambda()
+                .eq(MemberRole::getRoleId,model.getId())
+                .eq(MemberRole::getIsdeleted,Constants.ZERO)
+        );
+        if(memberRoleList!=null && memberRoleList.size()>0) {
+            int num =1;
+            for (MemberRole memberRole : memberRoleList) {
+                Member member = memberMapper.selectById(memberRole.getMemberId());
+                if(member==null || member.getIsdeleted().equals(Constants.ONE)){
+                    continue;
+                }
+                List<Integer>  addIds = new ArrayList<>();
+                for(Integer did : allids){
+                    Empower empower = empowerMapper.selectOne(new QueryWrapper<Empower>().lambda()
+                            .eq(Empower::getMemberId,member.getId())
+                            .eq(Empower::getDeviceId,did )
+                            .orderByDesc(Empower::getId)
+                            .last("limit 1"));
+                    if(empower ==null || Constants.equalsInteger(empower.getIsdeleted(),Constants.ONE)){
+                        addIds.add(did);
+                    }
+                }
+                try {
+                    HkSyncOrgUserToHKServiceImpl.dealChangeDeviceRoleEmpower(member,addIds,null,deviceRoleMapper,empowerMapper,deviceMapper);
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+                System.out.println("姝e湪澶勭悊銆�"+model.getName()+"銆�======闂ㄧ鏁版嵁銆�"+addIds.size()+"銆�====杩涘害锛氥��"+num+"|"+memberRoleList.size()+"銆�");
+                num ++;
+            }
+        }
+    }
 
     /**
      * 鏇存柊璇ユ潈闄愪笅鐩稿叧鐨勪汉鍛樻渶鏂板叏鏂颁笅鍙�
@@ -217,7 +267,11 @@
             String[] ids = StringUtils.defaultString(memberRole.getDoorIds()).split(",");
             if(ids!=null && ids.length>0){
                 for (String s:ids){
-                    list.add(Integer.parseInt(s));
+                    try {
+                        list.add(Integer.parseInt(s));
+                    }catch (Exception e){
+                        e.printStackTrace();
+                    }
                 }
             }
         }
@@ -246,7 +300,11 @@
                         continue FLAG;
                     }
                 }
-                list.add(Integer.parseInt(s));
+                try {
+                    list.add(Integer.parseInt(s));
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
             }
         }
         return list;

--
Gitblit v1.9.3