Commit c4dc9c94 authored by yangyang's avatar yangyang

refactor(amos-boot): 优化企业信息更新逻辑

- 重构了 updateCompanyInfoById 方法,提高了代码可读性和维护性 - 移除了冗余的工商信息和许可信息修改逻辑 -优化了单位类型处理和 Redis缓存清理 - 调整了日志记录和异常处理方式
parent e63ee483
...@@ -1057,145 +1057,107 @@ public class TzBaseEnterpriseInfoServiceImpl ...@@ -1057,145 +1057,107 @@ public class TzBaseEnterpriseInfoServiceImpl
@Override @Override
public TzBaseEnterpriseInfoDto updateCompanyInfoById(Map<String, Object> map, ReginParams reginParams2) { public TzBaseEnterpriseInfoDto updateCompanyInfoById(Map<String, Object> map, ReginParams reginParams2) {
log.info("根据ID修改企业信息 => {}, 更新人 => {}", map, RequestContext.getExeUserId()); log.info("根据ID修改企业信息 => {}, 更新人 => {}", map, RequestContext.getExeUserId());
TzBaseEnterpriseInfo tzBaseEnterpriseInfo = new TzBaseEnterpriseInfo(); try {
tzBaseEnterpriseInfo.setSequenceNbr(Long.valueOf(map.get("sequenceNbr").toString())); TzBaseEnterpriseInfo tzBaseEnterpriseInfo = new TzBaseEnterpriseInfo();
tzBaseEnterpriseInfo = tzBaseEnterpriseInfoService.getById(tzBaseEnterpriseInfo.getSequenceNbr()); tzBaseEnterpriseInfo.setSequenceNbr(Long.valueOf(map.get("sequenceNbr").toString()));
//修改基本信息 tzBaseEnterpriseInfo = tzBaseEnterpriseInfoService.getById(tzBaseEnterpriseInfo.getSequenceNbr());
tzBaseEnterpriseInfo.setEquipCategory(JSON.toJSONString(map.get("equipCategory"))); //修改基本信息
Map<String, String> map1 = (Map<String, String>) map.get("longitudeLatitude"); tzBaseEnterpriseInfo.setEquipCategory(JSON.toJSONString(map.get("equipCategory")));
tzBaseEnterpriseInfo.setAddress(ObjectUtils.isEmpty(map1.get("address")) ? null : map1.get("address")); Map<String, String> map1 = (Map<String, String>) map.get("longitudeLatitude");
tzBaseEnterpriseInfo.setLongitude(ObjectUtils.isEmpty(map1.get("longitude")) ? null : String.valueOf(map1.get("longitude"))); tzBaseEnterpriseInfo.setAddress(ObjectUtils.isEmpty(map1.get("address")) ? null : map1.get("address"));
tzBaseEnterpriseInfo.setLatitude(ObjectUtils.isEmpty(map1.get("latitude")) ? null : String.valueOf(map1.get("latitude"))); tzBaseEnterpriseInfo.setLongitude(ObjectUtils.isEmpty(map1.get("longitude")) ? null : String.valueOf(map1.get("longitude")));
tzBaseEnterpriseInfo.setUseContact(ObjectUtils.isEmpty(map.get("useContact")) ? null : String.valueOf(map.get("useContact"))); tzBaseEnterpriseInfo.setLatitude(ObjectUtils.isEmpty(map1.get("latitude")) ? null : String.valueOf(map1.get("latitude")));
tzBaseEnterpriseInfo.setContactPhone(ObjectUtils.isEmpty(map.get("contactPhone")) ? null : String.valueOf(map.get("contactPhone"))); tzBaseEnterpriseInfo.setUseContact(ObjectUtils.isEmpty(map.get("useContact")) ? null : String.valueOf(map.get("useContact")));
tzBaseEnterpriseInfo.setUnitBusinessLicense(ObjectUtils.isEmpty(map.get("unitBusinessLicense")) ? null : JSON.toJSONString(map.get("unitBusinessLicense"))); tzBaseEnterpriseInfo.setContactPhone(ObjectUtils.isEmpty(map.get("contactPhone")) ? null : String.valueOf(map.get("contactPhone")));
tzBaseEnterpriseInfo.setIndustrySupervisor(ObjectUtils.isEmpty(map.get("industrySupervisor")) ? null : String.valueOf(map.get("industrySupervisor"))); tzBaseEnterpriseInfo.setUnitBusinessLicense(ObjectUtils.isEmpty(map.get("unitBusinessLicense")) ? null : JSON.toJSONString(map.get("unitBusinessLicense")));
tzBaseEnterpriseInfo.setSuperviseOrgCode(ObjectUtils.isEmpty(map.get("superviseOrgCode")) ? null : String.valueOf(map.get("superviseOrgCode"))); tzBaseEnterpriseInfo.setIndustrySupervisor(ObjectUtils.isEmpty(map.get("industrySupervisor")) ? null : String.valueOf(map.get("industrySupervisor")));
tzBaseEnterpriseInfo.setSuperviseOrgName(ObjectUtils.isEmpty(map.get("superviseOrgName")) ? null : String.valueOf(map.get("superviseOrgName"))); tzBaseEnterpriseInfo.setSuperviseOrgCode(ObjectUtils.isEmpty(map.get("superviseOrgCode")) ? null : String.valueOf(map.get("superviseOrgCode")));
tzBaseEnterpriseInfo.setOtherAccessories(ObjectUtils.isEmpty(map.get("otherAccessories")) ? null : JSON.toJSONString(map.get("otherAccessories"))); tzBaseEnterpriseInfo.setSuperviseOrgName(ObjectUtils.isEmpty(map.get("superviseOrgName")) ? null : String.valueOf(map.get("superviseOrgName")));
tzBaseEnterpriseInfo.setLegalPerson(ObjectUtils.isEmpty(map.get("legalPerson")) ? null : (String)map.get("legalPerson")); tzBaseEnterpriseInfo.setOtherAccessories(ObjectUtils.isEmpty(map.get("otherAccessories")) ? null : JSON.toJSONString(map.get("otherAccessories")));
String officeRegion = null; tzBaseEnterpriseInfo.setLegalPerson(ObjectUtils.isEmpty(map.get("legalPerson")) ? null : (String)map.get("legalPerson"));
if(!ObjectUtils.isEmpty(map.get("officeRegion"))){ String officeRegion = null;
List list = (List<Object>) map.get("officeRegion"); if(!ObjectUtils.isEmpty(map.get("officeRegion"))){
officeRegion = list.stream().map(String::valueOf).collect(Collectors.joining("#")).toString(); List list = (List<Object>) map.get("officeRegion");
} officeRegion = list.stream().map(String::valueOf).collect(Collectors.joining("#")).toString();
tzBaseEnterpriseInfo.setOfficeRegion(officeRegion); }
tzBaseEnterpriseInfo.setOfficeAddress(ObjectUtils.isEmpty(map.get("officeAddress")) ? null : (String)map.get("officeAddress")); tzBaseEnterpriseInfo.setOfficeRegion(officeRegion);
// 修改事业单位信息 tzBaseEnterpriseInfo.setOfficeAddress(ObjectUtils.isEmpty(map.get("officeAddress")) ? null : (String)map.get("officeAddress"));
TzsBaseInstitutionDto baseInstitutionDto = JSON.toJavaObject(JSON.parseObject(JSON.toJSONString(map.get("regUnitMessage"))), TzsBaseInstitutionDto.class); // 修改事业单位信息
if (!ValidationUtil.isEmpty(baseInstitutionDto)) { TzsBaseInstitutionDto baseInstitutionDto = JSON.toJavaObject(JSON.parseObject(JSON.toJSONString(map.get("regUnitMessage"))), TzsBaseInstitutionDto.class);
TzsBaseInstitution baseInstitution = new TzsBaseInstitution(); if (!ValidationUtil.isEmpty(baseInstitutionDto)) {
BeanUtils.copyProperties(baseInstitutionDto, baseInstitution); TzsBaseInstitution baseInstitution = new TzsBaseInstitution();
// 用"单位信息"更新以下字段 BeanUtils.copyProperties(baseInstitutionDto, baseInstitution);
tzBaseEnterpriseInfo.setAddress(ObjectUtils.isEmpty(map.get("address")) ? null : (String)map.get("address")); // 用"单位信息"更新以下字段
tzBaseEnterpriseInfo.setProvince(baseInstitutionDto.getUnitAddress().get(0)); tzBaseEnterpriseInfo.setAddress(ObjectUtils.isEmpty(map.get("address")) ? null : (String)map.get("address"));
tzBaseEnterpriseInfo.setCity(baseInstitutionDto.getUnitAddress().get(1)); tzBaseEnterpriseInfo.setProvince(baseInstitutionDto.getUnitAddress().get(0));
tzBaseEnterpriseInfo.setDistrict(baseInstitutionDto.getUnitAddress().get(2)); tzBaseEnterpriseInfo.setCity(baseInstitutionDto.getUnitAddress().get(1));
tzBaseEnterpriseInfo.setDistrict(baseInstitutionDto.getUnitAddress().get(2));
tzsBaseInstitutionService.saveOrUpdate(baseInstitution);
} tzsBaseInstitutionService.saveOrUpdate(baseInstitution);
// 修改tz_flc_reg_unit_info表信息 }
LambdaQueryWrapper<RegUnitInfo> queryWrapper = new LambdaQueryWrapper<>(); // 修改tz_flc_reg_unit_info表信息
queryWrapper.eq(RegUnitInfo::getUnitCode, tzBaseEnterpriseInfo.getUseCode()); LambdaQueryWrapper<RegUnitInfo> queryWrapper = new LambdaQueryWrapper<>();
RegUnitInfo regUnitInfo = regUnitInfoService.getOne(queryWrapper); queryWrapper.eq(RegUnitInfo::getUnitCode, tzBaseEnterpriseInfo.getUseCode());
if (ValidationUtil.isEmpty(regUnitInfo)) { RegUnitInfo regUnitInfo = regUnitInfoService.getOne(queryWrapper);
throw new BadRequest("未找到单位注册信息"); if (ValidationUtil.isEmpty(regUnitInfo)) {
} throw new BadRequest("未找到单位注册信息");
FeignClientResult<AgencyUserModel> userResult = Privilege.agencyUserClient.queryByUserId(regUnitInfo.getAdminUserId()); }
AgencyUserModel agencyUserModel = Optional.ofNullable(userResult).map(FeignClientResult::getResult).orElse(null); FeignClientResult<AgencyUserModel> userResult = Privilege.agencyUserClient.queryByUserId(regUnitInfo.getAdminUserId());
if (ValidationUtil.isEmpty(agencyUserModel)) { AgencyUserModel agencyUserModel = Optional.ofNullable(userResult).map(FeignClientResult::getResult).orElse(null);
throw new BadRequest("未找到单位管理员信息"); if (ValidationUtil.isEmpty(agencyUserModel)) {
} throw new BadRequest("未找到单位管理员信息");
regUnitInfo.setName(tzBaseEnterpriseInfo.getUseUnit()); }
regUnitInfo.setUnitCode(tzBaseEnterpriseInfo.getUseCode()); regUnitInfo.setName(tzBaseEnterpriseInfo.getUseUnit());
regUnitInfo.setManagementUnit(tzBaseEnterpriseInfo.getGoverningBody()); regUnitInfo.setUnitCode(tzBaseEnterpriseInfo.getUseCode());
regUnitInfo.setManagementUnit(tzBaseEnterpriseInfo.getGoverningBody());
// regUnitInfo.setManagementUnitId(tzBaseEnterpriseInfo.getGoverningBody()); // regUnitInfo.setManagementUnitId(tzBaseEnterpriseInfo.getGoverningBody());
regUnitInfo.setProvince(tzBaseEnterpriseInfo.getProvince()); regUnitInfo.setProvince(tzBaseEnterpriseInfo.getProvince());
regUnitInfo.setCity(tzBaseEnterpriseInfo.getCity()); regUnitInfo.setCity(tzBaseEnterpriseInfo.getCity());
regUnitInfo.setDistrict(tzBaseEnterpriseInfo.getDistrict()); regUnitInfo.setDistrict(tzBaseEnterpriseInfo.getDistrict());
regUnitInfo.setAddress(tzBaseEnterpriseInfo.getAddress()); regUnitInfo.setAddress(tzBaseEnterpriseInfo.getAddress());
regUnitInfo.setLegalPerson(tzBaseEnterpriseInfo.getLegalPerson()); regUnitInfo.setLegalPerson(tzBaseEnterpriseInfo.getLegalPerson());
regUnitInfo.setContactPerson(tzBaseEnterpriseInfo.getUseContact()); regUnitInfo.setContactPerson(tzBaseEnterpriseInfo.getUseContact());
// 处理单位信息 // 处理单位信息
handleUnitType(map, regUnitInfo, agencyUserModel); handleUnitType(map, regUnitInfo, agencyUserModel);
String[] unitTypes = regUnitInfo.getUnitType().split(","); String[] unitTypes = regUnitInfo.getUnitType().split(",");
regUnitInfoService.saveOrUpdate(regUnitInfo); regUnitInfoService.saveOrUpdate(regUnitInfo);
// -- 20250627 调整为监管单位不能修改工商信息和资质 // -- 20250627 调整为监管单位不能修改工商信息和资质
//修改工商信息
// RegUnitIc regUnitIc = new RegUnitIc(); // 企业信息变更-同步修改企业下人员绑定设备类型
// RegUnitIcDto regUnitIcDto = JSON.parseObject(JSON.toJSONString(map.get("regUnitIcDto")), new TypeReference<RegUnitIcDto>() { ArrayList<String> newData = new ArrayList<>();
// }); JSONArray objects = JSON.parseArray(tzBaseEnterpriseInfo.getEquipCategory());
// if (!ValidationUtil.isEmpty(regUnitIcDto.getSequenceNbr())) { objects.forEach(item -> newData.add(item.toString()));
// List<String> addressList = (List<String>) map.get("registerAddressList");
// tzBaseEnterpriseInfo.setProvince(addressList.get(0)); tzBaseEnterpriseInfo.setAppId(regUnitInfo.getAppId());
// tzBaseEnterpriseInfo.setCity(addressList.get(1)); tzBaseEnterpriseInfo.setUnitType(String.join("#", unitTypes));
// tzBaseEnterpriseInfo.setDistrict(addressList.get(2));
// tzBaseEnterpriseInfo.setCommunity(ObjectUtils.isEmpty(map.get("community")) ? null : String.valueOf(map.get("community"))); boolean b = tzBaseEnterpriseInfoService.updateById(tzBaseEnterpriseInfo);
// tzBaseEnterpriseInfo.setStreet(ObjectUtils.isEmpty(map.get("street")) ? null : String.valueOf(map.get("street"))); if (b) {
// // tzBaseEnterpriseInfo.setAddress(ObjectUtils.isEmpty(map.get("regAddress")) ? null : String.valueOf(map.get("regAddress"))); CompanyModel updateModel = Privilege.companyClient.queryByCompanyCode(String.valueOf(map.get("useCode"))).getResult();
// tzBaseEnterpriseInfo.setLegalPerson(ObjectUtils.isEmpty(map.get("legalPerson")) ? null : String.valueOf(map.get("legalPerson")));
// regUnitIc.setIndustryName(ObjectUtils.isEmpty(map.get("industryName")) ? null : String.valueOf(map.get("industryName")));
// DataDictionary regOrganCodeDict = iDataDictionaryService.getByCode(String.valueOf(map.get("registeredOrganCode")),"DJJG");
// regUnitIc.setRegisteredOrgan(ObjectUtils.isEmpty(regOrganCodeDict) ? null : String.valueOf(regOrganCodeDict.getName()));
// regUnitIc.setRegisteredOrganCode(ObjectUtils.isEmpty(map.get("registeredOrganCode")) ? null : String.valueOf(map.get("registeredOrganCode")));
// Date approvedDate;
// try {
// approvedDate = DateUtils.dateParse(String.valueOf(map.get("approvedDate")), "yyyy-MM-dd");
// } catch (ParseException e) {
// throw new RuntimeException(e);
// }
// regUnitIc.setBusinessStateCode(ObjectUtils.isEmpty(map.get("businessState")) ? null : String.valueOf(map.get("businessState")));
// DataDictionary businessStateDict = iDataDictionaryService.getByCode(String.valueOf(map.get("businessState")),"jyzt");
// regUnitIc.setBusinessState(ObjectUtils.isEmpty(businessStateDict) ? null : businessStateDict.getName());
// regUnitIc.setApprovedDate(ObjectUtils.isEmpty(map.get("approvedDate")) ? null : approvedDate);
//
// regUnitIcService.update(regUnitIc, new QueryWrapper<RegUnitIc>().eq("unit_code", regUnitIcDto.getUnitCode()));
// }
//许可信息先登录人选择的身份删除相应的许可信息,原因前端列表对数据可增减
// String useCode = tzBaseEnterpriseInfo.getUseCode();
// String certTypeCodes = Arrays.stream(unitTypes).map(e -> COMPANY_TYPE_CERT_TYPE_MAP.getOrDefault(e, "")).collect(Collectors.joining(","));
// if (useCode != null && !certTypeCodes.isEmpty()) {
// LambdaQueryWrapper<BaseUnitLicence> wrapper = new LambdaQueryWrapper<>();
// wrapper.eq(BaseUnitLicence::getUnitCode, useCode);
// wrapper.and(w -> Arrays.stream(certTypeCodes.split(","))
// .forEach(certTypeCode -> w.or().likeRight(BaseUnitLicence::getCertTypeCode, certTypeCode)));
// baseUnitLicenceService.remove(wrapper);
// }
// //报错许可许可信息
// saveLicenceData(map);
// 企业信息变更-同步修改企业下人员绑定设备类型
ArrayList<String> newData = new ArrayList<>();
JSONArray objects = JSON.parseArray(tzBaseEnterpriseInfo.getEquipCategory());
objects.forEach(item -> newData.add(item.toString()));
tzBaseEnterpriseInfo.setAppId(regUnitInfo.getAppId());
tzBaseEnterpriseInfo.setUnitType(String.join("#", unitTypes));
boolean b = tzBaseEnterpriseInfoService.updateById(tzBaseEnterpriseInfo);
if (b) {
CompanyModel updateModel;
try {
updateModel = Privilege.companyClient.queryByCompanyCode(String.valueOf(map.get("useCode"))).getResult();
HashMap<String, Object> parentMessage = (HashMap<String, Object>) Privilege.companyClient.queryByOrgcode(String.valueOf(map.get("superviseOrgCode"))).getResult(); HashMap<String, Object> parentMessage = (HashMap<String, Object>) Privilege.companyClient.queryByOrgcode(String.valueOf(map.get("superviseOrgCode"))).getResult();
// 目前平台返回key为compnay(存在拼写错误) // 目前平台返回key为compnay(存在拼写错误)
CompanyModel parentModel = JSON.parseObject(JSON.toJSONString(parentMessage.get("compnay")), CompanyModel.class); CompanyModel parentModel = JSON.parseObject(JSON.toJSONString(parentMessage.get("compnay")), CompanyModel.class);
updateModel.setParentId(parentModel.getSequenceNbr()); updateModel.setParentId(parentModel.getSequenceNbr());
updateModel.setCompanyType(regUnitInfo.getUnitType());// 更新单位类型 updateModel.setCompanyType(regUnitInfo.getUnitType());// 更新单位类型
Privilege.companyClient.update(updateModel, updateModel.getSequenceNbr()); FeignClientResult<CompanyModel> companyResult = Privilege.companyClient.update(updateModel, updateModel.getSequenceNbr());
} catch (Exception e) { if (companyResult == null || companyResult.getStatus() != 200) {
throw new BadRequest("操作失败!"); log.error("更新单位错误: {}", companyResult);
throw new BadRequest("更新单位失败!");
}
updateUnit(map, regUnitInfo, agencyUserModel, updateModel);
updateUserInfo(newData, String.valueOf(map.get("useCode")));
TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto = new TzBaseEnterpriseInfoDto();
BeanUtils.copyProperties(tzBaseEnterpriseInfo, tzBaseEnterpriseInfoDto);
redisUtil.del(RedisKey.buildReginRoleKey(agencyUserModel.getUserId()));
return tzBaseEnterpriseInfoDto;
} else {
return null;
} }
updateUnit(map, regUnitInfo, agencyUserModel, updateModel); } catch (Exception e) {
updateUserInfo(newData, String.valueOf(map.get("useCode"))); log.error("更新失败: ", e);
TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto = new TzBaseEnterpriseInfoDto(); throw new BadRequest("更新失败!");
BeanUtils.copyProperties(tzBaseEnterpriseInfo, tzBaseEnterpriseInfoDto);
redisUtil.del(RedisKey.buildReginRoleKey(agencyUserModel.getUserId()));
return tzBaseEnterpriseInfoDto;
} else {
return null;
} }
} }
...@@ -1237,10 +1199,10 @@ public class TzBaseEnterpriseInfoServiceImpl ...@@ -1237,10 +1199,10 @@ public class TzBaseEnterpriseInfoServiceImpl
regUnitInfo.setUnitTypeCode(unitTypeCodesStr); regUnitInfo.setUnitTypeCode(unitTypeCodesStr);
// 省内充装单位1231:生成对接数据账号 // 省内充装单位1231:生成对接数据账号
final String FILLING_UNIT_TYPE = RegUnitInfoServiceImpl.FILLING_UNIT_TYPE; // final String FILLING_UNIT_TYPE = RegUnitInfoServiceImpl.FILLING_UNIT_TYPE;
if (unitTypeCodes.contains(FILLING_UNIT_TYPE) // if (unitTypeCodes.contains(FILLING_UNIT_TYPE)
&& (ValidationUtil.isEmpty(regUnitInfo.getIsNationwide()) || "0".equals(regUnitInfo.getIsNationwide()))) { // && (ValidationUtil.isEmpty(regUnitInfo.getIsNationwide()) || "0".equals(regUnitInfo.getIsNationwide()))) {
if (ValidationUtil.isEmpty(regUnitInfo.getIsNationwide()) || "0".equals(regUnitInfo.getIsNationwide())) {
if (ValidationUtil.isEmpty(regUnitInfo.getAppId())) { if (ValidationUtil.isEmpty(regUnitInfo.getAppId())) {
String appId = DesUtil.encode(regUnitInfo.getAdminUserId(), RegUnitInfoServiceImpl.SECRETKEY); String appId = DesUtil.encode(regUnitInfo.getAdminUserId(), RegUnitInfoServiceImpl.SECRETKEY);
......
...@@ -819,7 +819,8 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI ...@@ -819,7 +819,8 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
String adminUserId = userResult.getResult().getUserId(); String adminUserId = userResult.getResult().getUserId();
// 省内充装单位1231:生成对接数据账号 // 省内充装单位1231:生成对接数据账号
if (Arrays.asList(units).contains(FILLING_UNIT_TYPE) && (ValidationUtil.isEmpty(regUnitInfo.getIsNationwide()) || "0".equals(regUnitInfo.getIsNationwide()))) { // if (Arrays.asList(units).contains(FILLING_UNIT_TYPE) && (ValidationUtil.isEmpty(regUnitInfo.getIsNationwide()) || "0".equals(regUnitInfo.getIsNationwide()))) {
if (ValidationUtil.isEmpty(regUnitInfo.getIsNationwide()) || "0".equals(regUnitInfo.getIsNationwide())) {
AgencyUserModel shadowUser = new AgencyUserModel(); AgencyUserModel shadowUser = new AgencyUserModel();
shadowUser.setUserId(adminUserId); shadowUser.setUserId(adminUserId);
String appId = DesUtil.encode(adminUserId, SECRETKEY); String appId = DesUtil.encode(adminUserId, SECRETKEY);
......
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