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/erp/ErpSyncServiceImpl.java | 107 +++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 79 insertions(+), 28 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..0f9a0ab 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 @@ -771,7 +771,9 @@ company.setParentId(Objects.isNull(parentCompany)?null:parentCompany.getId()); company.setErpParentId(param.getParentId()); company.setFsStatus(Constants.ZERO); + company.setStatus(Constants.ZERO); company.setType(Constants.ONE); + company.setIsdeleted(Constants.ZERO); company.setLinkName(param.getLinkName()); company.setLinkPhone(param.getLinkPhone()); companyMapper.insert(company); @@ -927,13 +929,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 +1010,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 +1039,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 ));*/ } @@ -1071,7 +1118,6 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝璇烽�夋嫨鏈夋晥鐨勮瀹㈤棬绂佺粍锛�"); } } - } @Override @@ -1114,25 +1160,30 @@ }catch (BusinessException e){ throw e; }finally { - saveInterfaceLog(param,"/visitBiz/resource/approveApply",null,Constants.ZERO); +// saveInterfaceLog(param,"/visitBiz/resource/approveApply",null,Constants.ZERO); } } @Override public void saveInterfaceLog(Object param, String path, String result, Integer type) { - InterfaceLog interfaceLog=new InterfaceLog(); - interfaceLog.setType(type); - interfaceLog.setCreateDate(new Date()); - interfaceLog.setIsdeleted(Constants.ZERO); - if(param!=null){ - interfaceLog.setRequest(JSONObject.toJSONString(param)); + try { + InterfaceLog interfaceLog=new InterfaceLog(); + interfaceLog.setType(type); + interfaceLog.setCreateDate(new Date()); + interfaceLog.setIsdeleted(Constants.ZERO); + if(param!=null){ + interfaceLog.setRequest(JSONObject.toJSONString(param)); + } + interfaceLog.setPlat(Constants.ONE); + interfaceLog.setRepose(result); + interfaceLog.setName(path); + interfaceLog.setUrl(path); + interfaceLogService.create(interfaceLog); + }catch (Exception e){ +e.printStackTrace(); } - interfaceLog.setPlat(Constants.ONE); - interfaceLog.setRepose(result); - interfaceLog.setName(path); - interfaceLog.setUrl(path); - interfaceLogService.create(interfaceLog); + } } -- Gitblit v1.9.3