Commit 74f3fafe authored by tianyiming's avatar tianyiming

个人主体注册相关功能

parent b2d5ff73
......@@ -24,6 +24,11 @@ public interface BizCommonConstant {
String UNIT_TYPE_LIST_REDIS_KEY = "UNIT_TYPE_LIST_REDIS_KEY";
/**
* 企业类型数据redisKey
*/
String PERSON_REGISTER_TYPE_LIST_REDIS_KEY = "PERSON_REGISTER_TYPE_LIST_REDIS_KEY";
/**
* 所有字典缓存
*/
String TCM_ALL_DATA_DICT_REDIS_KEY = "TCM_ALL_DATA_DICT_REDIS_KEY";
......
package com.yeejoin.amos.boot.module.tcm.api.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
/**
* 事业单位注册
*/
@Data
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class BasePersonRegisterDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "证件类型")
private String credentialsType;
@ApiModelProperty(value = "证件号码")
private String credentialsNum;
@ApiModelProperty(value = "真实姓名")
private String realName;
@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty(value = "有效期开始")
private Date expirationDateStart;
@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty(value = "有效期结束")
private Date expirationDateEnd;
@ApiModelProperty(value = "有效期类型")
private String expirationDateType;
@ApiModelProperty(value = "单位名称")
private String name;
@ApiModelProperty(value = "证件code")
private String unitCode;
@ApiModelProperty(value = "证件类型")
private String unitCodeType;
@ApiModelProperty(value = "证件类型名称")
private String unitCodeTypeName;
@ApiModelProperty(value = "单位类型")
private List<String> unitTypeList;
@ApiModelProperty(value = "单位类型code")
private List<String> unitTypeCodeList;
@ApiModelProperty(value = "管辖机构")
private String managementUnit;
@ApiModelProperty(value = "管辖单位id")
private String managementUnitId;
@ApiModelProperty(value = "管辖单位编码")
private String managementUnitCompanyCode;
@ApiModelProperty(value = "管辖单位orgCode")
private String managementUnitOrgCode;
@ApiModelProperty(value = "管理员用户名")
private String adminLoginName;
@ApiModelProperty(value = "管理员密码")
private String adminLoginPwd;
@ApiModelProperty(value = "管理员手机号")
private String adminTel;
@ApiModelProperty(value = "管理员身份证号")
private String adminIdNumber;
// @ApiModelProperty(value = "个人基本信息")
// private TzsBaseIndividualityDto baseIndividualityDto;
@ApiModelProperty(value = "平台公司id,平台创建公司后更新")
private String amosCompanySeq;
@ApiModelProperty(value = "平台用户id,平台创建用户后更新")
private String adminUserId;
}
package com.yeejoin.amos.boot.module.tcm.api.service;
import com.yeejoin.amos.boot.module.tcm.api.dto.BasePersonRegisterDto;
/**
* 接口类
*
......@@ -9,4 +11,5 @@ package com.yeejoin.amos.boot.module.tcm.api.service;
*/
public interface ITzsBaseIndividualityService {
void personRegister(BasePersonRegisterDto dto);
}
......@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.BaseUnitLicenceDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsBaseInstitutionDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -124,6 +125,9 @@ public class RegUnitInfoDto extends BaseDto {
@ApiModelProperty(value = "工商信息")
private RegUnitIcDto regUnitIc;
@ApiModelProperty(value = "事业单位信息")
private TzsBaseInstitutionDto regUnitMessage;
@ApiModelProperty(value = "行政许可")
private List<BaseUnitLicenceDto> unitLicences = new ArrayList<>();
......@@ -135,4 +139,7 @@ public class RegUnitInfoDto extends BaseDto {
private String adminUserId;
JSONObject form;
@ApiModelProperty(value = "注册类型")
private String registerType;
}
......@@ -29,10 +29,9 @@ public interface IRegUnitInfoService {
/**
* 单位校验
* @param unitCode 单位唯一编号
* @param unitType 单位类型
* @return RegUnitInfoDto
*/
RegUnitInfoDto unitCheck(String unitCode, String unitType, String companyName,String registerType, String cardType);
RegUnitInfoDto unitCheck(String unitCode, String companyName,String registerType, String cardType);
/**
* 单位类型列表字典
......@@ -40,6 +39,8 @@ public interface IRegUnitInfoService {
*/
List<DataDictionary> getUnitTypeList();
List<DataDictionary> getPersonTypeList();
/**
* 获取管辖机构树
* @return 组织架构中单位级别为:省级、地市级、区县级的单位
......@@ -80,4 +81,5 @@ public interface IRegUnitInfoService {
void setAllDataDictionaryList();
List<Menu> getDictionaryWithTreeFillId(String type) throws Exception;
List<DataDictionary> getDictionaryListByType(String type) throws Exception;
}
......@@ -148,6 +148,11 @@ public class AmosTcmApplication {
redisUtil.del(BizCommonConstant.UNIT_TYPE_LIST_REDIS_KEY);
//5.2再初始化
regUnitInfoService.setAndGetUnitTypeList();
//5.企业类型放redis缓存(依赖1)
//5.1先删除缓存
redisUtil.del(BizCommonConstant.PERSON_REGISTER_TYPE_LIST_REDIS_KEY);
//5.2再初始化
regUnitInfoService.getPersonTypeList();
//6.许可项目放redis缓存
//6.1先删除缓存
redisUtil.del(BizCommonConstant.TCM_ALL_DATA_DICT_REDIS_KEY);
......
package com.yeejoin.amos.boot.module.tcm.biz.controller;
import cn.hutool.core.util.IdcardUtil;
import com.yeejoin.amos.boot.module.tcm.api.dto.BaseInstitutionRegisterDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.BasePersonRegisterDto;
import com.yeejoin.amos.boot.module.tcm.api.service.ITzsBaseIndividualityService;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
......@@ -25,11 +29,13 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType;
*/
@RestController
@Api(tags = "Api")
@RequestMapping(value = "/tzs-base-individuality")
@RequestMapping(value = "/base-individuality")
public class TzsBaseIndividualityController extends BaseController {
@Autowired
TzsBaseIndividualityServiceImpl tzsBaseIndividualityServiceImpl;
@Autowired
ITzsBaseIndividualityService tzsBaseIndividualityService;
/**
* 新增
......@@ -113,4 +119,15 @@ public class TzsBaseIndividualityController extends BaseController {
public ResponseModel<List<TzsBaseIndividualityDto>> selectForList() {
return ResponseHelper.buildResponse(tzsBaseIndividualityServiceImpl.queryForTzsBaseIndividualityList());
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PostMapping(value = "/person/register")
@ApiOperation(httpMethod = "POST", value = "事业单位注册", notes = "事业单位注册")
public ResponseModel<Object> personRegister(@RequestBody BasePersonRegisterDto dto) {
tzsBaseIndividualityService.personRegister(dto);
return ResponseHelper.buildResponse("ok");
}
}
......@@ -26,7 +26,7 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType;
*/
@RestController
@Api(tags = "Api")
@RequestMapping(value = "/tzs-base-institution")
@RequestMapping(value = "/base-institution")
public class TzsBaseInstitutionController extends BaseController {
@Autowired
......
package com.yeejoin.amos.boot.module.tcm.biz.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.tcm.api.dto.AccountDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.BasePersonRegisterDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsBaseIndividualityDto;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsBaseIndividuality;
import com.yeejoin.amos.boot.module.tcm.api.enums.EnterpriseEnums;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsBaseIndividualityMapper;
import com.yeejoin.amos.boot.module.tcm.api.service.ITzsBaseIndividualityService;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsBaseIndividualityDto;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.yeejoin.amos.boot.module.tcm.flc.api.dto.RegUnitInfoDto;
import com.yeejoin.amos.boot.module.tcm.flc.biz.service.impl.RegUnitInfoServiceImpl;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.List;
/**
......@@ -15,19 +31,89 @@ import java.util.List;
* @author system_generator
* @date 2023-08-31
*/
@Slf4j
@Service
public class TzsBaseIndividualityServiceImpl extends BaseService<TzsBaseIndividualityDto,TzsBaseIndividuality,TzsBaseIndividualityMapper> implements ITzsBaseIndividualityService {
public class TzsBaseIndividualityServiceImpl extends BaseService<TzsBaseIndividualityDto, TzsBaseIndividuality, TzsBaseIndividualityMapper> implements ITzsBaseIndividualityService {
@Autowired
RegUnitInfoServiceImpl regUnitInfoService;
@Autowired
StartPlatformTokenService startPlatformTokenService;
/**
* 分页查询
*/
public Page<TzsBaseIndividualityDto> queryForTzsBaseIndividualityPage(Page<TzsBaseIndividualityDto> page) {
public Page<TzsBaseIndividualityDto> queryForTzsBaseIndividualityPage(Page<TzsBaseIndividualityDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<TzsBaseIndividualityDto> queryForTzsBaseIndividualityList() {
return this.queryForList("" , false);
public List<TzsBaseIndividualityDto> queryForTzsBaseIndividualityList() {
return this.queryForList("", false);
}
@Override
public void personRegister(BasePersonRegisterDto dto) {
startPlatformTokenService.setRequestContext();
dto.setName(dto.getRealName());
dto.setUnitCode(dto.getCredentialsType() + "_" + dto.getCredentialsNum());
String unitType = StringUtils.join(dto.getUnitTypeList(), ",");
String unitTypeCode = StringUtils.join(dto.getUnitTypeCodeList(), ",");
CompanyModel companyInfo = new CompanyModel();
companyInfo.setAgencyCode("tzs");
companyInfo.setParentId(Long.parseLong(dto.getManagementUnitId()));
companyInfo.setLevel("company");
companyInfo.setCompanyName(dto.getCredentialsNum());
companyInfo.setCompanyCode(dto.getUnitCode());
companyInfo.setCompanyType(unitType);
try {
FeignClientResult<CompanyModel> companyResult = Privilege.companyClient.create(companyInfo);
if (companyResult == null || companyResult.getResult() == null) {
throw new BadRequest("平台单位注册失败");
}
CompanyModel company = companyResult.getResult();
dto.setAmosCompanySeq(company.getSequenceNbr().toString());
AccountDto accountDto = new AccountDto();
accountDto.setCompanyId(company.getSequenceNbr());
accountDto.setUnitTypeCode(unitTypeCode);
accountDto.setAdminTel(dto.getAdminTel());
accountDto.setPwd(dto.getAdminLoginPwd());
accountDto.setLoginName(dto.getAdminLoginName());
accountDto.setAdminUserName(dto.getRealName());
AgencyUserModel user = regUnitInfoService.createUser(accountDto, EnterpriseEnums.GR_ZT.getType());
dto.setAdminUserId(user.getUserId());
RegUnitInfoDto regUnitInfoDto = new RegUnitInfoDto();
BeanUtils.copyProperties(dto, regUnitInfoDto);
TzBaseEnterpriseInfo baseEnterpriseInfo = regUnitInfoService.createBaseEnterpriseInfo(regUnitInfoDto, EnterpriseEnums.GR_ZT.getType());
TzsBaseIndividuality tzsBaseIndividuality = new TzsBaseIndividuality();
BeanUtils.copyProperties(dto, tzsBaseIndividuality);
tzsBaseIndividuality.setEnterpriseId(baseEnterpriseInfo.getSequenceNbr());
this.save(tzsBaseIndividuality);
} catch (Exception e) {
log.error(e.getMessage(), e);
try {
// 失败后回滚:删除已经创建的企业信息
if (StringUtils.isNotEmpty(dto.getAmosCompanySeq())) {
FeignClientResult<CompanyModel> feignClientResult = Privilege.companyClient.seleteOne(Long.parseLong(dto.getAmosCompanySeq()));
if (feignClientResult != null && feignClientResult.getResult() != null) {
Privilege.companyClient.deleteCompany(dto.getAmosCompanySeq());
}
}
// 失败后回滚:删除已经创建的管理员账号
if (StringUtils.isNotEmpty(dto.getAdminUserId())) {
FeignClientResult<AgencyUserModel> feignClientResult = Privilege.agencyUserClient.queryByUserId(dto.getAdminUserId());
if (feignClientResult != null && feignClientResult.getResult() != null) {
Privilege.agencyUserClient.multDeleteUser(dto.getAdminUserId());
}
}
} catch (Exception rollbackException) {
log.error("回滚操作发生异常: {}", rollbackException.getMessage(), rollbackException);
}
throw new RuntimeException("个体单位注册失败: " + e.getMessage() + " 请联系管理员!");
}
}
}
\ No newline at end of file
......@@ -102,7 +102,7 @@ public class TzsBaseInstitutionServiceImpl extends BaseService<TzsBaseInstitutio
accountDto.setPwd(dto.getAdminLoginPwd());
accountDto.setLoginName(dto.getAdminLoginName());
accountDto.setAdminUserName(dto.getAdminName());
AgencyUserModel user = regUnitInfoService.createUser(accountDto);
AgencyUserModel user = regUnitInfoService.createUser(accountDto,null);
dto.setAdminUserId(user.getUserId());
RegUnitInfoDto regUnitInfoDto = new RegUnitInfoDto();
BeanUtils.copyProperties(dto, regUnitInfoDto);
......
......@@ -114,15 +114,14 @@ public class RegUnitInfoController extends BaseController {
@GetMapping(value = "/{unitCode}/check")
@ApiOperation(httpMethod = "GET", value = "单位注册校验", notes = "单位注册校验")
public ResponseModel<RegUnitInfoDto> unitCheck(@PathVariable String unitCode,
@RequestParam String unitType,
@RequestParam String registerType,
@RequestParam(required = false) String registerType,
@RequestParam(required = false) String cardType,
@RequestParam(required = false) String companyName) {
if (ValidationUtil.isEmpty(unitCode)) {
throw new BadRequest("注册编码不能为空");
}
try {
RegUnitInfoDto regUnitInfoDto = iRegUnitInfoService.unitCheck(unitCode, unitType, companyName,registerType,cardType);
RegUnitInfoDto regUnitInfoDto = iRegUnitInfoService.unitCheck(unitCode, companyName,registerType,cardType);
return ResponseHelper.buildResponse(regUnitInfoDto);
} catch (Exception e) {
ResponseModel<RegUnitInfoDto> response = new ResponseModel<>();
......@@ -144,6 +143,14 @@ public class RegUnitInfoController extends BaseController {
return ResponseHelper.buildResponse(result);
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/person-type/list")
@ApiOperation(httpMethod = "GET", value = "单位类型列表", notes = "单位类型列表")
public ResponseModel<List<DataDictionary>> personTypeList() {
List<DataDictionary> result = iRegUnitInfoService.getPersonTypeList();
return ResponseHelper.buildResponse(result);
}
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@GetMapping(value = "/child-list")
......@@ -161,6 +168,13 @@ public class RegUnitInfoController extends BaseController {
return ResponseHelper.buildResponse(iRegUnitInfoService.getDictionaryWithTreeFillId(type));
}
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@GetMapping(value = "/dataDictionaryListByType")
@ApiOperation(httpMethod = "GET", value = "根据字典类型查询字典", notes = "根据字典类型查询字典")
public ResponseModel<List<DataDictionary>> getDictionaryListByType(@RequestParam String type) throws Exception {
return ResponseHelper.buildResponse(iRegUnitInfoService.getDictionaryListByType(type));
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/management-unit/tree")
@ApiOperation(httpMethod = "GET", value = "管辖机构树", notes = "管辖机构树")
......
package com.yeejoin.amos.boot.module.tcm.flc.biz.service.impl;
import cn.hutool.core.util.IdcardUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -18,11 +19,15 @@ import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
import com.yeejoin.amos.boot.module.tcm.api.common.BizCommonConstant;
import com.yeejoin.amos.boot.module.tcm.api.dto.AccountDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.BaseUnitLicenceDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsBaseInstitutionDto;
import com.yeejoin.amos.boot.module.tcm.api.entity.BaseUnitLicence;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsBaseInstitution;
import com.yeejoin.amos.boot.module.tcm.api.enums.CompanyLevelEnum;
import com.yeejoin.amos.boot.module.tcm.api.enums.EnterpriseEnums;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzBaseEnterpriseInfoMapper;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsBaseIndividualityMapper;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsBaseInstitutionMapper;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.BaseUnitLicenceServiceImpl;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.EquipmentCategoryServiceImpl;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.StartPlatformTokenService;
......@@ -136,12 +141,22 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
@Autowired
WorkflowFeignService workflowFeignService;
@Autowired
TzsBaseInstitutionMapper tzsBaseInstitutionMapper;
private final Logger logger = LogManager.getLogger(RegUnitInfoServiceImpl.class);
/**
* 单位类型,数据来源:cb_data_dictionary type = UNIT_TYPE
*/
private static String DICT_TYPE_UNIT_TYPE = "UNIT_TYPE_NEW";
/**
* 个体类型,数据来源:cb_data_dictionary type = PERSON_REGISTER_TYPE
*/
private static String PERSON_REGISTER_TYPE = "PERSON_REGISTER_TYPE";
@Value("${org.filter.group.seq}")
private Long groupSeq;
......@@ -312,22 +327,28 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
public TzBaseEnterpriseInfo createBaseEnterpriseInfo(RegUnitInfoDto regUnitInfo, String type) {
// 1.填充数据
TzBaseEnterpriseInfo baseEnterpriseInfo = new TzBaseEnterpriseInfo();
baseEnterpriseInfo.setUseUnitCertificate(regUnitInfo.getUnitCodeTypeName());
baseEnterpriseInfo.setUnitType(StringUtils.join(regUnitInfo.getUnitTypeList(), "#"));
baseEnterpriseInfo.setUseCode(regUnitInfo.getUnitCode());
baseEnterpriseInfo.setUseUnit(regUnitInfo.getName());
baseEnterpriseInfo.setProvince(regUnitInfo.getProvince());
baseEnterpriseInfo.setCity(regUnitInfo.getCity());
baseEnterpriseInfo.setDistrict(regUnitInfo.getDistrict());
baseEnterpriseInfo.setStreet(regUnitInfo.getStree());
baseEnterpriseInfo.setCommunity(regUnitInfo.getCommunity());
baseEnterpriseInfo.setAddress(regUnitInfo.getAddress());
baseEnterpriseInfo.setLegalPerson(regUnitInfo.getLegalPerson());
baseEnterpriseInfo.setLegalPhone(regUnitInfo.getLegalPersonTel());
baseEnterpriseInfo.setUseContact(regUnitInfo.getAdminName());
baseEnterpriseInfo.setContactPhone(regUnitInfo.getAdminTel());
baseEnterpriseInfo.setLongitude(regUnitInfo.getLongitude());
baseEnterpriseInfo.setLatitude(regUnitInfo.getLatitude());
if(type.equals(EnterpriseEnums.GR_ZT.getType())){
baseEnterpriseInfo.setUseUnitCode(regUnitInfo.getUnitCode().split("_")[1]);
} else {
baseEnterpriseInfo.setProvince(regUnitInfo.getProvince());
baseEnterpriseInfo.setCity(regUnitInfo.getCity());
baseEnterpriseInfo.setDistrict(regUnitInfo.getDistrict());
baseEnterpriseInfo.setStreet(regUnitInfo.getStree());
baseEnterpriseInfo.setCommunity(regUnitInfo.getCommunity());
baseEnterpriseInfo.setAddress(regUnitInfo.getAddress());
baseEnterpriseInfo.setLegalPerson(regUnitInfo.getLegalPerson());
baseEnterpriseInfo.setLegalPhone(regUnitInfo.getLegalPersonTel());
baseEnterpriseInfo.setLongitude(regUnitInfo.getLongitude());
baseEnterpriseInfo.setLatitude(regUnitInfo.getLatitude());
baseEnterpriseInfo.setUseContact(regUnitInfo.getAdminName());
baseEnterpriseInfo.setContactPhone(regUnitInfo.getAdminTel());
baseEnterpriseInfo.setUseUnitCode(regUnitInfo.getUnitCode());
baseEnterpriseInfo.setUseUnitCertificate(regUnitInfo.getUnitCodeTypeName());
}
// 管辖机构信息
baseEnterpriseInfo.setSuperviseCode(regUnitInfo.getManagementUnitCompanyCode());
baseEnterpriseInfo.setSuperviseOrgCode(regUnitInfo.getManagementUnitOrgCode());
......@@ -342,7 +363,6 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
baseEnterpriseInfo.setApprovalTime(regUnitInfo.getRegUnitIc().getApprovedDate());
baseEnterpriseInfo.setOperatingStatus(regUnitInfo.getRegUnitIc().getBusinessState());
}
baseEnterpriseInfo.setUseUnitCode(regUnitInfo.getUnitCode());
baseEnterpriseInfo.setSyncDate(new Date());
baseEnterpriseInfo.setSyncState(0);
LambdaQueryWrapper<TzBaseEnterpriseInfo> wrapper = new LambdaQueryWrapper<>();
......@@ -352,7 +372,7 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
}
@Override
public RegUnitInfoDto unitCheck(String unitCode, String unitType,String companyName,String registerType, String cardType) {
public RegUnitInfoDto unitCheck(String unitCode,String companyName,String registerType, String cardType) {
RegUnitInfoDto regUnitInfoDto = new RegUnitInfoDto();
startPlatformTokenService.getToken();
// if (!ValidationUtil.isEmpty(companyName)) {
......@@ -361,11 +381,18 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
// throw new BadRequest("重复的公司名称");
// }
// }
if("6600".equals(cardType)){
boolean b =IdcardUtil.isValidCard(unitCode);
if (!b) {
throw new BadRequest("非法的证件号码");
}
}
if (!ValidationUtil.isEmpty(unitCode)) {
unitCode = ObjectUtils.isEmpty(cardType) ? unitCode : cardType + "_" + unitCode;
FeignClientResult<CompanyModel> result = Privilege.companyClient.queryByCompanyCode(unitCode);
if (result.getResult() != null) {
throw new BadRequest("重复的注册编码");
throw new BadRequest(!ObjectUtils.isEmpty(cardType) ? "重复的证件号码" : "重复的注册编码");
}
}
// 1.校验重复性
......@@ -436,6 +463,13 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
} else {
regUnitInfoDto.setRegUnitIc(new RegUnitIcDto());
}
} else if("6598".equals(registerType)){
TzsBaseInstitution regUnitMessage = tzsBaseInstitutionMapper.selectOne(new LambdaQueryWrapper<TzsBaseInstitution>().eq(TzsBaseInstitution::getUseCode, unitCode));
TzsBaseInstitutionDto institutionDto = new TzsBaseInstitutionDto();
if(!ObjectUtils.isEmpty(regUnitMessage)){
BeanUtils.copyProperties(regUnitMessage, institutionDto);
}
regUnitInfoDto.setRegUnitMessage(institutionDto);
}
// 2.3 许可信息组装
......@@ -472,6 +506,30 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
}
@Override
public List<DataDictionary> getPersonTypeList() {
return this.setAndGetPersonRegisterTypeList();
}
public List<DataDictionary> setAndGetPersonRegisterTypeList() {
List<DataDictionary> dataDictionaries;
// 先从Redis缓存中获取值
if(redisUtil.hasKey(BizCommonConstant.PERSON_REGISTER_TYPE_LIST_REDIS_KEY)){
dataDictionaries = JSONObject.parseArray(redisUtil.get(BizCommonConstant.PERSON_REGISTER_TYPE_LIST_REDIS_KEY).toString(),DataDictionary.class);
return dataDictionaries;
}
// 在同步块内再次检查缓存,以避免多个线程同时查不到缓存时重复查询数据库
synchronized (this){
if(redisUtil.hasKey(BizCommonConstant.PERSON_REGISTER_TYPE_LIST_REDIS_KEY)){
dataDictionaries = JSONObject.parseArray(redisUtil.get(BizCommonConstant.PERSON_REGISTER_TYPE_LIST_REDIS_KEY).toString(),DataDictionary.class);
} else{
dataDictionaries = iDataDictionaryService.getByType(PERSON_REGISTER_TYPE);
redisUtil.set(BizCommonConstant.PERSON_REGISTER_TYPE_LIST_REDIS_KEY,JSONObject.toJSONString(dataDictionaries));
}
}
return dataDictionaries;
}
@Override
public List<DataDictionary> getChildList(String type, String group) {
List<DataDictionary> dictionaries = this.initAllDataDictionaryList();
return dictionaries.stream().parallel().filter(d->d.getType().equals(type) && d.getTypeDesc().equals(group)).collect(Collectors.toList());
......@@ -490,6 +548,12 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
"getName", "getParent", null, "getCode");
}
@Override
public List<DataDictionary> getDictionaryListByType(String type) throws Exception {
List<DataDictionary> dictionaries = this.initAllDataDictionaryList();
return dictionaries.stream().parallel().filter(d->d.getType().equals(type)).collect(Collectors.toList());
}
public List<DataDictionary> initAllDataDictionaryList() {
List<DataDictionary> dictionaries;
// 使用双重检查锁定
......@@ -796,7 +860,7 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
}
}
public AgencyUserModel createUser(AccountDto dto) {
public AgencyUserModel createUser(AccountDto dto,String type) {
FeignClientResult<AgencyUserModel> userResult = null;
try {
List<RoleModel> allRoleList = startPlatformTokenService.getAllRole();
......@@ -817,7 +881,7 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
Set<String> appCodesSet = new HashSet<>();
Map<Long, List<Long>> roleSeqMap = new HashMap<>();
Map<Long, List<RoleModel>> orgRoles = new HashMap<>();
List<DataDictionary> unitTypeList = setAndGetUnitTypeList();
List<DataDictionary> unitTypeList = EnterpriseEnums.GR_ZT.getType().equals(type)? setAndGetPersonRegisterTypeList() : setAndGetUnitTypeList();
Map<String, DataDictionary> dataDictionaryMap = unitTypeList.stream().collect(Collectors.toMap(DataDictionary::getCode, Function.identity(), (k1, k2) -> k1));
for (String typeCode : units) {
DataDictionary unitType = dataDictionaryMap.get(typeCode);
......
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