From 4167298accee956c10ed1b5e3d6ce909cad38edd Mon Sep 17 00:00:00 2001 From: nidapeng <jp@doumee.com> Date: 星期二, 02 四月 2024 16:37:26 +0800 Subject: [PATCH] 整理 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java | 75 ++++++++++++++++++++++++++++++------- 1 files changed, 60 insertions(+), 15 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java index af0009f..1f7fec6 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java +++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java @@ -927,13 +927,57 @@ } } } - private List<Integer> getRoleIdByParam(Integer[] param, Member member) { + private Integer getRoleIdByParam(Integer[] param, Member member) { //娣诲姞浜哄憳瑙掕壊鍏宠仈鏁版嵁 member.setRoleId(null); - if(!Objects.isNull(member)&&!Objects.isNull(member.getId())){ + List<MemberRole> roleList = memberRoleMapper.selectList( new QueryWrapper<MemberRole>().lambda() + .eq(MemberRole::getIsdeleted,Constants.ZERO) + .eq(MemberRole::getMemberId,member.getId())); + if((param == null || param.length==0 ) &&( roleList==null || roleList.size()==0)){ + //妫�鏌ョ敤鎴锋潈闄愭槸鍚﹀彂鐜板彉鍖� + return 0; + } + if((param == null || param.length==0 ) &&( roleList!=null && roleList.size()>0) ){ + //濡傛灉鍘熸潵鏈夋潈闄愶紝鎺ュ彛杩涜鏉冮檺鍒犻櫎 memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId())); + return 1; } if(!Objects.isNull(param)&¶m.length>Constants.ZERO){ + if(roleList!=null && roleList.size()>0) { + //鍜屽師鏈夋潈闄愯繘琛屽姣旓紝鐪嬫槸鍚︽潈闄愬彂鐢熷彉鍖� + boolean ischange1=false; + for (MemberRole role : roleList) { + ischange1=false; + for (int j = 0; j < param.length; j++) { + if(Constants.equalsInteger(role.getRoleId(),param[j])){ + ischange1=true; + break; + } + } + if(!ischange1){ + break; + } + } + + boolean ischange2 =false; + for (int j = 0; j < param.length; j++) { + ischange2=false; + for (MemberRole role : roleList) { + if(Constants.equalsInteger(role.getRoleId(),param[j])){ + ischange2=true; + break; + } + } + if(!ischange2){ + break; + } + } + if(ischange2 && ischange1){ + return 0;//鏉冮檺鏈彂鐢熸敼鍙� + } + } + //濡傛灉鍘熸潵鏈夋潈闄愶紝鎺ュ彛杩涜鏉冮檺鍒犻櫎 + memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId())); //鏌ヨ鏁版嵁搴撳瓨鍦ㄧ殑鏉冮檺 List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda() .eq(DeviceRole::getType,Constants.TWO) @@ -964,15 +1008,16 @@ memberRole.setCreateDate(new Date()); memberRole.setMemberId(member.getId()); memberRole.setIsdeleted(Constants.ZERO); - memberRole.setRoleId(deviceRole.getId().toString()); + memberRole.setRoleId(deviceRole.getId()); memberRoleList.add(memberRole); } + member.setRoleId(ids); memberRoleMapper.insertBatchSomeColumn(memberRoleList); member.setRoleId(ids); - return r; + return 1; } } - return null; + return 0; } @@ -992,22 +1037,22 @@ if(Objects.isNull(member)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛淇℃伅涓嶅瓨鍦紒"); } - List<Integer> doorIds = getRoleIdByParam(param.getRoleIds(),member); + Integer ischange = getRoleIdByParam(param.getRoleIds(),member); + if(ischange == 0){ + return;//鏈彂鐜版潈闄愬彉鍖栵紝鐩存帴杩斿洖 + } if(param.getRoleIds()!=null && param.getRoleIds().length>0 && StringUtils.isBlank(member.getRoleId())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鏈煡璇㈠埌鏈夋晥闂ㄧ缁勬暟鎹�"); } + memberMapper.update(null,new UpdateWrapper<Member>().lambda() + .eq(Member::getId,member.getId()) + .set(Member::getRoleId,member.getRoleId()) + .set(Member::getStartTime,param.getValidStartTime()) + .set(Member::getEndTime,param.getValidEndTime()) + .set(Member::getEditDate,new Date()) ); //閲嶆柊鎺堟潈 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::getRemark,"寰呭悓姝ュ畨闃插钩鍙�") - .set(Member::getStartTime,param.getValidStartTime()) - .set(Member::getEndTime,param.getValidEndTime()) - .set(Member::getEditDate,new Date()) - .set(Member::getHkStatus,Constants.ZERO ));*/ } -- Gitblit v1.9.3