From 22a00c47589ded6699a563690ee5545b73eaca01 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 22 十二月 2023 09:30:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java | 70 +++++++++++++++++++++++------------ 1 files changed, 46 insertions(+), 24 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 5a6e7fa..8f6c7b0 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 @@ -309,6 +309,13 @@ private void dealUserChangeList(List<ErpUserListResponse> list, List<Member> addList, List<Member> updateList, List<Member> delList, List<Member> allList) { Date date = new Date(); for(ErpUserListResponse response : list){ + Company company = new Company(); + if(StringUtils.isNotBlank(response.getOrgId())){ + company = companyMapper.selectOne(new QueryWrapper<Company>().lambda().eq(Company::getErpId,response.getOrgId()).last("limit 1")); + if(Objects.isNull(company)){ + continue; + } + } //鏍规嵁 erpId 鏌ヨ鐢ㄦ埛淇℃伅锛屽垽鏂槸鏂板杩樻槸鏇存柊 Member member = findUserByERPId(allList,response.getId()); if(member == null){ @@ -317,7 +324,7 @@ continue; } //灏佽鏂板缁勭粐瀵硅薄鏁版嵁 - addList.add(getAddMemberModel(response,date)); + addList.add(getAddMemberModel(response,date,company)); }else{ //濡傛灉鏄洿鏂� if(Constants.formatIntegerNum(response.getIsdeleted()) == Constants.ONE){ @@ -327,7 +334,7 @@ // delIds.add(member.getId()); continue; } - updateList.add(addUpdateMemberModel(response,member,date)); + updateList.add(addUpdateMemberModel(response,member,date,company)); } } if(allList!=null && allList.size()>0){ @@ -340,7 +347,7 @@ } } - private Member getAddMemberModel(ErpUserListResponse param, Date date) { + private Member getAddMemberModel(ErpUserListResponse param, Date date,Company company) { Member member = new Member(); BeanUtils.copyProperties(param,member); member.setCreateDate(new Date()); @@ -353,13 +360,14 @@ String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo()); member.setIdcardNo(encryptIdNo); member.setIdcardDecode(Constants.getTuominStr(param.getIdNo())); - member.setErpOrgId(param.getOrgId()); member.setHkStatus(Constants.ZERO); member.setRoleIds(param.getRoleIds()); + member.setCompanyId(Objects.isNull(company)?null:company.getId()); + member.setErpOrgId(param.getOrgId()); return member; } - private Member addUpdateMemberModel(ErpUserListResponse param, Member member, Date date) { + private Member addUpdateMemberModel(ErpUserListResponse param, Member member, Date date,Company company) { BeanUtils.copyProperties(param,member); String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo()); member.setIdcardNo(encryptIdNo); @@ -369,6 +377,8 @@ member.setErpDate(new Date()); member.setHkStatus(Constants.ZERO); member.setRoleIds(param.getRoleIds()); + member.setCompanyId(Objects.isNull(company)?null:company.getId()); + member.setErpOrgId(param.getOrgId()); return member; } @@ -424,8 +434,8 @@ result.setToken(token); result.setExpireTime(Constants.RedisKeys.EXPIRE_TIME); return result; - }catch (BusinessException e ){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),e.getMessage()); + }catch (BusinessException e){ + throw e; }finally { Map<String,String> param = new HashMap<>(); param.put("accessKey",accessKey); @@ -478,8 +488,8 @@ } } } - }catch (Exception e){ - e.printStackTrace(); + }catch (BusinessException e){ + throw e; }finally { saveInterfaceLog(param,"/visitBiz/resource/role/list",JSONObject.toJSONString(result),Constants.ZERO); } @@ -510,8 +520,8 @@ result.add(parkListResponse); } } - }catch (Exception e){ - e.printStackTrace(); + }catch (BusinessException e){ + throw e; }finally { saveInterfaceLog(param,"/visitBiz/resource/park/list",JSONObject.toJSONString(result),Constants.ZERO); } @@ -565,8 +575,8 @@ } IPage<VisitEventListResponse> pageData = visitEventJoinMapper.selectJoinPage(page, VisitEventListResponse.class,queryWrapper); result = PageData.from(pageData); - }catch (Exception e){ - e.printStackTrace(); + }catch (BusinessException e){ + throw e; }finally { saveInterfaceLog(param,"/visitBiz/resource/visit/list",JSONObject.toJSONString(result),Constants.ZERO); } @@ -619,8 +629,8 @@ IPage<DoorEventListResponse> pageData = deviceEventJoinMapper.selectJoinPage(page, DoorEventListResponse.class,queryWrapper); result = PageData.from(pageData); - }catch (Exception e){ - e.printStackTrace(); + }catch (BusinessException e){ + throw e; }finally { saveInterfaceLog(param,"/visitBiz/resource/doorEvent/list",JSONObject.toJSONString(result),Constants.ZERO); } @@ -683,8 +693,8 @@ i.setVehiclePicUrl(null); } }); - }catch (Exception e){ - e.printStackTrace(); + }catch (BusinessException e){ + throw e; }finally { saveInterfaceLog(param,"/visitBiz/resource/carEventList",JSONObject.toJSONString(result),Constants.ZERO); } @@ -708,9 +718,15 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST); } Company company = companyMapper.selectOne(new QueryWrapper<Company>().lambda().eq(Company::getErpId,param.getId()).last("limit 1")); + Company parentCompany = new Company(); + if(StringUtils.isNotBlank(param.getParentId())){ + parentCompany = companyMapper.selectOne(new QueryWrapper<Company>().lambda().eq(Company::getErpId,param.getParentId()).last("limit 1")); + if(Objects.isNull(parentCompany)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌涓婄骇缁勭粐鏁版嵁"); + } + } if(Objects.isNull(company)){ company = new Company(); -// BeanUtils.copyProperties(param,company); company.setId(null); company.setCreateDate(new Date()); company.setHkStatus(Constants.ZERO); @@ -718,6 +734,7 @@ company.setErpDate(new Date()); company.setErpId(param.getId()); company.setErpParentId(param.getParentId()); + company.setParentId(Objects.isNull(parentCompany)?null:parentCompany.getId()); company.setFsStatus(Constants.ZERO); company.setType(Constants.ONE); company.setLinkName(param.getLinkName()); @@ -731,13 +748,14 @@ company.setHkStatus(Constants.ZERO); company.setErpDate(new Date()); company.setErpParentId(param.getParentId()); + company.setParentId(Objects.isNull(parentCompany)?null:parentCompany.getId()); company.setLinkName(param.getLinkName()); company.setLinkPhone(param.getLinkPhone()); companyMapper.updateById(company); //TODO 娴峰悍鏁版嵁鏇存柊 } - }catch (Exception e){ - e.printStackTrace(); + }catch (BusinessException e){ + throw e; }finally { saveInterfaceLog(param,"/visitBiz/resource/orgUpdate",null,Constants.ZERO); } @@ -762,6 +780,10 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST); } Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getErpId,param.getId()).last("limit 1")); + Company company = companyMapper.selectOne(new QueryWrapper<Company>().lambda().eq(Company::getErpId,param.getOrgId()).last("limit 1")); + if(Objects.isNull(company)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌缁勭粐淇℃伅"); + } List<Integer> doorIds = null; if(Objects.isNull(member)){ member = new Member(); @@ -802,8 +824,8 @@ dealMemberRoleEmpower(member,doorIds,param.getValidStartTime(),param.getValidEndTime()); //娣诲姞浜哄憳鍗$墖鏁版嵁 dealMemberCard(member,param); - }catch (Exception e){ - e.printStackTrace(); + }catch (BusinessException e){ + throw e; }finally { saveInterfaceLog(param,"/visitBiz/resource/userUpdate",null,Constants.ZERO); } @@ -993,8 +1015,8 @@ visitsMapper.updateById(i); }); } - }catch (Exception e){ - e.printStackTrace(); + }catch (BusinessException e){ + throw e; }finally { saveInterfaceLog(param,"/visitBiz/resource/approveApply",null,Constants.ZERO); } -- Gitblit v1.9.3