Commit 193c4f32 authored by zhangyingbin's avatar zhangyingbin

修改一次性同步企业接口

parent 55714699
......@@ -2,6 +2,10 @@ package com.yeejoin.amos.boot.module.tzs.biz.listener;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.tzs.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.tzs.api.service.ITzBaseEnterpriseInfoService;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.TzBaseEnterpriseInfoServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.utils.DesUtil;
import com.yeejoin.amos.boot.module.tzs.biz.utils.RedisUtil;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
......@@ -27,6 +31,9 @@ import java.util.stream.Collectors;
public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
@Autowired
TzBaseEnterpriseInfoServiceImpl tzBaseEnterpriseInfoService;
@Autowired
RedisUtil redisUtil;
@Value("${admin.product}")
......@@ -48,53 +55,103 @@ public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
RequestContext.setProduct(product);
RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
//获取parent_id
Long parent_id = 0L;
Collection<CompanyModel> companyModels = Privilege.companyClient.companyTreeWithoutAuth().getResult();
List<CompanyModel> companyList = new ArrayList<>();
recursion(companyModels,companyList);
Collection<CompanyModel> companyModels = Privilege.companyClient.queryAgencyTree(null).getResult();
Map<String , CompanyModel> companyMap = new HashMap<>();
getCompanyInfoMap(companyModels,companyMap);
//判断库中company是否重复
CompanyModel companyModel = Privilege.companyClient.seleteOne(Long.valueOf(object.getString("sequence_nbr"))).getResult();
if (companyModel == null ) {
companyModel = new CompanyModel();
companyModel.setSequenceNbr(object.getLong("sequence_nbr"));
companyModel.setCompanyName(object.getString("unit_name"));
companyModel.setCompanyCode(object.getString("unit_code"));
companyModel.setParentId(parent_id);
companyModel.setLevel("company");
companyModel.setAgencyCode("tzs");
companyModel.setCompanyType("生产单位");
companyModel.setAddress(object.getString("reg_address"));
Privilege.companyClient.create(companyModel);
CompanyModel companyPrivilegeModel = Privilege.companyClient.seleteOne(Long.valueOf(object.getString("sequence_nbr"))).getResult();
TzBaseEnterpriseInfo tzBaseEnterprisePrivilegeInfo = tzBaseEnterpriseInfoService.getById(object.getLong("sequence_nbr"));
CompanyModel companyModel = new CompanyModel();
TzBaseEnterpriseInfo tzBaseEnterpriseInfo = new TzBaseEnterpriseInfo();
tzBaseEnterpriseInfo.setSequenceNbr(object.getLong("sequence_nbr"));
tzBaseEnterpriseInfo.setUseUnitCertificate(object.getString("cert_type"));
tzBaseEnterpriseInfo.setUseCode(object.getString("unit_code"));
tzBaseEnterpriseInfo.setUseUnit(object.getString("unit_name"));
tzBaseEnterpriseInfo.setProvince(object.getString("province"));
tzBaseEnterpriseInfo.setCity(object.getString("city"));
tzBaseEnterpriseInfo.setDistrict(object.getString("district"));
tzBaseEnterpriseInfo.setSyncDate(object.getDate("sync_date"));
tzBaseEnterpriseInfo.setSyncState(object.getInteger("sync_state"));
String orgName = object.getString("district");
orgName = orgName.substring(3);
if (orgName.contains("分局")) {
//包含
if(orgName.contains("高新")){
tzBaseEnterpriseInfo.setSuperviseOrgCode(companyMap.get("西安市工商局高新分局").getOrgCode());
companyModel.setParentId(companyMap.get("西安市工商局高新分局").getSequenceNbr());
}else if(orgName.contains("曲江")){
tzBaseEnterpriseInfo.setSuperviseOrgCode(companyMap.get("西安市工商局曲江分局").getOrgCode());
companyModel.setParentId(companyMap.get("西安市工商局曲江分局").getSequenceNbr());
}else if(orgName.contains("经开")){
tzBaseEnterpriseInfo.setSuperviseOrgCode(companyMap.get("西安市工商局经开分局").getOrgCode());
companyModel.setParentId(companyMap.get("西安市工商局经开分局").getSequenceNbr());
}else if(orgName.contains("航天")){
tzBaseEnterpriseInfo.setSuperviseOrgCode(companyMap.get("西安市工商局航空分局").getOrgCode());
companyModel.setParentId(companyMap.get("西安市工商局航空分局").getSequenceNbr());
}else if(orgName.contains("浐灞")){
tzBaseEnterpriseInfo.setSuperviseOrgCode(companyMap.get("西安市工商局浐灞分局").getOrgCode());
companyModel.setParentId(companyMap.get("西安市工商局浐灞分局").getSequenceNbr());
}else if(orgName.contains("港务")){
tzBaseEnterpriseInfo.setSuperviseOrgCode(companyMap.get("西安市工商局港务分局").getOrgCode());
companyModel.setParentId(companyMap.get("西安市工商局港务分局").getSequenceNbr());
}else if(object.getString("district").contains("泾河")){
tzBaseEnterpriseInfo.setSuperviseOrgCode(companyMap.get("泾河新城分局").getOrgCode());
companyModel.setParentId(companyMap.get("泾河新城分局").getSequenceNbr());
} else{
tzBaseEnterpriseInfo.setSuperviseOrgCode("0");
companyModel.setParentId(0L);
}
}else {
//不包含
tzBaseEnterpriseInfo.setSuperviseOrgCode(companyMap.get(orgName).getOrgCode());
companyModel.setParentId(companyMap.get(orgName).getSequenceNbr());
}
if(tzBaseEnterprisePrivilegeInfo == null){
//当企业表中没有时
tzBaseEnterpriseInfoService.save(tzBaseEnterpriseInfo);
}else{
//为空或者是更新
//当企业表中有时
tzBaseEnterpriseInfoService.updateById(tzBaseEnterpriseInfo);
}
companyModel.setSequenceNbr(object.getLong("sequence_nbr"));
companyModel.setCompanyName(object.getString("unit_name"));
companyModel.setCompanyCode(object.getString("unit_code"));
companyModel.setParentId(parent_id);
companyModel.setLevel("company");
companyModel.setAgencyCode("tzs");
companyModel.setCompanyType("生产单位");
companyModel.setAddress(object.getString("reg_address"));
Privilege.companyClient.update(companyModel,object.getLong("sequence_nbr"));
if (companyPrivilegeModel == null ) {
//平台表新增
Privilege.companyClient.create(companyModel);
}else{
//更新
Privilege.companyClient.update(companyModel,object.getLong("sequence_nbr"));
}
}
public List recursion(Collection feign,List ids){
if(feign == null){
return ids;
public Map<String, CompanyModel> getCompanyInfoMap(Collection companyModels,Map<String, CompanyModel> map){
if(companyModels == null){
return map;
}
Iterator iter = feign.iterator();
Iterator iter = companyModels.iterator();
while(iter.hasNext()){
String json = JSON.toJSONString(iter.next());
CompanyModel companyModel = JSON.parseObject(json,CompanyModel.class);
if(!companyModel.getLevel().equals("company")){
ids.add(String.valueOf(companyModel.getSequenceNbr()));
}
recursion(companyModel.getChildren(),ids);
map.put(companyModel.getCompanyName(),companyModel);
getCompanyInfoMap(companyModel.getChildren(),map);
}
return ids;
return map;
}
}
......@@ -161,7 +161,7 @@ public class TzBaseEnterpriseInfoServiceImpl
//获取平台企业表企业名称及sequence_code,并装入map中
Collection<CompanyModel> companyModels = Privilege.companyClient.queryAgencyTree(null).getResult();
Map<String,Long> companyMap = new HashMap<>();
Map<String,CompanyModel> companyMap = new HashMap<>();
getCompanyInfoMap(companyModels,companyMap);
......@@ -202,16 +202,18 @@ public class TzBaseEnterpriseInfoServiceImpl
baseEnterpriseInfo.setSuperviseOrgCode(speUseUnit.getAuditOrgCode());
baseEnterpriseInfo.setOperatingStatus(String.valueOf(speUseUnit.getStatus()));
baseEnterpriseInfo.setUnitType("使用单位");
baseEnterpriseInfo.setSuperviseOrgCode(companyMap.get(speUseUnit.getAuditOrgName()).getOrgCode());
baseEnterpriseInfoList.add(baseEnterpriseInfo);
CompanyModel companyModel = new CompanyModel();
String address = speUseUnit.getOffiAddrProvince()+speUseUnit.getOffiAddrCity()+speUseUnit.getOffiAddrArea()+speUseUnit.getOffiAddrStreet()+speUseUnit.getOffiAddrVillage()+speUseUnit.getOffiAddrDetail();
companyModel.setCompanyName(speUseUnit.getName());
companyModel.setCompanyCode(speUseUnit.getCerCode());
companyModel.setLevel("company");
companyModel.setAgencyCode("tzs");
companyModel.setCompanyType("使用单位");
companyModel.setAddress(speUseUnit.getOffiAddrDetail());
companyModel.setParentId(companyMap.get(speUseUnit.getAuditOrgName()));
companyModel.setAddress(address);
companyModel.setParentId(companyMap.get(speUseUnit.getAuditOrgName()).getParentId());
//保存平台和业务的企业信息
try {
......@@ -225,7 +227,7 @@ public class TzBaseEnterpriseInfoServiceImpl
return "ok";
}
public Map<String, Long> getCompanyInfoMap(Collection companyModels,Map<String, Long> map){
public Map<String, CompanyModel> getCompanyInfoMap(Collection companyModels,Map<String, CompanyModel> map){
if(companyModels == null){
return map;
}
......@@ -233,7 +235,7 @@ public class TzBaseEnterpriseInfoServiceImpl
while(iter.hasNext()){
String json = JSON.toJSONString(iter.next());
CompanyModel companyModel = JSON.parseObject(json,CompanyModel.class);
map.put(companyModel.getCompanyName(),companyModel.getSequenceNbr());
map.put(companyModel.getCompanyName(),companyModel);
getCompanyInfoMap(companyModel.getChildren(),map);
}
return map;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment