Commit 228e5e98 authored by 高建强's avatar 高建强

item:新增单位人员消息数据同步

parent ff26f260
package com.yeejoin.amos.boot.module.common.api.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class OrgUsrSyncDto {
protected Long sequenceNbr;
protected Date recDate;
protected String recUserId;
protected String recUserName;
/**
* 是否删除
*/
public Boolean isDelete = false;
@ApiModelProperty(value = "机构/部门名称")
private String bizOrgName;
@ApiModelProperty(value = "机构编码")
private String bizOrgCode;
@ApiModelProperty(value = "amos中公司/部门ID")
private String amosOrgId;
@ApiModelProperty(value = "amos中公司/部门编码")
private String amosOrgCode;
@ApiModelProperty(value = "机构类型`")
private String bizOrgType;
@ApiModelProperty(value = "所属建筑名称")
private String buildName;
@ApiModelProperty(value = "所属建筑ID")
private String buildId;
@ApiModelProperty(value = "归属机构/部门/人员")
private String parentId;
@ApiModelProperty(value = "扩展属性1")
private String orgExpandAttr1;
@ApiModelProperty(value = "扩展属性2")
private String orgExpandAttr2;
@ApiModelProperty(value = "扩展属性3")
private String orgExpandAttr3;
@ApiModelProperty(value = "扩展属性4")
private String orgExpandAttr4;
private String orgExpandAttr5;
private String orgExpandAttr6;
private String orgExpandAttr7;
private String orgExpandAttr8;
@ApiModelProperty(value = "省市区code,用逗号分隔")
private String pczCode;
@ApiModelProperty(value = "省市区名称,用逗号分隔")
private String pczName;
@ApiModelProperty(value = "省市区名称,用逗号分隔")
private String parentName;
@ApiModelProperty(value = "唯一编号")
private String code;
private String companyBizName;
private String companyBizCode;
private String fireManagementPost;
private String typeCode;
private String certificatesNumber;
private String employeeNumber;
private String telephone;
private String isCertificate;
private String isFirefighters;
private String personImg;
private String jobTitle;
}
package com.yeejoin.amos.boot.module.common.api.enums;
public enum DataSyncTopicEnum {
EQM_PATROL_CREATED("userSync", "emq.user.created"),
ORG_USR("orgUsr", "userSync/sync/orgUsr");
private String type;
private String topic;
DataSyncTopicEnum(String type, String topic) {
this.type = type;
this.topic = topic;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getTopic() {
return topic;
}
public void setTopic(String topic) {
this.topic = topic;
}
}
...@@ -135,4 +135,6 @@ public interface OrgUsrMapper extends BaseMapper<OrgUsr> { ...@@ -135,4 +135,6 @@ public interface OrgUsrMapper extends BaseMapper<OrgUsr> {
List<DynamicFormInstance> checkCertificatesNumber(String certificatesNumber, Long orgUserId); List<DynamicFormInstance> checkCertificatesNumber(String certificatesNumber, Long orgUserId);
OrgUsr queryByCompanyCode(@Param("companyCode") String companyCode); OrgUsr queryByCompanyCode(@Param("companyCode") String companyCode);
List<OrgUsrSyncDto>getOrgUsrSyncDataList(Map<String, Object> map);
} }
package com.yeejoin.amos.boot.module.common.api.service;
/**
* <h1>数据消息数据同步</h1>
*
* @Author Jianqiang Gao
* @Date 2022-11-03 14:27
*/
public interface IDataSyncService {
void OrgUsrSyncDtoDataSync(Long id);
}
...@@ -1077,4 +1077,124 @@ LEFT JOIN ( ...@@ -1077,4 +1077,124 @@ LEFT JOIN (
AND code = #{companyCode} AND code = #{companyCode}
</if> </if>
</select> </select>
<select id="getOrgUsrSyncDataList" resultType="com.yeejoin.amos.boot.module.common.api.dto.OrgUsrSyncDto">
SELECT
u.*,
case
when u.biz_org_type = 'person'
and (
SELECT
s.biz_org_type
from
cb_org_usr s
WHERE
s.sequence_nbr = u.parent_id) = 'DEPARTMENT'
then (
SELECT
s.biz_org_name
from
cb_org_usr s
WHERE
s.sequence_nbr = (
SELECT
s.parent_id
from
cb_org_usr s
WHERE
s.sequence_nbr = u.parent_id))
when u.biz_org_type = 'person'
and (
SELECT
s.biz_org_type
from
cb_org_usr s
WHERE
s.sequence_nbr = u.parent_id) = 'COMPANY'
then u.parent_name
else u.biz_org_name
end as company_biz_name,
case
when u.biz_org_type = 'person'
and (
SELECT
s.biz_org_type
from
cb_org_usr s
WHERE
s.sequence_nbr = u.parent_id) = 'DEPARTMENT'
then (
SELECT
s.biz_org_code
from
cb_org_usr s
WHERE
s.sequence_nbr = (
SELECT
s.parent_id
from
cb_org_usr s
WHERE
s.sequence_nbr = u.parent_id))
when u.biz_org_type = 'person'
and (
SELECT
s.biz_org_type
from
cb_org_usr s
WHERE
s.sequence_nbr = u.parent_id) = 'COMPANY'
then (
SELECT
s.biz_org_code
from
cb_org_usr s
WHERE
s.sequence_nbr = u.parent_id)
else u.biz_org_code
end as company_biz_code,
cfp.fire_management_post,
cft.type_code,
cf.certificate_number certificatesNumber,
cf.employee_number ,
cf.mobile_phone telephone,
( CASE
WHEN cfp.post_qualification IS NULL THEN 0
ELSE 1
END ) AS is_certificate,
IF
((
SELECT
field_value
FROM
cb_dynamic_form_instance dfi
WHERE
dfi.field_code = 'peopleType'
AND dfi.instance_id = u.sequence_nbr )= 2,
1,
0 ) AS is_firefighters,
(
SELECT
field_value
FROM
cb_dynamic_form_instance dfi
WHERE
dfi.field_code = 'personImg'
AND dfi.instance_id = u.sequence_nbr ) AS personImg,
cfp.job_title
FROM
cb_org_usr u
LEFT JOIN cb_firefighters_post cfp ON
cfp.org_usr_id = u.sequence_nbr
LEFT JOIN cb_firefighters cf ON
cf.org_usr_id = u.sequence_nbr
LEFT JOIN cb_fire_team cft ON
cft.sequence_nbr = cf.fire_team_id
WHERE
u.is_delete = 0
<if test="sequenceNbr != null">
AND u.sequence_nbr = #{sequenceNbr}
</if>
GROUP BY
u.sequence_nbr
</select>
</mapper> </mapper>
package com.yeejoin.amos.patrol.common.enums; package com.yeejoin.amos.patrol.common.enums;
public enum PatrolDataSyncTopicEnum { public enum PatrolDataSyncTopicEnum {
EQM_PATROL_CREATED("check", "eqm.patrol.created"), EQM_PATROL_CREATED("patrolSync", "emq.patrol.created"),
CHECK("check", "patrol/sync/check"), CHECK("check", "patrol/sync/check"),
CHECK_INPUT("checkInput", "patrol/sync/checkInput"), CHECK_INPUT("checkInput", "patrol/sync/checkInput"),
CHECK_SHOT("checkShot", "patrol/sync/checkShot"), CHECK_SHOT("checkShot", "patrol/sync/checkShot"),
......
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrSyncDto;
import com.yeejoin.amos.boot.module.common.api.enums.DataSyncTopicEnum;
import com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrMapper;
import com.yeejoin.amos.boot.module.common.api.service.IDataSyncService;
import com.yeejoin.amos.component.rule.config.RuleConfig;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.component.emq.EmqKeeper;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@Async
@Slf4j
public class DataSyncServiceImpl implements IDataSyncService {
@Autowired
private EmqKeeper emqKeeper;
@Autowired
private OrgUsrMapper orgUsrMapper;
@Override
public void OrgUsrSyncDtoDataSync(Long id) {
try {
if (id != null) {
Map<String, Object> map = new HashMap<>();
map.put("id", id);
List<OrgUsrSyncDto> list = orgUsrMapper.getOrgUsrSyncDataList(map);
if (CollectionUtils.isNotEmpty(list)) {
for (OrgUsrSyncDto x : list) {
String message = buildSyncMessage(DataSyncTopicEnum.ORG_USR.getTopic(), x);
emqKeeper.getMqttClient().publish(DataSyncTopicEnum.EQM_PATROL_CREATED.getTopic(), message.getBytes(), RuleConfig.DEFAULT_QOS, false);
}
emqKeeper.getMqttClient().publish(DataSyncTopicEnum.ORG_USR.getTopic(), JSONObject.toJSONString(list).getBytes(), RuleConfig.DEFAULT_QOS, false);
}
} else {
// 同步删除人员信息
OrgUsrSyncDto orgUsrSyncDto = new OrgUsrSyncDto();
orgUsrSyncDto.setSequenceNbr(id);
String message = buildSyncMessage(DataSyncTopicEnum.ORG_USR.getTopic(), orgUsrSyncDto);
emqKeeper.getMqttClient().publish(DataSyncTopicEnum.EQM_PATROL_CREATED.getTopic(), message.getBytes(), RuleConfig.DEFAULT_QOS, false);
emqKeeper.getMqttClient().publish(DataSyncTopicEnum.ORG_USR.getTopic(), JSONObject.toJSONString(orgUsrSyncDto).getBytes(), RuleConfig.DEFAULT_QOS, false);
}
} catch (Exception e) {
log.error("站端与中心级人员数据【OrgUsrSyncDto】同步推送失败-----------" + e.getMessage());
}
}
public String buildSyncMessage(String topic, Object object) {
Map<String, Object> map = new HashMap<>();
map.put("topic", topic);
map.put("data", object);
return JSONObject.toJSONString(map);
}
}
...@@ -12,7 +12,6 @@ import com.google.common.collect.Lists; ...@@ -12,7 +12,6 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.constants.CommonConstant; import com.yeejoin.amos.boot.biz.common.constants.CommonConstant;
import com.yeejoin.amos.boot.biz.common.dao.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary; import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.interceptors.PermissionInterceptorContext; import com.yeejoin.amos.boot.biz.common.interceptors.PermissionInterceptorContext;
...@@ -27,12 +26,12 @@ import com.yeejoin.amos.boot.module.common.api.enums.UserRolesEnum; ...@@ -27,12 +26,12 @@ import com.yeejoin.amos.boot.module.common.api.enums.UserRolesEnum;
import com.yeejoin.amos.boot.module.common.api.enums.UserUnitTypeEnum; import com.yeejoin.amos.boot.module.common.api.enums.UserUnitTypeEnum;
import com.yeejoin.amos.boot.module.common.api.feign.AmosTrainingFeignClient; import com.yeejoin.amos.boot.module.common.api.feign.AmosTrainingFeignClient;
import com.yeejoin.amos.boot.module.common.api.mapper.*; import com.yeejoin.amos.boot.module.common.api.mapper.*;
import com.yeejoin.amos.boot.module.common.api.service.IDataSyncService;
import com.yeejoin.amos.boot.module.common.api.service.IMaintenanceCompanyService; import com.yeejoin.amos.boot.module.common.api.service.IMaintenanceCompanyService;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrService; import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrService;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel; import com.yeejoin.amos.feign.privilege.model.RoleModel;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -43,6 +42,8 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -43,6 +42,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.component.emq.EmqKeeper; import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
...@@ -160,6 +161,9 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp ...@@ -160,6 +161,9 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
FirefightersContactsServiceImpl ifirefightersContactsService; FirefightersContactsServiceImpl ifirefightersContactsService;
@Autowired @Autowired
private IDataSyncService dataSyncService;
@Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
public static List<OrgMenuDto> buildTreeParallel(List<OrgUsr> list) { public static List<OrgMenuDto> buildTreeParallel(List<OrgUsr> list) {
...@@ -3018,6 +3022,14 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp ...@@ -3018,6 +3022,14 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
} }
// 4.保存岗位信息 // 4.保存岗位信息
saveFirefightersPost(peopleInfoDto.getPostEduDtoObj(), orgUsrDto.getSequenceNbr()); saveFirefightersPost(peopleInfoDto.getPostEduDtoObj(), orgUsrDto.getSequenceNbr());
// 巡检站端与中心级数据同步
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
@Override
public void afterCommit() {
// 事物提交后业务逻辑
dataSyncService.OrgUsrSyncDtoDataSync(orgUsr.getSequenceNbr());
}
});
return peopleInfoDto; return peopleInfoDto;
} }
...@@ -3336,7 +3348,14 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp ...@@ -3336,7 +3348,14 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
if ("1601".equals(type)) { if ("1601".equals(type)) {
deleteFirefighters(id); deleteFirefighters(id);
} }
// 巡检站端与中心级数据同步
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
@Override
public void afterCommit() {
// 事物提交后业务逻辑
dataSyncService.OrgUsrSyncDtoDataSync(id);
}
});
return "0"; return "0";
} }
......
...@@ -5,11 +5,14 @@ import java.util.*; ...@@ -5,11 +5,14 @@ import java.util.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.common.api.service.IDataSyncService;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
...@@ -105,6 +108,10 @@ public class FirefightersController extends BaseController { ...@@ -105,6 +108,10 @@ public class FirefightersController extends BaseController {
RedisUtils redisUtils; RedisUtils redisUtils;
@Autowired @Autowired
DataDictionaryServiceImpl dataDictionaryService; DataDictionaryServiceImpl dataDictionaryService;
@Autowired
private IDataSyncService dataSyncService;
@Value("${redis.cache.failure.time}") @Value("${redis.cache.failure.time}")
private long time; private long time;
@Autowired @Autowired
...@@ -488,6 +495,14 @@ public class FirefightersController extends BaseController { ...@@ -488,6 +495,14 @@ public class FirefightersController extends BaseController {
iFirefightersService.saveFirefightersByUser(firefighters); iFirefightersService.saveFirefightersByUser(firefighters);
} }
} }
// 巡检站端与中心级数据同步
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
@Override
public void afterCommit() {
// 事物提交后业务逻辑
dataSyncService.OrgUsrSyncDtoDataSync(id);
}
});
return ResponseHelper.buildResponse(iFirefightersService.updatePeopleById(firefighters, id)); return ResponseHelper.buildResponse(iFirefightersService.updatePeopleById(firefighters, id));
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException("系统异常"); throw new RuntimeException("系统异常");
......
...@@ -52,9 +52,6 @@ public class AcceptEquipmentRules { ...@@ -52,9 +52,6 @@ public class AcceptEquipmentRules {
@Autowired @Autowired
private CheckInputMapper checkInputMapper; private CheckInputMapper checkInputMapper;
@Value("${dataSync.patrol.emqx.switch}")
private Boolean patrolSyncSwitch;
public void getContent( public void getContent(
String itemNo, String itemNo,
String inputClassify, String inputClassify,
...@@ -135,19 +132,17 @@ public class AcceptEquipmentRules { ...@@ -135,19 +132,17 @@ public class AcceptEquipmentRules {
checkInput.setIsOk(CheckStatusEnum.UNQUALIFIED.getCode()); checkInput.setIsOk(CheckStatusEnum.UNQUALIFIED.getCode());
} }
checkInputDao.save(checkInput); checkInputDao.save(checkInput);
if (patrolSyncSwitch) { // 巡检站端与中心级数据同步
// 巡检站端与中心级数据同步 TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { @Override
@Override public void afterCommit() {
public void afterCommit() { // 事物提交后业务逻辑
// 事物提交后业务逻辑 Map<String, Object> map = new HashMap<>();
Map<String, Object> map = new HashMap<>(); map.put("id", checkInput.getId());
map.put("id", checkInput.getId()); List<CheckInputSyncBo> checkInputSyncBoList = checkInputMapper.getCheckInputSyncBoList(map);
List<CheckInputSyncBo> checkInputSyncBoList = checkInputMapper.getCheckInputSyncBoList(map); patrolDataSyncService.checkInputBoDataSync(checkInputSyncBoList);
patrolDataSyncService.checkInputBoDataSync(checkInputSyncBoList); }
} });
});
}
log.info(checkInput.getPointClassifyName()+"规则校验返回结果修改成功"); log.info(checkInput.getPointClassifyName()+"规则校验返回结果修改成功");
} }
} }
...@@ -155,17 +155,6 @@ public class CheckServiceImpl implements ICheckService { ...@@ -155,17 +155,6 @@ public class CheckServiceImpl implements ICheckService {
@Autowired @Autowired
private CheckInputMapper checkInputMapper; private CheckInputMapper checkInputMapper;
@Value("${dataSync.patrol.emqx.switch}")
private Boolean patrolSyncSwitch;
// @Value("${file.ip}")
// private String fileIp;
//
// @Value("${file.port}")
// private String filePort;
// @Value("${file.url}")
// private String fileUrl;
@Override @Override
public Page<CheckInfoVo> getCheckInfo(String toke,String product,String appKey,CheckInfoPageParam param) { public Page<CheckInfoVo> getCheckInfo(String toke,String product,String appKey,CheckInfoPageParam param) {
long total = checkMapper.getCheckInfoCount(param); long total = checkMapper.getCheckInfoCount(param);
...@@ -224,16 +213,14 @@ public class CheckServiceImpl implements ICheckService { ...@@ -224,16 +213,14 @@ public class CheckServiceImpl implements ICheckService {
checkDao.save(check); checkDao.save(check);
checkShotDao.saveAll(imgList); checkShotDao.saveAll(imgList);
// 巡检站端与中心级数据同步 // 巡检站端与中心级数据同步
if (patrolSyncSwitch) { TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { @Override
@Override public void afterCommit() {
public void afterCommit() { // 事物提交后业务逻辑
// 事物提交后业务逻辑 patrolDataSyncService.checkDataSync(check);
patrolDataSyncService.checkDataSync(check); patrolDataSyncService.checkShotDataSync(imgList);
patrolDataSyncService.checkShotDataSync(imgList); }
} });
});
}
} }
@Override @Override
...@@ -452,19 +439,17 @@ public class CheckServiceImpl implements ICheckService { ...@@ -452,19 +439,17 @@ public class CheckServiceImpl implements ICheckService {
updateTaskStatus(plan.getId(), null); updateTaskStatus(plan.getId(), null);
} }
} }
if (patrolSyncSwitch) { // 巡检站端与中心级数据同步
// 巡检站端与中心级数据同步 TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { @Override
@Override public void afterCommit() {
public void afterCommit() { // 事物提交后业务逻辑
// 事物提交后业务逻辑 Map<String, Object> map = new HashMap<>();
Map<String, Object> map = new HashMap<>(); map.put("idList", checkInputList.stream().map(CheckInput::getId).collect(Collectors.toList()));
map.put("idList", checkInputList.stream().map(CheckInput::getId).collect(Collectors.toList())); List<CheckInputSyncBo> checkInputSyncBoList = checkInputMapper.getCheckInputSyncBoList(map);
List<CheckInputSyncBo> checkInputSyncBoList = checkInputMapper.getCheckInputSyncBoList(map); patrolDataSyncService.checkInputBoDataSync(checkInputSyncBoList);
patrolDataSyncService.checkInputBoDataSync(checkInputSyncBoList); }
} });
});
}
return new CheckDto(check.getId(), unqualifiedcheckItemList); return new CheckDto(check.getId(), unqualifiedcheckItemList);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -701,23 +686,21 @@ public class CheckServiceImpl implements ICheckService { ...@@ -701,23 +686,21 @@ public class CheckServiceImpl implements ICheckService {
} }
CheckDto checkDto= new CheckDto(check.getId(), unqualifiedcheckItemList); CheckDto checkDto= new CheckDto(check.getId(), unqualifiedcheckItemList);
if (patrolSyncSwitch) { // 巡检站端与中心级数据同步
// 巡检站端与中心级数据同步 Check finalCheck = check;
Check finalCheck = check; TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { @Override
@Override public void afterCommit() {
public void afterCommit() { // 事物提交后业务逻辑
// 事物提交后业务逻辑 patrolDataSyncService.checkDataSync(finalCheck);
patrolDataSyncService.checkDataSync(finalCheck); patrolDataSyncService.checkInputDataSync(checkInputList);
patrolDataSyncService.checkInputDataSync(checkInputList);
Map<String, Object> map = new HashMap<>();
Map<String, Object> map = new HashMap<>(); map.put("idList", checkInputList.stream().map(CheckInput::getId).collect(Collectors.toList()));
map.put("idList", checkInputList.stream().map(CheckInput::getId).collect(Collectors.toList())); List<CheckInputSyncBo> checkInputSyncBoList = checkInputMapper.getCheckInputSyncBoList(map);
List<CheckInputSyncBo> checkInputSyncBoList = checkInputMapper.getCheckInputSyncBoList(map); patrolDataSyncService.checkInputBoDataSync(checkInputSyncBoList);
patrolDataSyncService.checkInputBoDataSync(checkInputSyncBoList); }
} });
});
}
return checkDto; return checkDto;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
......
...@@ -218,9 +218,6 @@ public class LatentDangerServiceImpl implements ILatentDangerService { ...@@ -218,9 +218,6 @@ public class LatentDangerServiceImpl implements ILatentDangerService {
@Value("${emergency.command.section.id}") @Value("${emergency.command.section.id}")
private String emergencyCommandSectionId; private String emergencyCommandSectionId;
@Value("${dataSync.patrol.emqx.switch}")
private Boolean patrolSyncSwitch;
@Transactional @Transactional
@Override @Override
public CommonResponse saveNormal(LatentDangerNormalParam latentDangerParam, String userId, String userRealName, String departmentId, String departmentName, String companyId, String orgCode, RoleBo role) { public CommonResponse saveNormal(LatentDangerNormalParam latentDangerParam, String userId, String userRealName, String departmentId, String departmentName, String companyId, String orgCode, RoleBo role) {
...@@ -393,19 +390,17 @@ public class LatentDangerServiceImpl implements ILatentDangerService { ...@@ -393,19 +390,17 @@ public class LatentDangerServiceImpl implements ILatentDangerService {
private void updateCheckInputDangerState(Long id, int code) { private void updateCheckInputDangerState(Long id, int code) {
latentDangerMapper.updateCheckInputDangerState(id, code); latentDangerMapper.updateCheckInputDangerState(id, code);
if (patrolSyncSwitch) { // 巡检站端与中心级数据同步
// 巡检站端与中心级数据同步 TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { @Override
@Override public void afterCommit() {
public void afterCommit() { // 事物提交后业务逻辑
// 事物提交后业务逻辑 Map<String, Object> map = new HashMap<>();
Map<String, Object> map = new HashMap<>(); map.put("id", id);
map.put("id", id); List<CheckInputSyncBo> checkInputSyncBoList = checkInputMapper.getCheckInputSyncBoList(map);
List<CheckInputSyncBo> checkInputSyncBoList = checkInputMapper.getCheckInputSyncBoList(map); patrolDataSyncService.checkInputBoDataSync(checkInputSyncBoList);
patrolDataSyncService.checkInputBoDataSync(checkInputSyncBoList); }
} });
});
}
} }
private String buildLocalHost() { private String buildLocalHost() {
......
...@@ -131,9 +131,6 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -131,9 +131,6 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
@Autowired @Autowired
private IPatrolDataSyncService patrolDataSyncService; private IPatrolDataSyncService patrolDataSyncService;
@Value("${dataSync.patrol.emqx.switch}")
private Boolean patrolSyncSwitch;
private final String PATROL_PLAN_TASK_KEY = "PATROL_PLAN_ID:"; private final String PATROL_PLAN_TASK_KEY = "PATROL_PLAN_ID:";
private final String packageId = "消息/addCheckRule"; private final String packageId = "消息/addCheckRule";
...@@ -859,16 +856,14 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -859,16 +856,14 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
paramMap.put("next_gen_date", DateUtil.formatDatrToStr(now, "yyyy-MM-dd")); paramMap.put("next_gen_date", DateUtil.formatDatrToStr(now, "yyyy-MM-dd"));
} }
planMapper.updPlanStatusOrGenDate(paramMap);// 更新下次任务生成日期 planMapper.updPlanStatusOrGenDate(paramMap);// 更新下次任务生成日期
if (patrolSyncSwitch) { // 巡检站端与中心级数据同步
// 巡检站端与中心级数据同步 TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { @Override
@Override public void afterCommit() {
public void afterCommit() { // 事物提交后业务逻辑
// 事物提交后业务逻辑 patrolDataSyncService.planTaskDataSync(planTaskList);
patrolDataSyncService.planTaskDataSync(planTaskList); }
} });
});
}
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
throw new RuntimeException(e.getMessage()); throw new RuntimeException(e.getMessage());
...@@ -1059,16 +1054,14 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -1059,16 +1054,14 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
paramMap.put("next_gen_date", DateUtil.formatDatrToStr(now, "yyyy-MM-dd")); paramMap.put("next_gen_date", DateUtil.formatDatrToStr(now, "yyyy-MM-dd"));
} }
planMapper.updPlanStatusOrGenDate(paramMap);// 更新下次任务生成日期 planMapper.updPlanStatusOrGenDate(paramMap);// 更新下次任务生成日期
if (patrolSyncSwitch) { // 巡检站端与中心级数据同步
// 巡检站端与中心级数据同步 TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { @Override
@Override public void afterCommit() {
public void afterCommit() { // 事物提交后业务逻辑
// 事物提交后业务逻辑 patrolDataSyncService.planTaskDataSync(planTaskList);
patrolDataSyncService.planTaskDataSync(planTaskList); }
} });
});
}
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
} }
......
...@@ -109,9 +109,6 @@ public class PointServiceImpl implements IPointService { ...@@ -109,9 +109,6 @@ public class PointServiceImpl implements IPointService {
@Autowired @Autowired
private IPatrolDataSyncService patrolDataSyncService; private IPatrolDataSyncService patrolDataSyncService;
@Value("${dataSync.patrol.emqx.switch}")
private Boolean patrolSyncSwitch;
@Override @Override
@Transactional @Transactional
public Point addPoint(PointParam pointParam) { public Point addPoint(PointParam pointParam) {
...@@ -672,16 +669,14 @@ public class PointServiceImpl implements IPointService { ...@@ -672,16 +669,14 @@ public class PointServiceImpl implements IPointService {
iPlanTaskDetailDao.deletePlanTaskDetailByPointId(idList); // 删除p_plan_task_detail相关行 iPlanTaskDetailDao.deletePlanTaskDetailByPointId(idList); // 删除p_plan_task_detail相关行
iPointDao.delPointById(idList); iPointDao.delPointById(idList);
if (patrolSyncSwitch) { // 巡检站端与中心级数据同步
// 巡检站端与中心级数据同步 TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { @Override
@Override public void afterCommit() {
public void afterCommit() { // 事物提交后业务逻辑
// 事物提交后业务逻辑 patrolDataSyncService.planTaskDataSync(planTaskList);
patrolDataSyncService.planTaskDataSync(planTaskList); }
} });
});
}
return idList; return idList;
} }
......
...@@ -96,10 +96,6 @@ public class JobService implements IJobService { ...@@ -96,10 +96,6 @@ public class JobService implements IJobService {
@Autowired @Autowired
JcsFeignClient jcsFeignClient; JcsFeignClient jcsFeignClient;
@Value("${dataSync.patrol.emqx.switch}")
private Boolean patrolSyncSwitch;
@Override @Override
@Transactional @Transactional
public void initScheduler() { public void initScheduler() {
...@@ -382,20 +378,18 @@ public class JobService implements IJobService { ...@@ -382,20 +378,18 @@ public class JobService implements IJobService {
} catch (Exception e) { } catch (Exception e) {
log.error("数字换流站页面推送失败-----------" + e.getMessage()); log.error("数字换流站页面推送失败-----------" + e.getMessage());
} }
if (patrolSyncSwitch) { // 巡检站端与中心级数据同步
// 巡检站端与中心级数据同步 TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { @Override
@Override public void afterCommit() {
public void afterCommit() { // 事物提交后业务逻辑
// 事物提交后业务逻辑 patrolDataSyncService.checkDataSync(checkList);
patrolDataSyncService.checkDataSync(checkList); Map<String, Object> map = new HashMap<>();
Map<String, Object> map = new HashMap<>(); map.put("idList", checkInputIdList);
map.put("idList", checkInputIdList); List<CheckInputSyncBo> checkInputSyncBoList = checkInputMapper.getCheckInputSyncBoList(map);
List<CheckInputSyncBo> checkInputSyncBoList = checkInputMapper.getCheckInputSyncBoList(map); patrolDataSyncService.checkInputBoDataSync(checkInputSyncBoList);
patrolDataSyncService.checkInputBoDataSync(checkInputSyncBoList); }
} });
});
}
} }
private void removeJob(String jobName) { private void removeJob(String jobName) {
......
...@@ -87,7 +87,4 @@ emqx.user-name=admin ...@@ -87,7 +87,4 @@ emqx.user-name=admin
emqx.password=public emqx.password=public
emqx.max-inflight=1000 emqx.max-inflight=1000
file.url=http://172.16.11.201:9000/ file.url=http://172.16.11.201:9000/
\ No newline at end of file
#巡检数据同步emqx开关
dataSync.patrol.emqx.switch=true
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment