From ace79b6390648b159011ba3e4aa4074a2c9a0ad8 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期四, 21 十二月 2023 16:49:39 +0800 Subject: [PATCH] ERP接口 --- 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 d16049c..4d8d692 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 @@ -308,6 +308,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){ @@ -316,7 +323,7 @@ continue; } //灏佽鏂板缁勭粐瀵硅薄鏁版嵁 - addList.add(getAddMemberModel(response,date)); + addList.add(getAddMemberModel(response,date,company)); }else{ //濡傛灉鏄洿鏂� if(Constants.formatIntegerNum(response.getIsdeleted()) == Constants.ONE){ @@ -326,7 +333,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){ @@ -339,7 +346,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()); @@ -352,13 +359,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); @@ -368,6 +376,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; } @@ -423,8 +433,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); @@ -477,8 +487,8 @@ } } } - }catch (Exception e){ - e.printStackTrace(); + }catch (BusinessException e){ + throw e; }finally { saveInterfaceLog(param,"/visitBiz/resource/role/list",JSONObject.toJSONString(result),Constants.ZERO); } @@ -509,8 +519,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); } @@ -564,8 +574,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); } @@ -618,8 +628,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); } @@ -682,8 +692,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); } @@ -707,9 +717,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); @@ -717,6 +733,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()); @@ -730,13 +747,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); } @@ -761,6 +779,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(); @@ -801,8 +823,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); } @@ -992,8 +1014,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