diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/convertor/OrgPersonnelDoConvertor.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/convertor/OrgPersonnelDoConvertor.java new file mode 100644 index 0000000..6cf84f5 --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/convertor/OrgPersonnelDoConvertor.java @@ -0,0 +1,40 @@ +package org.qinan.safetyeval.infrastructure.convertor; + +import org.mapstruct.Mapper; +import org.qinan.safetyeval.domain.entity.OrgPersonnelEntity; +import org.qinan.safetyeval.infrastructure.dataobject.OrgPersonnelDO; + +import java.util.List; + +/** + * 人员信息DO对象转换 + * + * @author safety-eval + */ +@Mapper(componentModel = "spring") +public interface OrgPersonnelDoConvertor { + + /** + * 领域对象转DO + * + * @param orgPersonnelEntity + * @return + */ + OrgPersonnelDO convertEeToDo(OrgPersonnelEntity orgPersonnelEntity); + + /** + * DO转领域对象 + * + * @param orgPersonnelDO DO + * @return + */ + OrgPersonnelEntity converDoToEe(OrgPersonnelDO orgPersonnelDO); + + /** + * DOs转领域对象列表 + * + * @param orgPersonnelDOs dos + * @return + */ + List converDosToEes(List orgPersonnelDOs); +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/OrgPersonnelGatewayImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/OrgPersonnelGatewayImpl.java index f35bc6f..e2ba9e2 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/OrgPersonnelGatewayImpl.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/OrgPersonnelGatewayImpl.java @@ -7,6 +7,7 @@ import org.qinan.safetyeval.domain.entity.OrgPersonnelEntity; import org.qinan.safetyeval.domain.gateway.OrgPersonnelGateway; import org.qinan.safetyeval.domain.query.OrgPersonnelQuery; import org.qinan.safetyeval.domain.query.PageResult; +import org.qinan.safetyeval.infrastructure.convertor.OrgPersonnelDoConvertor; import org.qinan.safetyeval.infrastructure.dataobject.OrgPersonnelDO; import org.qinan.safetyeval.infrastructure.mapper.OrgPersonnelMapper; import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults; @@ -18,7 +19,6 @@ import org.springframework.util.StringUtils; import javax.annotation.Resource; import java.util.List; -import java.util.stream.Collectors; /** * 人员信息Gateway实现(Infrastructure层) @@ -37,14 +37,17 @@ public class OrgPersonnelGatewayImpl implements OrgPersonnelGateway { @Resource private OrgPersonnelRawRepository orgPersonnelRawRepository; + @Resource + private OrgPersonnelDoConvertor orgPersonnelDoConvertor; + @Override public OrgPersonnelEntity save(OrgPersonnelEntity entity) { - OrgPersonnelDO dataObject = toDO(entity); + OrgPersonnelDO dataObject = orgPersonnelDoConvertor.convertEeToDo(entity); + dataObject.setOrgId(orgContextResolver.resolveOrgId(entity.getOrgId())); InsertFieldDefaults.apply(dataObject); try { orgPersonnelMapper.insert(dataObject); - } - catch (DuplicateKeyException ex) { + } catch (DuplicateKeyException ex) { OrgPersonnelEntity existing = findAnyByAccount(entity.getAccount()); if (existing == null || !"true".equals(existing.getDeleteEnum())) { throw ex; @@ -61,8 +64,9 @@ public class OrgPersonnelGatewayImpl implements OrgPersonnelGateway { @Override public OrgPersonnelEntity get(Long id) { OrgPersonnelDO dataObject = orgPersonnelMapper.selectById(id); - return toEntity(dataObject); + return orgPersonnelDoConvertor.converDoToEe(dataObject); } + @Override public OrgPersonnelEntity getByAccount(String account) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); @@ -73,7 +77,7 @@ public class OrgPersonnelGatewayImpl implements OrgPersonnelGateway { wrapper.eq(OrgPersonnelDO::getOrgId, orgId); } OrgPersonnelDO dataObject = orgPersonnelMapper.selectOne(wrapper); - return toEntity(dataObject); + return orgPersonnelDoConvertor.converDoToEe(dataObject); } @Override @@ -83,12 +87,13 @@ public class OrgPersonnelGatewayImpl implements OrgPersonnelGateway { } Long orgId = orgContextResolver.resolveOrgId(null); OrgPersonnelDO dataObject = orgPersonnelRawRepository.selectAnyByOrgIdAndAccount(orgId, account); - return toEntity(dataObject); + return orgPersonnelDoConvertor.converDoToEe(dataObject); } @Override public OrgPersonnelEntity restore(OrgPersonnelEntity entity) { - OrgPersonnelDO dataObject = toDO(entity); + OrgPersonnelDO dataObject = orgPersonnelDoConvertor.convertEeToDo(entity); + dataObject.setOrgId(orgContextResolver.resolveOrgId(entity.getOrgId())); dataObject.setId(entity.getId()); dataObject.setDeleteEnum("false"); InsertFieldDefaults.applyForUpdate(dataObject); @@ -106,12 +111,13 @@ public class OrgPersonnelGatewayImpl implements OrgPersonnelGateway { wrapper.eq(OrgPersonnelDO::getDeleteEnum, "false"); wrapper.last("LIMIT 1"); OrgPersonnelDO dataObject = orgPersonnelMapper.selectOne(wrapper); - return toEntity(dataObject); + return orgPersonnelDoConvertor.converDoToEe(dataObject); } @Override public OrgPersonnelEntity modify(OrgPersonnelEntity entity) { - OrgPersonnelDO dataObject = toDO(entity); + OrgPersonnelDO dataObject = orgPersonnelDoConvertor.convertEeToDo(entity); + dataObject.setOrgId(orgContextResolver.resolveOrgId(entity.getOrgId())); dataObject.setId(entity.getId()); InsertFieldDefaults.applyForUpdate(dataObject); orgPersonnelMapper.updateById(dataObject); @@ -148,8 +154,7 @@ public class OrgPersonnelGatewayImpl implements OrgPersonnelGateway { if (query.getPersonnelIds() != null) { if (query.getPersonnelIds().isEmpty()) { wrapper.eq(OrgPersonnelDO::getId, -1L); - } - else { + } else { wrapper.in(OrgPersonnelDO::getId, query.getPersonnelIds()); } } @@ -157,9 +162,7 @@ public class OrgPersonnelGatewayImpl implements OrgPersonnelGateway { Page page = new Page<>(query.getPageNum(), query.getPageSize()); IPage result = orgPersonnelMapper.selectPage(page, wrapper); - List entities = result.getRecords().stream() - .map(this::toEntity) - .collect(Collectors.toList()); + List entities = orgPersonnelDoConvertor.converDosToEes(result.getRecords()); return PageResult.of(entities, result.getTotal(), result.getCurrent(), result.getSize()); } @@ -167,96 +170,8 @@ public class OrgPersonnelGatewayImpl implements OrgPersonnelGateway { @Override public OrgPersonnelEntity findAnyByIdCardNo(String idCardNo) { OrgPersonnelDO orgPersonnelDO = orgPersonnelMapper.selectOne(new LambdaQueryWrapper().eq(OrgPersonnelDO::getIdCardNo, idCardNo)); - if (orgPersonnelDO != null) { - return toEntity(orgPersonnelDO); - } - return null; + return orgPersonnelDoConvertor.converDoToEe(orgPersonnelDO); } - private OrgPersonnelDO toDO(OrgPersonnelEntity entity) { - OrgPersonnelDO dataObject = new OrgPersonnelDO(); - dataObject.setOrgId(orgContextResolver.resolveOrgId(entity.getOrgId())); - dataObject.setDeptId(entity.getDeptId()); - dataObject.setPostId(entity.getPostId()); - dataObject.setUserName(entity.getUserName()); - dataObject.setAccount(entity.getAccount()); - dataObject.setGenderCode(entity.getGenderCode()); - dataObject.setGenderName(entity.getGenderName()); - dataObject.setBirthDate(entity.getBirthDate()); - dataObject.setIdCardNo(entity.getIdCardNo()); - dataObject.setCurrentAddress(entity.getCurrentAddress()); - dataObject.setOfficeAddress(entity.getOfficeAddress()); - dataObject.setEducationCode(entity.getEducationCode()); - dataObject.setEducationName(entity.getEducationName()); - dataObject.setGraduateSchool(entity.getGraduateSchool()); - dataObject.setMajor(entity.getMajor()); - dataObject.setEmploymentStatusCode(entity.getEmploymentStatusCode()); - dataObject.setEmploymentStatusName(entity.getEmploymentStatusName()); - dataObject.setPersonTypeCode(entity.getPersonTypeCode()); - dataObject.setPersonTypeName(entity.getPersonTypeName()); - dataObject.setQualScope(entity.getQualScope()); - dataObject.setProfessionalLevelCode(entity.getProfessionalLevelCode()); - dataObject.setProfessionalLevelName(entity.getProfessionalLevelName()); - dataObject.setEvaluatorCertNo(entity.getEvaluatorCertNo()); - dataObject.setEducationTypeCode(entity.getEducationTypeCode()); - dataObject.setEducationTypeName(entity.getEducationTypeName()); - dataObject.setEducationLevelCode(entity.getEducationLevelCode()); - dataObject.setEducationLevelName(entity.getEducationLevelName()); - dataObject.setTitleCode(entity.getTitleCode()); - dataObject.setRegisterEngineerFlag(entity.getRegisterEngineerFlag()); - dataObject.setPublications(entity.getPublications()); - dataObject.setAbilityDeclaration(entity.getAbilityDeclaration()); - dataObject.setWorkExperience(entity.getWorkExperience()); - dataObject.setProofMaterialUrl(entity.getProofMaterialUrl()); - dataObject.setTenantId(entity.getTenantId()); - dataObject.setJoinWorkDate(entity.getJoinWorkDate()); - return dataObject; - } - - private OrgPersonnelEntity toEntity(OrgPersonnelDO dataObject) { - if (dataObject == null) { - return null; - } - OrgPersonnelEntity entity = new OrgPersonnelEntity(); - entity.setId(dataObject.getId()); - entity.setDeptId(dataObject.getDeptId()); - entity.setPostId(dataObject.getPostId()); - entity.setUserName(dataObject.getUserName()); - entity.setAccount(dataObject.getAccount()); - entity.setGenderCode(dataObject.getGenderCode()); - entity.setGenderName(dataObject.getGenderName()); - entity.setBirthDate(dataObject.getBirthDate()); - entity.setIdCardNo(dataObject.getIdCardNo()); - entity.setCurrentAddress(dataObject.getCurrentAddress()); - entity.setOfficeAddress(dataObject.getOfficeAddress()); - entity.setEducationCode(dataObject.getEducationCode()); - entity.setEducationName(dataObject.getEducationName()); - entity.setGraduateSchool(dataObject.getGraduateSchool()); - entity.setMajor(dataObject.getMajor()); - entity.setBasicDisciplineMajorId(dataObject.getBasicDisciplineMajorId()); - entity.setEmploymentStatusCode(dataObject.getEmploymentStatusCode()); - entity.setEmploymentStatusName(dataObject.getEmploymentStatusName()); - entity.setPersonTypeCode(dataObject.getPersonTypeCode()); - entity.setPersonTypeName(dataObject.getPersonTypeName()); - entity.setQualScope(dataObject.getQualScope()); - entity.setProfessionalLevelCode(dataObject.getProfessionalLevelCode()); - entity.setProfessionalLevelName(dataObject.getProfessionalLevelName()); - entity.setEvaluatorCertNo(dataObject.getEvaluatorCertNo()); - entity.setEducationTypeCode(dataObject.getEducationTypeCode()); - entity.setEducationTypeName(dataObject.getEducationTypeName()); - entity.setEducationLevelCode(dataObject.getEducationLevelCode()); - entity.setEducationLevelName(dataObject.getEducationLevelName()); - entity.setTitleCode(dataObject.getTitleCode()); - entity.setRegisterEngineerFlag(dataObject.getRegisterEngineerFlag()); - entity.setPublications(dataObject.getPublications()); - entity.setAbilityDeclaration(dataObject.getAbilityDeclaration()); - entity.setWorkExperience(dataObject.getWorkExperience()); - entity.setProofMaterialUrl(dataObject.getProofMaterialUrl()); - entity.setTenantId(dataObject.getTenantId()); - entity.setDeleteEnum(dataObject.getDeleteEnum()); - entity.setJoinWorkDate(dataObject.getJoinWorkDate()); - entity.setTechnicalDirectorFlag(dataObject.getTechnicalDirectorFlag()); - entity.setProcessControlLeaderFlag(dataObject.getProcessControlLeaderFlag()); - return entity; - } } +