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
4be9240e
Commit
4be9240e
authored
Jan 16, 2026
by
suhuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(tcm): 启用管理
1.启用停用增加短信提醒
parent
d13daba6
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
123 additions
and
15 deletions
+123
-15
EnterpriseEnums.java
...ejoin/amos/boot/module/tcm/api/enums/EnterpriseEnums.java
+11
-0
TzBaseEnterpriseInfoController.java
...le/tcm/biz/controller/TzBaseEnterpriseInfoController.java
+11
-5
EnterpriseManageServiceImpl.java
...ule/tcm/biz/service/impl/EnterpriseManageServiceImpl.java
+57
-10
TcmCommonService.java
...os/boot/module/tcm/biz/service/impl/TcmCommonService.java
+44
-0
No files found.
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-api/src/main/java/com/yeejoin/amos/boot/module/tcm/api/enums/EnterpriseEnums.java
View file @
4be9240e
...
...
@@ -31,4 +31,15 @@ public enum EnterpriseEnums {
}
return
null
;
}
public
enum
State
{
/**
* 停用
*/
TY
,
/**
* 启用
*/
QY
}
}
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-biz/src/main/java/com/yeejoin/amos/boot/module/tcm/biz/controller/TzBaseEnterpriseInfoController.java
View file @
4be9240e
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tcm
.
biz
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.biz.common.utils.NameUtils
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
...
...
@@ -38,6 +40,7 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.servlet.http.HttpServletRequest
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
...
...
@@ -67,6 +70,7 @@ public class TzBaseEnterpriseInfoController extends BaseController {
@Autowired
private
TzBaseEnterpriseInfoMapper
tzBaseEnterpriseInfoMapper
;
/**
* 新增企业数据信息
*
...
...
@@ -188,6 +192,7 @@ public class TzBaseEnterpriseInfoController extends BaseController {
/**
* 分页查询企业信息 从jczs迁移过来
*
* @param pageParam
* @param sort
* @param map
...
...
@@ -199,7 +204,7 @@ public class TzBaseEnterpriseInfoController extends BaseController {
public
ResponseModel
<
IPage
<
TzBaseEnterpriseInfoDto
>>
getPageList
(
PageParam
pageParam
,
@RequestParam
(
value
=
"sort"
,
required
=
false
)
String
sort
,
@RequestParam
Map
<
String
,
Object
>
map
)
{
TzBaseEnterpriseInfoDto
dto
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
map
),
TzBaseEnterpriseInfoDto
.
class
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
if
(!
ValidationUtil
.
isEmpty
(
map
.
get
(
"createDateRange"
))){
if
(!
ValidationUtil
.
isEmpty
(
map
.
get
(
"createDateRange"
)))
{
String
createDateRangeObj
=
Objects
.
toString
(
map
.
get
(
"createDateRange"
));
String
[]
split
=
createDateRangeObj
.
replace
(
"["
,
""
).
replace
(
"]"
,
""
).
split
(
","
);
String
startDateStr
=
split
[
0
];
...
...
@@ -350,6 +355,7 @@ public class TzBaseEnterpriseInfoController extends BaseController {
/**
* 监管对接
*
* @param unitCode
* @return
*/
...
...
@@ -393,16 +399,16 @@ public class TzBaseEnterpriseInfoController extends BaseController {
@PutMapping
(
value
=
"/enableBatch"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"企业启用"
,
notes
=
"企业启用"
)
@RestEventTrigger
(
value
=
"operateLogRestEventHandler"
)
public
ResponseModel
<
Boolean
>
enableBatch
(
@RequestParam
String
id
s
)
{
return
ResponseHelper
.
buildResponse
(
enterpriseManageService
.
enable
(
Arrays
.
asList
(
ids
.
split
(
","
))));
public
ResponseModel
<
ReginParams
>
enableBatch
(
@RequestParam
String
ids
,
@RequestBody
(
required
=
false
)
Map
<
String
,
Object
>
param
s
)
{
return
ResponseHelper
.
buildResponse
(
enterpriseManageService
.
enable
(
Arrays
.
asList
(
ids
.
split
(
","
))
,
new
JSONObject
(
Optional
.
ofNullable
(
params
).
orElse
(
new
JSONObject
())),
getSelectedOrgInfo
()
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PutMapping
(
value
=
"/disableBatch"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"企业停用"
,
notes
=
"企业停用"
)
@RestEventTrigger
(
value
=
"operateLogRestEventHandler"
)
public
ResponseModel
<
Boolean
>
disableBatch
(
@RequestParam
String
id
s
)
{
return
ResponseHelper
.
buildResponse
(
enterpriseManageService
.
disable
(
Arrays
.
asList
(
ids
.
split
(
","
))));
public
ResponseModel
<
ReginParams
>
disableBatch
(
@RequestParam
String
ids
,
@RequestBody
(
required
=
false
)
Map
<
String
,
Object
>
param
s
)
{
return
ResponseHelper
.
buildResponse
(
enterpriseManageService
.
disable
(
Arrays
.
asList
(
ids
.
split
(
","
))
,
new
JSONObject
(
params
),
getSelectedOrgInfo
()
));
}
...
...
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/EnterpriseManageServiceImpl.java
View file @
4be9240e
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tcm
.
biz
.
service
.
impl
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.boot.biz.common.dto.CountDto
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.module.common.api.dao.EsBaseEnterpriseInfoDao
;
...
...
@@ -15,6 +18,7 @@ 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.TzsBaseIndividuality
;
import
com.yeejoin.amos.boot.module.tcm.api.entity.TzsBaseInstitution
;
import
com.yeejoin.amos.boot.module.tcm.api.enums.EnterpriseEnums
;
import
com.yeejoin.amos.boot.module.tcm.api.mapper.BaseUnitLicenceMapper
;
import
com.yeejoin.amos.boot.module.tcm.api.mapper.TzsBaseIndividualityMapper
;
import
com.yeejoin.amos.boot.module.tcm.api.mapper.TzsBaseInstitutionMapper
;
...
...
@@ -26,6 +30,7 @@ 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.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.elasticsearch.action.search.SearchRequest
;
import
org.elasticsearch.action.search.SearchResponse
;
import
org.elasticsearch.client.RequestOptions
;
...
...
@@ -47,6 +52,7 @@ import java.util.stream.Stream;
@Service
@RequiredArgsConstructor
@Slf4j
public
class
EnterpriseManageServiceImpl
{
private
final
TzsUserInfoServiceImpl
userInfoService
;
...
...
@@ -70,7 +76,7 @@ public class EnterpriseManageServiceImpl {
private
final
RegUnitInfoMapper
regUnitInfoMapper
;
private
final
TcmCommonService
commonService
;
/**
...
...
@@ -99,6 +105,7 @@ public class EnterpriseManageServiceImpl {
/**
* 冗余删除es的人员(已经前置校验数据库没人、没设备才能删除,目的防止人员的数据库和es人员索引的人员不一致)
*
* @param e 企业
*/
private
void
deleteEsUser
(
TzBaseEnterpriseInfo
e
)
{
...
...
@@ -118,7 +125,8 @@ public class EnterpriseManageServiceImpl {
*
* @param ids 企业ids
*/
public
Boolean
enable
(
List
<
String
>
ids
)
{
public
ReginParams
enable
(
List
<
String
>
ids
,
JSONObject
params
,
ReginParams
reginParams
)
{
List
<
AgencyUserModel
>
userModelsAll
=
new
ArrayList
<>();
// 校验
List
<
TzBaseEnterpriseInfo
>
enterpriseInfos
=
enterpriseInfoService
.
getBaseMapper
().
selectBatchIds
(
ids
);
// 状态校验,非停用状态不能启用
...
...
@@ -127,9 +135,11 @@ public class EnterpriseManageServiceImpl {
this
.
updateEnterpriseDeletedStatus
(
enterpriseInfo
,
false
);
// 保留防止之前勿删除了
this
.
insertEnterprise2Es
(
enterpriseInfo
);
this
.
unlockLoginAccount
(
enterpriseInfo
);
List
<
AgencyUserModel
>
userModels
=
this
.
unlockLoginAccount
(
enterpriseInfo
);
userModelsAll
.
addAll
(
userModels
);
});
return
true
;
this
.
buildAndSendSms
(
userModelsAll
,
EnterpriseEnums
.
State
.
QY
,
params
.
getString
(
"reason"
),
reginParams
);
return
reginParams
;
}
...
...
@@ -137,40 +147,77 @@ public class EnterpriseManageServiceImpl {
* 批量停用企业
*
* @param ids 企业ids
* @param params 说明等
* @param reginParams 操作人的信息
*/
public
Boolean
disable
(
List
<
String
>
ids
)
{
public
ReginParams
disable
(
List
<
String
>
ids
,
JSONObject
params
,
ReginParams
reginParams
)
{
List
<
AgencyUserModel
>
userModelsAll
=
new
ArrayList
<>();
// 校验
List
<
TzBaseEnterpriseInfo
>
enterpriseInfos
=
enterpriseInfoService
.
getBaseMapper
().
selectBatchIds
(
ids
);
// 状态校验,非启用状态不能停用
this
.
checkForDisable
(
ids
,
enterpriseInfos
);
enterpriseInfos
.
forEach
(
enterpriseInfo
->
{
this
.
updateEnterpriseDeletedStatus
(
enterpriseInfo
,
true
);
this
.
lockLoginAccount
(
enterpriseInfo
);
List
<
AgencyUserModel
>
userModels
=
this
.
lockLoginAccount
(
enterpriseInfo
);
userModelsAll
.
addAll
(
userModels
);
});
this
.
buildAndSendSms
(
userModelsAll
,
EnterpriseEnums
.
State
.
TY
,
params
.
getString
(
"reason"
),
reginParams
);
return
reginParams
;
}
private
void
buildAndSendSms
(
List
<
AgencyUserModel
>
userModelsAll
,
EnterpriseEnums
.
State
state
,
String
reason
,
ReginParams
reginParams
)
{
userModelsAll
.
forEach
(
u
->
{
Map
<
String
,
String
>
msg
=
new
HashMap
<>();
msg
.
put
(
"realName"
,
u
.
getRealName
());
msg
.
put
(
"userName"
,
u
.
getUserName
());
msg
.
put
(
"companyCode"
,
u
.
getCompanys
().
stream
().
map
(
CompanyModel:
:
getCompanyCode
).
collect
(
Collectors
.
joining
(
","
)));
msg
.
put
(
"companyName"
,
u
.
getCompanys
().
stream
().
map
(
CompanyModel:
:
getCompanyName
).
collect
(
Collectors
.
joining
(
","
)));
msg
.
put
(
"reason"
,
reason
);
msg
.
put
(
"opUserName"
,
reginParams
.
getUserModel
().
getRealName
());
msg
.
put
(
"opOrgName"
,
reginParams
.
getCompany
().
getCompanyName
());
msg
.
put
(
"opYear"
,
String
.
valueOf
(
DateUtil
.
date
().
year
()));
msg
.
put
(
"opMonth"
,
String
.
valueOf
(
DateUtil
.
date
().
month
()
+
1
));
msg
.
put
(
"opDay"
,
String
.
valueOf
(
DateUtil
.
date
().
dayOfMonth
()));
msg
.
put
(
"opHour"
,
String
.
valueOf
(
DateUtil
.
date
().
hour
(
true
)));
msg
.
put
(
"opMin"
,
String
.
valueOf
(
DateUtil
.
date
().
minute
()));
commonService
.
sendSms
(
getSmsCodeByState
(
state
),
u
.
getMobile
(),
msg
);
});
return
true
;
}
private
String
getSmsCodeByState
(
EnterpriseEnums
.
State
state
)
{
if
(
state
.
equals
(
EnterpriseEnums
.
State
.
QY
))
{
return
"SMS_QY_0001"
;
}
else
{
return
"SMS_TY_0001"
;
}
}
private
void
unlockLoginAccount
(
TzBaseEnterpriseInfo
enterpriseInfo
)
{
private
List
<
AgencyUserModel
>
unlockLoginAccount
(
TzBaseEnterpriseInfo
enterpriseInfo
)
{
CompanyModel
companyModel
=
FeignUtil
.
remoteCall
(()
->
Privilege
.
companyClient
.
queryByCompanyCode
(
enterpriseInfo
.
getUseCode
()));
List
<
AgencyUserModel
>
userModels
=
FeignUtil
.
remoteCall
(()
->
Privilege
.
agencyUserClient
.
queryByCompanyId
(
companyModel
.
getSequenceNbr
(),
null
,
null
,
false
));
if
(!
userModels
.
isEmpty
())
{
List
<
String
>
userIds
=
userModels
.
stream
().
map
(
AgencyUserModel:
:
getUserId
).
collect
(
Collectors
.
toList
());
Privilege
.
agencyUserClient
.
unlockUsers
(
String
.
join
(
","
,
userIds
));
}
userModels
.
forEach
(
e
->
e
.
setCompanys
(
Collections
.
singletonList
(
companyModel
)));
return
userModels
;
}
private
void
insertEnterprise2Es
(
TzBaseEnterpriseInfo
enterpriseInfo
)
{
refreshHandler
.
doRefresh
(
new
TzsDataRefreshMessage
().
setDataId
(
enterpriseInfo
.
getSequenceNbr
()
+
""
).
setOperation
(
DataRefreshEvent
.
Operation
.
INSERT
.
name
()));
}
private
void
lockLoginAccount
(
TzBaseEnterpriseInfo
enterpriseInfo
)
{
private
List
<
AgencyUserModel
>
lockLoginAccount
(
TzBaseEnterpriseInfo
enterpriseInfo
)
{
Set
<
String
>
userIds
=
new
HashSet
<>();
CompanyModel
companyModel
=
FeignUtil
.
remoteCall
(()
->
Privilege
.
companyClient
.
queryByCompanyCode
(
enterpriseInfo
.
getUseCode
()));
List
<
AgencyUserModel
>
userModels
=
FeignUtil
.
remoteCall
(()
->
Privilege
.
agencyUserClient
.
queryByCompanyId
(
companyModel
.
getSequenceNbr
(),
null
,
null
,
false
));
if
(!
userModels
.
isEmpty
())
{
List
<
String
>
userIds
=
userModels
.
stream
().
map
(
AgencyUserModel:
:
getUserId
).
collect
(
Collectors
.
toLis
t
());
userIds
=
userModels
.
stream
().
map
(
AgencyUserModel:
:
getUserId
).
collect
(
Collectors
.
toSe
t
());
Privilege
.
agencyUserClient
.
lockUsers
(
String
.
join
(
","
,
userIds
));
}
userModels
.
forEach
(
e
->
e
.
setCompanys
(
Collections
.
singletonList
(
companyModel
)));
return
userModels
;
}
...
...
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/TcmCommonService.java
0 → 100644
View file @
4be9240e
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tcm
.
biz
.
service
.
impl
;
import
com.yeejoin.amos.component.feign.config.InnerInvokException
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.Map
;
@Service
@Slf4j
public
class
TcmCommonService
{
/**
* 发送短信并处理结果
*/
@Async
public
void
sendSms
(
String
smsCode
,
String
mobile
,
Map
<
String
,
String
>
customSmsMap
)
{
if
(
StringUtils
.
isEmpty
(
mobile
)
||
StringUtils
.
isEmpty
(
smsCode
))
{
log
.
warn
(
"发送短信要素不完整,丢弃发送请求"
);
return
;
}
try
{
Systemctl
.
smsClient
.
sendCommonSms
(
buildSmsMap
(
smsCode
,
mobile
,
customSmsMap
));
}
catch
(
InnerInvokException
e
)
{
log
.
error
(
"消息模板:{}, 手机号:{}, 调用平台发短信失败:{}"
,
smsCode
,
mobile
,
e
.
getDevMessage
());
}
}
/**
* 构建发送短信的参数Map
*/
private
HashMap
<
String
,
String
>
buildSmsMap
(
String
smsCode
,
String
mobile
,
Map
<
String
,
String
>
customSmsMap
)
{
HashMap
<
String
,
String
>
sendSmsMap
=
new
HashMap
<>();
sendSmsMap
.
put
(
"mobile"
,
mobile
);
sendSmsMap
.
put
(
"smsCode"
,
smsCode
);
sendSmsMap
.
putAll
(
customSmsMap
);
return
sendSmsMap
;
}
}
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