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
84900566
Commit
84900566
authored
Jul 02, 2025
by
suhuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(综合搜索):增量更新
1.人员、企业、设备增量更新公共代码
parent
518c38d2
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
451 additions
and
82 deletions
+451
-82
TzsDataRefreshMessageDto.java
.../boot/module/common/api/dto/TzsDataRefreshMessageDto.java
+36
-0
TzsDataRefreshMessage.java
.../boot/module/common/api/entity/TzsDataRefreshMessage.java
+54
-0
TzsDataRefreshMessageMapper.java
...module/common/api/mapper/TzsDataRefreshMessageMapper.java
+14
-0
IDataRefreshDispatch.java
.../boot/module/common/api/service/IDataRefreshDispatch.java
+3
-3
IDataRefreshHandler.java
...s/boot/module/common/api/service/IDataRefreshHandler.java
+7
-1
ITzsDataRefreshMessageService.java
...ule/common/api/service/ITzsDataRefreshMessageService.java
+12
-0
TzsDataRefreshMessageMapper.xml
...src/main/resources/mapper/TzsDataRefreshMessageMapper.xml
+5
-0
Constants.java
...ejoin/amos/boot/module/common/biz/constats/Constants.java
+12
-0
DataRefreshEvent.java
...amos/boot/module/common/biz/refresh/DataRefreshEvent.java
+30
-3
RefreshDispatch.java
...t/module/common/biz/refresh/dispatch/RefreshDispatch.java
+18
-4
RefreshHandlerFactory.java
...ule/common/biz/refresh/factory/RefreshHandlerFactory.java
+27
-0
DataRefreshListener.java
...dule/common/biz/refresh/listener/DataRefreshListener.java
+7
-8
TzsDataRefreshMessageServiceImpl.java
...on/biz/service/impl/TzsDataRefreshMessageServiceImpl.java
+34
-0
RefreshDataUtils.java
...n/amos/boot/module/common/biz/utils/RefreshDataUtils.java
+32
-1
StatisticsDataUpdateService.java
...ot/module/jg/biz/refresh/StatisticsDataUpdateService.java
+1
-2
EquipRefreshHandler.java
...ot/module/jg/biz/refresh/handler/EquipRefreshHandler.java
+65
-47
DataHandlerServiceImpl.java
...ot/module/jg/biz/service/impl/DataHandlerServiceImpl.java
+1
-1
CommonRefreshService.java
...mos/boot/module/tcm/biz/refresh/CommonRefreshService.java
+31
-0
CommonRefreshService.java
.../module/tcm/biz/refresh/handler/CommonRefreshService.java
+0
-4
EnterpriseRefreshHandler.java
...ule/tcm/biz/refresh/handler/EnterpriseRefreshHandler.java
+2
-2
UserRefreshHandler.java
...ot/module/tcm/biz/refresh/handler/UserRefreshHandler.java
+60
-6
No files found.
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/dto/TzsDataRefreshMessageDto.java
0 → 100644
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
api
.
dto
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* @author system_generator
* @date 2025-07-02
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"TzsDataRefreshMessageDto"
,
description
=
""
)
public
class
TzsDataRefreshMessageDto
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"业务数据ID"
)
private
String
dataId
;
@ApiModelProperty
(
value
=
"数据类型"
)
private
String
dataType
;
@ApiModelProperty
(
value
=
"操作类型(INSERT/UPDATE/DELETE)"
)
private
String
operation
;
@ApiModelProperty
(
value
=
"0-待处理 1-处理中 2-处理成功 3-处理失败"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"错误描述"
)
private
String
errorMsg
;
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/entity/TzsDataRefreshMessage.java
0 → 100644
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
api
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
/**
*
*
* @author system_generator
* @date 2025-07-02
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"tzs_data_refresh_message"
)
public
class
TzsDataRefreshMessage
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 业务数据ID
*/
@TableField
(
"data_id"
)
private
String
dataId
;
/**
* 数据类型
*/
@TableField
(
"data_type"
)
private
String
dataType
;
/**
* 操作类型(INSERT/UPDATE/DELETE)
*/
@TableField
(
"operation"
)
private
String
operation
;
/**
* 1-处理中 2-处理成功 3-处理失败
*/
@TableField
(
"status"
)
private
Integer
status
;
/**
* 错误消息描述
*/
@TableField
(
"error_msg"
)
private
String
errorMsg
;
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/mapper/TzsDataRefreshMessageMapper.java
0 → 100644
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
api
.
mapper
;
import
com.yeejoin.amos.boot.module.common.api.entity.TzsDataRefreshMessage
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* Mapper 接口
*
* @author system_generator
* @date 2025-07-02
*/
public
interface
TzsDataRefreshMessageMapper
extends
BaseMapper
<
TzsDataRefreshMessage
>
{
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/service/IDataRefreshDispatch.java
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
api
.
service
;
import
com.yeejoin.amos.boot.module.common.api.
dto.TzsDataRefreshMessageDto
;
import
com.yeejoin.amos.boot.module.common.api.
entity.TzsDataRefreshMessage
;
public
interface
IDataRefresh
Service
{
public
interface
IDataRefresh
Dispatch
{
void
refresh
(
TzsDataRefreshMessageDto
message
);
void
doDispatch
(
TzsDataRefreshMessage
message
);
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/service/IDataRefreshHandler.java
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
api
.
service
;
public
interface
IDataRefresHandler
{
import
com.yeejoin.amos.boot.module.common.api.entity.TzsDataRefreshMessage
;
public
interface
IDataRefreshHandler
{
String
supportType
();
void
doRefresh
(
TzsDataRefreshMessage
message
);
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/service/ITzsDataRefreshMessageService.java
0 → 100644
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
api
.
service
;
/**
* 接口类
*
* @author system_generator
* @date 2025-07-02
*/
public
interface
ITzsDataRefreshMessageService
{
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/resources/mapper/TzsDataRefreshMessageMapper.xml
0 → 100644
View file @
84900566
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yeejoin.amos.boot.module.common.api.mapper.TzsDataRefreshMessageMapper"
>
</mapper>
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/constats/Constants.java
View file @
84900566
...
...
@@ -16,4 +16,16 @@ public class Constants {
currentStatusNameMap
.
put
(
5
,
"已完结"
);
currentStatusNameMap
.
put
(
6
,
"维修中"
);
}
/**
* 0-待处理 1-处理中 2-处理成功 3-处理失败
*/
public
static
final
Integer
REFRESH_STATUS_DEALING
=
1
;
public
static
final
Integer
REFRESH_STATUS_SUCCESS
=
2
;
public
static
final
Integer
REFRESH_STATUS_FAILURE
=
3
;
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/refresh/DataRefreshEvent.java
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
biz
.
change
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
biz
.
refresh
;
import
lombok.Getter
;
import
org.springframework.context.ApplicationEvent
;
public
class
DataChangeEvent
extends
ApplicationEvent
{
@Getter
public
class
DataRefreshEvent
extends
ApplicationEvent
{
/**
* 业务数据ID:设备record、企业的id、人员的id
*/
private
final
String
dataId
;
/**
* 数据类型
*/
private
final
String
dataType
;
/**
* 操作类型(INSERT/UPDATE/DELETE)--暂无用途
*/
private
final
Operation
operation
;
/**
* Create a new {@code ApplicationEvent}.
*
* @param source the object on which the event initially occurred or with
* which the event is associated (never {@code null})
*/
public
Data
ChangeEvent
(
Object
source
)
{
public
Data
RefreshEvent
(
Object
source
,
String
dataId
,
String
dataType
,
Operation
operation
)
{
super
(
source
);
this
.
dataId
=
dataId
;
this
.
dataType
=
dataType
;
this
.
operation
=
operation
;
}
public
enum
Operation
{
INSERT
,
UPDATE
,
DELETE
}
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/refresh/dispatch/RefreshDispatch.java
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tcm
.
biz
.
refres
h
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
biz
.
refresh
.
dispatc
h
;
import
com.yeejoin.amos.boot.module.common.api.
dto.TzsDataRefreshMessageDto
;
import
com.yeejoin.amos.boot.module.common.api.
entity.TzsDataRefreshMessage
;
import
com.yeejoin.amos.boot.module.common.api.service.IDataRefreshDispatch
;
import
com.yeejoin.amos.boot.module.common.biz.constats.Constants
;
import
com.yeejoin.amos.boot.module.common.biz.refresh.factory.RefreshHandlerFactory
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.TzsDataRefreshMessageServiceImpl
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
@Component
@RequiredArgsConstructor
public
class
Tcm
RefreshDispatch
implements
IDataRefreshDispatch
{
public
class
RefreshDispatch
implements
IDataRefreshDispatch
{
private
final
RefreshHandlerFactory
handlerFactory
;
private
final
TzsDataRefreshMessageServiceImpl
tzsDataRefreshMessageService
;
@Override
public
void
doDispatch
(
TzsDataRefreshMessageDto
message
)
{
@Async
public
void
doDispatch
(
TzsDataRefreshMessage
message
)
{
handlerFactory
.
getRefreshHandler
(
message
.
getDataType
()).
doRefresh
(
message
);
finishMessage
(
message
);
}
private
void
finishMessage
(
TzsDataRefreshMessage
message
)
{
message
.
setStatus
(
Constants
.
REFRESH_STATUS_SUCCESS
);
message
.
setRecDate
(
new
Date
());
tzsDataRefreshMessageService
.
saveOrUpdate
(
message
);
}
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/refresh/factory/RefreshHandlerFactory.java
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
biz
.
refresh
.
factory
;
import
com.yeejoin.amos.boot.module.common.api.service.IDataRefreshHandler
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Component
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
@Component
@RequiredArgsConstructor
public
class
RefreshHandlerFactory
{
private
final
List
<
IDataRefreshHandler
>
handlers
;
private
final
Map
<
String
,
IDataRefreshHandler
>
handlerMap
=
new
ConcurrentHashMap
<>();
public
IDataRefreshHandler
getRefreshHandler
(
String
dataType
)
{
return
handlerMap
.
computeIfAbsent
(
dataType
,
(
k
)
->
{
for
(
IDataRefreshHandler
handler
:
handlers
)
{
if
(
handler
.
supportType
().
equals
(
dataType
))
{
return
handler
;
}
}
throw
new
BadRequest
(
"not found refresh handler for "
+
dataType
);
});
}
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/refresh/listener/DataRefreshListener.java
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
biz
.
refresh
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
biz
.
refresh
.
listener
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.module.common.api.dto.TzsDataRefreshMessageDto
;
import
com.yeejoin.amos.boot.module.common.api.entity.TzsDataRefreshMessage
;
import
com.yeejoin.amos.boot.module.common.api.service.IDataRefreshDispatch
;
import
com.yeejoin.amos.boot.module.common.biz.constats.Constants
;
import
com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.TzsDataRefreshMessageServiceImpl
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -42,7 +42,7 @@ public class DataRefreshListener {
@TransactionalEventListener
(
value
=
DataRefreshEvent
.
class
)
@Async
public
void
onEquipCreateOrEdit
(
DataRefreshEvent
event
)
{
log
.
info
(
"收到
变更
消息:{}"
,
JSONObject
.
toJSONString
(
event
));
log
.
info
(
"收到
数据刷新
消息:{}"
,
JSONObject
.
toJSONString
(
event
));
queue
.
add
(
event
);
}
...
...
@@ -71,13 +71,12 @@ public class DataRefreshListener {
message
.
setDataId
(
event
.
getDataId
());
message
.
setDataType
(
event
.
getDataType
());
message
.
setOperation
(
event
.
getOperation
().
name
());
message
.
setStatus
(
0
);
message
.
setStatus
(
Constants
.
REFRESH_STATUS_DEALING
);
// 流程中
tzsDataRefreshMessageService
.
save
(
message
);
TzsDataRefreshMessageDto
dataRefreshMessageDto
=
BeanUtil
.
copyProperties
(
message
,
TzsDataRefreshMessageDto
.
class
);
// 2.调用更新处理
dataRefreshService
.
ifPresent
(
service
->
service
.
refresh
(
dataRefreshMessageDto
));
dataRefreshService
.
ifPresent
(
service
->
service
.
doDispatch
(
message
));
}
catch
(
Exception
e
)
{
message
.
setStatus
(
2
);
// 标记为失败
message
.
setStatus
(
Constants
.
REFRESH_STATUS_FAILURE
);
// 标记为失败
message
.
setErrorMsg
(
e
.
getMessage
());
tzsDataRefreshMessageService
.
saveOrUpdate
(
message
);
}
...
...
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/service/impl/TzsDataRefreshMessageServiceImpl.java
0 → 100644
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
biz
.
service
.
impl
;
import
com.yeejoin.amos.boot.module.common.api.entity.TzsDataRefreshMessage
;
import
com.yeejoin.amos.boot.module.common.api.mapper.TzsDataRefreshMessageMapper
;
import
com.yeejoin.amos.boot.module.common.api.service.ITzsDataRefreshMessageService
;
import
com.yeejoin.amos.boot.module.common.api.dto.TzsDataRefreshMessageDto
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
java.util.List
;
/**
* 服务实现类
*
* @author system_generator
* @date 2025-07-02
*/
@Service
public
class
TzsDataRefreshMessageServiceImpl
extends
BaseService
<
TzsDataRefreshMessageDto
,
TzsDataRefreshMessage
,
TzsDataRefreshMessageMapper
>
implements
ITzsDataRefreshMessageService
{
/**
* 分页查询
*/
public
Page
<
TzsDataRefreshMessageDto
>
queryForTzsDataRefreshMessagePage
(
Page
<
TzsDataRefreshMessageDto
>
page
)
{
return
this
.
queryForPage
(
page
,
null
,
false
);
}
/**
* 列表查询 示例
*/
public
List
<
TzsDataRefreshMessageDto
>
queryForTzsDataRefreshMessageList
()
{
return
this
.
queryForList
(
""
,
false
);
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/utils/RefreshDataUtils.java
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
biz
.
utils
;
public
class
RefreshDataUtil
{
import
com.alibaba.fastjson.JSON
;
import
java.util.List
;
public
class
RefreshDataUtils
{
/**
* 判断字符串是否为合法的 JSON 格式
*/
public
static
boolean
isJSONValid
(
String
test
)
{
try
{
JSON
.
parseArray
(
test
);
return
true
;
}
catch
(
Exception
ex
)
{
return
false
;
}
}
public
static
String
castStrList2String
(
String
jsonTypesStr
)
{
if
(!
isNullOrEmpty
(
jsonTypesStr
))
{
if
(
isJSONValid
(
jsonTypesStr
))
{
List
<
String
>
posts
=
JSON
.
parseArray
(
jsonTypesStr
,
String
.
class
);
return
String
.
join
(
","
,
posts
);
}
return
jsonTypesStr
;
}
return
null
;
}
public
static
boolean
isNullOrEmpty
(
String
str
)
{
return
str
==
null
||
str
.
trim
().
isEmpty
()
||
"null"
.
equals
(
str
);
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/refresh/StatisticsDataUpdateService.java
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
statistics
.
service
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
refresh
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson.JSON
;
...
...
@@ -7,7 +7,6 @@ import com.yeejoin.amos.boot.module.common.api.entity.ESEquipmentInfo;
import
com.yeejoin.amos.boot.module.common.biz.utils.TechParamUtil
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.backup.TechParamsBackupService
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/refresh/handler/EquipRefreshHandler.java
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tcm
.
biz
.
refresh
.
handler
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
refresh
.
handler
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.module.common.api.dao.EsBaseEnterpriseInfoDao
;
import
com.yeejoin.amos.boot.module.common.api.dao.EsUserInfoDao
;
import
com.yeejoin.amos.boot.module.common.api.entity.EsBaseEnterpriseInfo
;
import
com.yeejoin.amos.boot.module.common.api.entity.EsUserInfo
;
import
com.yeejoin.amos.boot.module.common.api.dao.EsEquipmentDao
;
import
com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto
;
import
com.yeejoin.amos.boot.module.common.api.entity.ESEquipmentInfo
;
import
com.yeejoin.amos.boot.module.common.api.entity.TzsDataRefreshMessage
;
import
com.yeejoin.amos.boot.module.common.api.service.IDataRefreshHandler
;
import
com.yeejoin.amos.boot.module.common.biz.utils.RefreshDataUtils
;
import
com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo
;
import
com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseUnitLicence
;
import
com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo
;
import
com.yeejoin.amos.boot.module.tcm.api.mapper.TzBaseEnterpriseInfoMapper
;
import
com.yeejoin.amos.boot.module.tcm.api.mapper.TzBaseUnitLicenceMapper
;
import
com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserInfoMapper
;
import
com.yeejoin.amos.boot.module.jg.biz.refresh.StatisticsDataUpdateService
;
import
com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgInspectionDetectionInfoService
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgDesignInfoServiceImpl
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgFactoryInfoServiceImpl
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgMaintenanceRecordInfoServiceImpl
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgUseInfoServiceImpl
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.*
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.CategoryOtherInfoMapper
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Component
;
import
java.time.ZoneId
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.Map
;
import
static
com
.
alibaba
.
fastjson
.
JSON
.
toJSONString
;
@Component
@RequiredArgsConstructor
public
class
CompanyRefreshHandler
implements
IDataRefreshHandler
{
private
final
EsBaseEnterpriseInfoDao
enterpriseInfoDao
;
private
final
TzBaseUnitLicenceMapper
licenceMapper
;
@Slf4j
public
class
EquipRefreshHandler
implements
IDataRefreshHandler
{
private
final
TzBaseEnterpriseInfoMapper
tzBaseEnterpriseInfoMapper
;
private
final
IdxBizJgUseInfoServiceImpl
useInfoService
;
private
final
IdxBizJgFactoryInfoServiceImpl
factoryInfoService
;
private
final
IIdxBizJgInspectionDetectionInfoService
iIdxBizJgInspectionDetectionInfoService
;
private
final
CategoryOtherInfoMapper
categoryOtherInfoMapper
;
private
final
EsEquipmentDao
esEquipmentDao
;
private
final
IdxBizJgMaintenanceRecordInfoServiceImpl
maintenanceRecordInfoService
;
private
final
IdxBizJgDesignInfoServiceImpl
idxBizJgDesignInfoServiceImpl
;
private
final
StatisticsDataUpdateService
statisticsDataUpdateService
;
private
final
TzsUserInfoMapper
userInfoMapper
;
private
final
EsUserInfoDao
esUserInfoDao
;
@Override
public
String
supportType
()
{
...
...
@@ -43,30 +51,40 @@ public class CompanyRefreshHandler implements IDataRefreshHandler {
@Override
public
void
doRefresh
(
TzsDataRefreshMessage
message
)
{
// 企业信息更新
TzBaseEnterpriseInfo
enterpriseInfo
=
tzBaseEnterpriseInfoMapper
.
selectById
(
message
.
getDataId
());
EsBaseEnterpriseInfo
esBaseEnterpriseInfo
=
new
EsBaseEnterpriseInfo
();
BeanUtil
.
copyProperties
(
enterpriseInfo
,
esBaseEnterpriseInfo
);
esBaseEnterpriseInfo
.
setSequenceNbr
(
enterpriseInfo
.
getSequenceNbr
()
+
""
);
esBaseEnterpriseInfo
.
setEquipCategory
(
RefreshDataUtils
.
castStrList2String
(
enterpriseInfo
.
getEquipCategory
()));
List
<
TzBaseUnitLicence
>
unitLicences
=
licenceMapper
.
selectList
(
new
LambdaQueryWrapper
<
TzBaseUnitLicence
>().
eq
(
TzBaseUnitLicence:
:
getUnitCode
,
enterpriseInfo
.
getUseUnitCode
()).
eq
(
TzBaseUnitLicence:
:
getIsDelete
,
false
));
List
<
EsBaseEnterpriseInfo
.
License
>
licenses
=
unitLicences
.
stream
().
map
(
lis
->
{
EsBaseEnterpriseInfo
.
License
esLicense
=
new
EsBaseEnterpriseInfo
.
License
();
BeanUtil
.
copyProperties
(
lis
,
esLicense
);
return
esLicense
;
}).
collect
(
Collectors
.
toList
());
esBaseEnterpriseInfo
.
setLicenses
(
licenses
);
enterpriseInfoDao
.
save
(
esBaseEnterpriseInfo
);
// 人员更新冗余的单位信息
List
<
TzsUserInfo
>
userOfOneUnit
=
userInfoMapper
.
selectList
(
new
LambdaQueryWrapper
<
TzsUserInfo
>().
eq
(
TzsUserInfo:
:
getUnitCode
,
enterpriseInfo
.
getUseUnitCode
()).
eq
(
BaseEntity:
:
getIsDelete
,
false
).
select
(
BaseEntity:
:
getSequenceNbr
));
Iterable
<
EsUserInfo
>
userInfosEs
=
esUserInfoDao
.
findAllById
(
userOfOneUnit
.
stream
().
map
(
u
->
String
.
valueOf
(
u
.
getSequenceNbr
())).
collect
(
Collectors
.
toList
()));
userInfosEs
.
forEach
(
esUserInfo
->
{
esUserInfo
.
setUnitType
(
esBaseEnterpriseInfo
.
getUnitType
());
esUserInfo
.
setSuperviseOrgName
(
esBaseEnterpriseInfo
.
getSuperviseOrgName
());
esUserInfo
.
setSuperviseOrgCode
(
esBaseEnterpriseInfo
.
getSuperviseOrgCode
());
});
if
(
userInfosEs
.
iterator
().
hasNext
())
{
esUserInfoDao
.
saveAll
(
userInfosEs
);
log
.
info
(
"3库数据,设备开始刷库:唯一标识:{}"
,
message
.
getDataId
());
String
record
=
message
.
getDataId
();
ESEquipmentInfo
esEquipmentInfo
=
new
ESEquipmentInfo
();
Map
<
String
,
Object
>
map
=
categoryOtherInfoMapper
.
selectDataById
(
record
);
ESEquipmentCategoryDto
categoryEs
=
JSON
.
parseObject
(
toJSONString
(
map
),
ESEquipmentCategoryDto
.
class
);
BeanUtil
.
copyProperties
(
categoryEs
,
esEquipmentInfo
);
IdxBizJgUseInfo
useInfo
=
useInfoService
.
getOne
(
new
LambdaQueryWrapper
<
IdxBizJgUseInfo
>().
eq
(
IdxBizJgUseInfo:
:
getRecord
,
record
).
select
(
IdxBizJgUseInfo:
:
getRecord
,
IdxBizJgUseInfo:
:
getCreateDate
));
IdxBizJgDesignInfo
designInfo
=
idxBizJgDesignInfoServiceImpl
.
getOne
(
new
LambdaQueryWrapper
<
IdxBizJgDesignInfo
>()
.
eq
(
IdxBizJgDesignInfo:
:
getRecord
,
record
)
.
select
(
IdxBizJgDesignInfo:
:
getRecord
,
IdxBizJgDesignInfo:
:
getDesignUnitName
,
IdxBizJgDesignInfo:
:
getDesignUnitCreditCode
));
IdxBizJgFactoryInfo
factoryInfo
=
factoryInfoService
.
getOne
(
new
LambdaQueryWrapper
<
IdxBizJgFactoryInfo
>()
.
eq
(
IdxBizJgFactoryInfo:
:
getRecord
,
record
)
.
select
(
IdxBizJgFactoryInfo:
:
getRecord
,
IdxBizJgFactoryInfo:
:
getProduceUnitCreditCode
));
IdxBizJgInspectionDetectionInfo
inspectionDetectionInfo
=
iIdxBizJgInspectionDetectionInfoService
.
queryNewestDetailByRecord
(
record
);
IdxBizJgMaintenanceRecordInfo
lastMaintenanceRecordInfo
=
maintenanceRecordInfoService
.
queryNewestDetailByRecord
(
record
);
try
{
esEquipmentInfo
.
setINSPECT_DATE
(
inspectionDetectionInfo
.
getSequenceNbr
()
!=
null
?
inspectionDetectionInfo
.
getInspectDate
().
toInstant
().
atZone
(
ZoneId
.
systemDefault
()).
toLocalDate
()
:
null
);
esEquipmentInfo
.
setNEXT_INSPECT_DATE
(
inspectionDetectionInfo
.
getSequenceNbr
()
!=
null
?
inspectionDetectionInfo
.
getNextInspectDate
().
toInstant
().
atZone
(
ZoneId
.
systemDefault
()).
toLocalDate
()
:
null
);
esEquipmentInfo
.
setCreateDate
(
useInfo
.
getCreateDate
()
!=
null
?
useInfo
.
getCreateDate
().
toInstant
().
atZone
(
ZoneId
.
systemDefault
()).
toLocalDateTime
()
:
null
);
}
catch
(
Exception
e
)
{
log
.
error
(
"时区转换失败:{}"
,
record
,
e
);
}
esEquipmentInfo
.
setDesignUnitCreditCode
(
designInfo
.
getDesignUnitCreditCode
());
esEquipmentInfo
.
setMAINTAIN_UNIT
(
lastMaintenanceRecordInfo
.
getMeUnitCreditCode
());
esEquipmentInfo
.
setMAINTAIN_UNIT_NAME
(
lastMaintenanceRecordInfo
.
getMeUnitName
());
esEquipmentInfo
.
setDesignUnitName
(
designInfo
.
getDesignUnitName
());
esEquipmentInfo
.
setProduceUnitCreditCode
(
factoryInfo
.
getProduceUnitCreditCode
());
esEquipmentInfo
.
setInspections
(
inspectionDetectionInfo
.
getSequenceNbr
()
!=
null
?
Collections
.
singletonList
(
BeanUtil
.
copyProperties
(
inspectionDetectionInfo
,
ESEquipmentInfo
.
Inspection
.
class
))
:
new
ArrayList
<>());
esEquipmentInfo
.
setMaintenances
(
lastMaintenanceRecordInfo
.
getSequenceNbr
()
!=
null
?
Collections
.
singletonList
(
BeanUtil
.
copyProperties
(
lastMaintenanceRecordInfo
,
ESEquipmentInfo
.
Maintenance
.
class
))
:
new
ArrayList
<>());
esEquipmentInfo
.
setTechParams
(
this
.
buildTechParamByEquList
(
record
,
categoryEs
.
getEQU_LIST_CODE
()));
esEquipmentDao
.
save
(
esEquipmentInfo
);
}
private
List
<
ESEquipmentInfo
.
TechParam
>
buildTechParamByEquList
(
String
record
,
String
equListCode
)
{
return
StringUtils
.
isNotEmpty
(
equListCode
)
?
statisticsDataUpdateService
.
getTechParams
(
equListCode
,
record
)
:
new
ArrayList
<>();
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/DataHandlerServiceImpl.java
View file @
84900566
...
...
@@ -40,7 +40,7 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import
com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient
;
import
com.yeejoin.amos.boot.module.jg.biz.handler.strategy.ProblemHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgInspectionDetectionInfoService
;
import
com.yeejoin.amos.boot.module.jg.biz.
statistics.service
.StatisticsDataUpdateService
;
import
com.yeejoin.amos.boot.module.jg.biz.
refresh
.StatisticsDataUpdateService
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.EquipWaitRefreshDataQualityScore
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.ProjectWaitRefreshDataQualityScore
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.RefreshDataDto
;
...
...
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-biz/src/main/java/com/yeejoin/amos/boot/module/tcm/biz/refresh/CommonRefreshService.java
0 → 100644
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tcm
.
biz
.
refresh
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yeejoin.amos.boot.module.common.api.entity.EsUserInfo
;
import
com.yeejoin.amos.boot.module.common.api.entity.TzsUserPermission
;
import
com.yeejoin.amos.boot.module.common.biz.utils.RefreshDataUtils
;
import
com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserPermissionMapper
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Service
@RequiredArgsConstructor
public
class
CommonRefreshService
{
private
final
TzsUserPermissionMapper
userPermissionMapper
;
public
List
<
EsUserInfo
.
License
>
buildUserLicenses
(
Long
sequenceNbr
)
{
List
<
TzsUserPermission
>
permissions
=
userPermissionMapper
.
selectList
(
new
LambdaQueryWrapper
<
TzsUserPermission
>().
eq
(
TzsUserPermission:
:
getUserSeq
,
sequenceNbr
));
return
permissions
.
stream
().
map
(
p
->
{
EsUserInfo
.
License
license
=
new
EsUserInfo
.
License
();
BeanUtil
.
copyProperties
(
p
,
license
);
license
.
setPermissionItem
(
RefreshDataUtils
.
castStrList2String
(
p
.
getPermissionItem
()));
license
.
setJobItem
(
RefreshDataUtils
.
castStrList2String
(
p
.
getJobItem
()));
return
license
;
}).
collect
(
Collectors
.
toList
());
}
}
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-biz/src/main/java/com/yeejoin/amos/boot/module/tcm/biz/refresh/handler/CommonRefreshService.java
deleted
100644 → 0
View file @
518c38d2
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tcm
.
biz
.
refresh
.
handler
;
public
class
CommonRefeshService
{
}
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-biz/src/main/java/com/yeejoin/amos/boot/module/tcm/biz/refresh/handler/EnterpriseRefreshHandler.java
View file @
84900566
...
...
@@ -26,7 +26,7 @@ import java.util.stream.Collectors;
@Component
@RequiredArgsConstructor
@Slf4j
public
class
Company
RefreshHandler
implements
IDataRefreshHandler
{
public
class
Enterprise
RefreshHandler
implements
IDataRefreshHandler
{
private
final
EsBaseEnterpriseInfoDao
enterpriseInfoDao
;
...
...
@@ -40,7 +40,7 @@ public class CompanyRefreshHandler implements IDataRefreshHandler {
@Override
public
String
supportType
()
{
return
"
company
"
;
return
"
enterprise
"
;
}
@Override
...
...
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-biz/src/main/java/com/yeejoin/amos/boot/module/tcm/biz/refresh/handler/UserRefreshHandler.java
View file @
84900566
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tcm
.
biz
.
refresh
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tcm
.
biz
.
refresh
.
handler
;
import
com.yeejoin.amos.boot.module.common.api.dto.TzsDataRefreshMessageDto
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.module.common.api.dao.EsUserInfoDao
;
import
com.yeejoin.amos.boot.module.common.api.entity.EsUserInfo
;
import
com.yeejoin.amos.boot.module.common.api.entity.TzsDataRefreshMessage
;
import
com.yeejoin.amos.boot.module.common.api.entity.TzsUserPermission
;
import
com.yeejoin.amos.boot.module.common.api.service.IDataRefreshHandler
;
import
com.yeejoin.amos.boot.module.common.biz.utils.RefreshDataUtils
;
import
com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo
;
import
com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo
;
import
com.yeejoin.amos.boot.module.tcm.api.mapper.TzBaseEnterpriseInfoMapper
;
import
com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserInfoMapper
;
import
com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserPermissionMapper
;
import
com.yeejoin.amos.boot.module.tcm.biz.refresh.CommonRefreshService
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.StopWatch
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Component
public
class
CompanyRefreshHandler
implements
IDataRefreshHandler
{
@Slf4j
@RequiredArgsConstructor
public
class
UserRefreshHandler
implements
IDataRefreshHandler
{
private
final
TzBaseEnterpriseInfoMapper
enterpriseInfoMapper
;
private
final
TzsUserInfoMapper
userInfoMapper
;
private
final
EsUserInfoDao
esUserInfoDao
;
private
final
CommonRefreshService
commonRefreshService
;
@Override
public
String
supportType
()
{
return
"
company
"
;
return
"
user
"
;
}
@Override
public
void
doRefresh
(
TzsDataRefreshMessageDto
message
)
{
public
void
doRefresh
(
TzsDataRefreshMessage
message
)
{
log
.
info
(
"3库数据,人员开始刷库:唯一标识:{}"
,
message
.
getDataId
());
StopWatch
watch
=
new
StopWatch
();
watch
.
start
();
TzsUserInfo
userInfo
=
userInfoMapper
.
selectById
(
message
.
getDataId
());
TzBaseEnterpriseInfo
unit
=
enterpriseInfoMapper
.
selectOne
(
new
LambdaQueryWrapper
<
TzBaseEnterpriseInfo
>()
.
select
(
BaseEntity:
:
getSequenceNbr
,
TzBaseEnterpriseInfo:
:
getUseCode
,
TzBaseEnterpriseInfo:
:
getUseUnit
,
TzBaseEnterpriseInfo:
:
getUnitType
,
TzBaseEnterpriseInfo:
:
getSuperviseOrgCode
,
TzBaseEnterpriseInfo:
:
getSuperviseOrgName
).
eq
(
BaseEntity:
:
getIsDelete
,
false
).
eq
(
TzBaseEnterpriseInfo:
:
getUseCode
,
userInfo
.
getUnitCode
()));
EsUserInfo
esUserInfo
=
new
EsUserInfo
();
BeanUtil
.
copyProperties
(
userInfo
,
esUserInfo
);
esUserInfo
.
setPost
(
RefreshDataUtils
.
castStrList2String
(
userInfo
.
getPost
()));
esUserInfo
.
setNewPost
(
RefreshDataUtils
.
castStrList2String
(
userInfo
.
getNewPost
()));
esUserInfo
.
setSubPost
(
RefreshDataUtils
.
castStrList2String
(
userInfo
.
getSubPost
()));
esUserInfo
.
setEquipType
(
RefreshDataUtils
.
castStrList2String
(
userInfo
.
getEquipType
()));
esUserInfo
.
setUnitType
(
unit
.
getUnitType
());
esUserInfo
.
setSuperviseOrgName
(
unit
.
getSuperviseOrgName
());
esUserInfo
.
setSuperviseOrgCode
(
unit
.
getSuperviseOrgCode
());
esUserInfo
.
setLicenses
(
commonRefreshService
.
buildUserLicenses
(
userInfo
.
getSequenceNbr
()));
esUserInfoDao
.
save
(
esUserInfo
);
}
}
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