| | |
| | | return; |
| | | } |
| | | Date date = new Date(); |
| | | List<OrgEditRequest> editHkList = new ArrayList<>(); |
| | | List<OrgAddRequest> addList = new ArrayList<>(); |
| | | List<Company> updateList = new ArrayList<>(); |
| | | List<Integer> delIds = new ArrayList<>(); |
| | |
| | | c.setHkId(m.getOrgIndexCode()); |
| | | updateList.add(c); |
| | | }else{ |
| | | //删除的数据,进行删除 |
| | | delIds.add(c.getId()); |
| | | delHKIds.add(c.getHkId()); |
| | | //删除海康原有的数据,再新增组织 |
| | | OrgAddRequest m = getOrgAddModel(c,rootOrgId); |
| | | addList.add(m); |
| | | c.setHkId(m.getOrgIndexCode()); |
| | | if(Constants.equalsInteger(c.getIsdeleted(),Constants.ONE)){ |
| | | //删除的数据,进行删除 |
| | | delIds.add(c.getId()); |
| | | delHKIds.add(c.getHkId()); |
| | | }else{ |
| | | //如果更新 |
| | | editHkList.add(getOrgHkEditModel(c,rootOrgId)); |
| | | } |
| | | updateList.add(c); |
| | | } |
| | | } |
| | | //处理删除数据 |
| | | doHkDeleteOrg(delIds,delHKIds,date); |
| | | //处理新增数据 |
| | | doHkAddOrg(updateList,addList); |
| | | doHkAddOrg(updateList,addList,editHkList); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | }finally { |
| | |
| | | * @param updateList |
| | | * @param addList |
| | | */ |
| | | private void doHkAddOrg(List<Company> updateList, List<OrgAddRequest> addList) { |
| | | private void doHkAddOrg(List<Company> updateList, List<OrgAddRequest> addList, List<OrgEditRequest> editHkList) { |
| | | Date date = new Date(); |
| | | |
| | | BaseResponse<OrgOrUserAddResponse> result = HKService.addBatchOrg(addList); |
| | | if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){ |
| | | OrgOrUserAddResponse data = result.getData(); |
| | | if(data.getSuccesses()!=null && data.getSuccesses().size()>0){ |
| | | //处理新增成功的数据,修改海康同步状态 |
| | | for(OrgOrUserAddSuccessResponse r :data.getSuccesses()){ |
| | | Integer index = getCompanyId(updateList,r.getOrgIndexCode()); |
| | | if(index!=null){ |
| | | companyMapper.update(null,new UpdateWrapper<Company>().lambda() |
| | | .set(Company::getHkStatus,Constants.ONE) |
| | | .set(Company::getHkDate,date) |
| | | .set(Company::getHkId,r.getOrgIndexCode()) |
| | | .eq(Company::getId, index) ); |
| | | } |
| | | } |
| | | if(addList!=null &&addList.size()>0){ |
| | | //处理新增 |
| | | BaseResponse<OrgOrUserAddResponse> result = HKService.addBatchOrg(addList); |
| | | if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){ |
| | | OrgOrUserAddResponse data = result.getData(); |
| | | if(data.getSuccesses()!=null && data.getSuccesses().size()>0){ |
| | | //处理新增成功的数据,修改海康同步状态 |
| | | for(OrgOrUserAddSuccessResponse r :data.getSuccesses()){ |
| | | Integer index = getCompanyId(updateList,r.getOrgIndexCode()); |
| | | if(index!=null){ |
| | | companyMapper.update(null,new UpdateWrapper<Company>().lambda() |
| | | .set(Company::getHkStatus,Constants.ONE) |
| | | .set(Company::getHkDate,date) |
| | | .set(Company::getHkId,r.getOrgIndexCode()) |
| | | .eq(Company::getId, index) ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if(editHkList!=null){ |
| | | //执行更新操作 |
| | | List<String> success = new ArrayList<>(); |
| | | List<String> error = new ArrayList<>(); |
| | | for(OrgEditRequest param : editHkList){ |
| | | BaseResponse result = HKService.editOrg(param); |
| | | if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){ |
| | | success.add(param.getOrgIndexCode()); |
| | | }else{ |
| | | error.add(param.getOrgIndexCode()); |
| | | } |
| | | } |
| | | if(success.size()>0){ |
| | | companyMapper.update(null,new UpdateWrapper<Company>().lambda() |
| | | .set(Company::getHkStatus,Constants.ONE) |
| | | .set(Company::getHkDate,date) |
| | | .in(Company::getHkId, success) ); |
| | | } |
| | | if(error.size()>0){ |
| | | companyMapper.update(null,new UpdateWrapper<Company>().lambda() |
| | | .set(Company::getHkStatus,Constants.TWO) |
| | | .set(Company::getHkDate,date) |
| | | .in(Company::getHkId, error) ); |
| | | } |
| | | } |
| | | } |
| | |
| | | return model; |
| | | |
| | | } |
| | | private OrgEditRequest getOrgHkEditModel(Company c,String rootOrgId) { |
| | | OrgEditRequest model = new OrgEditRequest(); |
| | | model.setOrgIndexCode(c.getHkId()); |
| | | model.setOrgName(c.getName()); |
| | | return model; |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 对海康删除组织信息 |
| | |
| | | List<String> fIds = new ArrayList<>(); |
| | | if(result.getData()!=null){ |
| | | for(OrgUpdateFailureResponse r : result.getData()){ |
| | | if(!r.getCode().equals("0x00072001")){ |
| | | if(!r.getCode().equals("0x00052102")){ |
| | | //不存在的也算删除成功 |
| | | fIds.add(r.getOrgIndexCode());//删除失败的数据集合 |
| | | } |
| | |
| | | companyMapper.update(null,new UpdateWrapper<Company>().lambda() |
| | | .set(Company::getHkStatus,Constants.ONE) |
| | | .set(Company::getHkDate,date) |
| | | .set(Company::getHkId,null ) |
| | | .in(Company::getId, delIds) |
| | | .notIn(fIds.size()>0,Company::getHkId, fIds)); |
| | | companyMapper.update(null,new UpdateWrapper<Company>().lambda() |
| | | .set(Company::getHkStatus,Constants.TWO) |
| | | .set(Company::getHkDate,date) |
| | | .in(Company::getId, delIds) |
| | | .in(fIds.size()>0,Company::getHkId, fIds)); |
| | | } |
| | | } |
| | | |