Commit 721e7a64 authored by suhuiguang's avatar suhuiguang

refactor(大编辑):代码合并错误处理

parent dffd0d19
...@@ -70,6 +70,7 @@ ...@@ -70,6 +70,7 @@
<groupId>org.reflections</groupId> <groupId>org.reflections</groupId>
<artifactId>reflections</artifactId> <artifactId>reflections</artifactId>
<version>0.10.2</version> <version>0.10.2</version>
<scope>compile</scope>
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
......
package com.yeejoin.amos.boot.module.jg.biz.event; package com.yeejoin.amos.boot.module.jg.biz.edit.event;
import com.yeejoin.amos.boot.module.jg.api.dto.BizRelationDataDto; import com.yeejoin.amos.boot.module.jg.api.dto.BizRelationDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto; import com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.EventPublisherMapping;
import lombok.Getter; import lombok.Getter;
import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationEvent;
import org.typroject.tyboot.core.foundation.context.RequestContextModel; import org.typroject.tyboot.core.foundation.context.RequestContextModel;
...@@ -12,6 +13,7 @@ import java.util.List; ...@@ -12,6 +13,7 @@ import java.util.List;
* @author Administrator * @author Administrator
*/ */
@Getter @Getter
@EventPublisherMapping
public class BaseBizDataChangeEvent extends ApplicationEvent { public class BaseBizDataChangeEvent extends ApplicationEvent {
private List<ChangeDataDto> data; private List<ChangeDataDto> data;
......
package com.yeejoin.amos.boot.module.jg.biz.event.handler; package com.yeejoin.amos.boot.module.jg.biz.edit.event.handler;
import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationEvent;
......
package com.yeejoin.amos.boot.module.jg.biz.event.handler; package com.yeejoin.amos.boot.module.jg.biz.edit.event.handler;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
...@@ -6,10 +6,9 @@ import com.alibaba.fastjson.JSONObject; ...@@ -6,10 +6,9 @@ import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jg.api.dto.ESDataChangeLogDto; import com.yeejoin.amos.boot.module.jg.api.dto.ESDataChangeLogDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgBizChangeLog; import com.yeejoin.amos.boot.module.jg.api.entity.JgBizChangeLog;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice; import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice;
import com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent; import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgInstallationNoticeServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgInstallationNoticeServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.UseRegisterDataChangeHandleImpl;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -23,7 +22,7 @@ import java.util.Set; ...@@ -23,7 +22,7 @@ import java.util.Set;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
public class InstallNoticeChangeEventHandler implements IChangeEventBizHandler<ChangeDataEvent> { public class InstallNoticeChangeEventHandler implements IChangeEventBizHandler<BaseBizDataChangeEvent> {
private final JgInstallationNoticeServiceImpl jgInstallationNoticeService; private final JgInstallationNoticeServiceImpl jgInstallationNoticeService;
...@@ -31,7 +30,7 @@ public class InstallNoticeChangeEventHandler implements IChangeEventBizHandler<C ...@@ -31,7 +30,7 @@ public class InstallNoticeChangeEventHandler implements IChangeEventBizHandler<C
@Override @Override
@Async @Async
public void handle(ChangeDataEvent event) { public void handle(BaseBizDataChangeEvent event) {
log.info("开始更新安装告知json数据:{}", event); log.info("开始更新安装告知json数据:{}", event);
// 查询关联的单据-未删除且已完成状态 // 查询关联的单据-未删除且已完成状态
Set<Long> installationNoticeIds = this.getRelationInstallNoticeList(event); Set<Long> installationNoticeIds = this.getRelationInstallNoticeList(event);
...@@ -50,7 +49,7 @@ public class InstallNoticeChangeEventHandler implements IChangeEventBizHandler<C ...@@ -50,7 +49,7 @@ public class InstallNoticeChangeEventHandler implements IChangeEventBizHandler<C
log.info("更新安装告知的单据数量:{}", installationNoticeIds.size()); log.info("更新安装告知的单据数量:{}", installationNoticeIds.size());
} }
private void log2es(JSONObject beforeData, JSONObject afterData, JgInstallationNotice installationNotice, ChangeDataEvent event) { private void log2es(JSONObject beforeData, JSONObject afterData, JgInstallationNotice installationNotice, BaseBizDataChangeEvent event) {
Date date = DateUtil.date(); Date date = DateUtil.date();
JgBizChangeLog changeLog = new JgBizChangeLog(); JgBizChangeLog changeLog = new JgBizChangeLog();
BeanUtil.copyProperties(event.getBizRelationData(), changeLog); BeanUtil.copyProperties(event.getBizRelationData(), changeLog);
...@@ -75,7 +74,7 @@ public class InstallNoticeChangeEventHandler implements IChangeEventBizHandler<C ...@@ -75,7 +74,7 @@ public class InstallNoticeChangeEventHandler implements IChangeEventBizHandler<C
jgBizChangeLogService.save2DbAndEs(changeLog, Collections.singletonList(esDataChangeLogDto)); jgBizChangeLogService.save2DbAndEs(changeLog, Collections.singletonList(esDataChangeLogDto));
} }
private Set<Long> getRelationInstallNoticeList(ChangeDataEvent event) { private Set<Long> getRelationInstallNoticeList(BaseBizDataChangeEvent event) {
// 变化的设备 // 变化的设备
Set<String> records = event.getBizRelationData().getRecords(); Set<String> records = event.getBizRelationData().getRecords();
// 查询关联的单据-已完成时更新其json // 查询关联的单据-已完成时更新其json
...@@ -83,8 +82,9 @@ public class InstallNoticeChangeEventHandler implements IChangeEventBizHandler<C ...@@ -83,8 +82,9 @@ public class InstallNoticeChangeEventHandler implements IChangeEventBizHandler<C
} }
@Override @Override
public Boolean supports(ChangeDataEvent event) { public Boolean supports(BaseBizDataChangeEvent event) {
return UseRegisterDataChangeHandleImpl.BIZ_TYPE.equals(event.getBizRelationData().getBizType()); // event.getBizRelationData().getBizType()
return true;
} }
} }
package com.yeejoin.amos.boot.module.jg.biz.event.handler; package com.yeejoin.amos.boot.module.jg.biz.edit.event.handler;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
...@@ -7,10 +7,9 @@ import com.alibaba.fastjson.JSONArray; ...@@ -7,10 +7,9 @@ import com.alibaba.fastjson.JSONArray;
import com.yeejoin.amos.boot.module.jg.api.dto.ESDataChangeLogDto; import com.yeejoin.amos.boot.module.jg.api.dto.ESDataChangeLogDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgBizChangeLog; import com.yeejoin.amos.boot.module.jg.api.entity.JgBizChangeLog;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract;
import com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent; import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgMaintenanceContractServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgMaintenanceContractServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.UseRegisterDataChangeHandleImpl;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -24,7 +23,7 @@ import java.util.Set; ...@@ -24,7 +23,7 @@ import java.util.Set;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
public class MaintenanceContractChangeEventHandler implements IChangeEventBizHandler<ChangeDataEvent> { public class MaintenanceContractChangeEventHandler implements IChangeEventBizHandler<BaseBizDataChangeEvent> {
private final JgMaintenanceContractServiceImpl jgMaintenanceContractService; private final JgMaintenanceContractServiceImpl jgMaintenanceContractService;
...@@ -33,7 +32,7 @@ public class MaintenanceContractChangeEventHandler implements IChangeEventBizHan ...@@ -33,7 +32,7 @@ public class MaintenanceContractChangeEventHandler implements IChangeEventBizHan
@Override @Override
@Async @Async
public void handle(ChangeDataEvent event) { public void handle(BaseBizDataChangeEvent event) {
log.info("开始更新维保备案json数据:{}", event); log.info("开始更新维保备案json数据:{}", event);
// 查询关联的单据-未删除且已完成状态 // 查询关联的单据-未删除且已完成状态
Set<Long> maintenanceContractList = this.getRelationMaintenanceContractList(event); Set<Long> maintenanceContractList = this.getRelationMaintenanceContractList(event);
...@@ -52,7 +51,7 @@ public class MaintenanceContractChangeEventHandler implements IChangeEventBizHan ...@@ -52,7 +51,7 @@ public class MaintenanceContractChangeEventHandler implements IChangeEventBizHan
log.info("更新维保备案的单据数量:{}", maintenanceContractList.size()); log.info("更新维保备案的单据数量:{}", maintenanceContractList.size());
} }
private Set<Long> getRelationMaintenanceContractList(ChangeDataEvent event) { private Set<Long> getRelationMaintenanceContractList(BaseBizDataChangeEvent event) {
// 变化的设备 // 变化的设备
Set<String> records = event.getBizRelationData().getRecords(); Set<String> records = event.getBizRelationData().getRecords();
// 查询关联的单据-已完成时更新其json // 查询关联的单据-已完成时更新其json
...@@ -60,11 +59,12 @@ public class MaintenanceContractChangeEventHandler implements IChangeEventBizHan ...@@ -60,11 +59,12 @@ public class MaintenanceContractChangeEventHandler implements IChangeEventBizHan
} }
@Override @Override
public Boolean supports(ChangeDataEvent event) { public Boolean supports(BaseBizDataChangeEvent event) {
return UseRegisterDataChangeHandleImpl.BIZ_TYPE.equals(event.getBizRelationData().getBizType()); // event.getBizRelationData().getBizType()
return true;
} }
private void log2es(JSON beforeData, JSON afterData, JgMaintenanceContract maintenanceContract, ChangeDataEvent event) { private void log2es(JSON beforeData, JSON afterData, JgMaintenanceContract maintenanceContract, BaseBizDataChangeEvent event) {
Date date = DateUtil.date(); Date date = DateUtil.date();
JgBizChangeLog changeLog = new JgBizChangeLog(); JgBizChangeLog changeLog = new JgBizChangeLog();
BeanUtil.copyProperties(event.getBizRelationData(), changeLog); BeanUtil.copyProperties(event.getBizRelationData(), changeLog);
......
package com.yeejoin.amos.boot.module.jg.biz.event.handler; package com.yeejoin.amos.boot.module.jg.biz.edit.event.handler;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
...@@ -6,10 +6,9 @@ import com.alibaba.fastjson.JSONObject; ...@@ -6,10 +6,9 @@ import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jg.api.dto.ESDataChangeLogDto; import com.yeejoin.amos.boot.module.jg.api.dto.ESDataChangeLogDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgBizChangeLog; import com.yeejoin.amos.boot.module.jg.api.entity.JgBizChangeLog;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration; import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent; import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.UseRegisterDataChangeHandleImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.UseRegisterUpdateService; import com.yeejoin.amos.boot.module.jg.biz.service.impl.UseRegisterUpdateService;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -24,7 +23,7 @@ import java.util.Set; ...@@ -24,7 +23,7 @@ import java.util.Set;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
public class UseRegisterChangeEventHandler implements IChangeEventBizHandler<ChangeDataEvent> { public class UseRegisterChangeEventHandler implements IChangeEventBizHandler<BaseBizDataChangeEvent> {
private final JgUseRegistrationServiceImpl jgUseRegistrationService; private final JgUseRegistrationServiceImpl jgUseRegistrationService;
...@@ -34,7 +33,7 @@ public class UseRegisterChangeEventHandler implements IChangeEventBizHandler<Cha ...@@ -34,7 +33,7 @@ public class UseRegisterChangeEventHandler implements IChangeEventBizHandler<Cha
@Override @Override
@Async @Async
public void handle(ChangeDataEvent event) { public void handle(BaseBizDataChangeEvent event) {
log.info("开始更新使用登记json数据:{}", event); log.info("开始更新使用登记json数据:{}", event);
// 查询关联的单据-未删除且已完成状态-不包括原始使用登记的修改 // 查询关联的单据-未删除且已完成状态-不包括原始使用登记的修改
Set<Long> useRegistrationIds = this.getRelationUseRegisterList(event); Set<Long> useRegistrationIds = this.getRelationUseRegisterList(event);
...@@ -53,7 +52,7 @@ public class UseRegisterChangeEventHandler implements IChangeEventBizHandler<Cha ...@@ -53,7 +52,7 @@ public class UseRegisterChangeEventHandler implements IChangeEventBizHandler<Cha
log.info("更新使用登记的单据数量:{}", useRegistrationIds.size()); log.info("更新使用登记的单据数量:{}", useRegistrationIds.size());
} }
private void log2es(JSONObject beforeData, JSONObject afterData, JgUseRegistration jgUseRegistration, ChangeDataEvent event) { private void log2es(JSONObject beforeData, JSONObject afterData, JgUseRegistration jgUseRegistration, BaseBizDataChangeEvent event) {
Date date = DateUtil.date(); Date date = DateUtil.date();
JgBizChangeLog changeLog = new JgBizChangeLog(); JgBizChangeLog changeLog = new JgBizChangeLog();
BeanUtil.copyProperties(event.getBizRelationData(), changeLog); BeanUtil.copyProperties(event.getBizRelationData(), changeLog);
...@@ -78,7 +77,7 @@ public class UseRegisterChangeEventHandler implements IChangeEventBizHandler<Cha ...@@ -78,7 +77,7 @@ public class UseRegisterChangeEventHandler implements IChangeEventBizHandler<Cha
jgBizChangeLogService.save2DbAndEs(changeLog, Collections.singletonList(esDataChangeLogDto)); jgBizChangeLogService.save2DbAndEs(changeLog, Collections.singletonList(esDataChangeLogDto));
} }
private Set<Long> getRelationUseRegisterList(ChangeDataEvent event) { private Set<Long> getRelationUseRegisterList(BaseBizDataChangeEvent event) {
// 变化的设备 // 变化的设备
Set<String> records = event.getBizRelationData().getRecords(); Set<String> records = event.getBizRelationData().getRecords();
String applyNo = event.getBizRelationData().getBizId(); String applyNo = event.getBizRelationData().getBizId();
...@@ -87,7 +86,8 @@ public class UseRegisterChangeEventHandler implements IChangeEventBizHandler<Cha ...@@ -87,7 +86,8 @@ public class UseRegisterChangeEventHandler implements IChangeEventBizHandler<Cha
} }
@Override @Override
public Boolean supports(ChangeDataEvent event) { public Boolean supports(BaseBizDataChangeEvent event) {
return UseRegisterDataChangeHandleImpl.BIZ_TYPE.equals(event.getBizRelationData().getBizType()); // event.getBizRelationData().getBizType()
return true;
} }
} }
package com.yeejoin.amos.boot.module.jg.biz.event.listener; package com.yeejoin.amos.boot.module.jg.biz.edit.listener;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
......
package com.yeejoin.amos.boot.module.jg.biz.event.listener; package com.yeejoin.amos.boot.module.jg.biz.edit.listener;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent; import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent;
import com.yeejoin.amos.boot.module.jg.biz.event.handler.IChangeEventBizHandler; import com.yeejoin.amos.boot.module.jg.biz.edit.event.handler.IChangeEventBizHandler;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -32,12 +32,12 @@ public class RelationBizApplyUpdateListener { ...@@ -32,12 +32,12 @@ public class RelationBizApplyUpdateListener {
private final List<IChangeEventBizHandler<ApplicationEvent>> changeUpdateHandlers; private final List<IChangeEventBizHandler<ApplicationEvent>> changeUpdateHandlers;
private final BlockingQueue<ChangeDataEvent> queue = new LinkedBlockingQueue<>(); private final BlockingQueue<BaseBizDataChangeEvent> queue = new LinkedBlockingQueue<>();
@TransactionalEventListener(value = ChangeDataEvent.class) @TransactionalEventListener(value = BaseBizDataChangeEvent.class)
@Async @Async
public void handleTransactionalEvent(ChangeDataEvent event) { public void handleTransactionalEvent(BaseBizDataChangeEvent event) {
log.info("收到用户变更业务数据消息:{}", JSONObject.toJSONString(event)); log.info("收到用户变更业务数据消息:{}", JSONObject.toJSONString(event));
queue.add(event); queue.add(event);
} }
...@@ -49,7 +49,7 @@ public class RelationBizApplyUpdateListener { ...@@ -49,7 +49,7 @@ public class RelationBizApplyUpdateListener {
executorService.execute(() -> { executorService.execute(() -> {
while (true) { while (true) {
try { try {
ChangeDataEvent event = queue.take(); BaseBizDataChangeEvent event = queue.take();
processEvent(event); processEvent(event);
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
...@@ -59,7 +59,7 @@ public class RelationBizApplyUpdateListener { ...@@ -59,7 +59,7 @@ public class RelationBizApplyUpdateListener {
}); });
} }
private void processEvent(ChangeDataEvent event) { private void processEvent(BaseBizDataChangeEvent event) {
changeUpdateHandlers.stream().filter(h -> h.supports(event)).forEach(h -> { changeUpdateHandlers.stream().filter(h -> h.supports(event)).forEach(h -> {
log.info("处理器:{}", JSONObject.toJSONString(h)); log.info("处理器:{}", JSONObject.toJSONString(h));
h.handle(event); h.handle(event);
......
...@@ -3,12 +3,15 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz; ...@@ -3,12 +3,15 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.module.jg.api.dto.BizRelationDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto; import com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationEqDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory; import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration; import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent; import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.UseRegisterUpdateService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
...@@ -16,6 +19,7 @@ import java.util.ArrayList; ...@@ -16,6 +19,7 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
@Service @Service
public class UseRegisterDataChangeHandler extends DefaultBizDataChangeHandler<BaseBizDataChangeEvent> { public class UseRegisterDataChangeHandler extends DefaultBizDataChangeHandler<BaseBizDataChangeEvent> {
...@@ -89,4 +93,14 @@ public class UseRegisterDataChangeHandler extends DefaultBizDataChangeHandler<Ba ...@@ -89,4 +93,14 @@ public class UseRegisterDataChangeHandler extends DefaultBizDataChangeHandler<Ba
return new BaseBizDataChangeEvent(this, applyNo, RequestContext.cloneRequestContext()); return new BaseBizDataChangeEvent(this, applyNo, RequestContext.cloneRequestContext());
} }
private void publishEvent2Logger(String applyNo, List<ChangeDataDto> allChangeColumns) {
List<JgUseRegistrationEqDto> eqDtos = useRegisterUpdateService.useRegistrationEqService.getBaseMapper().queryEqListByApplyNo(applyNo);
BizRelationDataDto bizRelationDataDto = new BizRelationDataDto();
bizRelationDataDto.setBizId(applyNo);
bizRelationDataDto.setBizType(canHandleBizType());
bizRelationDataDto.setRecords(eqDtos.stream().map(JgUseRegistrationEqDto::getEquId).collect(Collectors.toSet()));
// 异步记录日志
publisher.publish(new BaseBizDataChangeEvent(this, bizRelationDataDto, allChangeColumns, RequestContext.cloneRequestContext()));
}
} }
...@@ -8,13 +8,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -8,13 +8,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory; import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration; import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.api.enums.CylinderTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.CylinderTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.CommonServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgProjectContraptionServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgRegistrationHistoryServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectContraption; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectContraption;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.InformationManageTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.InformationManageTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
...@@ -52,6 +47,10 @@ public class UseRegisterUpdateService { ...@@ -52,6 +47,10 @@ public class UseRegisterUpdateService {
// 更新数据 // 更新数据
useRegistrationService.updateHistory(hisData, null, jgUseRegistration.getSequenceNbr().toString(), jgUseRegistration.getSupervisoryCode()); useRegistrationService.updateHistory(hisData, null, jgUseRegistration.getSequenceNbr().toString(), jgUseRegistration.getSupervisoryCode());
} }
public CommonServiceImpl getCommonService() {
return commonService;
}
public JSONObject buildLastDetailData(JgUseRegistration jgUseRegistration) { public JSONObject buildLastDetailData(JgUseRegistration jgUseRegistration) {
JgRegistrationHistory jgRegistrationHistory = getJgRegistrationHistory(jgUseRegistration); JgRegistrationHistory jgRegistrationHistory = getJgRegistrationHistory(jgUseRegistration);
......
...@@ -109,7 +109,7 @@ public class CommonEquipDataProcessService { ...@@ -109,7 +109,7 @@ public class CommonEquipDataProcessService {
} }
void buildChangeFields(String record, EquipDesignChangeDataDto equipDesignChangeDataDto, EquipFactoryChangeDataDto equipFactoryChangeDataDto, EquipRegisterChangeDataDto registerChangeDataDto,EquipOtherInfoChangeDataDto otherInfoChangeDataDto, EquipUseInfoChangeDataDto useInfoChangeDataDto, List<ChangeDataDto> allChangeColumns) { public void buildChangeFields(String record, EquipDesignChangeDataDto equipDesignChangeDataDto, EquipFactoryChangeDataDto equipFactoryChangeDataDto, EquipRegisterChangeDataDto registerChangeDataDto, EquipOtherInfoChangeDataDto otherInfoChangeDataDto, EquipUseInfoChangeDataDto useInfoChangeDataDto, List<ChangeDataDto> allChangeColumns) {
// 构造新对象行转列 // 构造新对象行转列
List<ChangeDataDto> designInfoNew = this.buildDesignInfoNew(equipDesignChangeDataDto, record); List<ChangeDataDto> designInfoNew = this.buildDesignInfoNew(equipDesignChangeDataDto, record);
List<ChangeDataDto> factoryInfoNew = this.buildFactoryInfoNew(equipFactoryChangeDataDto, record); List<ChangeDataDto> factoryInfoNew = this.buildFactoryInfoNew(equipFactoryChangeDataDto, record);
...@@ -495,7 +495,7 @@ public class CommonEquipDataProcessService { ...@@ -495,7 +495,7 @@ public class CommonEquipDataProcessService {
} }
Map<String, Object> cast2UnderCase(Map<String, Object> re) { public Map<String, Object> cast2UnderCase(Map<String, Object> re) {
// 由于历史遗留问题,和前端保存统一,要转成大写下滑线驼峰 // 由于历史遗留问题,和前端保存统一,要转成大写下滑线驼峰
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
re.forEach((k, v) -> { re.forEach((k, v) -> {
...@@ -504,7 +504,7 @@ public class CommonEquipDataProcessService { ...@@ -504,7 +504,7 @@ public class CommonEquipDataProcessService {
return result; return result;
} }
void castJsonFields(Map<String, Object> re) { public void castJsonFields(Map<String, Object> re) {
jsonFields.forEach(field -> { jsonFields.forEach(field -> {
if (re.containsKey(field) && re.get(field) instanceof String) { if (re.containsKey(field) && re.get(field) instanceof String) {
re.put(field, JSON.parse((String) re.get(field))); re.put(field, JSON.parse((String) re.get(field)));
...@@ -512,7 +512,7 @@ public class CommonEquipDataProcessService { ...@@ -512,7 +512,7 @@ public class CommonEquipDataProcessService {
}); });
} }
EquipDesignChangeDataDto buildDesignInfo(String record) { public EquipDesignChangeDataDto buildDesignInfo(String record) {
EquipDesignChangeDataDto changeDataDto = new EquipDesignChangeDataDto(); EquipDesignChangeDataDto changeDataDto = new EquipDesignChangeDataDto();
IdxBizJgDesignInfo designInfo = idxBizJgDesignInfoMapper.selectOne(new LambdaQueryWrapper<IdxBizJgDesignInfo>().eq(IdxBizJgDesignInfo::getRecord, record)); IdxBizJgDesignInfo designInfo = idxBizJgDesignInfoMapper.selectOne(new LambdaQueryWrapper<IdxBizJgDesignInfo>().eq(IdxBizJgDesignInfo::getRecord, record));
BeanUtil.copyProperties(designInfo, changeDataDto); BeanUtil.copyProperties(designInfo, changeDataDto);
...@@ -520,7 +520,7 @@ public class CommonEquipDataProcessService { ...@@ -520,7 +520,7 @@ public class CommonEquipDataProcessService {
return changeDataDto; return changeDataDto;
} }
EquipFactoryChangeDataDto buildFactoryInfo(String record) { public EquipFactoryChangeDataDto buildFactoryInfo(String record) {
EquipFactoryChangeDataDto changeDataDto = new EquipFactoryChangeDataDto(); EquipFactoryChangeDataDto changeDataDto = new EquipFactoryChangeDataDto();
IdxBizJgFactoryInfo factoryInfo = jgFactoryInfoMapper.selectOne(new LambdaQueryWrapper<IdxBizJgFactoryInfo>().eq(IdxBizJgFactoryInfo::getRecord, record)); IdxBizJgFactoryInfo factoryInfo = jgFactoryInfoMapper.selectOne(new LambdaQueryWrapper<IdxBizJgFactoryInfo>().eq(IdxBizJgFactoryInfo::getRecord, record));
BeanUtil.copyProperties(factoryInfo, changeDataDto); BeanUtil.copyProperties(factoryInfo, changeDataDto);
...@@ -528,14 +528,14 @@ public class CommonEquipDataProcessService { ...@@ -528,14 +528,14 @@ public class CommonEquipDataProcessService {
return changeDataDto; return changeDataDto;
} }
EquipRegisterChangeDataDto buildRegisterInfo(String record) { public EquipRegisterChangeDataDto buildRegisterInfo(String record) {
EquipRegisterChangeDataDto changeDataDto = new EquipRegisterChangeDataDto(); EquipRegisterChangeDataDto changeDataDto = new EquipRegisterChangeDataDto();
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(new LambdaQueryWrapper<IdxBizJgRegisterInfo>().eq(IdxBizJgRegisterInfo::getRecord, record)); IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(new LambdaQueryWrapper<IdxBizJgRegisterInfo>().eq(IdxBizJgRegisterInfo::getRecord, record));
BeanUtil.copyProperties(registerInfo, changeDataDto); BeanUtil.copyProperties(registerInfo, changeDataDto);
return changeDataDto; return changeDataDto;
} }
EquipUseInfoChangeDataDto buildUseInfo(String record) { public EquipUseInfoChangeDataDto buildUseInfo(String record) {
EquipUseInfoChangeDataDto changeDataDto = new EquipUseInfoChangeDataDto(); EquipUseInfoChangeDataDto changeDataDto = new EquipUseInfoChangeDataDto();
IdxBizJgUseInfo useInfo = idxBizJgUseInfoService.getOneData(record); IdxBizJgUseInfo useInfo = idxBizJgUseInfoService.getOneData(record);
BeanUtil.copyProperties(useInfo, changeDataDto); BeanUtil.copyProperties(useInfo, changeDataDto);
......
...@@ -3,7 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl; ...@@ -3,7 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.yeejoin.amos.boot.module.jg.api.dto.*; import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.CommonEquipDataProcessService; import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.CommonEquipDataProcessService;
import com.yeejoin.amos.boot.module.jg.biz.edit.event.ChangeDataEvent; import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent;
import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher; import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -22,6 +22,8 @@ public class SingleManageEquipEditHandleImpl { ...@@ -22,6 +22,8 @@ public class SingleManageEquipEditHandleImpl {
private final EventPublisher publisher; private final EventPublisher publisher;
public static final String BIZ_TYPE = "singleManageEquipEdit";
public Map<String, ?> getDetail(String applyNo, String bizId) { public Map<String, ?> getDetail(String applyNo, String bizId) {
return this.getDetailByBizId(bizId); return this.getDetailByBizId(bizId);
} }
...@@ -60,9 +62,9 @@ public class SingleManageEquipEditHandleImpl { ...@@ -60,9 +62,9 @@ public class SingleManageEquipEditHandleImpl {
private void publishEvent2Logger(String record, List<ChangeDataDto> allChangeColumns) { private void publishEvent2Logger(String record, List<ChangeDataDto> allChangeColumns) {
BizRelationDataDto relationDataDto = new BizRelationDataDto(); BizRelationDataDto relationDataDto = new BizRelationDataDto();
relationDataDto.setBizId(record); relationDataDto.setBizId(record);
relationDataDto.setBizType(canHandleBizType()); relationDataDto.setBizType(BIZ_TYPE);
// 异步记录日志 // 异步记录日志
publisher.publish(new ChangeDataEvent(this, relationDataDto, allChangeColumns, RequestContext.cloneRequestContext())); publisher.publish(new BaseBizDataChangeEvent(this, relationDataDto, allChangeColumns, RequestContext.cloneRequestContext()));
} }
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.yeejoin.amos.boot.module.jg.api.dto.BizRelationDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationEqDto;
import com.yeejoin.amos.boot.module.jg.api.service.IBizDataChangeHandleStrategy;
import com.yeejoin.amos.boot.module.jg.biz.context.DataProcessStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent;
import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.service.IChangeDataProcessStrategy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class UseRegisterDataChangeHandleImpl implements IBizDataChangeHandleStrategy {
private final EventPublisher publisher;
private final UseRegisterUpdateService useRegisterUpdateService;
public UseRegisterDataChangeHandleImpl(EventPublisher publisher, UseRegisterUpdateService useRegisterUpdateService) {
this.publisher = publisher;
this.useRegisterUpdateService = useRegisterUpdateService;
}
@Override
public String canHandleBizType() {
return "useRegister";
}
/**
* 保存
*
* @param applyNo 单据编号
* @param model single, batch
* @param changeData 前端不支持分组-目前为平铺数据结构
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void doSave(String applyNo, ModelType model, Map<String, Object> changeData) {
// 选择是台套、还是单位办理的方式,进行分类数据的解析
IChangeDataProcessStrategy dataProcessor = DataProcessStrategyContext.getStrategy(model);
List<ChangeDataDto> allChangeColumns = dataProcessor.handle(changeData, applyNo);
if (!allChangeColumns.isEmpty()) {
// 更新历史的JSON的数据
this.updateHistoryJson(applyNo);
this.buildLogData(allChangeColumns);
// 异步记录日志
publishEvent2Logger(applyNo, allChangeColumns); }
}
private void updateHistoryJson(String applyNo) {
useRegisterUpdateService.updateHisData(applyNo);
}
private void buildLogData(List<ChangeDataDto> allChangeColumns) {
allChangeColumns.forEach(column -> {
column.setBizType("使用登记");
});
}
private void publishEvent2Logger(String applyNo, List<ChangeDataDto> allChangeColumns) {
List<JgUseRegistrationEqDto> eqDtos = useRegisterUpdateService.useRegistrationEqService.getBaseMapper().queryEqListByApplyNo(applyNo);
BizRelationDataDto bizRelationDataDto = new BizRelationDataDto();
bizRelationDataDto.setBizId(applyNo);
bizRelationDataDto.setBizType(canHandleBizType());
bizRelationDataDto.setRecords(eqDtos.stream().map(JgUseRegistrationEqDto::getEquId).collect(Collectors.toSet()));
// 异步记录日志
publisher.publish(new ChangeDataEvent(this, bizRelationDataDto, allChangeColumns, RequestContext.cloneRequestContext()));
}
@Override
public Map<String, ?> getDetail(String applyNo, ModelType model, String bizId) {
IChangeDataProcessStrategy dataProcessor = DataProcessStrategyContext.getStrategy(model);
// 兼容:台套类打开变更详情(使用applyNo) 和 单位办理批量时选择单个设备打开详情(使用record)
return dataProcessor.getDetail(applyNo, bizId);
}
}
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