Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
d504558e
Commit
d504558e
authored
Apr 11, 2024
by
刘林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(tcm):企业及事业单位注册,发证机关增加可录入的功能
parent
15c3430d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
912 additions
and
872 deletions
+912
-872
TzsBaseInstitutionServiceImpl.java
...e/tcm/biz/service/impl/TzsBaseInstitutionServiceImpl.java
+2
-0
RegUnitInfoServiceImpl.java
...dule/tcm/flc/biz/service/impl/RegUnitInfoServiceImpl.java
+910
-872
No files found.
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-biz/src/main/java/com/yeejoin/amos/boot/module/tcm/biz/service/impl/TzsBaseInstitutionServiceImpl.java
View file @
d504558e
...
@@ -129,6 +129,8 @@ public class TzsBaseInstitutionServiceImpl extends BaseService<TzsBaseInstitutio
...
@@ -129,6 +129,8 @@ public class TzsBaseInstitutionServiceImpl extends BaseService<TzsBaseInstitutio
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
if
(!
baseUnitLicences
.
isEmpty
())
{
if
(!
baseUnitLicences
.
isEmpty
())
{
baseUnitLicenceService
.
saveOrUpdateBatch
(
baseUnitLicences
);
baseUnitLicenceService
.
saveOrUpdateBatch
(
baseUnitLicences
);
//添加不在字典中的登记机关
regUnitInfoService
.
addNotInDJJGDictionary
(
baseUnitLicences
);
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
log
.
error
(
e
.
getMessage
(),
e
);
...
...
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-biz/src/main/java/com/yeejoin/amos/boot/module/tcm/flc/biz/service/impl/RegUnitInfoServiceImpl.java
View file @
d504558e
...
@@ -89,515 +89,551 @@ import java.util.stream.Stream;
...
@@ -89,515 +89,551 @@ import java.util.stream.Stream;
@Service
@Service
@EnableScheduling
@EnableScheduling
public
class
RegUnitInfoServiceImpl
extends
BaseService
<
RegUnitInfoDto
,
RegUnitInfo
,
RegUnitInfoMapper
>
public
class
RegUnitInfoServiceImpl
extends
BaseService
<
RegUnitInfoDto
,
RegUnitInfo
,
RegUnitInfoMapper
>
implements
IRegUnitInfoService
{
implements
IRegUnitInfoService
{
@Autowired
@Autowired
RedisUtil
redisUtil
;
RedisUtil
redisUtil
;
@Autowired
@Autowired
BaseUnitLicenceServiceImpl
baseUnitLicenceService
;
BaseUnitLicenceServiceImpl
baseUnitLicenceService
;
@Autowired
@Autowired
DataDictionaryServiceImpl
iDataDictionaryService
;
DataDictionaryServiceImpl
iDataDictionaryService
;
@Autowired
@Autowired
OrgUsrServiceImpl
iOrgUsrService
;
OrgUsrServiceImpl
iOrgUsrService
;
@Autowired
@Autowired
RegUnitIcServiceImpl
regUnitIcService
;
RegUnitIcServiceImpl
regUnitIcService
;
@Autowired
TzBaseEnterpriseInfoServiceImpl
tzBaseEnterpriseInfoService
;
@Autowired
@Autowired
TzBaseEnterpriseInfoServiceImpl
tzBaseEnterpriseInfoService
;
TzBaseEnterpriseInfoMapper
tzBaseEnterpriseInfoMapper
;
@Autowired
@Autowired
TzBaseEnterpriseInfoMapper
tzBaseEnterpriseInfoMapper
;
RestTemplate
restTemplate
;
@Autowired
@Autowired
RestTemplate
restTemplat
e
;
AccessFeignService
accessFeignServic
e
;
@Autowired
@Autowired
AccessFeignService
accessFeignService
;
UgpServiceFeignClient
ugpServiceFeignClient
;
@Autowired
@Autowired
UgpServiceFeignClient
ugpServiceFeignClient
;
RegUnitInfoMapper
regUnitInfoMapper
;
@Autowired
RegUnitInfoMapper
regUnitInfoMapper
;
@Autowired
@Autowired
StartPlatformTokenService
startPlatformTokenService
;
StartPlatformTokenService
startPlatformTokenService
;
@Autowired
@Autowired
EquipmentCategoryServiceImpl
equipmentCategoryService
;
EquipmentCategoryServiceImpl
equipmentCategoryService
;
@Autowired
@Autowired
IdxFeignService
idxFeignService
;
IdxFeignService
idxFeignService
;
@Autowired
@Autowired
WorkflowFeignService
workflowFeignService
;
WorkflowFeignService
workflowFeignService
;
@Autowired
@Autowired
TzsBaseInstitutionMapper
tzsBaseInstitutionMapper
;
TzsBaseInstitutionMapper
tzsBaseInstitutionMapper
;
@Autowired
@Autowired
TzsUserInfoServiceImpl
tzsUserInfoService
;
TzsUserInfoServiceImpl
tzsUserInfoService
;
private
final
Logger
logger
=
LogManager
.
getLogger
(
RegUnitInfoServiceImpl
.
class
);
private
final
Logger
logger
=
LogManager
.
getLogger
(
RegUnitInfoServiceImpl
.
class
);
/**
/**
* 单位类型,数据来源:cb_data_dictionary type = UNIT_TYPE
* 单位类型,数据来源:cb_data_dictionary type = UNIT_TYPE
*/
*/
private
static
String
DICT_TYPE_UNIT_TYPE
=
"UNIT_TYPE_NEW"
;
private
static
String
DICT_TYPE_UNIT_TYPE
=
"UNIT_TYPE_NEW"
;
/**
private
static
final
String
DICT_TYPE_DJJG
=
"DJJG"
;
* 个体类型,数据来源:cb_data_dictionary type = PERSON_REGISTER_TYPE
/**
*/
* 个体类型,数据来源:cb_data_dictionary type = PERSON_REGISTER_TYPE
private
static
String
PERSON_REGISTER_TYPE
=
"PERSON_REGISTER_TYPE"
;
*/
private
static
String
PERSON_REGISTER_TYPE
=
"PERSON_REGISTER_TYPE"
;
@Value
(
"${org.filter.group.seq}"
)
@Value
(
"${org.filter.group.seq}"
)
private
Long
groupSeq
;
private
Long
groupSeq
;
@Value
(
"${is.ugp}"
)
@Value
(
"${is.ugp}"
)
private
boolean
isUgp
;
private
boolean
isUgp
;
@Autowired
@Autowired
DataDictionaryServiceImpl
dataDictionaryService
;
DataDictionaryServiceImpl
dataDictionaryService
;
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
RegUnitInfoDto
registerUnit
(
RegUnitInfoDto
model
)
{
public
RegUnitInfoDto
registerUnit
(
RegUnitInfoDto
model
)
{
StopWatch
watch
=
new
StopWatch
();
StopWatch
watch
=
new
StopWatch
();
watch
.
start
();
watch
.
start
();
if
(
ValidationUtil
.
isEmpty
(
model
.
getUnitCode
()))
{
if
(
ValidationUtil
.
isEmpty
(
model
.
getUnitCode
())){
model
.
setUnitCode
(
model
.
getForm
().
getString
(
"unitCode"
));
model
.
setUnitCode
(
model
.
getForm
().
getString
(
"unitCode"
));
}
}
RegUnitInfo
regUnitInfo
=
new
RegUnitInfo
();
RegUnitInfo
regUnitInfo
=
new
RegUnitInfo
();
try
{
try
{
startPlatformTokenService
.
setRequestContext
();
startPlatformTokenService
.
setRequestContext
();
// 注册用统一信用码注册,默认证件类型为营业执照,数据来源:cb_data_dictionary code = 1060
// 注册用统一信用码注册,默认证件类型为营业执照,数据来源:cb_data_dictionary code = 1060
model
.
setUnitCodeType
(
"1060"
);
model
.
setUnitCodeType
(
"1060"
);
model
.
setUnitCodeTypeName
(
"营业执照"
);
model
.
setUnitCodeTypeName
(
"营业执照"
);
Bean
.
copyExistPropertis
(
model
,
regUnitInfo
);
Bean
.
copyExistPropertis
(
model
,
regUnitInfo
);
regUnitInfo
.
setUnitType
(
StringUtils
.
join
(
model
.
getUnitTypeList
(),
","
));
regUnitInfo
.
setUnitType
(
StringUtils
.
join
(
model
.
getUnitTypeList
(),
","
));
regUnitInfo
.
setUnitTypeCode
(
StringUtils
.
join
(
model
.
getUnitTypeCodeList
(),
","
));
regUnitInfo
.
setUnitTypeCode
(
StringUtils
.
join
(
model
.
getUnitTypeCodeList
(),
","
));
// 1.调用平台进行创建单位、用户信息
// 1.调用平台进行创建单位、用户信息
this
.
createCompanyAndUser
(
regUnitInfo
);
this
.
createCompanyAndUser
(
regUnitInfo
);
// 2.异步调用ugp,同步公司数据
// 2.异步调用ugp,同步公司数据
FutureTask
<
ResponseModel
<
Boolean
>>
future
=
getResponseModelFutureTask
(
model
);
FutureTask
<
ResponseModel
<
Boolean
>>
future
=
getResponseModelFutureTask
(
model
);
// 3.插入单位注册许可信息表:tz_base_unit_licence
// 3.插入单位注册许可信息表:tz_base_unit_licence
// 3.1先删除已有许可信息 (2024-04-02放开企业许可信息编辑功能)
// 3.1先删除已有许可信息 (2024-04-02放开企业许可信息编辑功能)
LambdaQueryWrapper
<
BaseUnitLicence
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
BaseUnitLicence
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
BaseUnitLicence:
:
getUnitCode
,
model
.
getUnitCode
());
queryWrapper
.
eq
(
BaseUnitLicence:
:
getUnitCode
,
model
.
getUnitCode
());
baseUnitLicenceService
.
remove
(
queryWrapper
);
baseUnitLicenceService
.
remove
(
queryWrapper
);
// 3.2再插入新许可信息
// 3.2再插入新许可信息
List
<
BaseUnitLicence
>
baseUnitLicences
=
model
.
getUnitLicences
().
stream
().
map
(
s
->
{
List
<
BaseUnitLicence
>
baseUnitLicences
=
model
.
getUnitLicences
().
stream
().
map
(
s
->
{
s
.
setUnitCode
(
model
.
getUnitCode
());
s
.
setUnitCode
(
model
.
getUnitCode
());
s
.
setUnitName
(
model
.
getName
());
s
.
setUnitName
(
model
.
getName
());
BaseUnitLicence
target
=
new
BaseUnitLicence
();
BaseUnitLicence
target
=
new
BaseUnitLicence
();
Bean
.
copyExistPropertis
(
s
,
target
);
Bean
.
copyExistPropertis
(
s
,
target
);
target
.
setSequenceNbr
(
null
);
target
.
setSequenceNbr
(
null
);
return
target
;
return
target
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
if
(!
baseUnitLicences
.
isEmpty
())
{
if
(!
baseUnitLicences
.
isEmpty
())
{
baseUnitLicenceService
.
saveOrUpdateBatch
(
baseUnitLicences
);
baseUnitLicenceService
.
saveOrUpdateBatch
(
baseUnitLicences
);
//添加不在字典中的登记机关
}
this
.
addNotInDJJGDictionary
(
baseUnitLicences
);
// 4.插入工商单位信息表:tz_flc_reg_unit_ic
}
RegUnitIc
regUnitIc
=
new
RegUnitIc
();
// 4.插入工商单位信息表:tz_flc_reg_unit_ic
model
.
getRegUnitIc
().
setUnitCode
(
model
.
getUnitCode
());
RegUnitIc
regUnitIc
=
new
RegUnitIc
();
model
.
getRegUnitIc
().
setUnitName
(
model
.
getName
());
model
.
getRegUnitIc
().
setUnitCode
(
model
.
getUnitCode
());
Bean
.
copyExistPropertis
(
model
.
getRegUnitIc
(),
regUnitIc
);
model
.
getRegUnitIc
().
setUnitName
(
model
.
getName
());
regUnitIcService
.
saveOrUpdate
(
regUnitIc
);
Bean
.
copyExistPropertis
(
model
.
getRegUnitIc
(),
regUnitIc
);
// 5.创建企业信息
regUnitIcService
.
saveOrUpdate
(
regUnitIc
);
this
.
createBaseEnterpriseInfo
(
model
,
EnterpriseEnums
.
QY_DW
.
getType
());
// 5.创建企业信息
if
(!
ObjectUtils
.
isEmpty
(
regUnitInfo
.
getAdminName
())){
this
.
createBaseEnterpriseInfo
(
model
,
EnterpriseEnums
.
QY_DW
.
getType
());
regUnitInfo
.
setContactPerson
(
regUnitInfo
.
getAdminName
());
if
(!
ObjectUtils
.
isEmpty
(
regUnitInfo
.
getAdminName
()))
{
}
regUnitInfo
.
setContactPerson
(
regUnitInfo
.
getAdminName
());
if
(!
ObjectUtils
.
isEmpty
(
regUnitInfo
.
getAdminTel
())){
}
regUnitInfo
.
setContactPersonTel
(
regUnitInfo
.
getAdminTel
());
if
(!
ObjectUtils
.
isEmpty
(
regUnitInfo
.
getAdminTel
()))
{
}
regUnitInfo
.
setContactPersonTel
(
regUnitInfo
.
getAdminTel
());
// 6.插入注册单位基本信息表:tz_flc_reg_unit_info
}
this
.
save
(
regUnitInfo
);
// 6.插入注册单位基本信息表:tz_flc_reg_unit_info
// 7.组织返回数据
this
.
save
(
regUnitInfo
);
// 7.1企业基本信息
// 7.组织返回数据
Bean
.
copyExistPropertis
(
regUnitInfo
,
model
);
// 7.1企业基本信息
// 7.2行政许可数据
Bean
.
copyExistPropertis
(
regUnitInfo
,
model
);
model
.
setUnitLicences
(
Bean
.
toModels
(
baseUnitLicences
,
BaseUnitLicenceDto
.
class
));
// 7.2行政许可数据
// 7.3工商信息
model
.
setUnitLicences
(
Bean
.
toModels
(
baseUnitLicences
,
BaseUnitLicenceDto
.
class
));
model
.
setRegUnitIc
(
Bean
.
toModel
(
regUnitIc
,
new
RegUnitIcDto
()));
// 7.3工商信息
//8.获取多线程执行结果 true成功 false失败(tzs和ugp一起后放开)
model
.
setRegUnitIc
(
Bean
.
toModel
(
regUnitIc
,
new
RegUnitIcDto
()));
if
(
isUgp
&&
future
!=
null
&&
!
Boolean
.
TRUE
.
equals
(
future
.
get
().
getResult
()))
{
//8.获取多线程执行结果 true成功 false失败(tzs和ugp一起后放开)
throw
new
BadRequest
(
"UGP信息同步失败"
);
if
(
isUgp
&&
future
!=
null
&&
!
Boolean
.
TRUE
.
equals
(
future
.
get
().
getResult
()))
{
}
throw
new
BadRequest
(
"UGP信息同步失败"
);
watch
.
stop
();
}
if
(
logger
.
isDebugEnabled
()){
watch
.
stop
();
logger
.
debug
(
"注册总耗时:==》{}"
,
watch
.
getTotalTimeSeconds
());
if
(
logger
.
isDebugEnabled
())
{
}
logger
.
debug
(
"注册总耗时:==》{}"
,
watch
.
getTotalTimeSeconds
());
}
catch
(
Exception
e
)
{
}
logger
.
error
(
e
.
getMessage
(),
e
);
}
catch
(
Exception
e
)
{
try
{
logger
.
error
(
e
.
getMessage
(),
e
);
// 失败后回滚:删除已经创建的企业信息
try
{
if
(
StringUtils
.
isNotEmpty
(
regUnitInfo
.
getAmosCompanySeq
()))
{
// 失败后回滚:删除已经创建的企业信息
FeignClientResult
<
CompanyModel
>
feignClientResult
=
Privilege
.
companyClient
.
seleteOne
(
Long
.
parseLong
(
regUnitInfo
.
getAmosCompanySeq
()));
if
(
StringUtils
.
isNotEmpty
(
regUnitInfo
.
getAmosCompanySeq
()))
{
if
(
feignClientResult
!=
null
&&
feignClientResult
.
getResult
()
!=
null
)
{
FeignClientResult
<
CompanyModel
>
feignClientResult
=
Privilege
.
companyClient
.
seleteOne
(
Long
.
parseLong
(
regUnitInfo
.
getAmosCompanySeq
()));
Privilege
.
companyClient
.
deleteCompany
(
regUnitInfo
.
getAmosCompanySeq
());
if
(
feignClientResult
!=
null
&&
feignClientResult
.
getResult
()
!=
null
)
{
}
Privilege
.
companyClient
.
deleteCompany
(
regUnitInfo
.
getAmosCompanySeq
());
}
}
// 失败后回滚:删除已经创建的管理员账号
}
if
(
StringUtils
.
isNotEmpty
(
regUnitInfo
.
getAdminUserId
()))
{
// 失败后回滚:删除已经创建的管理员账号
FeignClientResult
<
AgencyUserModel
>
feignClientResult
=
Privilege
.
agencyUserClient
.
queryByUserId
(
regUnitInfo
.
getAdminUserId
());
if
(
StringUtils
.
isNotEmpty
(
regUnitInfo
.
getAdminUserId
()))
{
if
(
feignClientResult
!=
null
&&
feignClientResult
.
getResult
()
!=
null
)
{
FeignClientResult
<
AgencyUserModel
>
feignClientResult
=
Privilege
.
agencyUserClient
.
queryByUserId
(
regUnitInfo
.
getAdminUserId
());
Privilege
.
agencyUserClient
.
multDeleteUser
(
regUnitInfo
.
getAdminUserId
());
if
(
feignClientResult
!=
null
&&
feignClientResult
.
getResult
()
!=
null
)
{
}
Privilege
.
agencyUserClient
.
multDeleteUser
(
regUnitInfo
.
getAdminUserId
());
}
}
}
catch
(
Exception
rollbackException
)
{
}
logger
.
error
(
"回滚操作发生异常: {}"
,
rollbackException
.
getMessage
(),
rollbackException
);
}
catch
(
Exception
rollbackException
)
{
}
logger
.
error
(
"回滚操作发生异常: {}"
,
rollbackException
.
getMessage
(),
rollbackException
);
}
throw
new
RuntimeException
(
"企业注册失败,请联系管理员!"
);
}
throw
new
RuntimeException
(
"企业注册失败,请联系管理员!"
);
return
model
;
}
}
return
model
;
}
@SchedulerLock
(
name
=
"asyncSetQrCodeTask"
,
lockAtMostFor
=
"PT30M"
)
@Scheduled
(
cron
=
"${async.set.qr-code.cron:0 0/1 * * * ?}"
)
/**
public
void
asyncSetQrCode
()
{
* 添加不在字典中的登记机关
// 给所有新注册的企业创建二维码,每次处理1000个,不排序
* @param baseUnitLicences baseUnitLicences
if
(
logger
.
isDebugEnabled
())
{
*/
logger
.
debug
(
"新注册企业二维码生成开始"
);
public
void
addNotInDJJGDictionary
(
List
<
BaseUnitLicence
>
baseUnitLicences
)
{
}
List
<
String
>
approvedOrganList
=
baseUnitLicences
.
stream
()
List
<
TzBaseEnterpriseInfo
>
noQrCodeList
=
tzBaseEnterpriseInfoMapper
.
listNoQrCode
();
.
map
(
BaseUnitLicence:
:
getApprovedOrgan
)
if
(
noQrCodeList
.
isEmpty
())
{
.
collect
(
Collectors
.
toList
());
if
(
logger
.
isDebugEnabled
())
{
List
<
DataDictionary
>
allDictionaryList
=
this
.
initAllDataDictionaryList
();
logger
.
debug
(
"暂无待生成二维码的企业"
);
}
Set
<
String
>
existingNames
=
allDictionaryList
.
stream
()
return
;
.
filter
(
d
->
d
.
getType
().
equals
(
DICT_TYPE_DJJG
))
}
.
map
(
DataDictionary:
:
getName
)
.
collect
(
Collectors
.
toSet
());
noQrCodeList
.
parallelStream
().
forEach
(
enterpriseInfo
->
enterpriseInfo
.
setQrCode
(
createQRCode
(
enterpriseInfo
.
getUseCode
())));
// 过滤出不在已存在的数据字典中的机构名,并转换为相应的数据字典对象
tzBaseEnterpriseInfoService
.
saveOrUpdateBatch
(
noQrCodeList
);
List
<
DataDictionary
>
notInDataDictionaryList
=
approvedOrganList
.
stream
()
.
filter
(
approvedOrgan
->
!
existingNames
.
contains
(
approvedOrgan
))
if
(
logger
.
isDebugEnabled
())
{
.
map
(
approvedOrgan
->
{
logger
.
debug
(
"新注册企业二维码生成结束"
);
DataDictionary
dictionary
=
new
DataDictionary
();
}
dictionary
.
setName
(
approvedOrgan
);
}
dictionary
.
setType
(
DICT_TYPE_DJJG
);
dictionary
.
setCode
(
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
).
substring
(
0
,
16
));
private
FutureTask
<
ResponseModel
<
Boolean
>>
getResponseModelFutureTask
(
RegUnitInfoDto
model
)
{
return
dictionary
;
//多线程同步ugp信息(tzs和ugp一起后放开)
})
FutureTask
<
ResponseModel
<
Boolean
>>
future
=
null
;
.
collect
(
Collectors
.
toList
());
if
(
isUgp
)
{
String
token
=
RequestContext
.
getToken
();
if
(!
notInDataDictionaryList
.
isEmpty
())
{
String
appKey
=
RequestContext
.
getAppKey
();
iDataDictionaryService
.
saveBatch
(
notInDataDictionaryList
);
String
product
=
RequestContext
.
getProduct
();
// 更新缓存
Callable
callable
=
()
->
{
allDictionaryList
.
addAll
(
notInDataDictionaryList
);
RequestContext
.
setToken
(
token
);
redisUtil
.
set
(
BizCommonConstant
.
TCM_ALL_DATA_DICT_REDIS_KEY
,
JSONObject
.
toJSONString
(
allDictionaryList
));
RequestContext
.
setAppKey
(
appKey
);
}
RequestContext
.
setProduct
(
product
);
}
//同步企业至ugp,成功返回true,失败返回false
return
ugpServiceFeignClient
.
syncCompany
(
model
);
@SchedulerLock
(
name
=
"asyncSetQrCodeTask"
,
lockAtMostFor
=
"PT30M"
)
};
@Scheduled
(
cron
=
"${async.set.qr-code.cron:0 0/1 * * * ?}"
)
future
=
new
FutureTask
(
callable
);
public
void
asyncSetQrCode
()
{
Thread
thread
=
new
Thread
(
future
);
// 给所有新注册的企业创建二维码,每次处理1000个,不排序
thread
.
start
();
if
(
logger
.
isDebugEnabled
())
{
}
logger
.
debug
(
"新注册企业二维码生成开始"
);
return
future
;
}
}
List
<
TzBaseEnterpriseInfo
>
noQrCodeList
=
tzBaseEnterpriseInfoMapper
.
listNoQrCode
();
if
(
noQrCodeList
.
isEmpty
())
{
private
static
String
createQRCode
(
String
unitCode
)
{
if
(
logger
.
isDebugEnabled
())
{
String
urlString
=
null
;
logger
.
debug
(
"暂无待生成二维码的企业"
);
byte
[]
bytes
=
QRCodeUtil
.
generateQRCodeImageByteData
(
unitCode
,
150
);
}
InputStream
inputStream
=
new
ByteArrayInputStream
(
bytes
);
return
;
try
{
}
MultipartFile
file
=
new
MockMultipartFile
(
unitCode
+
".png"
,
unitCode
+
".png"
,
ContentType
.
APPLICATION_OCTET_STREAM
.
toString
(),
inputStream
);
FeignClientResult
<
Map
<
String
,
String
>>
date
=
Systemctl
.
fileStorageClient
.
updateCommonFileFree
(
file
,
"tzs/qrcode"
);
noQrCodeList
.
parallelStream
().
forEach
(
enterpriseInfo
->
enterpriseInfo
.
setQrCode
(
createQRCode
(
enterpriseInfo
.
getUseCode
())));
if
(
date
!=
null
)
{
Map
<
String
,
String
>
map
=
date
.
getResult
();
tzBaseEnterpriseInfoService
.
saveOrUpdateBatch
(
noQrCodeList
);
Iterator
<
String
>
it
=
map
.
keySet
().
iterator
();
urlString
=
it
.
next
();
if
(
logger
.
isDebugEnabled
())
{
}
logger
.
debug
(
"新注册企业二维码生成结束"
);
}
catch
(
IOException
e
)
{
}
e
.
printStackTrace
();
}
throw
new
BadRequest
(
unitCode
+
":生成二维码失败"
);
}
private
FutureTask
<
ResponseModel
<
Boolean
>>
getResponseModelFutureTask
(
RegUnitInfoDto
model
)
{
return
urlString
;
//多线程同步ugp信息(tzs和ugp一起后放开)
}
FutureTask
<
ResponseModel
<
Boolean
>>
future
=
null
;
if
(
isUgp
)
{
/**
String
token
=
RequestContext
.
getToken
();
* 创建企业信息
String
appKey
=
RequestContext
.
getAppKey
();
* @param regUnitInfo 提交对象
String
product
=
RequestContext
.
getProduct
();
*/
Callable
callable
=
()
->
{
public
TzBaseEnterpriseInfo
createBaseEnterpriseInfo
(
RegUnitInfoDto
regUnitInfo
,
String
type
)
{
RequestContext
.
setToken
(
token
);
// 1.填充数据
RequestContext
.
setAppKey
(
appKey
);
TzBaseEnterpriseInfo
baseEnterpriseInfo
=
new
TzBaseEnterpriseInfo
();
RequestContext
.
setProduct
(
product
);
baseEnterpriseInfo
.
setUnitType
(
StringUtils
.
join
(
regUnitInfo
.
getUnitTypeList
(),
"#"
));
//同步企业至ugp,成功返回true,失败返回false
baseEnterpriseInfo
.
setUseCode
(
regUnitInfo
.
getUnitCode
());
return
ugpServiceFeignClient
.
syncCompany
(
model
);
baseEnterpriseInfo
.
setUseUnit
(
regUnitInfo
.
getName
());
};
future
=
new
FutureTask
(
callable
);
if
(
type
.
equals
(
EnterpriseEnums
.
GR_ZT
.
getType
())){
Thread
thread
=
new
Thread
(
future
);
baseEnterpriseInfo
.
setUseUnitCode
(
regUnitInfo
.
getUnitCode
().
split
(
"_"
)[
1
]);
thread
.
start
();
}
else
{
}
baseEnterpriseInfo
.
setProvince
(
regUnitInfo
.
getProvince
());
return
future
;
baseEnterpriseInfo
.
setCity
(
regUnitInfo
.
getCity
());
}
baseEnterpriseInfo
.
setDistrict
(
regUnitInfo
.
getDistrict
());
baseEnterpriseInfo
.
setStreet
(
regUnitInfo
.
getStree
());
private
static
String
createQRCode
(
String
unitCode
)
{
baseEnterpriseInfo
.
setCommunity
(
regUnitInfo
.
getCommunity
());
String
urlString
=
null
;
baseEnterpriseInfo
.
setAddress
(
regUnitInfo
.
getAddress
());
byte
[]
bytes
=
QRCodeUtil
.
generateQRCodeImageByteData
(
unitCode
,
150
);
baseEnterpriseInfo
.
setLegalPerson
(
regUnitInfo
.
getLegalPerson
());
InputStream
inputStream
=
new
ByteArrayInputStream
(
bytes
);
baseEnterpriseInfo
.
setLegalPhone
(
regUnitInfo
.
getLegalPersonTel
());
try
{
baseEnterpriseInfo
.
setLongitude
(
regUnitInfo
.
getLongitude
());
MultipartFile
file
=
new
MockMultipartFile
(
unitCode
+
".png"
,
unitCode
+
".png"
,
ContentType
.
APPLICATION_OCTET_STREAM
.
toString
(),
inputStream
);
baseEnterpriseInfo
.
setLatitude
(
regUnitInfo
.
getLatitude
());
FeignClientResult
<
Map
<
String
,
String
>>
date
=
Systemctl
.
fileStorageClient
.
updateCommonFileFree
(
file
,
"tzs/qrcode"
);
baseEnterpriseInfo
.
setUseContact
(
regUnitInfo
.
getAdminName
());
if
(
date
!=
null
)
{
baseEnterpriseInfo
.
setContactPhone
(
regUnitInfo
.
getAdminTel
());
Map
<
String
,
String
>
map
=
date
.
getResult
();
baseEnterpriseInfo
.
setUseUnitCode
(
regUnitInfo
.
getUnitCode
());
Iterator
<
String
>
it
=
map
.
keySet
().
iterator
();
baseEnterpriseInfo
.
setUseUnitCertificate
(
regUnitInfo
.
getUnitCodeTypeName
());
urlString
=
it
.
next
();
}
}
// 管辖机构信息
}
catch
(
IOException
e
)
{
baseEnterpriseInfo
.
setSuperviseCode
(
regUnitInfo
.
getManagementUnitCompanyCode
());
e
.
printStackTrace
();
baseEnterpriseInfo
.
setSuperviseOrgCode
(
regUnitInfo
.
getManagementUnitOrgCode
());
throw
new
BadRequest
(
unitCode
+
":生成二维码失败"
);
// 这个表有两个字段所以赋值两字段
}
baseEnterpriseInfo
.
setSuperviseOrgName
(
regUnitInfo
.
getManagementUnit
());
return
urlString
;
baseEnterpriseInfo
.
setGoverningBody
(
regUnitInfo
.
getManagementUnit
());
}
if
(
UnitDataSourceEnum
.
NATIONAL
.
getCode
().
equals
(
regUnitInfo
.
getIsNationwide
()))
{
baseEnterpriseInfo
.
setDataSources
(
UnitDataSourceEnum
.
NATIONAL
.
getName
());
/**
}
else
{
* 创建企业信息
baseEnterpriseInfo
.
setDataSources
(
UnitDataSourceEnum
.
SHAANXI
.
getName
());
*
}
* @param regUnitInfo 提交对象
*/
baseEnterpriseInfo
.
setRegisterType
(
Objects
.
requireNonNull
(
EnterpriseEnums
.
getEnumByType
(
type
).
getTypeName
()));
public
TzBaseEnterpriseInfo
createBaseEnterpriseInfo
(
RegUnitInfoDto
regUnitInfo
,
String
type
)
{
if
(
type
.
equals
(
EnterpriseEnums
.
QY_DW
.
getType
())){
// 1.填充数据
baseEnterpriseInfo
.
setIndustry
(
regUnitInfo
.
getRegUnitIc
().
getIndustryName
());
TzBaseEnterpriseInfo
baseEnterpriseInfo
=
new
TzBaseEnterpriseInfo
();
baseEnterpriseInfo
.
setRegistrationAuthority
(
regUnitInfo
.
getRegUnitIc
().
getRegisteredOrgan
());
baseEnterpriseInfo
.
setUnitType
(
StringUtils
.
join
(
regUnitInfo
.
getUnitTypeList
(),
"#"
));
baseEnterpriseInfo
.
setApprovalTime
(
regUnitInfo
.
getRegUnitIc
().
getApprovedDate
());
baseEnterpriseInfo
.
setUseCode
(
regUnitInfo
.
getUnitCode
());
baseEnterpriseInfo
.
setOperatingStatus
(
regUnitInfo
.
getRegUnitIc
().
getBusinessState
());
baseEnterpriseInfo
.
setUseUnit
(
regUnitInfo
.
getName
());
}
baseEnterpriseInfo
.
setSyncDate
(
new
Date
());
if
(
type
.
equals
(
EnterpriseEnums
.
GR_ZT
.
getType
()))
{
baseEnterpriseInfo
.
setSyncState
(
0
);
baseEnterpriseInfo
.
setUseUnitCode
(
regUnitInfo
.
getUnitCode
().
split
(
"_"
)[
1
]);
LambdaQueryWrapper
<
TzBaseEnterpriseInfo
>
wrapper
=
new
LambdaQueryWrapper
<>();
}
else
{
wrapper
.
eq
(
TzBaseEnterpriseInfo:
:
getUseCode
,
regUnitInfo
.
getUnitCode
());
baseEnterpriseInfo
.
setProvince
(
regUnitInfo
.
getProvince
());
tzBaseEnterpriseInfoService
.
saveOrUpdate
(
baseEnterpriseInfo
,
wrapper
);
baseEnterpriseInfo
.
setCity
(
regUnitInfo
.
getCity
());
return
baseEnterpriseInfo
;
baseEnterpriseInfo
.
setDistrict
(
regUnitInfo
.
getDistrict
());
}
baseEnterpriseInfo
.
setStreet
(
regUnitInfo
.
getStree
());
baseEnterpriseInfo
.
setCommunity
(
regUnitInfo
.
getCommunity
());
@Override
baseEnterpriseInfo
.
setAddress
(
regUnitInfo
.
getAddress
());
public
RegUnitInfoDto
unitCheck
(
String
unitCode
,
String
companyName
,
String
registerType
,
String
cardType
)
{
baseEnterpriseInfo
.
setLegalPerson
(
regUnitInfo
.
getLegalPerson
());
RegUnitInfoDto
regUnitInfoDto
=
new
RegUnitInfoDto
();
baseEnterpriseInfo
.
setLegalPhone
(
regUnitInfo
.
getLegalPersonTel
());
startPlatformTokenService
.
getToken
();
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
());
// 这个表有两个字段所以赋值两字段
baseEnterpriseInfo
.
setSuperviseOrgName
(
regUnitInfo
.
getManagementUnit
());
baseEnterpriseInfo
.
setGoverningBody
(
regUnitInfo
.
getManagementUnit
());
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
()));
if
(
type
.
equals
(
EnterpriseEnums
.
QY_DW
.
getType
()))
{
baseEnterpriseInfo
.
setIndustry
(
regUnitInfo
.
getRegUnitIc
().
getIndustryName
());
baseEnterpriseInfo
.
setRegistrationAuthority
(
regUnitInfo
.
getRegUnitIc
().
getRegisteredOrgan
());
baseEnterpriseInfo
.
setApprovalTime
(
regUnitInfo
.
getRegUnitIc
().
getApprovedDate
());
baseEnterpriseInfo
.
setOperatingStatus
(
regUnitInfo
.
getRegUnitIc
().
getBusinessState
());
}
baseEnterpriseInfo
.
setSyncDate
(
new
Date
());
baseEnterpriseInfo
.
setSyncState
(
0
);
LambdaQueryWrapper
<
TzBaseEnterpriseInfo
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
TzBaseEnterpriseInfo:
:
getUseCode
,
regUnitInfo
.
getUnitCode
());
tzBaseEnterpriseInfoService
.
saveOrUpdate
(
baseEnterpriseInfo
,
wrapper
);
return
baseEnterpriseInfo
;
}
@Override
public
RegUnitInfoDto
unitCheck
(
String
unitCode
,
String
companyName
,
String
registerType
,
String
cardType
)
{
RegUnitInfoDto
regUnitInfoDto
=
new
RegUnitInfoDto
();
startPlatformTokenService
.
getToken
();
// if (!ValidationUtil.isEmpty(companyName)) {
// if (!ValidationUtil.isEmpty(companyName)) {
// FeignClientResult<CompanyModel> result = Privilege.companyClient.queryByCompanyName(companyName);
// FeignClientResult<CompanyModel> result = Privilege.companyClient.queryByCompanyName(companyName);
// if (result.getResult() != null) {
// if (result.getResult() != null) {
// throw new BadRequest("重复的公司名称");
// throw new BadRequest("重复的公司名称");
// }
// }
// }
// }
if
(
"6600"
.
equals
(
cardType
))
{
if
(
"6600"
.
equals
(
cardType
))
{
boolean
b
=
IdcardUtil
.
isValidCard
(
unitCode
);
boolean
b
=
IdcardUtil
.
isValidCard
(
unitCode
);
if
(!
b
)
{
if
(!
b
)
{
throw
new
BadRequest
(
"非法的证件号码"
);
throw
new
BadRequest
(
"非法的证件号码"
);
}
}
}
}
if
(!
ValidationUtil
.
isEmpty
(
unitCode
))
{
if
(!
ValidationUtil
.
isEmpty
(
unitCode
))
{
unitCode
=
ObjectUtils
.
isEmpty
(
cardType
)
?
unitCode
:
cardType
+
"_"
+
unitCode
;
unitCode
=
ObjectUtils
.
isEmpty
(
cardType
)
?
unitCode
:
cardType
+
"_"
+
unitCode
;
FeignClientResult
<
CompanyModel
>
result
=
Privilege
.
companyClient
.
queryByCompanyCode
(
unitCode
);
FeignClientResult
<
CompanyModel
>
result
=
Privilege
.
companyClient
.
queryByCompanyCode
(
unitCode
);
if
(
result
.
getResult
()
!=
null
)
{
if
(
result
.
getResult
()
!=
null
)
{
throw
new
BadRequest
(!
ObjectUtils
.
isEmpty
(
cardType
)
?
"重复的证件号码"
:
"重复的注册编码"
);
throw
new
BadRequest
(!
ObjectUtils
.
isEmpty
(
cardType
)
?
"重复的证件号码"
:
"重复的注册编码"
);
}
}
}
}
// 1.校验重复性
// 1.校验重复性
// RegUnitInfo regUnitInfo = this
// RegUnitInfo regUnitInfo = this
// .getOne(new LambdaQueryWrapper<RegUnitInfo>().eq(RegUnitInfo::getUnitCode, unitCode));
// .getOne(new LambdaQueryWrapper<RegUnitInfo>().eq(RegUnitInfo::getUnitCode, unitCode));
// if (regUnitInfo != null) {
// if (regUnitInfo != null) {
// throw new RuntimeException("该单位已注册,请联系企业管理员!");
// throw new RuntimeException("该单位已注册,请联系企业管理员!");
// }
// }
// 2.组织返回数据
// 2.组织返回数据
if
(
ObjectUtils
.
isEmpty
(
registerType
)){
if
(
ObjectUtils
.
isEmpty
(
registerType
))
{
//2.1 工商信息查询
//2.1 工商信息查询
Map
<
String
,
Object
>
resultMap
=
accessFeignService
.
getData
(
unitCode
).
getResult
();
Map
<
String
,
Object
>
resultMap
=
accessFeignService
.
getData
(
unitCode
).
getResult
();
if
(
resultMap
==
null
){
if
(
resultMap
==
null
)
{
throw
new
BadRequest
(
"工商信息接口查询失败,请稍后再试!"
);
throw
new
BadRequest
(
"工商信息接口查询失败,请稍后再试!"
);
}
}
if
(
ObjectUtils
.
isEmpty
(
resultMap
))
{
if
(
ObjectUtils
.
isEmpty
(
resultMap
))
{
throw
new
BadRequest
(
"未查询到企业信息,请核对!"
);
throw
new
BadRequest
(
"未查询到企业信息,请核对!"
);
}
}
if
(!
ValidationUtil
.
isEmpty
(
resultMap
)){
if
(!
ValidationUtil
.
isEmpty
(
resultMap
))
{
// 2.2 工商信息组装
// 2.2 工商信息组装
String
area
=
String
.
valueOf
(
resultMap
.
get
(
"area"
));
String
area
=
String
.
valueOf
(
resultMap
.
get
(
"area"
));
String
city
=
area
.
substring
(
0
,
area
.
indexOf
(
"市"
)+
1
);
String
city
=
area
.
substring
(
0
,
area
.
indexOf
(
"市"
)
+
1
);
String
district
=
area
.
substring
(
city
.
length
());
String
district
=
area
.
substring
(
city
.
length
());
if
(
"高新区"
.
equals
(
district
)){
if
(
"高新区"
.
equals
(
district
))
{
district
=
"雁塔区"
;
district
=
"雁塔区"
;
}
}
regUnitInfoDto
.
setCity
(
city
);
regUnitInfoDto
.
setCity
(
city
);
regUnitInfoDto
.
setDistrict
(
district
);
regUnitInfoDto
.
setDistrict
(
district
);
regUnitInfoDto
.
setStree
(
String
.
valueOf
(
resultMap
.
get
(
"street"
)));
regUnitInfoDto
.
setStree
(
String
.
valueOf
(
resultMap
.
get
(
"street"
)));
regUnitInfoDto
.
setCommunity
(
String
.
valueOf
(
resultMap
.
get
(
"community"
)));
regUnitInfoDto
.
setCommunity
(
String
.
valueOf
(
resultMap
.
get
(
"community"
)));
regUnitInfoDto
.
setAddress
(
String
.
valueOf
(
resultMap
.
get
(
"address"
)));
regUnitInfoDto
.
setAddress
(
String
.
valueOf
(
resultMap
.
get
(
"address"
)));
regUnitInfoDto
.
setUnitCode
(
String
.
valueOf
(
resultMap
.
get
(
"creditCode"
)));
regUnitInfoDto
.
setUnitCode
(
String
.
valueOf
(
resultMap
.
get
(
"creditCode"
)));
regUnitInfoDto
.
setName
(
String
.
valueOf
(
resultMap
.
get
(
"unitName"
)));
regUnitInfoDto
.
setName
(
String
.
valueOf
(
resultMap
.
get
(
"unitName"
)));
regUnitInfoDto
.
setLegalPerson
(
String
.
valueOf
(
resultMap
.
get
(
"legalPeople"
)));
regUnitInfoDto
.
setLegalPerson
(
String
.
valueOf
(
resultMap
.
get
(
"legalPeople"
)));
String
industryName
=
""
;
String
industryName
=
""
;
if
(
ObjectUtils
.
isNotEmpty
(
resultMap
.
get
(
"industryCode"
))){
if
(
ObjectUtils
.
isNotEmpty
(
resultMap
.
get
(
"industryCode"
)))
{
List
<
DataDictionary
>
dictionaries
=
this
.
initAllDataDictionaryList
();
List
<
DataDictionary
>
dictionaries
=
this
.
initAllDataDictionaryList
();
Optional
<
DataDictionary
>
op
=
dictionaries
.
stream
().
filter
(
d
->
d
.
getCode
()
!=
null
&&
d
.
getType
()
!=
null
&&
d
.
getCode
().
equals
(
String
.
valueOf
(
resultMap
.
get
(
"industryCode"
)))&&
"HYXLDM"
.
equals
(
d
.
getType
())).
findFirst
();
Optional
<
DataDictionary
>
op
=
dictionaries
.
stream
().
filter
(
d
->
d
.
getCode
()
!=
null
&&
d
.
getType
()
!=
null
&&
d
.
getCode
().
equals
(
String
.
valueOf
(
resultMap
.
get
(
"industryCode"
)))
&&
"HYXLDM"
.
equals
(
d
.
getType
())).
findFirst
();
if
(
op
.
isPresent
())
{
if
(
op
.
isPresent
())
{
DataDictionary
dataDictionary
=
op
.
get
();
DataDictionary
dataDictionary
=
op
.
get
();
industryName
=
dataDictionary
.
getName
();
industryName
=
dataDictionary
.
getName
();
}
}
}
}
String
approveDate
=
String
.
valueOf
(
resultMap
.
get
(
"approval_time"
));
String
approveDate
=
String
.
valueOf
(
resultMap
.
get
(
"approval_time"
));
approveDate
=
approveDate
.
contains
(
"年"
)?
approveDate
.
replace
(
"年"
,
"-"
):
approveDate
;
approveDate
=
approveDate
.
contains
(
"年"
)
?
approveDate
.
replace
(
"年"
,
"-"
)
:
approveDate
;
approveDate
=
approveDate
.
contains
(
"月"
)?
approveDate
.
replace
(
"月"
,
"-"
):
approveDate
;
approveDate
=
approveDate
.
contains
(
"月"
)
?
approveDate
.
replace
(
"月"
,
"-"
)
:
approveDate
;
approveDate
=
approveDate
.
contains
(
"日"
)?
approveDate
.
replace
(
"日"
,
"-"
):
approveDate
;
approveDate
=
approveDate
.
contains
(
"日"
)
?
approveDate
.
replace
(
"日"
,
"-"
)
:
approveDate
;
RegUnitIcDto
regUnitIcDto
=
new
RegUnitIcDto
();
RegUnitIcDto
regUnitIcDto
=
new
RegUnitIcDto
();
regUnitIcDto
.
setUnitCode
(
regUnitInfoDto
.
getUnitCode
());
regUnitIcDto
.
setUnitCode
(
regUnitInfoDto
.
getUnitCode
());
try
{
try
{
regUnitIcDto
.
setApprovedDate
(
DateUtils
.
dateParse
(
approveDate
,
"yyyy-MM-dd"
));
regUnitIcDto
.
setApprovedDate
(
DateUtils
.
dateParse
(
approveDate
,
"yyyy-MM-dd"
));
}
catch
(
ParseException
e
)
{
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
regUnitIcDto
.
setUnitName
(
regUnitInfoDto
.
getName
());
regUnitIcDto
.
setUnitName
(
regUnitInfoDto
.
getName
());
regUnitIcDto
.
setRegisteredOrgan
(
String
.
valueOf
(
resultMap
.
get
(
"registration_authority"
)));
regUnitIcDto
.
setRegisteredOrgan
(
String
.
valueOf
(
resultMap
.
get
(
"registration_authority"
)));
regUnitIcDto
.
setBusinessState
(
String
.
valueOf
(
resultMap
.
get
(
"operating_status"
)));
regUnitIcDto
.
setBusinessState
(
String
.
valueOf
(
resultMap
.
get
(
"operating_status"
)));
regUnitIcDto
.
setProvince
(
"陕西省"
);
regUnitIcDto
.
setProvince
(
"陕西省"
);
regUnitIcDto
.
setCity
(
regUnitInfoDto
.
getCity
());
regUnitIcDto
.
setCity
(
regUnitInfoDto
.
getCity
());
regUnitIcDto
.
setDistrict
(
regUnitInfoDto
.
getDistrict
());
regUnitIcDto
.
setDistrict
(
regUnitInfoDto
.
getDistrict
());
regUnitIcDto
.
setStree
(
regUnitInfoDto
.
getStree
());
regUnitIcDto
.
setStree
(
regUnitInfoDto
.
getStree
());
regUnitIcDto
.
setCommunity
(
regUnitInfoDto
.
getCommunity
());
regUnitIcDto
.
setCommunity
(
regUnitInfoDto
.
getCommunity
());
regUnitIcDto
.
setAddress
(
regUnitInfoDto
.
getAddress
());
regUnitIcDto
.
setAddress
(
regUnitInfoDto
.
getAddress
());
regUnitIcDto
.
setLegalPerson
(
regUnitInfoDto
.
getLegalPerson
());
regUnitIcDto
.
setLegalPerson
(
regUnitInfoDto
.
getLegalPerson
());
regUnitIcDto
.
setIndustryName
(
industryName
);
regUnitIcDto
.
setIndustryName
(
industryName
);
regUnitInfoDto
.
setRegUnitIc
(
regUnitIcDto
);
regUnitInfoDto
.
setRegUnitIc
(
regUnitIcDto
);
}
else
{
}
else
{
regUnitInfoDto
.
setRegUnitIc
(
new
RegUnitIcDto
());
regUnitInfoDto
.
setRegUnitIc
(
new
RegUnitIcDto
());
}
}
}
else
if
(
"6598"
.
equals
(
registerType
)){
}
else
if
(
"6598"
.
equals
(
registerType
))
{
TzsBaseInstitution
regUnitMessage
=
tzsBaseInstitutionMapper
.
selectOne
(
new
LambdaQueryWrapper
<
TzsBaseInstitution
>().
eq
(
TzsBaseInstitution:
:
getUseCode
,
unitCode
));
TzsBaseInstitution
regUnitMessage
=
tzsBaseInstitutionMapper
.
selectOne
(
new
LambdaQueryWrapper
<
TzsBaseInstitution
>().
eq
(
TzsBaseInstitution:
:
getUseCode
,
unitCode
));
TzsBaseInstitutionDto
institutionDto
=
new
TzsBaseInstitutionDto
();
TzsBaseInstitutionDto
institutionDto
=
new
TzsBaseInstitutionDto
();
if
(!
ObjectUtils
.
isEmpty
(
regUnitMessage
)){
if
(!
ObjectUtils
.
isEmpty
(
regUnitMessage
))
{
BeanUtils
.
copyProperties
(
regUnitMessage
,
institutionDto
);
BeanUtils
.
copyProperties
(
regUnitMessage
,
institutionDto
);
}
}
regUnitInfoDto
.
setRegUnitMessage
(
institutionDto
);
regUnitInfoDto
.
setRegUnitMessage
(
institutionDto
);
}
}
// 2.3 许可信息组装
// 2.3 许可信息组装
List
<
BaseUnitLicence
>
unitLicences
=
baseUnitLicenceService
List
<
BaseUnitLicence
>
unitLicences
=
baseUnitLicenceService
.
list
(
new
LambdaQueryWrapper
<
BaseUnitLicence
>().
eq
(
BaseUnitLicence:
:
getUnitCode
,
unitCode
));
.
list
(
new
LambdaQueryWrapper
<
BaseUnitLicence
>().
eq
(
BaseUnitLicence:
:
getUnitCode
,
unitCode
));
regUnitInfoDto
.
setUnitLicences
(
Bean
.
toModels
(
unitLicences
,
BaseUnitLicenceDto
.
class
));
regUnitInfoDto
.
setUnitLicences
(
Bean
.
toModels
(
unitLicences
,
BaseUnitLicenceDto
.
class
));
return
regUnitInfoDto
;
return
regUnitInfoDto
;
}
}
@Override
@Override
public
List
<
DataDictionary
>
getUnitTypeList
()
{
public
List
<
DataDictionary
>
getUnitTypeList
()
{
return
this
.
setAndGetUnitTypeList
();
return
this
.
setAndGetUnitTypeList
();
}
}
public
List
<
DataDictionary
>
setAndGetUnitTypeList
()
{
public
List
<
DataDictionary
>
setAndGetUnitTypeList
()
{
List
<
DataDictionary
>
dataDictionaries
;
List
<
DataDictionary
>
dataDictionaries
;
// 先从Redis缓存中获取值
// 先从Redis缓存中获取值
if
(
redisUtil
.
hasKey
(
BizCommonConstant
.
UNIT_TYPE_LIST_REDIS_KEY
)){
if
(
redisUtil
.
hasKey
(
BizCommonConstant
.
UNIT_TYPE_LIST_REDIS_KEY
))
{
dataDictionaries
=
JSONObject
.
parseArray
(
redisUtil
.
get
(
BizCommonConstant
.
UNIT_TYPE_LIST_REDIS_KEY
).
toString
(),
DataDictionary
.
class
);
dataDictionaries
=
JSONObject
.
parseArray
(
redisUtil
.
get
(
BizCommonConstant
.
UNIT_TYPE_LIST_REDIS_KEY
).
toString
(),
DataDictionary
.
class
);
return
dataDictionaries
;
return
dataDictionaries
;
}
}
// 在同步块内再次检查缓存,以避免多个线程同时查不到缓存时重复查询数据库
// 在同步块内再次检查缓存,以避免多个线程同时查不到缓存时重复查询数据库
synchronized
(
this
){
synchronized
(
this
)
{
if
(
redisUtil
.
hasKey
(
BizCommonConstant
.
UNIT_TYPE_LIST_REDIS_KEY
)){
if
(
redisUtil
.
hasKey
(
BizCommonConstant
.
UNIT_TYPE_LIST_REDIS_KEY
))
{
dataDictionaries
=
JSONObject
.
parseArray
(
redisUtil
.
get
(
BizCommonConstant
.
UNIT_TYPE_LIST_REDIS_KEY
).
toString
(),
DataDictionary
.
class
);
dataDictionaries
=
JSONObject
.
parseArray
(
redisUtil
.
get
(
BizCommonConstant
.
UNIT_TYPE_LIST_REDIS_KEY
).
toString
(),
DataDictionary
.
class
);
}
else
{
}
else
{
dataDictionaries
=
iDataDictionaryService
.
getByType
(
DICT_TYPE_UNIT_TYPE
);
dataDictionaries
=
iDataDictionaryService
.
getByType
(
DICT_TYPE_UNIT_TYPE
);
redisUtil
.
set
(
BizCommonConstant
.
UNIT_TYPE_LIST_REDIS_KEY
,
JSONObject
.
toJSONString
(
dataDictionaries
));
redisUtil
.
set
(
BizCommonConstant
.
UNIT_TYPE_LIST_REDIS_KEY
,
JSONObject
.
toJSONString
(
dataDictionaries
));
}
}
}
}
return
dataDictionaries
;
return
dataDictionaries
;
}
}
@Override
@Override
public
List
<
DataDictionary
>
getPersonTypeList
()
{
public
List
<
DataDictionary
>
getPersonTypeList
()
{
return
this
.
setAndGetPersonRegisterTypeList
();
return
this
.
setAndGetPersonRegisterTypeList
();
}
}
public
List
<
DataDictionary
>
setAndGetPersonRegisterTypeList
()
{
public
List
<
DataDictionary
>
setAndGetPersonRegisterTypeList
()
{
List
<
DataDictionary
>
dataDictionaries
;
List
<
DataDictionary
>
dataDictionaries
;
// 先从Redis缓存中获取值
// 先从Redis缓存中获取值
if
(
redisUtil
.
hasKey
(
BizCommonConstant
.
PERSON_REGISTER_TYPE_LIST_REDIS_KEY
)){
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
);
dataDictionaries
=
JSONObject
.
parseArray
(
redisUtil
.
get
(
BizCommonConstant
.
PERSON_REGISTER_TYPE_LIST_REDIS_KEY
).
toString
(),
DataDictionary
.
class
);
return
dataDictionaries
;
return
dataDictionaries
;
}
}
// 在同步块内再次检查缓存,以避免多个线程同时查不到缓存时重复查询数据库
// 在同步块内再次检查缓存,以避免多个线程同时查不到缓存时重复查询数据库
synchronized
(
this
){
synchronized
(
this
)
{
if
(
redisUtil
.
hasKey
(
BizCommonConstant
.
PERSON_REGISTER_TYPE_LIST_REDIS_KEY
)){
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
);
dataDictionaries
=
JSONObject
.
parseArray
(
redisUtil
.
get
(
BizCommonConstant
.
PERSON_REGISTER_TYPE_LIST_REDIS_KEY
).
toString
(),
DataDictionary
.
class
);
}
else
{
}
else
{
dataDictionaries
=
iDataDictionaryService
.
getByType
(
PERSON_REGISTER_TYPE
);
dataDictionaries
=
iDataDictionaryService
.
getByType
(
PERSON_REGISTER_TYPE
);
redisUtil
.
set
(
BizCommonConstant
.
PERSON_REGISTER_TYPE_LIST_REDIS_KEY
,
JSONObject
.
toJSONString
(
dataDictionaries
));
redisUtil
.
set
(
BizCommonConstant
.
PERSON_REGISTER_TYPE_LIST_REDIS_KEY
,
JSONObject
.
toJSONString
(
dataDictionaries
));
}
}
}
}
return
dataDictionaries
;
return
dataDictionaries
;
}
}
@Override
@Override
public
List
<
DataDictionary
>
getChildList
(
String
type
,
String
group
)
{
public
List
<
DataDictionary
>
getChildList
(
String
type
,
String
group
)
{
List
<
DataDictionary
>
dictionaries
=
this
.
initAllDataDictionaryList
();
List
<
DataDictionary
>
dictionaries
=
this
.
initAllDataDictionaryList
();
return
dictionaries
.
stream
().
parallel
().
filter
(
d
->
d
.
getType
().
equals
(
type
)
&&
d
.
getTypeDesc
().
equals
(
group
)).
collect
(
Collectors
.
toList
());
return
dictionaries
.
stream
().
parallel
().
filter
(
d
->
d
.
getType
().
equals
(
type
)
&&
d
.
getTypeDesc
().
equals
(
group
)).
collect
(
Collectors
.
toList
());
}
}
@Override
@Override
public
void
setAllDataDictionaryList
(){
public
void
setAllDataDictionaryList
()
{
this
.
initAllDataDictionaryList
();
this
.
initAllDataDictionaryList
();
}
}
@Override
@Override
public
List
<
Menu
>
getDictionaryWithTreeFillId
(
String
type
)
throws
Exception
{
public
List
<
Menu
>
getDictionaryWithTreeFillId
(
String
type
)
throws
Exception
{
List
<
DataDictionary
>
dictionaries
=
this
.
initAllDataDictionaryList
();
List
<
DataDictionary
>
dictionaries
=
this
.
initAllDataDictionaryList
();
List
<
DataDictionary
>
temp
=
dictionaries
.
stream
().
parallel
().
filter
(
d
->
d
.
getType
().
equals
(
type
)).
collect
(
Collectors
.
toList
());
List
<
DataDictionary
>
temp
=
dictionaries
.
stream
().
parallel
().
filter
(
d
->
d
.
getType
().
equals
(
type
)).
collect
(
Collectors
.
toList
());
return
TreeParser
.
getTree
(
null
,
temp
,
DataDictionary
.
class
.
getName
(),
"getSequenceNbr"
,
2
,
return
TreeParser
.
getTree
(
null
,
temp
,
DataDictionary
.
class
.
getName
(),
"getSequenceNbr"
,
2
,
"getName"
,
"getParent"
,
null
,
"getCode"
);
"getName"
,
"getParent"
,
null
,
"getCode"
);
}
}
@Override
@Override
public
List
<
DataDictionary
>
getDictionaryListByType
(
String
type
)
throws
Exception
{
public
List
<
DataDictionary
>
getDictionaryListByType
(
String
type
)
throws
Exception
{
List
<
DataDictionary
>
dictionaries
=
this
.
initAllDataDictionaryList
();
List
<
DataDictionary
>
dictionaries
=
this
.
initAllDataDictionaryList
();
return
dictionaries
.
stream
().
parallel
().
filter
(
d
->
d
.
getType
().
equals
(
type
)).
collect
(
Collectors
.
toList
());
return
dictionaries
.
stream
().
parallel
().
filter
(
d
->
d
.
getType
().
equals
(
type
)).
collect
(
Collectors
.
toList
());
}
}
public
List
<
DataDictionary
>
initAllDataDictionaryList
()
{
public
List
<
DataDictionary
>
initAllDataDictionaryList
()
{
List
<
DataDictionary
>
dictionaries
;
List
<
DataDictionary
>
dictionaries
;
// 使用双重检查锁定
// 使用双重检查锁定
if
(
redisUtil
.
hasKey
(
BizCommonConstant
.
TCM_ALL_DATA_DICT_REDIS_KEY
))
{
if
(
redisUtil
.
hasKey
(
BizCommonConstant
.
TCM_ALL_DATA_DICT_REDIS_KEY
))
{
String
json
=
redisUtil
.
get
(
BizCommonConstant
.
TCM_ALL_DATA_DICT_REDIS_KEY
).
toString
();
String
json
=
redisUtil
.
get
(
BizCommonConstant
.
TCM_ALL_DATA_DICT_REDIS_KEY
).
toString
();
dictionaries
=
JSONObject
.
parseArray
(
json
,
DataDictionary
.
class
);
dictionaries
=
JSONObject
.
parseArray
(
json
,
DataDictionary
.
class
);
return
dictionaries
;
return
dictionaries
;
}
}
synchronized
(
this
)
{
synchronized
(
this
)
{
if
(
redisUtil
.
hasKey
(
BizCommonConstant
.
TCM_ALL_DATA_DICT_REDIS_KEY
))
{
if
(
redisUtil
.
hasKey
(
BizCommonConstant
.
TCM_ALL_DATA_DICT_REDIS_KEY
))
{
String
json
=
redisUtil
.
get
(
BizCommonConstant
.
TCM_ALL_DATA_DICT_REDIS_KEY
).
toString
();
String
json
=
redisUtil
.
get
(
BizCommonConstant
.
TCM_ALL_DATA_DICT_REDIS_KEY
).
toString
();
dictionaries
=
JSONObject
.
parseArray
(
json
,
DataDictionary
.
class
);
dictionaries
=
JSONObject
.
parseArray
(
json
,
DataDictionary
.
class
);
}
else
{
}
else
{
dictionaries
=
dataDictionaryService
.
list
(
new
LambdaQueryWrapper
<
DataDictionary
>().
eq
(
BaseEntity:
:
getIsDelete
,
false
));
dictionaries
=
dataDictionaryService
.
list
(
new
LambdaQueryWrapper
<
DataDictionary
>().
eq
(
BaseEntity:
:
getIsDelete
,
false
));
redisUtil
.
set
(
BizCommonConstant
.
TCM_ALL_DATA_DICT_REDIS_KEY
,
JSONObject
.
toJSONString
(
dictionaries
));
redisUtil
.
set
(
BizCommonConstant
.
TCM_ALL_DATA_DICT_REDIS_KEY
,
JSONObject
.
toJSONString
(
dictionaries
));
}
}
}
}
return
dictionaries
;
return
dictionaries
;
}
}
@Override
@Override
public
Collection
getManagementUnitTree
(
String
orgCode
)
{
public
Collection
getManagementUnitTree
(
String
orgCode
)
{
List
<
LinkedHashMap
>
companyModels
=
(
List
<
LinkedHashMap
>)
redisUtil
.
get
(
BizCommonConstant
.
COMPANY_TREE_REDIS_KEY
);
List
<
LinkedHashMap
>
companyModels
=
(
List
<
LinkedHashMap
>)
redisUtil
.
get
(
BizCommonConstant
.
COMPANY_TREE_REDIS_KEY
);
if
(
ValidationUtil
.
isEmpty
(
companyModels
))
{
if
(
ValidationUtil
.
isEmpty
(
companyModels
))
{
startPlatformTokenService
.
getToken
();
startPlatformTokenService
.
getToken
();
companyModels
=
equipmentCategoryService
.
creatTree
();
companyModels
=
equipmentCategoryService
.
creatTree
();
}
}
if
(!
ValidationUtil
.
isEmpty
(
orgCode
))
{
if
(!
ValidationUtil
.
isEmpty
(
orgCode
))
{
companyModels
=
findNodesByCondition
(
companyModels
,
"orgCode"
,
orgCode
,
"children"
);
companyModels
=
findNodesByCondition
(
companyModels
,
"orgCode"
,
orgCode
,
"children"
);
companyModels
=
(
List
<
LinkedHashMap
>)
companyModels
.
get
(
0
).
get
(
"children"
);
companyModels
=
(
List
<
LinkedHashMap
>)
companyModels
.
get
(
0
).
get
(
"children"
);
}
}
return
companyModels
;
return
companyModels
;
}
}
// public Collection getManagementUnitTree2(String orgCode) {
// public Collection getManagementUnitTree2(String orgCode) {
...
@@ -630,218 +666,218 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
...
@@ -630,218 +666,218 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
// return result;
// return result;
// }
// }
public
static
List
<
LinkedHashMap
>
findNodesByCondition
(
List
<
LinkedHashMap
>
nodes
,
String
conditionName
,
public
static
List
<
LinkedHashMap
>
findNodesByCondition
(
List
<
LinkedHashMap
>
nodes
,
String
conditionName
,
String
condition
,
String
childName
)
{
String
condition
,
String
childName
)
{
return
nodes
.
stream
()
return
nodes
.
stream
()
.
flatMap
(
node
->
Stream
.
concat
(
.
flatMap
(
node
->
Stream
.
concat
(
node
.
get
(
conditionName
).
equals
(
condition
)
?
Stream
.
of
(
node
)
:
Stream
.
empty
(),
node
.
get
(
conditionName
).
equals
(
condition
)
?
Stream
.
of
(
node
)
:
Stream
.
empty
(),
node
.
get
(
childName
)
!=
null
?
findNodesByCondition
((
List
<
LinkedHashMap
>)
node
.
get
(
childName
),
node
.
get
(
childName
)
!=
null
?
findNodesByCondition
((
List
<
LinkedHashMap
>)
node
.
get
(
childName
),
conditionName
,
condition
,
condition
).
stream
()
:
conditionName
,
condition
,
condition
).
stream
()
:
Stream
.
empty
()
Stream
.
empty
()
))
))
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
}
}
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
unitLogOut
(
String
unitCode
)
{
public
Boolean
unitLogOut
(
String
unitCode
)
{
RegUnitInfo
regUnitInfo
=
this
RegUnitInfo
regUnitInfo
=
this
.
getOne
(
new
LambdaQueryWrapper
<
RegUnitInfo
>().
eq
(
RegUnitInfo:
:
getUnitCode
,
unitCode
));
.
getOne
(
new
LambdaQueryWrapper
<
RegUnitInfo
>().
eq
(
RegUnitInfo:
:
getUnitCode
,
unitCode
));
if
(
regUnitInfo
==
null
)
{
if
(
regUnitInfo
==
null
)
{
return
Boolean
.
FALSE
;
return
Boolean
.
FALSE
;
}
}
try
{
try
{
// 1.删除已经创建的企业信息
// 1.删除已经创建的企业信息
if
(
StringUtils
.
isNotEmpty
(
regUnitInfo
.
getAmosCompanySeq
()))
{
if
(
StringUtils
.
isNotEmpty
(
regUnitInfo
.
getAmosCompanySeq
()))
{
CompanyModel
companyModel
=
Privilege
.
companyClient
CompanyModel
companyModel
=
Privilege
.
companyClient
.
seleteOne
(
Long
.
parseLong
(
regUnitInfo
.
getAmosCompanySeq
())).
getResult
();
.
seleteOne
(
Long
.
parseLong
(
regUnitInfo
.
getAmosCompanySeq
())).
getResult
();
if
(
companyModel
!=
null
)
{
if
(
companyModel
!=
null
)
{
Privilege
.
companyClient
.
deleteCompany
(
regUnitInfo
.
getAmosCompanySeq
());
Privilege
.
companyClient
.
deleteCompany
(
regUnitInfo
.
getAmosCompanySeq
());
}
}
}
}
// 2.删除已经创建的管理员账号
// 2.删除已经创建的管理员账号
FeignClientResult
<
AgencyUserModel
>
feignClientResult
=
Privilege
.
agencyUserClient
FeignClientResult
<
AgencyUserModel
>
feignClientResult
=
Privilege
.
agencyUserClient
.
queryByUserId
(
regUnitInfo
.
getAdminUserId
());
.
queryByUserId
(
regUnitInfo
.
getAdminUserId
());
if
(
feignClientResult
!=
null
)
{
if
(
feignClientResult
!=
null
)
{
Privilege
.
agencyUserClient
.
multDeleteUser
(
regUnitInfo
.
getAdminUserId
());
Privilege
.
agencyUserClient
.
multDeleteUser
(
regUnitInfo
.
getAdminUserId
());
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
logger
.
error
(
e
.
getMessage
(),
e
);
}
}
// 3.企业注册表删除
// 3.企业注册表删除
this
.
remove
(
new
LambdaQueryWrapper
<
RegUnitInfo
>().
eq
(
RegUnitInfo:
:
getUnitCode
,
unitCode
));
this
.
remove
(
new
LambdaQueryWrapper
<
RegUnitInfo
>().
eq
(
RegUnitInfo:
:
getUnitCode
,
unitCode
));
// 4.工商信息表删除
// 4.工商信息表删除
regUnitIcService
.
remove
(
new
LambdaQueryWrapper
<
RegUnitIc
>().
eq
(
RegUnitIc:
:
getUnitCode
,
unitCode
));
regUnitIcService
.
remove
(
new
LambdaQueryWrapper
<
RegUnitIc
>().
eq
(
RegUnitIc:
:
getUnitCode
,
unitCode
));
// 5.许可信息删除
// 5.许可信息删除
baseUnitLicenceService
baseUnitLicenceService
.
remove
(
new
LambdaQueryWrapper
<
BaseUnitLicence
>().
eq
(
BaseUnitLicence:
:
getUnitCode
,
unitCode
));
.
remove
(
new
LambdaQueryWrapper
<
BaseUnitLicence
>().
eq
(
BaseUnitLicence:
:
getUnitCode
,
unitCode
));
// 6.企业数据信息删除
// 6.企业数据信息删除
tzBaseEnterpriseInfoService
tzBaseEnterpriseInfoService
.
remove
(
new
LambdaQueryWrapper
<
TzBaseEnterpriseInfo
>().
eq
(
TzBaseEnterpriseInfo:
:
getUseCode
,
unitCode
));
.
remove
(
new
LambdaQueryWrapper
<
TzBaseEnterpriseInfo
>().
eq
(
TzBaseEnterpriseInfo:
:
getUseCode
,
unitCode
));
// 7.机场单位表信息删除
// 7.机场单位表信息删除
iOrgUsrService
iOrgUsrService
.
remove
(
new
LambdaQueryWrapper
<
OrgUsr
>().
eq
(
OrgUsr:
:
getAmosOrgId
,
regUnitInfo
.
getAmosCompanySeq
()));
.
remove
(
new
LambdaQueryWrapper
<
OrgUsr
>().
eq
(
OrgUsr:
:
getAmosOrgId
,
regUnitInfo
.
getAmosCompanySeq
()));
return
Boolean
.
TRUE
;
return
Boolean
.
TRUE
;
}
}
@Override
@Override
public
Boolean
checkRepeatAccount
(
String
userName
)
{
public
Boolean
checkRepeatAccount
(
String
userName
)
{
return
this
.
count
(
new
LambdaQueryWrapper
<
RegUnitInfo
>().
eq
(
RegUnitInfo:
:
getAdminLoginName
,
userName
))
>
0
;
return
this
.
count
(
new
LambdaQueryWrapper
<
RegUnitInfo
>().
eq
(
RegUnitInfo:
:
getAdminLoginName
,
userName
))
>
0
;
}
}
@Override
@Override
public
Boolean
checkRepeatPhone
(
String
phoneNo
)
{
public
Boolean
checkRepeatPhone
(
String
phoneNo
)
{
return
this
.
count
(
new
LambdaQueryWrapper
<
RegUnitInfo
>().
eq
(
RegUnitInfo:
:
getAdminTel
,
phoneNo
))
>
0
;
return
this
.
count
(
new
LambdaQueryWrapper
<
RegUnitInfo
>().
eq
(
RegUnitInfo:
:
getAdminTel
,
phoneNo
))
>
0
;
}
}
@Override
@Override
public
void
updateAdminInfo
(
JSONObject
dataResult
)
{
public
void
updateAdminInfo
(
JSONObject
dataResult
)
{
RegUnitInfo
regUnitInfo
=
regUnitInfoMapper
.
selectOne
(
new
QueryWrapper
<
RegUnitInfo
>().
eq
(
"admin_user_id"
,
dataResult
.
get
(
"userId"
)));
RegUnitInfo
regUnitInfo
=
regUnitInfoMapper
.
selectOne
(
new
QueryWrapper
<
RegUnitInfo
>().
eq
(
"admin_user_id"
,
dataResult
.
get
(
"userId"
)));
if
(!
ObjectUtils
.
isEmpty
(
regUnitInfo
))
{
if
(!
ObjectUtils
.
isEmpty
(
regUnitInfo
))
{
regUnitInfo
.
setAdminTel
(
String
.
valueOf
(
dataResult
.
get
(
"mobile"
)));
regUnitInfo
.
setAdminTel
(
String
.
valueOf
(
dataResult
.
get
(
"mobile"
)));
regUnitInfo
.
setAdminName
(
String
.
valueOf
(
dataResult
.
get
(
"realName"
)));
regUnitInfo
.
setAdminName
(
String
.
valueOf
(
dataResult
.
get
(
"realName"
)));
regUnitInfoMapper
.
updateById
(
regUnitInfo
);
regUnitInfoMapper
.
updateById
(
regUnitInfo
);
}
}
}
}
@Override
@Override
public
Boolean
creatQrCode
()
{
public
Boolean
creatQrCode
()
{
List
<
TzBaseEnterpriseInfo
>
tzBaseEnterpriseInfoList
=
tzBaseEnterpriseInfoMapper
.
selectList
(
new
QueryWrapper
<
TzBaseEnterpriseInfo
>().
isNull
(
"qr_code"
));
List
<
TzBaseEnterpriseInfo
>
tzBaseEnterpriseInfoList
=
tzBaseEnterpriseInfoMapper
.
selectList
(
new
QueryWrapper
<
TzBaseEnterpriseInfo
>().
isNull
(
"qr_code"
));
if
(!
ObjectUtils
.
isEmpty
(
tzBaseEnterpriseInfoList
)
&&
tzBaseEnterpriseInfoList
.
size
()
>
0
)
{
if
(!
ObjectUtils
.
isEmpty
(
tzBaseEnterpriseInfoList
)
&&
tzBaseEnterpriseInfoList
.
size
()
>
0
)
{
for
(
TzBaseEnterpriseInfo
tzBaseEnterpriseInfo
:
tzBaseEnterpriseInfoList
)
{
for
(
TzBaseEnterpriseInfo
tzBaseEnterpriseInfo
:
tzBaseEnterpriseInfoList
)
{
String
qrCode
=
createQRCode
(
tzBaseEnterpriseInfo
.
getUseCode
());
String
qrCode
=
createQRCode
(
tzBaseEnterpriseInfo
.
getUseCode
());
tzBaseEnterpriseInfoMapper
.
updateById
(
tzBaseEnterpriseInfo
.
setQrCode
(
qrCode
));
tzBaseEnterpriseInfoMapper
.
updateById
(
tzBaseEnterpriseInfo
.
setQrCode
(
qrCode
));
}
}
return
true
;
return
true
;
}
else
{
}
else
{
return
false
;
return
false
;
}
}
}
}
@Override
@Override
public
RegUnitInfoDto
adminInfo
(
String
unitCode
)
{
public
RegUnitInfoDto
adminInfo
(
String
unitCode
)
{
// 管理员信息
// 管理员信息
RegUnitInfo
regUnitInfo
=
this
.
getOne
(
RegUnitInfo
regUnitInfo
=
this
.
getOne
(
new
LambdaQueryWrapper
<
RegUnitInfo
>().
eq
(
RegUnitInfo:
:
getUnitCode
,
unitCode
));
new
LambdaQueryWrapper
<
RegUnitInfo
>().
eq
(
RegUnitInfo:
:
getUnitCode
,
unitCode
));
RegUnitInfoDto
regUnitInfoDto
=
new
RegUnitInfoDto
();
RegUnitInfoDto
regUnitInfoDto
=
new
RegUnitInfoDto
();
if
(
regUnitInfo
!=
null
)
{
if
(
regUnitInfo
!=
null
)
{
BeanUtils
.
copyProperties
(
regUnitInfo
,
regUnitInfoDto
);
BeanUtils
.
copyProperties
(
regUnitInfo
,
regUnitInfoDto
);
}
}
regUnitInfoDto
.
setAdminIdCardPhoto
(
ObjectUtils
.
isEmpty
(
regUnitInfo
.
getAdminIdCardPhoto
())
?
new
ArrayList
()
:
JSON
.
parseArray
(
regUnitInfo
.
getAdminIdCardPhoto
()));
regUnitInfoDto
.
setAdminIdCardPhoto
(
ObjectUtils
.
isEmpty
(
regUnitInfo
.
getAdminIdCardPhoto
())
?
new
ArrayList
()
:
JSON
.
parseArray
(
regUnitInfo
.
getAdminIdCardPhoto
()));
return
regUnitInfoDto
;
return
regUnitInfoDto
;
}
}
private
CompanyModel
dealChildCompany
(
CompanyModel
cm
)
{
private
CompanyModel
dealChildCompany
(
CompanyModel
cm
)
{
cm
.
setChildren
(
this
.
getFilterChild
(
cm
.
getChildren
()
!=
null
?
cm
.
getChildren
()
:
new
ArrayList
()));
cm
.
setChildren
(
this
.
getFilterChild
(
cm
.
getChildren
()
!=
null
?
cm
.
getChildren
()
:
new
ArrayList
()));
cm
.
getChildren
().
stream
().
filter
(
n
->
{
cm
.
getChildren
().
stream
().
filter
(
n
->
{
CompanyModel
c
=
JSONObject
.
parseObject
(
JSON
.
toJSONString
(
n
),
CompanyModel
.
class
);
CompanyModel
c
=
JSONObject
.
parseObject
(
JSON
.
toJSONString
(
n
),
CompanyModel
.
class
);
return
!
ValidationUtil
.
isEmpty
(
CompanyLevelEnum
.
getEnum
(
c
.
getLevel
()));
return
!
ValidationUtil
.
isEmpty
(
CompanyLevelEnum
.
getEnum
(
c
.
getLevel
()));
}).
map
(
n
->
{
}).
map
(
n
->
{
CompanyModel
c
=
JSONObject
.
parseObject
(
JSON
.
toJSONString
(
n
),
CompanyModel
.
class
);
CompanyModel
c
=
JSONObject
.
parseObject
(
JSON
.
toJSONString
(
n
),
CompanyModel
.
class
);
return
dealChildCompany
(
c
);
return
dealChildCompany
(
c
);
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
return
cm
;
return
cm
;
}
}
private
List
getFilterChild
(
Collection
children
)
{
private
List
getFilterChild
(
Collection
children
)
{
return
(
List
)
children
.
stream
().
filter
(
n
->
{
return
(
List
)
children
.
stream
().
filter
(
n
->
{
CompanyModel
c
=
JSONObject
.
parseObject
(
JSON
.
toJSONString
(
n
),
CompanyModel
.
class
);
CompanyModel
c
=
JSONObject
.
parseObject
(
JSON
.
toJSONString
(
n
),
CompanyModel
.
class
);
return
!
ValidationUtil
.
isEmpty
(
CompanyLevelEnum
.
getEnum
(
c
.
getLevel
()));
return
!
ValidationUtil
.
isEmpty
(
CompanyLevelEnum
.
getEnum
(
c
.
getLevel
()));
}).
map
(
s
->
{
}).
map
(
s
->
{
CompanyModel
c
=
JSONObject
.
parseObject
(
JSON
.
toJSONString
(
s
),
CompanyModel
.
class
);
CompanyModel
c
=
JSONObject
.
parseObject
(
JSON
.
toJSONString
(
s
),
CompanyModel
.
class
);
c
.
setChildren
(
this
.
getFilterChild
(
c
.
getChildren
()
!=
null
?
c
.
getChildren
()
:
new
ArrayList
()));
c
.
setChildren
(
this
.
getFilterChild
(
c
.
getChildren
()
!=
null
?
c
.
getChildren
()
:
new
ArrayList
()));
return
c
;
return
c
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
}
}
private
void
createCompanyAndUser
(
RegUnitInfo
regUnitInfo
)
{
private
void
createCompanyAndUser
(
RegUnitInfo
regUnitInfo
)
{
CompanyModel
companyInfo
=
new
CompanyModel
();
CompanyModel
companyInfo
=
new
CompanyModel
();
FeignClientResult
<
AgencyUserModel
>
userResult
=
null
;
FeignClientResult
<
AgencyUserModel
>
userResult
=
null
;
try
{
try
{
StopWatch
watch1
=
new
StopWatch
();
StopWatch
watch1
=
new
StopWatch
();
watch1
.
start
();
watch1
.
start
();
List
<
RoleModel
>
allRoleList
=
startPlatformTokenService
.
getAllRole
();
List
<
RoleModel
>
allRoleList
=
startPlatformTokenService
.
getAllRole
();
watch1
.
stop
();
watch1
.
stop
();
if
(
logger
.
isDebugEnabled
())
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
debug
(
"平台查询角色接口耗时:==>{}"
,
watch1
.
getTotalTimeSeconds
());
logger
.
debug
(
"平台查询角色接口耗时:==>{}"
,
watch1
.
getTotalTimeSeconds
());
}
}
List
<
RoleModel
>
userRoleList
=
new
ArrayList
<>();
List
<
RoleModel
>
userRoleList
=
new
ArrayList
<>();
List
<
Long
>
roleIds
=
new
ArrayList
<>();
List
<
Long
>
roleIds
=
new
ArrayList
<>();
Set
<
String
>
roleNameSet
=
new
HashSet
<>();
Set
<
String
>
roleNameSet
=
new
HashSet
<>();
// 3.1创建公司
// 3.1创建公司
companyInfo
.
setAddress
(
dealNull2EmptyString
(
regUnitInfo
.
getProvince
())
companyInfo
.
setAddress
(
dealNull2EmptyString
(
regUnitInfo
.
getProvince
())
+
dealNull2EmptyString
(
regUnitInfo
.
getCity
())
+
dealNull2EmptyString
(
regUnitInfo
.
getDistrict
())
+
dealNull2EmptyString
(
regUnitInfo
.
getCity
())
+
dealNull2EmptyString
(
regUnitInfo
.
getDistrict
())
+
dealNull2EmptyString
(
regUnitInfo
.
getStree
())
+
dealNull2EmptyString
(
regUnitInfo
.
getCommunity
())
+
dealNull2EmptyString
(
regUnitInfo
.
getStree
())
+
dealNull2EmptyString
(
regUnitInfo
.
getCommunity
())
+
dealNull2EmptyString
(
regUnitInfo
.
getAddress
()));
+
dealNull2EmptyString
(
regUnitInfo
.
getAddress
()));
companyInfo
.
setAgencyCode
(
"tzs"
);
companyInfo
.
setAgencyCode
(
"tzs"
);
companyInfo
.
setParentId
(
Long
.
parseLong
(
regUnitInfo
.
getManagementUnitId
()));
companyInfo
.
setParentId
(
Long
.
parseLong
(
regUnitInfo
.
getManagementUnitId
()));
companyInfo
.
setLevel
(
"company"
);
companyInfo
.
setLevel
(
"company"
);
companyInfo
.
setCompanyName
(
regUnitInfo
.
getName
());
companyInfo
.
setCompanyName
(
regUnitInfo
.
getName
());
companyInfo
.
setCompanyCode
(
regUnitInfo
.
getUnitCode
());
companyInfo
.
setCompanyCode
(
regUnitInfo
.
getUnitCode
());
companyInfo
.
setContact
(
regUnitInfo
.
getLegalPerson
());
companyInfo
.
setContact
(
regUnitInfo
.
getLegalPerson
());
companyInfo
.
setCompanyType
(
regUnitInfo
.
getUnitType
());
companyInfo
.
setCompanyType
(
regUnitInfo
.
getUnitType
());
companyInfo
.
setLandlinePhone
(
regUnitInfo
.
getLegalPersonTel
());
companyInfo
.
setLandlinePhone
(
regUnitInfo
.
getLegalPersonTel
());
StopWatch
watch2
=
new
StopWatch
();
StopWatch
watch2
=
new
StopWatch
();
watch2
.
start
();
watch2
.
start
();
FeignClientResult
<
CompanyModel
>
companyResult
=
Privilege
.
companyClient
.
create
(
companyInfo
);
FeignClientResult
<
CompanyModel
>
companyResult
=
Privilege
.
companyClient
.
create
(
companyInfo
);
watch2
.
stop
();
watch2
.
stop
();
if
(
logger
.
isDebugEnabled
())
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
debug
(
"创建amos公司耗时:==>{}"
,
watch2
.
getTotalTimeSeconds
());
logger
.
debug
(
"创建amos公司耗时:==>{}"
,
watch2
.
getTotalTimeSeconds
());
}
}
if
(
companyResult
==
null
||
companyResult
.
getResult
()
==
null
)
{
if
(
companyResult
==
null
||
companyResult
.
getResult
()
==
null
)
{
throw
new
BadRequest
(
"单位注册失败"
);
throw
new
BadRequest
(
"单位注册失败"
);
}
}
String
adminUserName
=
regUnitInfo
.
getAdminName
();
String
adminUserName
=
regUnitInfo
.
getAdminName
();
String
loginName
=
regUnitInfo
.
getAdminLoginName
();
String
loginName
=
regUnitInfo
.
getAdminLoginName
();
String
pwd
=
regUnitInfo
.
getAdminLoginPwd
();
String
pwd
=
regUnitInfo
.
getAdminLoginPwd
();
String
adminTel
=
regUnitInfo
.
getAdminTel
();
String
adminTel
=
regUnitInfo
.
getAdminTel
();
// 3.2 创建平台用户
// 3.2 创建平台用户
companyInfo
=
companyResult
.
getResult
();
companyInfo
=
companyResult
.
getResult
();
AgencyUserModel
agencyUserModel
=
new
AgencyUserModel
();
AgencyUserModel
agencyUserModel
=
new
AgencyUserModel
();
agencyUserModel
.
setUserName
(
loginName
);
agencyUserModel
.
setUserName
(
loginName
);
agencyUserModel
.
setRealName
(
adminUserName
);
agencyUserModel
.
setRealName
(
adminUserName
);
agencyUserModel
.
setLockStatus
(
"UNLOCK"
);
agencyUserModel
.
setLockStatus
(
"UNLOCK"
);
agencyUserModel
.
setPassword
(
pwd
);
agencyUserModel
.
setPassword
(
pwd
);
agencyUserModel
.
setRePassword
(
pwd
);
agencyUserModel
.
setRePassword
(
pwd
);
agencyUserModel
.
setAgencyCode
(
"tzs"
);
agencyUserModel
.
setAgencyCode
(
"tzs"
);
agencyUserModel
.
setMobile
(
adminTel
);
agencyUserModel
.
setMobile
(
adminTel
);
String
unitTypeCode
=
regUnitInfo
.
getUnitTypeCode
();
String
unitTypeCode
=
regUnitInfo
.
getUnitTypeCode
();
// 根据unitTypeCode 获取应用和角色 数据字典配置
// 根据unitTypeCode 获取应用和角色 数据字典配置
String
[]
units
=
unitTypeCode
.
split
(
","
);
String
[]
units
=
unitTypeCode
.
split
(
","
);
Set
<
String
>
appCodesSet
=
new
HashSet
<>();
Set
<
String
>
appCodesSet
=
new
HashSet
<>();
Map
<
Long
,
List
<
Long
>>
roleSeqMap
=
new
HashMap
<>();
Map
<
Long
,
List
<
Long
>>
roleSeqMap
=
new
HashMap
<>();
Map
<
Long
,
List
<
RoleModel
>>
orgRoles
=
new
HashMap
<>();
Map
<
Long
,
List
<
RoleModel
>>
orgRoles
=
new
HashMap
<>();
List
<
DataDictionary
>
unitTypeList
=
setAndGetUnitTypeList
();
List
<
DataDictionary
>
unitTypeList
=
setAndGetUnitTypeList
();
Map
<
String
,
DataDictionary
>
dataDictionaryMap
=
unitTypeList
.
stream
().
collect
(
Collectors
.
toMap
(
DataDictionary:
:
getCode
,
Function
.
identity
(),
(
k1
,
k2
)
->
k1
));
Map
<
String
,
DataDictionary
>
dataDictionaryMap
=
unitTypeList
.
stream
().
collect
(
Collectors
.
toMap
(
DataDictionary:
:
getCode
,
Function
.
identity
(),
(
k1
,
k2
)
->
k1
));
for
(
String
typeCode
:
units
)
{
for
(
String
typeCode
:
units
)
{
DataDictionary
unitType
=
dataDictionaryMap
.
get
(
typeCode
);
DataDictionary
unitType
=
dataDictionaryMap
.
get
(
typeCode
);
String
appCode
=
unitType
.
getTypeDesc
()
!=
null
?
unitType
.
getTypeDesc
()
:
""
;
String
appCode
=
unitType
.
getTypeDesc
()
!=
null
?
unitType
.
getTypeDesc
()
:
""
;
String
[]
appCodes
=
appCode
.
split
(
","
);
String
[]
appCodes
=
appCode
.
split
(
","
);
Collections
.
addAll
(
appCodesSet
,
appCodes
);
Collections
.
addAll
(
appCodesSet
,
appCodes
);
roleNameSet
.
add
(
unitType
.
getName
());
roleNameSet
.
add
(
unitType
.
getName
());
userRoleList
.
addAll
(
allRoleList
.
stream
()
userRoleList
.
addAll
(
allRoleList
.
stream
()
.
filter
(
r
->
unitType
.
getExtend
().
contains
(
r
.
getSequenceNbr
().
toString
())).
collect
(
Collectors
.
toList
()));
.
filter
(
r
->
unitType
.
getExtend
().
contains
(
r
.
getSequenceNbr
().
toString
())).
collect
(
Collectors
.
toList
()));
userRoleList
.
forEach
(
r
->
{
userRoleList
.
forEach
(
r
->
{
if
(!
roleIds
.
contains
(
r
.
getSequenceNbr
()))
{
if
(!
roleIds
.
contains
(
r
.
getSequenceNbr
()))
{
roleIds
.
add
(
r
.
getSequenceNbr
());
roleIds
.
add
(
r
.
getSequenceNbr
());
}
}
});
});
roleSeqMap
.
put
(
companyInfo
.
getSequenceNbr
(),
roleIds
);
roleSeqMap
.
put
(
companyInfo
.
getSequenceNbr
(),
roleIds
);
orgRoles
.
put
(
companyInfo
.
getSequenceNbr
(),
userRoleList
);
orgRoles
.
put
(
companyInfo
.
getSequenceNbr
(),
userRoleList
);
}
}
agencyUserModel
.
setAppCodes
(
new
ArrayList
<>(
appCodesSet
));
agencyUserModel
.
setAppCodes
(
new
ArrayList
<>(
appCodesSet
));
agencyUserModel
.
setOrgRoles
(
orgRoles
);
agencyUserModel
.
setOrgRoles
(
orgRoles
);
agencyUserModel
.
setOrgRoleSeqs
(
roleSeqMap
);
agencyUserModel
.
setOrgRoleSeqs
(
roleSeqMap
);
StopWatch
watch3
=
new
StopWatch
();
StopWatch
watch3
=
new
StopWatch
();
watch3
.
start
();
watch3
.
start
();
userResult
=
Privilege
.
agencyUserClient
.
create
(
agencyUserModel
);
userResult
=
Privilege
.
agencyUserClient
.
create
(
agencyUserModel
);
watch3
.
stop
();
watch3
.
stop
();
if
(
logger
.
isDebugEnabled
())
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
debug
(
"创建amos人员耗时:==>{}"
,
watch3
.
getTotalTimeSeconds
());
logger
.
debug
(
"创建amos人员耗时:==>{}"
,
watch3
.
getTotalTimeSeconds
());
}
}
if
(
userResult
==
null
||
userResult
.
getResult
()
==
null
)
{
if
(
userResult
==
null
||
userResult
.
getResult
()
==
null
)
{
throw
new
BadRequest
(
"单位注册失败"
);
throw
new
BadRequest
(
"单位注册失败"
);
}
}
// //同步创建为当前注册管理员添加两员配备人员信息
// //同步创建为当前注册管理员添加两员配备人员信息
// if (userResult.getStatus() == 200) {
// if (userResult.getStatus() == 200) {
// TzsUserInfo tzsUserInfo = new TzsUserInfo();
// TzsUserInfo tzsUserInfo = new TzsUserInfo();
...
@@ -856,152 +892,152 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
...
@@ -856,152 +892,152 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
// tzsUserInfo.setAmosUserName(regUnitInfo.getAdminLoginName());
// tzsUserInfo.setAmosUserName(regUnitInfo.getAdminLoginName());
// tzsUserInfoService.save(tzsUserInfo);
// tzsUserInfoService.save(tzsUserInfo);
// }
// }
regUnitInfo
.
setAdminUserId
(
userResult
.
getResult
().
getUserId
());
regUnitInfo
.
setAdminUserId
(
userResult
.
getResult
().
getUserId
());
regUnitInfo
.
setAmosCompanySeq
(
companyInfo
.
getSequenceNbr
().
toString
());
regUnitInfo
.
setAmosCompanySeq
(
companyInfo
.
getSequenceNbr
().
toString
());
// 3.3 org_user 创建组织机构
// 3.3 org_user 创建组织机构
OrgUsr
org
=
new
OrgUsr
();
OrgUsr
org
=
new
OrgUsr
();
org
.
setBizOrgCode
(
TreeParser
.
genTreeCode
());
org
.
setBizOrgCode
(
TreeParser
.
genTreeCode
());
org
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_COMPANY
);
org
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_COMPANY
);
org
.
setBizOrgName
(
regUnitInfo
.
getName
());
org
.
setBizOrgName
(
regUnitInfo
.
getName
());
org
.
setRecDate
(
new
Date
());
org
.
setRecDate
(
new
Date
());
org
.
setRecUserId
(
userResult
.
getResult
().
getUserId
());
org
.
setRecUserId
(
userResult
.
getResult
().
getUserId
());
org
.
setRecUserName
(
userResult
.
getResult
().
getRealName
());
org
.
setRecUserName
(
userResult
.
getResult
().
getRealName
());
org
.
setAmosOrgId
(
companyInfo
.
getSequenceNbr
()
+
""
);
org
.
setAmosOrgId
(
companyInfo
.
getSequenceNbr
()
+
""
);
org
.
setAmosOrgCode
(
companyInfo
.
getOrgCode
());
org
.
setAmosOrgCode
(
companyInfo
.
getOrgCode
());
iOrgUsrService
.
save
(
org
);
iOrgUsrService
.
save
(
org
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
// 删除已经创建的 企业信息
// 删除已经创建的 企业信息
if
(
companyInfo
!=
null
&&
companyInfo
.
getSequenceNbr
()
!=
null
)
{
if
(
companyInfo
!=
null
&&
companyInfo
.
getSequenceNbr
()
!=
null
)
{
Privilege
.
companyClient
.
deleteCompany
(
companyInfo
.
getSequenceNbr
()
+
""
);
Privilege
.
companyClient
.
deleteCompany
(
companyInfo
.
getSequenceNbr
()
+
""
);
}
}
if
(
userResult
!=
null
&&
userResult
.
getResult
()
!=
null
if
(
userResult
!=
null
&&
userResult
.
getResult
()
!=
null
&&
StringUtils
.
isNotEmpty
(
userResult
.
getResult
().
getUserId
()))
{
&&
StringUtils
.
isNotEmpty
(
userResult
.
getResult
().
getUserId
()))
{
Privilege
.
agencyUserClient
.
multDeleteUser
(
userResult
.
getResult
().
getUserId
());
Privilege
.
agencyUserClient
.
multDeleteUser
(
userResult
.
getResult
().
getUserId
());
}
}
logger
.
error
(
e
.
getMessage
(),
e
);
logger
.
error
(
e
.
getMessage
(),
e
);
throw
new
RuntimeException
(
e
.
getMessage
());
throw
new
RuntimeException
(
e
.
getMessage
());
}
}
}
}
public
AgencyUserModel
createUser
(
AccountDto
dto
,
String
type
)
{
public
AgencyUserModel
createUser
(
AccountDto
dto
,
String
type
)
{
FeignClientResult
<
AgencyUserModel
>
userResult
=
null
;
FeignClientResult
<
AgencyUserModel
>
userResult
=
null
;
try
{
try
{
List
<
RoleModel
>
allRoleList
=
startPlatformTokenService
.
getAllRole
();
List
<
RoleModel
>
allRoleList
=
startPlatformTokenService
.
getAllRole
();
List
<
RoleModel
>
userRoleList
=
new
ArrayList
<>();
List
<
RoleModel
>
userRoleList
=
new
ArrayList
<>();
List
<
Long
>
roleIds
=
new
ArrayList
<>();
List
<
Long
>
roleIds
=
new
ArrayList
<>();
Set
<
String
>
roleNameSet
=
new
HashSet
<>();
Set
<
String
>
roleNameSet
=
new
HashSet
<>();
// 3.2 创建平台用户
// 3.2 创建平台用户
AgencyUserModel
agencyUserModel
=
new
AgencyUserModel
();
AgencyUserModel
agencyUserModel
=
new
AgencyUserModel
();
agencyUserModel
.
setUserName
(
dto
.
getLoginName
());
agencyUserModel
.
setUserName
(
dto
.
getLoginName
());
agencyUserModel
.
setRealName
(
dto
.
getAdminUserName
());
agencyUserModel
.
setRealName
(
dto
.
getAdminUserName
());
agencyUserModel
.
setLockStatus
(
"UNLOCK"
);
agencyUserModel
.
setLockStatus
(
"UNLOCK"
);
agencyUserModel
.
setPassword
(
dto
.
getPwd
());
agencyUserModel
.
setPassword
(
dto
.
getPwd
());
agencyUserModel
.
setRePassword
(
dto
.
getPwd
());
agencyUserModel
.
setRePassword
(
dto
.
getPwd
());
agencyUserModel
.
setAgencyCode
(
"tzs"
);
agencyUserModel
.
setAgencyCode
(
"tzs"
);
agencyUserModel
.
setMobile
(
dto
.
getAdminTel
());
agencyUserModel
.
setMobile
(
dto
.
getAdminTel
());
// 根据unitTypeCode 获取应用和角色 数据字典配置
// 根据unitTypeCode 获取应用和角色 数据字典配置
String
[]
units
=
dto
.
getUnitTypeCode
().
split
(
","
);
String
[]
units
=
dto
.
getUnitTypeCode
().
split
(
","
);
Set
<
String
>
appCodesSet
=
new
HashSet
<>();
Set
<
String
>
appCodesSet
=
new
HashSet
<>();
Map
<
Long
,
List
<
Long
>>
roleSeqMap
=
new
HashMap
<>();
Map
<
Long
,
List
<
Long
>>
roleSeqMap
=
new
HashMap
<>();
Map
<
Long
,
List
<
RoleModel
>>
orgRoles
=
new
HashMap
<>();
Map
<
Long
,
List
<
RoleModel
>>
orgRoles
=
new
HashMap
<>();
List
<
DataDictionary
>
unitTypeList
=
EnterpriseEnums
.
GR_ZT
.
getType
().
equals
(
type
)
?
setAndGetPersonRegisterTypeList
()
:
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
));
Map
<
String
,
DataDictionary
>
dataDictionaryMap
=
unitTypeList
.
stream
().
collect
(
Collectors
.
toMap
(
DataDictionary:
:
getCode
,
Function
.
identity
(),
(
k1
,
k2
)
->
k1
));
for
(
String
typeCode
:
units
)
{
for
(
String
typeCode
:
units
)
{
DataDictionary
unitType
=
dataDictionaryMap
.
get
(
typeCode
);
DataDictionary
unitType
=
dataDictionaryMap
.
get
(
typeCode
);
String
appCode
=
unitType
.
getTypeDesc
()
!=
null
?
unitType
.
getTypeDesc
()
:
""
;
String
appCode
=
unitType
.
getTypeDesc
()
!=
null
?
unitType
.
getTypeDesc
()
:
""
;
String
[]
appCodes
=
appCode
.
split
(
","
);
String
[]
appCodes
=
appCode
.
split
(
","
);
Collections
.
addAll
(
appCodesSet
,
appCodes
);
Collections
.
addAll
(
appCodesSet
,
appCodes
);
roleNameSet
.
add
(
unitType
.
getName
());
roleNameSet
.
add
(
unitType
.
getName
());
userRoleList
.
addAll
(
allRoleList
.
stream
()
userRoleList
.
addAll
(
allRoleList
.
stream
()
.
filter
(
r
->
unitType
.
getExtend
().
contains
(
r
.
getSequenceNbr
().
toString
())).
collect
(
Collectors
.
toList
()));
.
filter
(
r
->
unitType
.
getExtend
().
contains
(
r
.
getSequenceNbr
().
toString
())).
collect
(
Collectors
.
toList
()));
userRoleList
.
forEach
(
r
->
{
userRoleList
.
forEach
(
r
->
{
if
(!
roleIds
.
contains
(
r
.
getSequenceNbr
()))
{
if
(!
roleIds
.
contains
(
r
.
getSequenceNbr
()))
{
roleIds
.
add
(
r
.
getSequenceNbr
());
roleIds
.
add
(
r
.
getSequenceNbr
());
}
}
});
});
roleSeqMap
.
put
(
dto
.
getCompanyId
(),
roleIds
);
roleSeqMap
.
put
(
dto
.
getCompanyId
(),
roleIds
);
orgRoles
.
put
(
dto
.
getCompanyId
(),
userRoleList
);
orgRoles
.
put
(
dto
.
getCompanyId
(),
userRoleList
);
}
}
agencyUserModel
.
setAppCodes
(
new
ArrayList
<>(
appCodesSet
));
agencyUserModel
.
setAppCodes
(
new
ArrayList
<>(
appCodesSet
));
agencyUserModel
.
setOrgRoles
(
orgRoles
);
agencyUserModel
.
setOrgRoles
(
orgRoles
);
agencyUserModel
.
setOrgRoleSeqs
(
roleSeqMap
);
agencyUserModel
.
setOrgRoleSeqs
(
roleSeqMap
);
StopWatch
watch3
=
new
StopWatch
();
StopWatch
watch3
=
new
StopWatch
();
watch3
.
start
();
watch3
.
start
();
userResult
=
Privilege
.
agencyUserClient
.
create
(
agencyUserModel
);
userResult
=
Privilege
.
agencyUserClient
.
create
(
agencyUserModel
);
watch3
.
stop
();
watch3
.
stop
();
if
(
logger
.
isDebugEnabled
())
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
debug
(
"创建amos人员耗时:==>{}"
,
watch3
.
getTotalTimeSeconds
());
logger
.
debug
(
"创建amos人员耗时:==>{}"
,
watch3
.
getTotalTimeSeconds
());
}
}
if
(
userResult
==
null
||
userResult
.
getResult
()
==
null
)
{
if
(
userResult
==
null
||
userResult
.
getResult
()
==
null
)
{
throw
new
BadRequest
(
"单位注册失败"
);
throw
new
BadRequest
(
"单位注册失败"
);
}
}
return
userResult
.
getResult
();
return
userResult
.
getResult
();
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
// 删除已经创建的 企业信息
// 删除已经创建的 企业信息
if
(
dto
.
getCompanyId
()
!=
null
)
{
if
(
dto
.
getCompanyId
()
!=
null
)
{
Privilege
.
companyClient
.
deleteCompany
(
dto
.
getCompanyId
()
+
""
);
Privilege
.
companyClient
.
deleteCompany
(
dto
.
getCompanyId
()
+
""
);
}
}
if
(
userResult
!=
null
&&
userResult
.
getResult
()
!=
null
if
(
userResult
!=
null
&&
userResult
.
getResult
()
!=
null
&&
StringUtils
.
isNotEmpty
(
userResult
.
getResult
().
getUserId
()))
{
&&
StringUtils
.
isNotEmpty
(
userResult
.
getResult
().
getUserId
()))
{
Privilege
.
agencyUserClient
.
multDeleteUser
(
userResult
.
getResult
().
getUserId
());
Privilege
.
agencyUserClient
.
multDeleteUser
(
userResult
.
getResult
().
getUserId
());
}
}
log
.
error
(
e
.
getMessage
(),
e
);
log
.
error
(
e
.
getMessage
(),
e
);
throw
new
RuntimeException
(
e
.
getMessage
());
throw
new
RuntimeException
(
e
.
getMessage
());
}
}
}
}
@Override
@Override
public
String
submit
(
Long
pageId
,
String
taskId
,
String
planInstanceId
,
String
topic
,
String
tableName
,
Map
<
String
,
Object
>
objectMap
)
throws
Exception
{
public
String
submit
(
Long
pageId
,
String
taskId
,
String
planInstanceId
,
String
topic
,
String
tableName
,
Map
<
String
,
Object
>
objectMap
)
throws
Exception
{
String
roleId
=
""
;
String
roleId
=
""
;
// 根据指标taskId查询
// 根据指标taskId查询
FeignClientResult
<
Map
<
String
,
Object
>>
taskMessage
=
idxFeignService
.
getTaskId
(
taskId
);
FeignClientResult
<
Map
<
String
,
Object
>>
taskMessage
=
idxFeignService
.
getTaskId
(
taskId
);
logger
.
info
(
"idx返回任务信息,{}"
,
JSONObject
.
toJSONString
(
taskMessage
));
logger
.
info
(
"idx返回任务信息,{}"
,
JSONObject
.
toJSONString
(
taskMessage
));
if
(
"200"
.
equals
(
String
.
valueOf
(
taskMessage
.
getStatus
()))
&&
!
ObjectUtils
.
isEmpty
(
taskMessage
))
{
if
(
"200"
.
equals
(
String
.
valueOf
(
taskMessage
.
getStatus
()))
&&
!
ObjectUtils
.
isEmpty
(
taskMessage
))
{
Object
id
=
taskMessage
.
getResult
().
get
(
"processInstanceId"
);
Object
id
=
taskMessage
.
getResult
().
get
(
"processInstanceId"
);
// 根据processInstanceId查询workFlow服务对应的taskId
// 根据processInstanceId查询workFlow服务对应的taskId
JSONObject
flowTask
=
workflowFeignService
.
getTaskId
(
String
.
valueOf
(
id
));
JSONObject
flowTask
=
workflowFeignService
.
getTaskId
(
String
.
valueOf
(
id
));
logger
.
info
(
"workFlow返回任务id,{}"
,
JSONObject
.
toJSONString
(
flowTask
));
logger
.
info
(
"workFlow返回任务id,{}"
,
JSONObject
.
toJSONString
(
flowTask
));
if
(!
ObjectUtils
.
isEmpty
(
flowTask
)
&&
!
ObjectUtils
.
isEmpty
(
flowTask
.
get
(
"data"
)))
{
if
(!
ObjectUtils
.
isEmpty
(
flowTask
)
&&
!
ObjectUtils
.
isEmpty
(
flowTask
.
get
(
"data"
)))
{
JSONObject
data
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
flowTask
.
get
(
"data"
)));
JSONObject
data
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
flowTask
.
get
(
"data"
)));
Object
id1
=
data
.
get
(
"id"
);
Object
id1
=
data
.
get
(
"id"
);
// 根据taskId查询流程节点绑定角色id
// 根据taskId查询流程节点绑定角色id
JSONObject
result
=
workflowFeignService
.
getRoleId
(
String
.
valueOf
(
id1
));
JSONObject
result
=
workflowFeignService
.
getRoleId
(
String
.
valueOf
(
id1
));
logger
.
info
(
"workFlow返回角色id,{}"
,
JSONObject
.
toJSONString
(
result
));
logger
.
info
(
"workFlow返回角色id,{}"
,
JSONObject
.
toJSONString
(
result
));
if
(!
ObjectUtils
.
isEmpty
(
result
)
&&
!
ObjectUtils
.
isEmpty
(
result
.
get
(
"result"
)))
{
if
(!
ObjectUtils
.
isEmpty
(
result
)
&&
!
ObjectUtils
.
isEmpty
(
result
.
get
(
"result"
)))
{
JSONObject
result1
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
result
.
get
(
"result"
)));
JSONObject
result1
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
result
.
get
(
"result"
)));
roleId
=
String
.
valueOf
(
result1
.
get
(
"roleId"
));
roleId
=
String
.
valueOf
(
result1
.
get
(
"roleId"
));
}
}
}
}
}
}
// 企业下所有用户(上送工作流企业整改用户参数)
// 企业下所有用户(上送工作流企业整改用户参数)
ArrayList
<
String
>
flow
=
new
ArrayList
<>();
ArrayList
<
String
>
flow
=
new
ArrayList
<>();
// 企业下所有用户(更新任务)
// 企业下所有用户(更新任务)
ArrayList
<
String
>
task
=
new
ArrayList
<>();
ArrayList
<
String
>
task
=
new
ArrayList
<>();
// 查询第一个填报信息获取企业
// 查询第一个填报信息获取企业
String
companyName
=
""
;
String
companyName
=
""
;
// 查询流程第一个节点所选择的执行企业信息
// 查询流程第一个节点所选择的执行企业信息
FeignClientResult
<
JSONObject
>
firstTask
=
idxFeignService
.
getFirstTask
(
taskId
);
FeignClientResult
<
JSONObject
>
firstTask
=
idxFeignService
.
getFirstTask
(
taskId
);
logger
.
info
(
"idx返回第一个节点任务信息,{}"
,
JSONObject
.
toJSONString
(
firstTask
));
logger
.
info
(
"idx返回第一个节点任务信息,{}"
,
JSONObject
.
toJSONString
(
firstTask
));
if
(!
ObjectUtils
.
isEmpty
(
firstTask
))
{
if
(!
ObjectUtils
.
isEmpty
(
firstTask
))
{
companyName
=
String
.
valueOf
(
firstTask
.
getResult
().
get
(
"CHECKED_COMPANY"
));
companyName
=
String
.
valueOf
(
firstTask
.
getResult
().
get
(
"CHECKED_COMPANY"
));
}
}
if
(!
ObjectUtils
.
isEmpty
(
objectMap
))
{
if
(!
ObjectUtils
.
isEmpty
(
objectMap
))
{
FeignClientResult
<
CompanyModel
>
companyModelFeignClientResult
=
Privilege
.
companyClient
.
queryByCompanyName
(
companyName
);
FeignClientResult
<
CompanyModel
>
companyModelFeignClientResult
=
Privilege
.
companyClient
.
queryByCompanyName
(
companyName
);
if
(!
ObjectUtils
.
isEmpty
(
companyModelFeignClientResult
.
getResult
())
&&
!
ObjectUtils
.
isEmpty
(
companyModelFeignClientResult
.
getResult
().
getOrgCode
()))
{
if
(!
ObjectUtils
.
isEmpty
(
companyModelFeignClientResult
.
getResult
())
&&
!
ObjectUtils
.
isEmpty
(
companyModelFeignClientResult
.
getResult
().
getOrgCode
()))
{
//FeignClientResult<Set<AgencyUserModel>> setFeignClientResult = Privilege.agencyUserClient.queryByOrgCode(companyModelFeignClientResult.getResult().getOrgCode(), null);
//FeignClientResult<Set<AgencyUserModel>> setFeignClientResult = Privilege.agencyUserClient.queryByOrgCode(companyModelFeignClientResult.getResult().getOrgCode(), null);
Long
sequenceNbr
=
companyModelFeignClientResult
.
getResult
().
getSequenceNbr
();
Long
sequenceNbr
=
companyModelFeignClientResult
.
getResult
().
getSequenceNbr
();
// 查询企业对应角色下的用户
// 查询企业对应角色下的用户
logger
.
info
(
"向privilege发送参数roleId,companyId,{},{}"
,
roleId
,
sequenceNbr
);
logger
.
info
(
"向privilege发送参数roleId,companyId,{},{}"
,
roleId
,
sequenceNbr
);
FeignClientResult
<
List
<
AgencyUserModel
>>
listFeignClientResult
=
Privilege
.
agencyUserClient
.
queryByCompanyRoles
(
sequenceNbr
,
roleId
,
null
,
null
);
FeignClientResult
<
List
<
AgencyUserModel
>>
listFeignClientResult
=
Privilege
.
agencyUserClient
.
queryByCompanyRoles
(
sequenceNbr
,
roleId
,
null
,
null
);
logger
.
info
(
"privilege返回用户信息,{}"
,
JSONObject
.
toJSONString
(
listFeignClientResult
));
logger
.
info
(
"privilege返回用户信息,{}"
,
JSONObject
.
toJSONString
(
listFeignClientResult
));
if
(!
ObjectUtils
.
isEmpty
(
listFeignClientResult
)
&&
!
ObjectUtils
.
isEmpty
(
listFeignClientResult
.
getResult
()))
{
if
(!
ObjectUtils
.
isEmpty
(
listFeignClientResult
)
&&
!
ObjectUtils
.
isEmpty
(
listFeignClientResult
.
getResult
()))
{
listFeignClientResult
.
getResult
().
forEach
(
item
->
{
listFeignClientResult
.
getResult
().
forEach
(
item
->
{
flow
.
add
(
item
.
getUserName
());
flow
.
add
(
item
.
getUserName
());
task
.
add
(
item
.
getUserId
());
task
.
add
(
item
.
getUserId
());
});
});
}
else
{
}
else
{
throw
new
BadRequest
(
"没有对应企业整改执行人!"
);
throw
new
BadRequest
(
"没有对应企业整改执行人!"
);
}
}
// if (!ObjectUtils.isEmpty(setFeignClientResult)) {
// if (!ObjectUtils.isEmpty(setFeignClientResult)) {
// setFeignClientResult.getResult().forEach(item -> {
// setFeignClientResult.getResult().forEach(item -> {
...
@@ -1009,16 +1045,16 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
...
@@ -1009,16 +1045,16 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
// task.add(item.getUserId());
// task.add(item.getUserId());
// });
// });
// }
// }
}
}
}
}
String
userIds
=
String
.
join
(
","
,
flow
);
String
userIds
=
String
.
join
(
","
,
flow
);
String
userIdsTask
=
String
.
join
(
","
,
task
);
String
userIdsTask
=
String
.
join
(
","
,
task
);
// 添加被检查企业下的人员id
// 添加被检查企业下的人员id
objectMap
.
put
(
"CHECKED_COMPANY_USERS"
,
userIds
);
objectMap
.
put
(
"CHECKED_COMPANY_USERS"
,
userIds
);
objectMap
.
put
(
"CHECKED_COMPANY_USER_ids"
,
userIdsTask
);
objectMap
.
put
(
"CHECKED_COMPANY_USER_ids"
,
userIdsTask
);
// 表单信息提交
// 表单信息提交
FeignClientResult
<
String
>
submit
=
idxFeignService
.
submit
(
pageId
,
taskId
,
planInstanceId
,
"CHECKED_COMPANY_USER_ids"
,
topic
,
tableName
,
objectMap
);
FeignClientResult
<
String
>
submit
=
idxFeignService
.
submit
(
pageId
,
taskId
,
planInstanceId
,
"CHECKED_COMPANY_USER_ids"
,
topic
,
tableName
,
objectMap
);
// if ("200".equals(String.valueOf(submit.getStatus()))) {
// if ("200".equals(String.valueOf(submit.getStatus()))) {
// JSONObject jsonObject = new JSONObject();
// JSONObject jsonObject = new JSONObject();
// jsonObject.put("title", "企业整改");
// jsonObject.put("title", "企业整改");
// jsonObject.put("userIds", userIdsTask);
// jsonObject.put("userIds", userIdsTask);
...
@@ -1028,27 +1064,28 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
...
@@ -1028,27 +1064,28 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
// //logger.info("idx执行任务更新任务返回参数,{}", JSONObject.toJSONString(jsonObjectFeignClientResult));
// //logger.info("idx执行任务更新任务返回参数,{}", JSONObject.toJSONString(jsonObjectFeignClientResult));
//
//
// }
// }
return
"ok"
;
return
"ok"
;
}
}
/***
/***
* idx通用提交接口为异步,解决任务还未创建成功时执行更新失败
* idx通用提交接口为异步,解决任务还未创建成功时执行更新失败
* @param taskId
* @param taskId
* @param object
* @param object
* @throws InterruptedException
* @throws InterruptedException
*/
*/
void
updateAmosTask
(
String
taskId
,
JSONObject
object
)
throws
InterruptedException
{
void
updateAmosTask
(
String
taskId
,
JSONObject
object
)
throws
InterruptedException
{
Thread
.
sleep
(
1000
*
2
);
Thread
.
sleep
(
1000
*
2
);
FeignClientResult
<
JSONObject
>
jsonObjectFeignClientResult
=
idxFeignService
.
updateAmosTask
(
taskId
,
object
);
FeignClientResult
<
JSONObject
>
jsonObjectFeignClientResult
=
idxFeignService
.
updateAmosTask
(
taskId
,
object
);
logger
.
info
(
"idx执行任务更新任务返回参数,{}"
,
JSONObject
.
toJSONString
(
jsonObjectFeignClientResult
));
logger
.
info
(
"idx执行任务更新任务返回参数,{}"
,
JSONObject
.
toJSONString
(
jsonObjectFeignClientResult
));
}
}
private
String
dealNull2EmptyString
(
String
t
)
{
return
StringUtils
.
isEmpty
(
t
)
?
""
:
t
;
private
String
dealNull2EmptyString
(
String
t
)
{
}
return
StringUtils
.
isEmpty
(
t
)
?
""
:
t
;
}
@Override
public
List
<
DataDictionary
>
getXkItemList
(
String
type
)
{
@Override
List
<
DataDictionary
>
dictionaries
=
this
.
initAllDataDictionaryList
();
public
List
<
DataDictionary
>
getXkItemList
(
String
type
)
{
return
dictionaries
.
stream
().
parallel
().
filter
(
d
->(
"XK-"
+
type
).
equals
(
d
.
getExtend
())).
collect
(
Collectors
.
toList
());
List
<
DataDictionary
>
dictionaries
=
this
.
initAllDataDictionaryList
();
}
return
dictionaries
.
stream
().
parallel
().
filter
(
d
->
(
"XK-"
+
type
).
equals
(
d
.
getExtend
())).
collect
(
Collectors
.
toList
());
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment