Commit ab451bef authored by tianbo's avatar tianbo

注册添加省外行政区划

parent fa8f05de
...@@ -17,6 +17,11 @@ public interface BizCommonConstant { ...@@ -17,6 +17,11 @@ public interface BizCommonConstant {
*/ */
String REGION_TREE_REDIS_KEY = "REGION_TREE_TCM"; String REGION_TREE_REDIS_KEY = "REGION_TREE_TCM";
/**
* 全国所有区划企业数据redisKey
*/
String NATIONAL_REGION_TREE_REDIS_KEY = "NATIONAL_REGION_TREE_TCM";
/** /**
* 企业类型数据redisKey * 企业类型数据redisKey
......
...@@ -142,4 +142,7 @@ public class RegUnitInfoDto extends BaseDto { ...@@ -142,4 +142,7 @@ public class RegUnitInfoDto extends BaseDto {
@ApiModelProperty(value = "注册类型") @ApiModelProperty(value = "注册类型")
private String registerType; private String registerType;
@ApiModelProperty(value = "单位所在地是否为全国")
private String isNationwide;
} }
package com.yeejoin.amos.boot.module.tcm.flc.api.enums;
import lombok.Getter;
/**
* 企业数据来源
* @author Administrator
*/
@Getter
public enum UnitDataSourceEnum {
/**
* 单位审核状态
*/
NATIONAL("省外企业","1"),
SHAANXI("陕西省内企业","0");
private String name;
private String code;
UnitDataSourceEnum(String name, String code){
this.name = name;
this.code = code;
}
}
...@@ -47,7 +47,9 @@ public interface IUnitInfoService { ...@@ -47,7 +47,9 @@ public interface IUnitInfoService {
/** /**
* 单位树 * 单位树
* @param parentId 上级行政区划ID
* @param isNationwide 是否全国范围行政区划 null默认陕西省内,1全国
* @return Collection<RegionModel> * @return Collection<RegionModel>
*/ */
Collection<RegionModel> getRegionTree(Long parentId); Collection<RegionModel> getRegionTree(Long parentId, String isNationwide);
} }
...@@ -140,8 +140,10 @@ public class AmosTcmApplication { ...@@ -140,8 +140,10 @@ public class AmosTcmApplication {
//4.区域放redis缓存(依赖1) //4.区域放redis缓存(依赖1)
//4.1先删除缓存 //4.1先删除缓存
redisUtil.del(BizCommonConstant.REGION_TREE_REDIS_KEY); redisUtil.del(BizCommonConstant.REGION_TREE_REDIS_KEY);
redisUtil.del(BizCommonConstant.NATIONAL_REGION_TREE_REDIS_KEY);
//4.2再初始化 //4.2再初始化
unitInfoService.getAllRegionTree(); unitInfoService.getAllRegionTree(null); // 陕西省
unitInfoService.getAllRegionTree("1"); // 全国
//5.企业类型放redis缓存(依赖1) //5.企业类型放redis缓存(依赖1)
//5.1先删除缓存 //5.1先删除缓存
redisUtil.del(BizCommonConstant.UNIT_TYPE_LIST_REDIS_KEY); redisUtil.del(BizCommonConstant.UNIT_TYPE_LIST_REDIS_KEY);
......
...@@ -97,15 +97,23 @@ public class UnitInfoController extends BaseController { ...@@ -97,15 +97,23 @@ public class UnitInfoController extends BaseController {
* *
* @return * @return
*/ */
//@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@TycloudOperation(ApiLevel = UserType.ANONYMOUS, needAuth = false) @TycloudOperation(ApiLevel = UserType.ANONYMOUS, needAuth = false)
@GetMapping(value = "/region/tree") @GetMapping(value = "/region/tree")
@ApiOperation(httpMethod = "GET", value = "获取组织机构树", notes = "获取组织机构树") @ApiOperation(httpMethod = "GET", value = "获取组织机构树", notes = "获取组织机构树")
public ResponseModel<Collection<RegionModel>> getRegionTree(@RequestParam(value = "parentId",required = false) Long parentId) { public ResponseModel<Collection<RegionModel>> getRegionTree(@RequestParam(value = "parentId",required = false) Long parentId) {
return ResponseHelper.buildResponse(unitInfoServiceImpl.getRegionTree(parentId)); return ResponseHelper.buildResponse(unitInfoServiceImpl.getRegionTree(parentId, null));
} }
/**
* 获取全国行政区划树
*
*/
@TycloudOperation(ApiLevel = UserType.ANONYMOUS, needAuth = false)
@GetMapping(value = "/national/region/tree")
@ApiOperation(httpMethod = "GET", value = "获取全国行政区划树", notes = "获取全国行政区划树")
public ResponseModel<Collection<RegionModel>> getNationalRegionTree(@RequestParam(value = "parentId",required = false) Long parentId, @RequestParam(value = "isNationwide",required = false) String isNationwide) {
return ResponseHelper.buildResponse(unitInfoServiceImpl.getRegionTree(parentId, isNationwide));
}
/** /**
* 获取管辖单位树 * 获取管辖单位树
......
...@@ -33,6 +33,7 @@ import com.yeejoin.amos.boot.module.tcm.flc.api.dto.RegUnitIcDto; ...@@ -33,6 +33,7 @@ import com.yeejoin.amos.boot.module.tcm.flc.api.dto.RegUnitIcDto;
import com.yeejoin.amos.boot.module.tcm.flc.api.dto.RegUnitInfoDto; import com.yeejoin.amos.boot.module.tcm.flc.api.dto.RegUnitInfoDto;
import com.yeejoin.amos.boot.module.tcm.flc.api.entity.RegUnitIc; import com.yeejoin.amos.boot.module.tcm.flc.api.entity.RegUnitIc;
import com.yeejoin.amos.boot.module.tcm.flc.api.entity.RegUnitInfo; import com.yeejoin.amos.boot.module.tcm.flc.api.entity.RegUnitInfo;
import com.yeejoin.amos.boot.module.tcm.flc.api.enums.UnitDataSourceEnum;
import com.yeejoin.amos.boot.module.tcm.flc.api.feign.AccessFeignService; import com.yeejoin.amos.boot.module.tcm.flc.api.feign.AccessFeignService;
import com.yeejoin.amos.boot.module.tcm.flc.api.feign.IdxFeignService; import com.yeejoin.amos.boot.module.tcm.flc.api.feign.IdxFeignService;
import com.yeejoin.amos.boot.module.tcm.flc.api.feign.UgpServiceFeignClient; import com.yeejoin.amos.boot.module.tcm.flc.api.feign.UgpServiceFeignClient;
...@@ -353,7 +354,12 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI ...@@ -353,7 +354,12 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
// 这个表有两个字段所以赋值两字段 // 这个表有两个字段所以赋值两字段
baseEnterpriseInfo.setSuperviseOrgName(regUnitInfo.getManagementUnit()); baseEnterpriseInfo.setSuperviseOrgName(regUnitInfo.getManagementUnit());
baseEnterpriseInfo.setGoverningBody(regUnitInfo.getManagementUnit()); baseEnterpriseInfo.setGoverningBody(regUnitInfo.getManagementUnit());
baseEnterpriseInfo.setDataSources("企业注册"); if (UnitDataSourceEnum.NATIONAL.getCode().equals(regUnitInfo.getIsNationwide())) {
baseEnterpriseInfo.setDataSources(UnitDataSourceEnum.NATIONAL.getName());
} else {
baseEnterpriseInfo.setDataSources(UnitDataSourceEnum.SHAANXI.getName());
}
baseEnterpriseInfo.setRegisterType(Objects.requireNonNull(EnterpriseEnums.getEnumByType(type).getTypeName())); baseEnterpriseInfo.setRegisterType(Objects.requireNonNull(EnterpriseEnums.getEnumByType(type).getTypeName()));
if (type.equals(EnterpriseEnums.QY_DW.getType())){ if (type.equals(EnterpriseEnums.QY_DW.getType())){
baseEnterpriseInfo.setIndustry(regUnitInfo.getRegUnitIc().getIndustryName()); baseEnterpriseInfo.setIndustry(regUnitInfo.getRegUnitIc().getIndustryName());
......
...@@ -101,6 +101,8 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto, UnitInfo, Unit ...@@ -101,6 +101,8 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto, UnitInfo, Unit
@Autowired @Autowired
private RedisUtil redisUtil; private RedisUtil redisUtil;
@Value("${shaanxi.region.seq:1402458558599125040}")
private Long shaanxiRegionSeq;
@Transactional @Transactional
...@@ -639,11 +641,11 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto, UnitInfo, Unit ...@@ -639,11 +641,11 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto, UnitInfo, Unit
} }
@Override @Override
public Collection<RegionModel> getRegionTree(Long parentId) { public Collection<RegionModel> getRegionTree(Long parentId, String isNationwide) {
tzsAuthServiceImpl.setRequestContext(); tzsAuthServiceImpl.setRequestContext();
Collection<RegionModel> result = null; Collection<RegionModel> result = null;
if(parentId == null) { if(parentId == null) {
result = this.getAllRegionTree(); result = this.getAllRegionTree(isNationwide);
} else { } else {
result = Systemctl.regionClient.querySubAgencyTree(parentId).getResult(); result = Systemctl.regionClient.querySubAgencyTree(parentId).getResult();
} }
...@@ -651,20 +653,26 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto, UnitInfo, Unit ...@@ -651,20 +653,26 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto, UnitInfo, Unit
return result; return result;
} }
public Collection<RegionModel> getAllRegionTree() { public Collection<RegionModel> getAllRegionTree(String isNationwide) {
Collection<RegionModel> result; Collection<RegionModel> result;
// isNationwide = null 获取陕西省行政区划,其他获取全国行政区划
String regionTreeRedisKey = ValidationUtil.isEmpty(isNationwide) ? BizCommonConstant.REGION_TREE_REDIS_KEY : BizCommonConstant.NATIONAL_REGION_TREE_REDIS_KEY;
// 先从Redis缓存中获取值 // 先从Redis缓存中获取值
if (redisUtil.hasKey(BizCommonConstant.REGION_TREE_REDIS_KEY)) { if (redisUtil.hasKey(regionTreeRedisKey)) {
result = JSONObject.parseArray(redisUtil.get(BizCommonConstant.REGION_TREE_REDIS_KEY).toString(), RegionModel.class); result = JSONObject.parseArray(redisUtil.get(regionTreeRedisKey).toString(), RegionModel.class);
return result; return result;
} }
// 在同步块内再次检查缓存,以避免多个线程同时查不到缓存时重复查询数据库 // 在同步块内再次检查缓存,以避免多个线程同时查不到缓存时重复查询数据库
synchronized (this) { synchronized (this) {
if (redisUtil.hasKey(BizCommonConstant.REGION_TREE_REDIS_KEY)) { if (redisUtil.hasKey(regionTreeRedisKey)) {
result = JSONObject.parseArray(redisUtil.get(BizCommonConstant.REGION_TREE_REDIS_KEY).toString(), RegionModel.class); result = JSONObject.parseArray(redisUtil.get(regionTreeRedisKey).toString(), RegionModel.class);
} else { } else {
result = Systemctl.regionClient.queryForTree(null).getResult(); if (ValidationUtil.isEmpty(isNationwide)) {
redisUtil.set(BizCommonConstant.REGION_TREE_REDIS_KEY, JSONObject.toJSONString(result)); result = Systemctl.regionClient.querySubAgencyTree(shaanxiRegionSeq).getResult();
} else {
result = Systemctl.regionClient.queryForTree(null).getResult();
}
redisUtil.set(regionTreeRedisKey, JSONObject.toJSONString(result));
} }
} }
...@@ -681,7 +689,7 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto, UnitInfo, Unit ...@@ -681,7 +689,7 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto, UnitInfo, Unit
while(iterator.hasNext()) { while(iterator.hasNext()) {
RegionModel regionModel = iterator.next(); RegionModel regionModel = iterator.next();
regionModel.setLevel(regionModel.getLevel().trim()); regionModel.setLevel(regionModel.getLevel().trim());
regionModel.setLevelName(regionModel.getLevelName().trim()); regionModel.setLevelName(ValidationUtil.isEmpty(regionModel.getLevelName()) ? "" : regionModel.getLevelName().trim());
if(!ValidationUtil.isEmpty(regionModel.getChildren())) { if(!ValidationUtil.isEmpty(regionModel.getChildren())) {
despace(regionModel.getChildren()); despace(regionModel.getChildren());
} }
......
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