feat(REQ-3488): unit更新,发送mq
This commit is contained in:
parent
65f3c4af01
commit
3743deade5
@ -9,7 +9,7 @@ import lombok.Getter;
|
||||
@Getter
|
||||
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public enum UnitEventType {
|
||||
NODE_UPSERTED("unit-upserted", "单位新增/更新事件"),
|
||||
UNIT_UPSERTED("unit-upserted", "单位新增/更新事件"),
|
||||
;
|
||||
|
||||
UnitEventType(String name, String desc) {
|
||||
|
||||
@ -4,17 +4,15 @@ import cn.axzo.foundation.event.support.Event;
|
||||
import cn.axzo.foundation.event.support.producer.EventProducer;
|
||||
import cn.axzo.foundation.exception.Axssert;
|
||||
import cn.axzo.orgmanax.common.config.BizResultCode;
|
||||
import cn.axzo.orgmanax.common.entity.BizErrorInfo;
|
||||
import cn.axzo.orgmanax.infra.dao.unit.entity.OrganizationalUnit;
|
||||
import cn.axzo.orgmanax.infra.dao.unit.repository.UnitQueryRepository;
|
||||
import cn.axzo.orgmanax.infra.dao.unit.repository.UnitUpsertRepository;
|
||||
import cn.axzo.orgmanax.server.node.event.inner.NodeEventType;
|
||||
import cn.axzo.orgmanax.server.unit.event.inner.UnitEventType;
|
||||
import cn.axzo.orgmanax.server.unit.event.inner.payload.UnitUpsertedPayload;
|
||||
import cn.axzo.orgmanax.server.unit.foundation.UnitFoundationService;
|
||||
import cn.axzo.orgmanax.server.unit.foundation.dto.UnitCreator;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.text.CharSequenceUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -37,11 +35,11 @@ public class UnitFoundationServiceImpl implements UnitFoundationService {
|
||||
// 根据单位名称或信用代码查询
|
||||
if (ObjectUtil.isNotEmpty(creator.getName())) {
|
||||
UnitQueryRepository.UnitResp unit = unitQueryRepository.one(UnitQueryRepository.OneReq.builder().name(creator.getName()).build());
|
||||
Axssert.check(unit == null, BizResultCode.INVALID_PARAM,"创建失败, 单位重复");
|
||||
Axssert.check(unit == null, BizResultCode.INVALID_PARAM, "创建失败, 单位重复");
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(creator.getUniformSocialCreditCode())) {
|
||||
UnitQueryRepository.UnitResp unit = unitQueryRepository.one(UnitQueryRepository.OneReq.builder().uniformSocialCreditCode(creator.getUniformSocialCreditCode()).build());
|
||||
Axssert.check(unit == null, BizResultCode.INVALID_PARAM,"创建失败, 统一社会信用码重复");
|
||||
Axssert.check(unit == null, BizResultCode.INVALID_PARAM, "创建失败, 统一社会信用码重复");
|
||||
}
|
||||
|
||||
// todo 1. parentId 是否使用
|
||||
@ -72,11 +70,19 @@ public class UnitFoundationServiceImpl implements UnitFoundationService {
|
||||
@Override
|
||||
public OrganizationalUnit update(UnitCreator creator) {
|
||||
|
||||
UnitQueryRepository.UnitResp unitResp = unitQueryRepository.one(UnitQueryRepository.OneReq.builder().id(creator.getId()).build());
|
||||
Axssert.check(unitResp != null, BizResultCode.INVALID_PARAM, "更新失败, 单位不存在");
|
||||
UnitQueryRepository.UnitResp oldUnit = unitQueryRepository.one(UnitQueryRepository.OneReq.builder().id(creator.getId()).build());
|
||||
Axssert.check(oldUnit != null, BizResultCode.INVALID_PARAM, "更新失败, 单位不存在");
|
||||
|
||||
OrganizationalUnit organizationalUnit = BeanUtil.copyProperties(creator, OrganizationalUnit.class);
|
||||
unitUpsertRepository.update(organizationalUnit);
|
||||
UnitQueryRepository.UnitResp newUnit = unitQueryRepository.one(UnitQueryRepository.OneReq.builder().id(creator.getId()).build());
|
||||
//生产消息 发送 UPDATED消息。
|
||||
eventProducer.send(Event.builder().shardingKey(creator.getId().toString())
|
||||
.targetId(creator.getId().toString())
|
||||
.targetType("unitId")
|
||||
.eventCode(UnitEventType.UNIT_UPSERTED.getEventCode())
|
||||
.operatorId("operatorId")
|
||||
.data(UnitUpsertedPayload.builder().oldValue(oldUnit).newValue(newUnit).build()).build());
|
||||
|
||||
return organizationalUnit;
|
||||
}
|
||||
|
||||
@ -41,6 +41,7 @@ public class UnitServiceImpl implements UnitService {
|
||||
private final UnitQueryRepository unitQueryRepository;
|
||||
private final TransactionTemplate transactionTemplate;
|
||||
private final WorkspaceGateway workspaceGateway;
|
||||
|
||||
@Override
|
||||
public CreateUnitResp create(CreateUnitReq req) {
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user