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
f18ac6a3
Commit
f18ac6a3
authored
Mar 28, 2025
by
suhuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.96333数据同步,调整为全量同步,可手工触发也可定时触发
2.记录同步流水 3.同步的数据筛选条件为:电梯、已认领、有96333编码
parent
cb2ac403
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
317 additions
and
42 deletions
+317
-42
ElevatorSynLogDto.java
.../amos/boot/module/elevator/api/dto/ElevatorSynLogDto.java
+44
-0
EsElevatorDto.java
...join/amos/boot/module/elevator/api/dto/EsElevatorDto.java
+1
-1
ElevatorSynLog.java
.../amos/boot/module/elevator/api/entity/ElevatorSynLog.java
+66
-0
EsElevator.java
...join/amos/boot/module/elevator/api/entity/EsElevator.java
+7
-0
ElevatorMapper.java
.../amos/boot/module/elevator/api/mapper/ElevatorMapper.java
+4
-4
ElevatorSynLogMapper.java
...boot/module/elevator/api/mapper/ElevatorSynLogMapper.java
+14
-0
SuperviseInfoMapper.java
.../boot/module/elevator/api/mapper/SuperviseInfoMapper.java
+1
-1
IElevatorService.java
...os/boot/module/elevator/api/service/IElevatorService.java
+0
-1
IElevatorSynLogService.java
...t/module/elevator/api/service/IElevatorSynLogService.java
+12
-0
ElevatorMapper.xml
...le-96333-api/src/main/resources/mapper/ElevatorMapper.xml
+1
-2
ElevatorSynLogMapper.xml
...33-api/src/main/resources/mapper/ElevatorSynLogMapper.xml
+5
-0
SupervisionInfoMapper.xml
...3-api/src/main/resources/mapper/SupervisionInfoMapper.xml
+1
-1
ElevatorController.java
...ot/module/elevator/biz/controller/ElevatorController.java
+8
-7
ESElavtorRepository.java
...mos/boot/module/elevator/biz/dao/ESElavtorRepository.java
+3
-0
SynElevator2EsJob.java
.../amos/boot/module/elevator/biz/job/SynElevator2EsJob.java
+84
-3
ESElevatorServiceImpl.java
...dule/elevator/biz/service/impl/ESElevatorServiceImpl.java
+16
-8
ElevatorServiceImpl.java
...module/elevator/biz/service/impl/ElevatorServiceImpl.java
+0
-13
ElevatorSynLogServiceImpl.java
.../elevator/biz/service/impl/ElevatorSynLogServiceImpl.java
+49
-0
EquipmentCategoryServiceImpl.java
...evator/biz/service/impl/EquipmentCategoryServiceImpl.java
+1
-1
No files found.
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/dto/ElevatorSynLogDto.java
0 → 100644
View file @
f18ac6a3
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
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
;
import
java.util.Date
;
/**
* @author system_generator
* @date 2025-03-28
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"ElevatorSynLogDto"
,
description
=
""
)
public
class
ElevatorSynLogDto
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"同步日期"
)
private
Date
synDate
;
@ApiModelProperty
(
value
=
"同步时间"
)
private
Date
synTime
;
@ApiModelProperty
(
value
=
"同步前数量"
)
private
Long
beforeNum
;
@ApiModelProperty
(
value
=
"同步后数量"
)
private
Long
afterNum
;
@ApiModelProperty
(
value
=
"删除的数量"
)
private
Long
deleteNum
;
@ApiModelProperty
(
value
=
"版本号"
)
private
Long
version
;
@ApiModelProperty
(
value
=
"备注"
)
private
String
remark
;
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/dto/EsElevatorDto.java
View file @
f18ac6a3
...
@@ -24,7 +24,7 @@ public class EsElevatorDto {
...
@@ -24,7 +24,7 @@ public class EsElevatorDto {
* 电梯id
* 电梯id
*/
*/
@ApiModelProperty
(
value
=
"电梯id"
)
@ApiModelProperty
(
value
=
"电梯id"
)
private
Lo
ng
sequenceNbr
;
private
Stri
ng
sequenceNbr
;
/**
/**
* 注册编码
* 注册编码
...
...
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/entity/ElevatorSynLog.java
0 → 100644
View file @
f18ac6a3
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
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-03-28
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"tz_elevator_syn_log"
)
public
class
ElevatorSynLog
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 同步日期
*/
@TableField
(
"syn_date"
)
private
Date
synDate
;
/**
* 同步时间
*/
@TableField
(
"syn_time"
)
private
Date
synTime
;
/**
* 同步前数量
*/
@TableField
(
"before_num"
)
private
Long
beforeNum
;
/**
* 同步后数量
*/
@TableField
(
"after_num"
)
private
Long
afterNum
;
/**
* 删除的数量
*/
@TableField
(
"delete_num"
)
private
Long
deleteNum
;
/**
* 版本号
*/
@TableField
(
"version"
)
private
Long
version
;
/**
* 备注
*/
@TableField
(
"remark"
)
private
String
remark
;
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/entity/EsElevator.java
View file @
f18ac6a3
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
api
.
entity
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
api
.
entity
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
import
org.elasticsearch.common.geo.GeoPoint
;
import
org.elasticsearch.common.geo.GeoPoint
;
...
@@ -89,4 +90,10 @@ public class EsElevator {
...
@@ -89,4 +90,10 @@ public class EsElevator {
@Field
(
type
=
FieldType
.
Text
)
@Field
(
type
=
FieldType
.
Text
)
private
String
innerNum
;
private
String
innerNum
;
/**
* 版本号
*/
@Field
(
type
=
FieldType
.
Long
)
private
Long
version
;
}
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/mapper/ElevatorMapper.java
View file @
f18ac6a3
...
@@ -7,8 +7,6 @@ import com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorDtoNew;
...
@@ -7,8 +7,6 @@ import com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorDtoNew;
import
com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorMessageDto
;
import
com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorMessageDto
;
import
com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorWlInfoDto
;
import
com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorWlInfoDto
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.Elevator
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.Elevator
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.TzBaseEnterpriseInfo
;
import
org.apache.ibatis.annotations.MapKey
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
org.apache.ibatis.annotations.Select
;
...
@@ -74,8 +72,10 @@ public interface ElevatorMapper extends BaseMapper<Elevator> {
...
@@ -74,8 +72,10 @@ public interface ElevatorMapper extends BaseMapper<Elevator> {
/**
/**
* 查询未同步到es的电梯:已纳管且有96333且有使用登记证
* 查询未同步到es的电梯:已纳管且有96333且有使用登记证
* @param page 分页对象
*
* @param page 分页对象
* @param versionNum
* @return 电梯结果分页对象
* @return 电梯结果分页对象
*/
*/
Page
<
Map
<
String
,
Object
>>
selectElevatorOfIntoManage
(
Page
<
Map
<
String
,
Object
>>
page
);
Page
<
Map
<
String
,
Object
>>
selectElevatorOfIntoManage
(
Page
<
Map
<
String
,
Object
>>
page
,
@Param
(
"versionNum"
)
Long
versionNum
);
}
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/mapper/ElevatorSynLogMapper.java
0 → 100644
View file @
f18ac6a3
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.ElevatorSynLog
;
/**
* Mapper 接口
*
* @author system_generator
* @date 2025-03-28
*/
public
interface
ElevatorSynLogMapper
extends
BaseMapper
<
ElevatorSynLog
>
{
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/mapper/SuperviseInfoMapper.java
View file @
f18ac6a3
...
@@ -15,7 +15,7 @@ import java.util.Map;
...
@@ -15,7 +15,7 @@ import java.util.Map;
*/
*/
public
interface
SuperviseInfoMapper
extends
BaseMapper
<
SuperviseInfo
>
{
public
interface
SuperviseInfoMapper
extends
BaseMapper
<
SuperviseInfo
>
{
void
updateRecordBatch
(
@Param
(
"recordList"
)
List
<
String
>
recordList
);
void
updateRecordBatch
(
@Param
(
"recordList"
)
List
<
String
>
recordList
,
@Param
(
"version"
)
Long
version
);
List
<
Map
<
String
,
Object
>>
selectUnitCodeList
(
@Param
(
"records"
)
List
<
String
>
records
);
List
<
Map
<
String
,
Object
>>
selectUnitCodeList
(
@Param
(
"records"
)
List
<
String
>
records
);
List
<
String
>
selectSuperviseCodeList
(
@Param
(
"records"
)
List
<
String
>
records
);
List
<
String
>
selectSuperviseCodeList
(
@Param
(
"records"
)
List
<
String
>
records
);
...
...
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/service/IElevatorService.java
View file @
f18ac6a3
...
@@ -52,5 +52,4 @@ public interface IElevatorService extends IService<Elevator> {
...
@@ -52,5 +52,4 @@ public interface IElevatorService extends IService<Elevator> {
Map
<
String
,
Object
>
selectUseUnitByAlertId
(
String
sequenceNbr
);
Map
<
String
,
Object
>
selectUseUnitByAlertId
(
String
sequenceNbr
);
Long
esInsert
();
}
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/service/IElevatorSynLogService.java
0 → 100644
View file @
f18ac6a3
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
api
.
service
;
/**
* 接口类
*
* @author system_generator
* @date 2025-03-28
*/
public
interface
IElevatorSynLogService
{
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/resources/mapper/ElevatorMapper.xml
View file @
f18ac6a3
...
@@ -601,9 +601,8 @@
...
@@ -601,9 +601,8 @@
WHERE
WHERE
jri.EQU_LIST = '3000'
jri.EQU_LIST = '3000'
AND joi.CLAIM_STATUS = '已认领'
AND joi.CLAIM_STATUS = '已认领'
AND jui.IS_NOT_ELEV is null
and jui.IS_NOT_ELEV IS DISTINCT FROM #{versionNum}
and joi."CODE96333"
<![CDATA[<>]]>
''
and joi."CODE96333"
<![CDATA[<>]]>
''
and jri."USE_ORG_CODE"
<![CDATA[<>]]>
''
ORDER BY jui.REC_DATE
ORDER BY jui.REC_DATE
</select>
</select>
</mapper>
</mapper>
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/resources/mapper/ElevatorSynLogMapper.xml
0 → 100644
View file @
f18ac6a3
<?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.elevator.api.mapper.ElevatorSynLogMapper"
>
</mapper>
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/resources/mapper/SupervisionInfoMapper.xml
View file @
f18ac6a3
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<mapper
namespace=
"com.yeejoin.amos.boot.module.elevator.api.mapper.SuperviseInfoMapper"
>
<mapper
namespace=
"com.yeejoin.amos.boot.module.elevator.api.mapper.SuperviseInfoMapper"
>
<update
id=
"updateRecordBatch"
>
<update
id=
"updateRecordBatch"
>
UPDATE idx_biz_jg_use_info SET "IS_NOT_ELEV" =
1
WHERE "RECORD" IN
UPDATE idx_biz_jg_use_info SET "IS_NOT_ELEV" =
#{version}
WHERE "RECORD" IN
<foreach
collection=
"recordList"
separator=
","
item=
"record"
open=
"("
close=
")"
>
<foreach
collection=
"recordList"
separator=
","
item=
"record"
open=
"("
close=
")"
>
#{record}
#{record}
</foreach>
</foreach>
...
...
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-biz/src/main/java/com/yeejoin/amos/boot/module/elevator/biz/controller/ElevatorController.java
View file @
f18ac6a3
...
@@ -21,6 +21,7 @@ import com.yeejoin.amos.boot.module.elevator.api.entity.TestInfo;
...
@@ -21,6 +21,7 @@ import com.yeejoin.amos.boot.module.elevator.api.entity.TestInfo;
import
com.yeejoin.amos.boot.module.elevator.api.mapper.ElevatorMapper
;
import
com.yeejoin.amos.boot.module.elevator.api.mapper.ElevatorMapper
;
import
com.yeejoin.amos.boot.module.elevator.api.service.IElevatorRelationService
;
import
com.yeejoin.amos.boot.module.elevator.api.service.IElevatorRelationService
;
import
com.yeejoin.amos.boot.module.elevator.api.service.IElevatorService
;
import
com.yeejoin.amos.boot.module.elevator.api.service.IElevatorService
;
import
com.yeejoin.amos.boot.module.elevator.biz.job.SynElevator2EsJob
;
import
com.yeejoin.amos.boot.module.elevator.biz.service.impl.ESElevatorServiceImpl
;
import
com.yeejoin.amos.boot.module.elevator.biz.service.impl.ESElevatorServiceImpl
;
import
com.yeejoin.amos.boot.module.elevator.biz.service.impl.ElevatorServiceImpl
;
import
com.yeejoin.amos.boot.module.elevator.biz.service.impl.ElevatorServiceImpl
;
import
com.yeejoin.amos.boot.module.elevator.biz.service.impl.MaintainInfoServiceImpl
;
import
com.yeejoin.amos.boot.module.elevator.biz.service.impl.MaintainInfoServiceImpl
;
...
@@ -100,12 +101,12 @@ public class ElevatorController extends BaseController {
...
@@ -100,12 +101,12 @@ public class ElevatorController extends BaseController {
private
ElevatorMapper
elevatorMapper
;
private
ElevatorMapper
elevatorMapper
;
@Autowired
@Autowired
DataDictionaryServiceImpl
iDataDictionaryService
;
@Autowired
private
RedisUtil
redisUtil
;
private
RedisUtil
redisUtil
;
private
static
final
String
STREET
=
"STREET"
;
private
static
final
String
STREET
=
"STREET"
;
@Autowired
private
SynElevator2EsJob
synElevator2EsJob
;
/**
/**
* 新增电梯
* 新增电梯
*
*
...
@@ -474,7 +475,7 @@ public class ElevatorController extends BaseController {
...
@@ -474,7 +475,7 @@ public class ElevatorController extends BaseController {
for
(
int
i
=
0
;
i
<=
times
;
i
++
)
{
for
(
int
i
=
0
;
i
<=
times
;
i
++
)
{
List
<
Map
<
String
,
Object
>>
mapList
=
iElevatorService
.
selectElevatorEsList
(
0
,
1000
);
List
<
Map
<
String
,
Object
>>
mapList
=
iElevatorService
.
selectElevatorEsList
(
0
,
1000
);
if
(!
ObjectUtils
.
isEmpty
(
mapList
)){
if
(!
ObjectUtils
.
isEmpty
(
mapList
)){
esElevatorService
.
saveEsElevator2ES
(
mapList
);
//
esElevatorService.saveEsElevator2ES(mapList);
}
}
// for (Elevator el:elevatorPage.getRecords()
// for (Elevator el:elevatorPage.getRecords()
// ) {
// ) {
...
@@ -651,14 +652,14 @@ public class ElevatorController extends BaseController {
...
@@ -651,14 +652,14 @@ public class ElevatorController extends BaseController {
/**
/**
*
*
* @return
成功处理条数
* @return
是否成功
*/
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@RequestMapping
(
value
=
"/v1/es/insert"
,
method
=
RequestMethod
.
PUT
)
@RequestMapping
(
value
=
"/v1/es/insert"
,
method
=
RequestMethod
.
PUT
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"电梯信息放入es"
,
notes
=
"电梯信息放入es"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"电梯信息放入es"
,
notes
=
"电梯信息放入es"
)
public
ResponseModel
<
String
>
esInsert
()
{
public
ResponseModel
<
String
>
esInsert
()
{
Long
total
=
iElevatorService
.
esInsert
();
synElevator2EsJob
.
synElevator2Es
();
return
ResponseHelper
.
buildResponse
(
"success
insert: "
+
total
);
return
ResponseHelper
.
buildResponse
(
"success
"
);
}
}
}
}
...
...
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-biz/src/main/java/com/yeejoin/amos/boot/module/elevator/biz/dao/ESElavtorRepository.java
View file @
f18ac6a3
...
@@ -11,4 +11,7 @@ import org.springframework.stereotype.Repository;
...
@@ -11,4 +11,7 @@ import org.springframework.stereotype.Repository;
@Repository
@Repository
public
interface
ESElavtorRepository
extends
PagingAndSortingRepository
<
EsElevator
,
Long
>
{
public
interface
ESElavtorRepository
extends
PagingAndSortingRepository
<
EsElevator
,
Long
>
{
Long
countByVersion
(
Long
version
);
void
deleteByVersionIsNot
(
Long
version
);
}
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-biz/src/main/java/com/yeejoin/amos/boot/module/elevator/biz/job/SynElevator2EsJob.java
View file @
f18ac6a3
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
biz
.
job
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
biz
.
job
;
import
com.yeejoin.amos.boot.module.elevator.api.service.IElevatorService
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.ElevatorSynLog
;
import
com.yeejoin.amos.boot.module.elevator.api.mapper.ElevatorMapper
;
import
com.yeejoin.amos.boot.module.elevator.biz.service.impl.ESElevatorServiceImpl
;
import
com.yeejoin.amos.boot.module.elevator.biz.service.impl.ElevatorSynLogServiceImpl
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
net.javacrumbs.shedlock.spring.annotation.SchedulerLock
;
import
net.javacrumbs.shedlock.spring.annotation.SchedulerLock
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.StopWatch
;
import
java.util.List
;
import
java.util.Map
;
@Component
@Component
@RequiredArgsConstructor
@RequiredArgsConstructor
@Slf4j
public
class
SynElevator2EsJob
{
public
class
SynElevator2EsJob
{
private
final
IElevatorService
iElevatorService
;
private
final
ElevatorMapper
elevatorMapper
;
private
final
ESElevatorServiceImpl
esElevatorService
;
private
final
ElevatorSynLogServiceImpl
elevatorSynLogService
;
@Scheduled
(
cron
=
"${elevator.syn.insert.job.cron:0 0 2 * * ?}"
)
@Scheduled
(
cron
=
"${elevator.syn.insert.job.cron:0 0 2 * * ?}"
)
@SchedulerLock
(
name
=
"synElevator2Es"
,
lockAtMostFor
=
"PT1H"
)
@SchedulerLock
(
name
=
"synElevator2Es"
,
lockAtMostFor
=
"PT1H"
)
public
void
synElevator2Es
()
{
public
void
synElevator2Es
()
{
iElevatorService
.
esInsert
();
// 1.获取最新版本号及创建/更新当天的同步日志
StopWatch
stopWatch
=
new
StopWatch
();
stopWatch
.
start
();
ElevatorSynLog
synLog
=
getOrCreateSynLog
();
// 2.循环写入或者更新数据
Page
<
Map
<
String
,
Object
>>
page
=
new
Page
<>(
0
,
1000
);
page
=
elevatorMapper
.
selectElevatorOfIntoManage
(
page
,
synLog
.
getVersion
());
long
allPages
=
page
.
getPages
();
while
(
allPages
>
0
)
{
allPages
--;
Page
<
Map
<
String
,
Object
>>
result
=
elevatorMapper
.
selectElevatorOfIntoManage
(
page
,
synLog
.
getVersion
());
List
<
Map
<
String
,
Object
>>
elevators
=
result
.
getRecords
();
esElevatorService
.
saveEsElevator2ES
(
elevators
,
synLog
.
getVersion
());
}
// 3.非最新版本号es索引数据删除及更新同步日志
this
.
clearNoUsingEsDataAndUpLog
(
synLog
);
stopWatch
.
stop
();
log
.
info
(
"本次同步数据耗时:{}秒,数据详情:{}"
,
stopWatch
.
getTotalTimeSeconds
(),
JSONObject
.
toJSONString
(
synLog
));
}
/**
* 清除不满足条件的电梯及更新同步日志
*
* @param synLog 同步日志
*/
private
void
clearNoUsingEsDataAndUpLog
(
ElevatorSynLog
synLog
)
{
synLog
.
setAfterNum
(
esElevatorService
.
getESElavtorRepository
().
countByVersion
(
synLog
.
getVersion
()));
// 删掉非最新版本号数据
esElevatorService
.
getESElavtorRepository
().
deleteByVersionIsNot
(
synLog
.
getVersion
());
synLog
.
setDeleteNum
(
synLog
.
getBeforeNum
()
-
synLog
.
getAfterNum
());
elevatorSynLogService
.
updateById
(
synLog
);
}
private
ElevatorSynLog
getOrCreateSynLog
()
{
// 兼容处理 支持本天同步多次也支持按照天同步, 当天有记录则使用当天的版本号,否则按照最近日期取版本号
ElevatorSynLog
daySynLog
=
elevatorSynLogService
.
getOneBySynDate
(
DateUtil
.
date
());
if
(
daySynLog
==
null
)
{
// 当天第一次同步逻辑
daySynLog
=
new
ElevatorSynLog
();
daySynLog
.
setSynDate
(
DateUtil
.
date
());
daySynLog
.
setSynTime
(
DateUtil
.
date
());
setIntStatisNum
(
daySynLog
);
setVersion
(
daySynLog
);
elevatorSynLogService
.
save
(
daySynLog
);
}
else
{
// 当天非首次同步逻辑
daySynLog
.
setBeforeNum
(
esElevatorService
.
getESElavtorRepository
().
count
());
daySynLog
.
setVersion
(
daySynLog
.
getVersion
()
+
1
);
daySynLog
.
setSynTime
(
DateUtil
.
date
());
elevatorSynLogService
.
updateById
(
daySynLog
);
return
daySynLog
;
}
return
daySynLog
;
}
private
void
setVersion
(
ElevatorSynLog
synLog
)
{
ElevatorSynLog
lastDaySynLog
=
elevatorSynLogService
.
getOneBySynDateLess
(
DateUtil
.
date
());
if
(
lastDaySynLog
!=
null
)
{
synLog
.
setVersion
(
lastDaySynLog
.
getVersion
()
==
null
?
1
:
lastDaySynLog
.
getVersion
()
+
1
);
}
else
{
synLog
.
setVersion
(
1L
);
}
}
private
void
setIntStatisNum
(
ElevatorSynLog
synLog
)
{
synLog
.
setAfterNum
(
0L
);
synLog
.
setDeleteNum
(
0L
);
synLog
.
setBeforeNum
(
esElevatorService
.
getESElavtorRepository
().
count
());
}
}
}
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-biz/src/main/java/com/yeejoin/amos/boot/module/elevator/biz/service/impl/ESElevatorServiceImpl.java
View file @
f18ac6a3
...
@@ -125,6 +125,10 @@ public class ESElevatorServiceImpl {
...
@@ -125,6 +125,10 @@ public class ESElevatorServiceImpl {
// }
// }
public
ESElavtorRepository
getESElavtorRepository
(){
return
esElavtorRepository
;
};
/**
/**
* 根据关键字查询文档,关键字不为空时按相关性从大到小排序
* 根据关键字查询文档,关键字不为空时按相关性从大到小排序
*
*
...
@@ -138,7 +142,7 @@ public class ESElevatorServiceImpl {
...
@@ -138,7 +142,7 @@ public class ESElevatorServiceImpl {
String
address
=
elevatorDto
.
getAddress
();
String
address
=
elevatorDto
.
getAddress
();
String
regionCode
=
elevatorDto
.
getRegionCode
();
String
regionCode
=
elevatorDto
.
getRegionCode
();
String
alertId
=
elevatorDto
.
getAlertId
();
String
alertId
=
elevatorDto
.
getAlertId
();
Lo
ng
equipmentId
=
elevatorDto
.
getSequenceNbr
();
Stri
ng
equipmentId
=
elevatorDto
.
getSequenceNbr
();
/**
/**
* 通用匹配规则,条件构建
* 通用匹配规则,条件构建
...
@@ -586,17 +590,23 @@ public class ESElevatorServiceImpl {
...
@@ -586,17 +590,23 @@ public class ESElevatorServiceImpl {
return
result
;
return
result
;
}
}
public
void
saveEsElevator2ES
(
List
<
Map
<
String
,
Object
>>
elevatorList
)
{
public
void
saveEsElevator2ES
(
List
<
Map
<
String
,
Object
>>
elevatorList
,
Long
version
)
{
StopWatch
watch
=
new
StopWatch
();
watch
.
start
();
List
<
EsElevator
>
esElevatorList
=
new
ArrayList
<>();
List
<
EsElevator
>
esElevatorList
=
new
ArrayList
<>();
List
<
String
>
recordList
=
new
ArrayList
<>();
List
<
String
>
recordList
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
map
:
elevatorList
)
{
for
(
Map
<
String
,
Object
>
map
:
elevatorList
)
{
EsElevator
esElevator
=
new
EsElevator
();
EsElevator
esElevator
=
new
EsElevator
();
// 维度
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"longitude"
)))
{
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"longitude"
)))
{
esElevator
.
setLongitude
(
Double
.
parseDouble
(
String
.
valueOf
(
map
.
get
(
"longitude"
))));
esElevator
.
setLongitude
(
Double
.
parseDouble
(
String
.
valueOf
(
map
.
get
(
"longitude"
))));
}
}
// 经度
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"latitude"
)))
{
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"latitude"
)))
{
esElevator
.
setLatitude
(
Double
.
parseDouble
(
String
.
valueOf
(
map
.
get
(
"latitude"
))));
esElevator
.
setLatitude
(
Double
.
parseDouble
(
String
.
valueOf
(
map
.
get
(
"latitude"
))));
}
}
esElevator
.
setVersion
(
version
);
esElevator
.
setAddress
(
String
.
valueOf
(
map
.
get
(
"address"
)));
esElevator
.
setAddress
(
String
.
valueOf
(
map
.
get
(
"address"
)));
esElevator
.
setCity
(
String
.
valueOf
(
map
.
get
(
"city"
)));
esElevator
.
setCity
(
String
.
valueOf
(
map
.
get
(
"city"
)));
esElevator
.
setDistrict
(
String
.
valueOf
(
map
.
get
(
"district"
)));
esElevator
.
setDistrict
(
String
.
valueOf
(
map
.
get
(
"district"
)));
...
@@ -608,21 +618,19 @@ public class ESElevatorServiceImpl {
...
@@ -608,21 +618,19 @@ public class ESElevatorServiceImpl {
esElevator
.
setInnerNum
(
String
.
valueOf
(
map
.
get
(
"innerNum"
)));
esElevator
.
setInnerNum
(
String
.
valueOf
(
map
.
get
(
"innerNum"
)));
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"longitude"
))
&&
!
ObjectUtils
.
isEmpty
(
map
.
get
(
"latitude"
)))
{
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"longitude"
))
&&
!
ObjectUtils
.
isEmpty
(
map
.
get
(
"latitude"
)))
{
Double
lat
=
Double
.
parseDouble
(
String
.
valueOf
(
map
.
get
(
"latitude"
)));
Double
lat
=
Double
.
parseDouble
(
String
.
valueOf
(
map
.
get
(
"latitude"
)));
Double
lon
=
Double
.
parseDouble
(
String
.
valueOf
(
map
.
get
(
"l
at
itude"
)));
Double
lon
=
Double
.
parseDouble
(
String
.
valueOf
(
map
.
get
(
"l
ong
itude"
)));
esElevator
.
setLocation
(
new
GeoPoint
(
lat
,
lon
));
esElevator
.
setLocation
(
new
GeoPoint
(
lat
,
lon
));
}
}
esElevatorList
.
add
(
esElevator
);
esElevatorList
.
add
(
esElevator
);
recordList
.
add
(
String
.
valueOf
(
map
.
get
(
"sequenceNbr"
)));
recordList
.
add
(
String
.
valueOf
(
map
.
get
(
"sequenceNbr"
)));
}
}
StopWatch
watch
=
new
StopWatch
();
watch
.
start
();
esElavtorRepository
.
saveAll
(
esElevatorList
);
esElavtorRepository
.
saveAll
(
esElevatorList
);
watch
.
stop
();
log
.
info
(
"批量存入es:【{}】条,耗时:{} 毫秒"
,
elevatorList
.
size
(),
watch
.
getTotalTimeSeconds
());
StopWatch
watch2
=
new
StopWatch
();
StopWatch
watch2
=
new
StopWatch
();
watch2
.
start
();
watch2
.
start
();
superviseInfoMapper
.
updateRecordBatch
(
recordList
);
superviseInfoMapper
.
updateRecordBatch
(
recordList
,
version
);
watch2
.
stop
();
watch2
.
stop
();
log
.
info
(
"批量更新:【{}】条业务数据,耗时:{} 毫秒"
,
elevatorList
.
size
(),
watch2
.
getTotalTimeSeconds
());
log
.
info
(
"批量更新:【{}】条业务数据,耗时:{} 毫秒"
,
elevatorList
.
size
(),
watch2
.
getTotalTimeSeconds
());
watch
.
stop
();
log
.
info
(
"创建电梯索引数据整体耗时:【{}】条业务数据,耗时:{} 毫秒"
,
elevatorList
.
size
(),
watch
.
getTotalTimeSeconds
());
}
}
}
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-biz/src/main/java/com/yeejoin/amos/boot/module/elevator/biz/service/impl/ElevatorServiceImpl.java
View file @
f18ac6a3
...
@@ -330,19 +330,6 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev
...
@@ -330,19 +330,6 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev
return
elevatorMapper
.
selectUseUnitByAlertId
(
sequenceNbr
);
return
elevatorMapper
.
selectUseUnitByAlertId
(
sequenceNbr
);
}
}
@Override
public
Long
esInsert
()
{
Page
<
Map
<
String
,
Object
>>
page
=
new
Page
<>(
0
,
1000
);
page
=
elevatorMapper
.
selectElevatorOfIntoManage
(
page
);
long
allPages
=
page
.
getPages
();
while
(
allPages
>
0
){
allPages
--;
Page
<
Map
<
String
,
Object
>>
result
=
elevatorMapper
.
selectElevatorOfIntoManage
(
page
);
List
<
Map
<
String
,
Object
>>
elevators
=
result
.
getRecords
();
esElevatorService
.
saveEsElevator2ES
(
elevators
);
}
return
page
.
getTotal
();
}
@Override
@Override
public
Page
<
Map
<
String
,
Object
>>
selectElevators
(
Page
<
Map
<
String
,
Object
>>
page
,
ElevatorDto
dto
)
{
public
Page
<
Map
<
String
,
Object
>>
selectElevators
(
Page
<
Map
<
String
,
Object
>>
page
,
ElevatorDto
dto
)
{
...
...
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-biz/src/main/java/com/yeejoin/amos/boot/module/elevator/biz/service/impl/ElevatorSynLogServiceImpl.java
0 → 100644
View file @
f18ac6a3
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
biz
.
service
.
impl
;
import
cn.hutool.core.date.DateUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorSynLogDto
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.ElevatorSynLog
;
import
com.yeejoin.amos.boot.module.elevator.api.mapper.ElevatorSynLogMapper
;
import
com.yeejoin.amos.boot.module.elevator.api.service.IElevatorSynLogService
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
java.util.Date
;
/**
* 服务实现类
*
* @author system_generator
* @date 2025-03-28
*/
@Service
public
class
ElevatorSynLogServiceImpl
extends
BaseService
<
ElevatorSynLogDto
,
ElevatorSynLog
,
ElevatorSynLogMapper
>
implements
IElevatorSynLogService
{
/**
* 指定日期的更新日志
* @param synDate 指定日期
* @return 指定日期的同步记录
*/
public
ElevatorSynLog
getOneBySynDate
(
Date
synDate
)
{
LambdaQueryWrapper
<
ElevatorSynLog
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
ElevatorSynLog:
:
getSynDate
,
DateUtil
.
formatDate
(
synDate
));
return
this
.
getOne
(
queryWrapper
);
}
/**
* 获取最近的小于指定日期的最新日志
* @param synDate 指定日期
* @return 指定日期最近的同步记录
*/
public
ElevatorSynLog
getOneBySynDateLess
(
Date
synDate
)
{
LambdaQueryWrapper
<
ElevatorSynLog
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
le
(
ElevatorSynLog:
:
getSynDate
,
DateUtil
.
formatDate
(
synDate
));
queryWrapper
.
select
(
BaseEntity:
:
getSequenceNbr
,
ElevatorSynLog:
:
getVersion
);
queryWrapper
.
last
(
"limit 1"
);
return
this
.
getOne
(
queryWrapper
);
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-biz/src/main/java/com/yeejoin/amos/boot/module/elevator/biz/service/impl/EquipmentCategoryServiceImpl.java
View file @
f18ac6a3
...
@@ -1168,7 +1168,7 @@ public class EquipmentCategoryServiceImpl extends BaseService<EquipmentCategoryD
...
@@ -1168,7 +1168,7 @@ public class EquipmentCategoryServiceImpl extends BaseService<EquipmentCategoryD
System
.
out
.
println
(
"批量存入es1000条数据耗时:"
+
cost
);
System
.
out
.
println
(
"批量存入es1000条数据耗时:"
+
cost
);
long
start1
=
System
.
currentTimeMillis
();
long
start1
=
System
.
currentTimeMillis
();
superviseInfoMapper
.
updateRecordBatch
(
recordList
);
// superviseInfoMapper.updateRecordBatch(recordList, version
);
long
end1
=
System
.
currentTimeMillis
();
long
end1
=
System
.
currentTimeMillis
();
long
cost1
=
end1
-
start1
;
long
cost1
=
end1
-
start1
;
System
.
out
.
println
(
"批量更新1000条业务数据耗时:"
+
cost1
);
System
.
out
.
println
(
"批量更新1000条业务数据耗时:"
+
cost1
);
...
...
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