k94314517
2023-12-21 ace79b6390648b159011ba3e4aa4074a2c9a0ad8
ERP接口
已修改1个文件
70 ■■■■■ 文件已修改
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
        }