From 57b1d0498e3832478986fbd1277bfe278cea816a Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 12 一月 2026 09:39:30 +0800
Subject: [PATCH] 修改简道云人员推送删除功能bug

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |  124 ++++++++++++++++++++++++++---------------
 1 files changed, 79 insertions(+), 45 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 0798ec7..390f9ff 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -377,6 +377,38 @@
                 .eq(Empower::getIsdeleted,Constants.ZERO)
                 .set(Empower::getSendStatus,Constants.ZERO));
     }
+    public   void cancelAllMemberEmpowerBathch(List<Integer> members,LoginUserInfo user) {
+        //鍒犻櫎鍏ㄩ儴鏉冮檺
+        Date date = new Date();
+        memberMapper.update(null,new UpdateWrapper<Member>().lambda()
+                .in(Member::getId,members)
+                .set(Member::getRoleId,null)
+                .set(Member::getAuthStatus,Constants.ZERO)
+                .set(Member::getStartTime,null)
+                .set(Member::getEndTime,null)
+                .set(Member::getEditor,user.getId())
+                .set(Member::getEditDate,new Date()) );
+        memberRoleMapper.update(null,new UpdateWrapper<MemberRole>().lambda()
+                .in(MemberRole::getMemberId,members)
+                .set(MemberRole::getIsdeleted,Constants.ONE)
+                .set(MemberRole::getEdirot,user.getId())
+                .set(MemberRole::getEditDate,date));
+        //鎶婃墍鏈夊緟涓嬪彂鐨勪换鍔℃敼鎴� 宸插彇娑�
+        empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
+                .in(Empower::getMemberId,members)
+                .eq(Empower::getIsdeleted,Constants.ZERO)
+                .eq(Empower::getSendStatus,Constants.EmpowerStatus.wait)
+                .set(Empower::getIsdeleted,Constants.ONE)
+                .set(Empower::getSendStatus,Constants.EmpowerStatus.cancel));
+        //鎵�鏈変笅鍙戣繃鐨勪换鍔★紝鏀逛负寰呭垹闄ゆ潈闄�
+        empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
+                .in(Empower::getMemberId,members)
+                .set(Empower::getIsdeleted,Constants.ONE)
+                .notIn(Empower::getSendStatus,Constants.EmpowerStatus.fail)
+                .set(Empower::getRemark,"绛夊緟鍚屾鍒犻櫎瀹夐槻骞冲彴")
+                .eq(Empower::getIsdeleted,Constants.ZERO)
+                .set(Empower::getSendStatus,Constants.ZERO));
+    }
 
     private void isMemberParamValid(Member member) {
         if(member.getCompanyId() == null){
@@ -682,6 +714,7 @@
         }
         if(memberRole.getRoleIds() ==null || memberRole.getRoleIds().length ==0){
             //濡傛灉鏄竻绌烘潈闄�
+            cancelAllMemberEmpowerBathch(memberRole.getIds(),memberRole.getLoginUserInfo() );
         }else{
             if( ! (Constants.equalsInteger(memberRole.getTimeType(),Constants.ZERO)
                     ||Constants.equalsInteger(memberRole.getTimeType(),Constants.TWO)
@@ -695,54 +728,54 @@
             if(Constants.equalsInteger(memberRole.getTimeType(),Constants.ONE) && memberRole.getEndTime().getTime() <= memberRole.getStartTime().getTime()){
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈夋晥鏈熸埅姝㈡棩鏈熶笉鑳藉皬浜庡紑濮嬫椂闂达紒");
             }
-        }
-        if(Constants.equalsInteger(memberRole.getTimeType(),Constants.ZERO) ){
-            memberRole.setStartTime(null);
-            memberRole.setEndTime(null);
-        }
-        for (Integer id : memberRole.getIds()){
-            Member member = memberMapper.selectById(id);
-            if(member==null || member.getIsdeleted().equals(Constants.ONE)){
-                //濡傛灉鍛樺伐淇℃伅涓嶅悎娉曠洿鎺ヨ烦杩�
-                continue;
+            if(Constants.equalsInteger(memberRole.getTimeType(),Constants.ZERO) ){
+                memberRole.setStartTime(null);
+                memberRole.setEndTime(null);
             }
-            if(StringUtils.isBlank(member.getFaceId()) || !Constants.equalsInteger(member.getFaceStatus(),Constants.ONE)){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛銆�"+member.getName()+"銆戠殑浜鸿劯淇℃伅涓嶆弧瓒虫巿鏉冩潯浠讹紝璇疯繑鍥炲畬鍠勫悗鍐嶈繘琛岃鎿嶄綔锛�");
-            }
-            member.setStartTime(memberRole.getStartTime());
-            member.setEndTime(memberRole.getEndTime());
-            Integer ischange = getRoleIdByParam(memberRole.getRoleIds(),member,memberRoleMapper,deviceRoleMapper);
-            if(memberRole.getRoleIds()!=null && memberRole.getRoleIds().length>0 && StringUtils.isBlank(member.getRoleId())){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鏈煡璇㈠埌鏈夋晥闂ㄧ缁勬暟鎹�");
-            }
-            if(Constants.equalsInteger(memberRole.getTimeType(),Constants.TWO)){
-                //濡傛灉鎸夌収鍩硅鏃ユ湡涓嬪彂
-                TrainTime trainTime = trainTimeMapper.selectOne(new QueryWrapper<TrainTime>().lambda()
-                        .eq(TrainTime::getMemberId,id )
-                        .eq(TrainTime::getIsdeleted,Constants.ZERO )
-                        .orderByDesc(TrainTime::getId)
-                        .last("limit 1")
-                );
-                if(trainTime == null || trainTime.getStartTime()==null || trainTime.getEndTime() ==null || trainTime.getStartTime().getTime()>=trainTime.getEndTime().getTime()){
-                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛銆�"+member.getName()+"銆戝煿璁湁鏁堟湡淇℃伅涓虹┖锛岃杩斿洖瀹屽杽鍚庡啀杩涜璇ユ搷浣滐紒");
+            for (Integer id : memberRole.getIds()){
+                Member member = memberMapper.selectById(id);
+                if(member==null || member.getIsdeleted().equals(Constants.ONE)){
+                    //濡傛灉鍛樺伐淇℃伅涓嶅悎娉曠洿鎺ヨ烦杩�
+                    continue;
                 }
-                if(trainTime.getEndTime() .getTime()< System.currentTimeMillis()){
-                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛銆�"+member.getName()+"銆戝煿璁湁鏁堟湡宸茶繃鏈燂紝璇烽噸鏂颁笂浼犲叾鍩硅鏈夋晥鏈燂紒");
+                if(StringUtils.isBlank(member.getFaceId()) || !Constants.equalsInteger(member.getFaceStatus(),Constants.ONE)){
+                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛銆�"+member.getName()+"銆戠殑浜鸿劯淇℃伅涓嶆弧瓒虫巿鏉冩潯浠讹紝璇疯繑鍥炲畬鍠勫悗鍐嶈繘琛岃鎿嶄綔锛�");
                 }
-                memberRole.setStartTime(trainTime.getStartTime());
-                memberRole.setEndTime(trainTime.getEndTime());
+                member.setStartTime(memberRole.getStartTime());
+                member.setEndTime(memberRole.getEndTime());
+                Integer ischange = getRoleIdByParam(memberRole.getRoleIds(),member,memberRoleMapper,deviceRoleMapper);
+                if(memberRole.getRoleIds()!=null && memberRole.getRoleIds().length>0 && StringUtils.isBlank(member.getRoleId())){
+                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鏈煡璇㈠埌鏈夋晥闂ㄧ缁勬暟鎹�");
+                }
+                if(Constants.equalsInteger(memberRole.getTimeType(),Constants.TWO)){
+                    //濡傛灉鎸夌収鍩硅鏃ユ湡涓嬪彂
+                    TrainTime trainTime = trainTimeMapper.selectOne(new QueryWrapper<TrainTime>().lambda()
+                            .eq(TrainTime::getMemberId,id )
+                            .eq(TrainTime::getIsdeleted,Constants.ZERO )
+                            .orderByDesc(TrainTime::getId)
+                            .last("limit 1")
+                    );
+                    if(trainTime == null || trainTime.getStartTime()==null || trainTime.getEndTime() ==null || trainTime.getStartTime().getTime()>=trainTime.getEndTime().getTime()){
+                        throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛銆�"+member.getName()+"銆戝煿璁湁鏁堟湡淇℃伅涓虹┖锛岃杩斿洖瀹屽杽鍚庡啀杩涜璇ユ搷浣滐紒");
+                    }
+                    if(trainTime.getEndTime() .getTime()< System.currentTimeMillis()){
+                        throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛銆�"+member.getName()+"銆戝煿璁湁鏁堟湡宸茶繃鏈燂紝璇烽噸鏂颁笂浼犲叾鍩硅鏈夋晥鏈燂紒");
+                    }
+                    memberRole.setStartTime(trainTime.getStartTime());
+                    memberRole.setEndTime(trainTime.getEndTime());
+                }
+                memberMapper.update(null,new UpdateWrapper<Member>().lambda()
+                        .eq(Member::getId,member.getId())
+                        .set(Member::getRoleId,member.getRoleId())
+                        .set(Member::getAuthStatus,Constants.ONE)
+                        .set(Member::getStartTime,memberRole.getStartTime())
+                        .set(Member::getEndTime,memberRole.getEndTime())
+                        .set(Member::getEditor,memberRole.getLoginUserInfo().getId())
+                        .set(Member::getEditDate,new Date()) );
+                saveUserActionBiz(member,memberRole.getLoginUserInfo(), Constants.UserActionType.AUTH_ROLE,userActionJoinMapper,null);
+                //閲嶆柊鎺堟潈
+                HkSyncOrgUserToHKServiceImpl.dealMemberRoleEmpowerDo(null,member,deviceRoleMapper,empowerMapper,deviceMapper);
             }
-            memberMapper.update(null,new UpdateWrapper<Member>().lambda()
-                    .eq(Member::getId,member.getId())
-                    .set(Member::getRoleId,member.getRoleId())
-                    .set(Member::getAuthStatus,Constants.ONE)
-                    .set(Member::getStartTime,memberRole.getStartTime())
-                    .set(Member::getEndTime,memberRole.getEndTime())
-                    .set(Member::getEditor,memberRole.getLoginUserInfo().getId())
-                    .set(Member::getEditDate,new Date()) );
-            saveUserActionBiz(member,memberRole.getLoginUserInfo(), Constants.UserActionType.AUTH_ROLE,userActionJoinMapper,null);
-            //閲嶆柊鎺堟潈
-            HkSyncOrgUserToHKServiceImpl.dealMemberRoleEmpowerDo(null,member,deviceRoleMapper,empowerMapper,deviceMapper);
         }
     }
 
@@ -978,6 +1011,7 @@
                     .set(Member::getRoleId,null)
                     .set(StringUtils.isNotBlank(updateMember.getErpId()),Member::getErpId,updateMember.getErpId())
                     .set(StringUtils.isNotBlank(updateMember.getDdId()),Member::getDdId,updateMember.getDdId())
+                    .set(StringUtils.isNotBlank(updateMember.getPhone()),Member::getPhone,updateMember.getPhone())
                     .set(StringUtils.isNotBlank(updateMember.getName()),Member::getName,updateMember.getName())
                     .set(Member::getEditDate,updateMember.getEditDate())
                     .set(Member::getEditor,updateMember.getEditor())
@@ -2071,7 +2105,7 @@
                 .eq(Member::getStatus,Constants.ZERO)
                 .eq(Member::getWorkStatus,Constants.ZERO)
                 .eq(Member::getCanVisit,Constants.ONE)
-                .eq(Company::getType,Constants.ONE)
+//                .eq(Company::getType,Constants.ONE)
                 .orderByAsc(Member::getPinyin)
         );
         List<MemberVO> memberVOList = new ArrayList<>();

--
Gitblit v1.9.3