feat:[REQ-3282] 暂时提交,编写单位相关代码
This commit is contained in:
parent
5b65867e7f
commit
5737b3cd47
@ -27,13 +27,14 @@ public class UnitController implements OrgUnitApi {
|
||||
|
||||
@Override
|
||||
public ApiResult<CreateUnitResp> create(CreateUnitReq req) {
|
||||
// return unitService.create(BeanUtil.toBean(req, CreateUnitReq.class));
|
||||
return null;
|
||||
cn.axzo.orgmanax.server.unit.service.dto.CreateUnitResp resp = unitService.create(BeanUtil.copyProperties(req, cn.axzo.orgmanax.server.unit.service.dto.CreateUnitReq.class));
|
||||
return ApiResult.success(BeanUtil.copyProperties(resp, CreateUnitResp.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<UpdateUnitResp> update(UpdateUnitReq req) {
|
||||
return null;
|
||||
cn.axzo.orgmanax.server.unit.service.dto.UpdateUnitResp resp = unitService.update(BeanUtil.copyProperties(req, cn.axzo.orgmanax.server.unit.service.dto.UpdateUnitReq.class));
|
||||
return ApiResult.success(BeanUtil.copyProperties(resp, UpdateUnitResp.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -1,14 +1,17 @@
|
||||
package cn.axzo.orgmanax.server.unit.foundation.impl;
|
||||
|
||||
import cn.axzo.foundation.event.support.Event;
|
||||
import cn.axzo.foundation.event.support.producer.EventProducer;
|
||||
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.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.StrUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -21,6 +24,7 @@ public class UnitFoundationServiceImpl implements UnitFoundationService {
|
||||
|
||||
private final UnitUpsertRepository unitUpsertRepository;
|
||||
private final UnitQueryRepository unitQueryRepository;
|
||||
private final EventProducer<Void> eventProducer;
|
||||
|
||||
@Override
|
||||
public OrganizationalUnit create(UnitCreator creator) {
|
||||
@ -28,15 +32,31 @@ public class UnitFoundationServiceImpl implements UnitFoundationService {
|
||||
// 1. 重复校验
|
||||
// 根据单位名称或信用代码查询
|
||||
UnitQueryRepository.UnitResp unit = unitQueryRepository.one(UnitQueryRepository.OneReq.builder().name(creator.getName()).build());
|
||||
if (unit != null) {
|
||||
Assert.isFalse(CharSequenceUtil.equals(creator.getName(), unit.getName()), "创建失败, 单位名称重复");
|
||||
Assert.isFalse(CharSequenceUtil.equals(creator.getName(), unit.getName()), "创建失败, 单位名称重复");
|
||||
}
|
||||
Assert.isFalse(unit != null && CharSequenceUtil.equals(creator.getName(), unit.getName()), "创建失败, 单位名称重复");
|
||||
unit = unitQueryRepository.one(UnitQueryRepository.OneReq.builder().name(creator.getCertificationLetterUrl()).build());
|
||||
Assert.isFalse(CharSequenceUtil.equals(creator.getCertificationLetterUrl(), unit.getCertificationLetterUrl()), "创建失败, 单位名称重复");
|
||||
// todo 1. parentId 是否使用
|
||||
|
||||
|
||||
// 2. 创建单位实体
|
||||
OrganizationalUnit organizationalUnit = BeanUtil.copyProperties(creator, OrganizationalUnit.class);
|
||||
unitUpsertRepository.save(organizationalUnit);
|
||||
|
||||
// 3. 发送数据变更基础MQ
|
||||
eventProducer.send(Event.builder()
|
||||
.eventCode(NodeEventType.NODE_UPSERTED.getEventCode())
|
||||
.operatorId("")
|
||||
.operatorType(getClass().getSimpleName())
|
||||
.targetType("organizational_unit_id")
|
||||
.targetId(organizationalUnit.getId() + "")
|
||||
.shardingKey(organizationalUnit.getId() + "")
|
||||
.data(UnitUpsertedPayload.builder()
|
||||
.newValue(organizationalUnit)
|
||||
.oldValue(null)
|
||||
.ext(organizationalUnit.getExtra())
|
||||
.build())
|
||||
.build());
|
||||
|
||||
return organizationalUnit;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,6 +2,8 @@ package cn.axzo.orgmanax.server.unit.service;
|
||||
|
||||
import cn.axzo.orgmanax.server.unit.service.dto.CreateUnitReq;
|
||||
import cn.axzo.orgmanax.server.unit.service.dto.CreateUnitResp;
|
||||
import cn.axzo.orgmanax.server.unit.service.dto.UpdateUnitReq;
|
||||
import cn.axzo.orgmanax.server.unit.service.dto.UpdateUnitResp;
|
||||
|
||||
public interface UnitService {
|
||||
|
||||
@ -11,4 +13,11 @@ public interface UnitService {
|
||||
* @return
|
||||
*/
|
||||
CreateUnitResp create(CreateUnitReq req);
|
||||
|
||||
/**
|
||||
* 更新单位
|
||||
* @param updateUnitReq
|
||||
* @return
|
||||
*/
|
||||
UpdateUnitResp update(UpdateUnitReq updateUnitReq);
|
||||
}
|
||||
|
||||
@ -1,8 +1,14 @@
|
||||
package cn.axzo.orgmanax.server.unit.service.dto;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@Data
|
||||
public class CreateUnitResp {
|
||||
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
package cn.axzo.orgmanax.server.unit.service.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UpdateUnitReq {
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
package cn.axzo.orgmanax.server.unit.service.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UpdateUnitResp {
|
||||
}
|
||||
@ -1,8 +1,14 @@
|
||||
package cn.axzo.orgmanax.server.unit.service.impl;
|
||||
|
||||
import cn.axzo.orgmanax.infra.dao.unit.entity.OrganizationalUnit;
|
||||
import cn.axzo.orgmanax.server.unit.foundation.UnitFoundationService;
|
||||
import cn.axzo.orgmanax.server.unit.foundation.dto.UnitCreator;
|
||||
import cn.axzo.orgmanax.server.unit.service.UnitService;
|
||||
import cn.axzo.orgmanax.server.unit.service.dto.CreateUnitReq;
|
||||
import cn.axzo.orgmanax.server.unit.service.dto.CreateUnitResp;
|
||||
import cn.axzo.orgmanax.server.unit.service.dto.UpdateUnitReq;
|
||||
import cn.axzo.orgmanax.server.unit.service.dto.UpdateUnitResp;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -11,8 +17,24 @@ import org.springframework.stereotype.Service;
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class UnitServiceImpl implements UnitService {
|
||||
|
||||
private final UnitFoundationService unitFoundationService;
|
||||
|
||||
@Override
|
||||
public CreateUnitResp create(CreateUnitReq req) {
|
||||
|
||||
// 构建单位创建者
|
||||
UnitCreator unitCreator = BeanUtil.copyProperties(req, UnitCreator.class);
|
||||
|
||||
// 创建单位
|
||||
OrganizationalUnit organizationalUnit = unitFoundationService.create(unitCreator);
|
||||
|
||||
// 返回
|
||||
return CreateUnitResp.builder().id(organizationalUnit.getId()).build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UpdateUnitResp update(UpdateUnitReq updateUnitReq) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user