From d22c5eb9e36ed8817e38e4d820a2aefb9231b806 Mon Sep 17 00:00:00 2001 From: zhanglei Date: Tue, 21 Jul 2026 10:41:43 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=A2=E6=88=B7=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/db/phase2/init-phase2.sql | 27 ++--- .../institution/EvalCustomerController.java | 7 ++ .../convertor/EvalCustomerCmdConvertor.java | 79 +++++++++++++++ .../institution/EvalCustomerExecutor.java | 99 ++++++++----------- .../api/institution/EvalCustomerApi.java | 3 + .../client/co/institution/EnumOptionCO.java | 18 ++++ .../client/co/institution/EvalCustomerCO.java | 52 +++++++--- .../co/institution/EvalCustomerEnumsCO.java | 25 +++++ .../dto/institution/EvalCustomerAddCmd.java | 46 +++++---- .../institution/EvalCustomerModifyCmd.java | 45 +++++---- .../institution/EvalCustomerPageQuery.java | 9 +- .../constant/ChongqingDistrictEnum.java | 63 ++++++++++++ .../domain/constant/CustomerStatusEnum.java | 39 ++++++++ .../domain/constant/EnterpriseScaleEnum.java | 41 ++++++++ .../domain/constant/EnterpriseStatusEnum.java | 41 ++++++++ .../domain/entity/EvalCustomerEntity.java | 16 +-- .../domain/query/EvalCustomerQuery.java | 3 +- .../service/EvalCustomerDomainService.java | 14 +-- .../convertor/EvalCustomerDoConvertor.java | 16 +++ .../dataobject/EvalCustomerDO.java | 19 ++-- .../gatewayimpl/EvalCustomerGatewayImpl.java | 63 +++--------- 21 files changed, 525 insertions(+), 200 deletions(-) create mode 100644 safety-eval-app/src/main/java/org/qinan/safetyeval/app/convertor/EvalCustomerCmdConvertor.java create mode 100644 safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EnumOptionCO.java create mode 100644 safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalCustomerEnumsCO.java create mode 100644 safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/ChongqingDistrictEnum.java create mode 100644 safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/CustomerStatusEnum.java create mode 100644 safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/EnterpriseScaleEnum.java create mode 100644 safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/EnterpriseStatusEnum.java create mode 100644 safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/convertor/EvalCustomerDoConvertor.java diff --git a/docs/db/phase2/init-phase2.sql b/docs/db/phase2/init-phase2.sql index 87b2fde..a0945c5 100644 --- a/docs/db/phase2/init-phase2.sql +++ b/docs/db/phase2/init-phase2.sql @@ -191,18 +191,21 @@ drop table if exists `eval_customer`; create table `eval_customer` ( `id` bigint not null comment '主键', `org_id` bigint not null comment '评价机构id', - `customer_name` varchar(200) not null comment '客户(被评价企业)名称', + `customer_name` varchar(200) not null comment '企业名称/客户名称', `credit_code` varchar(18) default null comment '统一社会信用代码', - `district_code` varchar(32) default null comment '所属区县编码', - `district_name` varchar(50) default null comment '所属区县名称', - `address` varchar(500) default null comment '地址', - `contact_name` varchar(50) default null comment '联系人', - `contact_phone` varchar(20) default null comment '联系电话', - `industry_code` varchar(32) default null comment '行业编码', - `industry_name` varchar(100) default null comment '行业名称', + `district_code` varchar(32) default null comment '属地编码(重庆市区级,见ChongqingDistrictEnum)', + `industry_code` varchar(64) default null comment '所属行业编码(见IndustryEnum)', + `business_address` varchar(500) default null comment '经营地址', + `longitude` varchar(32) default null comment '经度', + `latitude` varchar(32) default null comment '纬度', + `enterprise_status_code` int default null comment '企业状态编码(见EnterpriseStatusEnum)', + `principal_name` varchar(50) default null comment '主要负责人', + `principal_phone` varchar(20) default null comment '负责人电话', + `legal_representative` varchar(50) default null comment '法定代表人', + `legal_representative_phone` varchar(20) default null comment '法人电话', + `enterprise_scale_code` varchar(32) default null comment '企业规模编码(见EnterpriseScaleEnum)', `eval_expire_date` date default null comment '评价到期日(供预警)', - `customer_status_code` int default null comment '客户状态编码(1正常2停用)', - `customer_status_name` varchar(50) default null comment '客户状态名称', + `customer_status_code` int default 1 comment '客户状态编码(见CustomerStatusEnum,1正常2停用)', `delete_enum` varchar(32) default null comment '删除标识true false', `remarks` varchar(255) default null comment '备注', `create_name` varchar(50) default null comment '创建人姓名', @@ -217,7 +220,9 @@ create table `eval_customer` ( primary key (`id`), key `idx_eval_customer_org` (`org_id`), key `idx_eval_customer_credit` (`credit_code`), - key `idx_eval_customer_name` (`customer_name`) + key `idx_eval_customer_name` (`customer_name`), + key `idx_eval_customer_district` (`district_code`), + key `idx_eval_customer_industry` (`industry_code`) ) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='安评客户表'; drop table if exists `eval_project`; diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalCustomerController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalCustomerController.java index 65b0b43..0c62c79 100644 --- a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalCustomerController.java +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalCustomerController.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.qinan.safetyeval.client.api.institution.EvalCustomerApi; import org.qinan.safetyeval.client.co.institution.EvalCustomerCO; +import org.qinan.safetyeval.client.co.institution.EvalCustomerEnumsCO; import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.SingleResponse; import org.qinan.safetyeval.client.dto.institution.EvalCustomerAddCmd; @@ -53,4 +54,10 @@ public class EvalCustomerController { public PageResponse page(@Validated EvalCustomerPageQuery query) { return evalCustomerApi.page(query); } + + @ApiOperation("客户管理枚举映射") + @GetMapping("/enums") + public SingleResponse enums() { + return evalCustomerApi.enums(); + } } diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/convertor/EvalCustomerCmdConvertor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/convertor/EvalCustomerCmdConvertor.java new file mode 100644 index 0000000..f96017e --- /dev/null +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/convertor/EvalCustomerCmdConvertor.java @@ -0,0 +1,79 @@ +package org.qinan.safetyeval.app.convertor; + +import org.mapstruct.AfterMapping; +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.MappingTarget; +import org.qinan.safetyeval.client.co.institution.EvalCustomerCO; +import org.qinan.safetyeval.client.dto.institution.EvalCustomerAddCmd; +import org.qinan.safetyeval.client.dto.institution.EvalCustomerModifyCmd; +import org.qinan.safetyeval.client.dto.institution.EvalCustomerPageQuery; +import org.qinan.safetyeval.domain.constant.ChongqingDistrictEnum; +import org.qinan.safetyeval.domain.constant.CustomerStatusEnum; +import org.qinan.safetyeval.domain.constant.EnterpriseScaleEnum; +import org.qinan.safetyeval.domain.constant.EnterpriseStatusEnum; +import org.qinan.safetyeval.domain.constant.IndustryEnum; +import org.qinan.safetyeval.domain.entity.EvalCustomerEntity; +import org.qinan.safetyeval.domain.query.EvalCustomerQuery; + +import java.util.List; + +/** + * 安评客户命令转换 + */ +@Mapper(componentModel = "spring") +public interface EvalCustomerCmdConvertor { + + @Mapping(target = "id", ignore = true) + @Mapping(target = "orgId", ignore = true) + @Mapping(target = "tenantId", ignore = true) + EvalCustomerEntity convertAddCmdToE(EvalCustomerAddCmd cmd); + + @Mapping(target = "id", expression = "java(cmd.getId() == null ? null : Long.parseLong(cmd.getId()))") + @Mapping(target = "orgId", ignore = true) + @Mapping(target = "tenantId", ignore = true) + EvalCustomerEntity convertModifyCmdToE(EvalCustomerModifyCmd cmd); + + @Mapping(target = "pageNum", source = "current") + @Mapping(target = "pageSize", source = "size") + @Mapping(target = "orgId", ignore = true) + EvalCustomerQuery convertPageQueryToQ(EvalCustomerPageQuery query); + + @Mapping(target = "id", expression = "java(entity.getId() == null ? null : String.valueOf(entity.getId()))") + @Mapping(target = "districtName", ignore = true) + @Mapping(target = "industryName", ignore = true) + @Mapping(target = "enterpriseStatusName", ignore = true) + @Mapping(target = "enterpriseScaleName", ignore = true) + @Mapping(target = "customerStatusName", ignore = true) + @Mapping(target = "projectCount", ignore = true) + EvalCustomerCO convertEToCO(EvalCustomerEntity entity); + + List convertEListToCOList(List list); + + @AfterMapping + default void fillEnumNames(EvalCustomerEntity entity, @MappingTarget EvalCustomerCO co) { + if (entity == null || co == null) { + return; + } + ChongqingDistrictEnum district = ChongqingDistrictEnum.ofCode(entity.getDistrictCode()); + if (district != null) { + co.setDistrictName(district.getValue()); + } + IndustryEnum industry = IndustryEnum.ofCode(entity.getIndustryCode()); + if (industry != null) { + co.setIndustryName(industry.getValue()); + } + EnterpriseStatusEnum enterpriseStatus = EnterpriseStatusEnum.ofCode(entity.getEnterpriseStatusCode()); + if (enterpriseStatus != null) { + co.setEnterpriseStatusName(enterpriseStatus.getValue()); + } + EnterpriseScaleEnum scale = EnterpriseScaleEnum.ofCode(entity.getEnterpriseScaleCode()); + if (scale != null) { + co.setEnterpriseScaleName(scale.getValue()); + } + CustomerStatusEnum customerStatus = CustomerStatusEnum.ofCode(entity.getCustomerStatusCode()); + if (customerStatus != null) { + co.setCustomerStatusName(customerStatus.getValue()); + } + } +} diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalCustomerExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalCustomerExecutor.java index 0498ac8..9f7dfb9 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalCustomerExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalCustomerExecutor.java @@ -1,12 +1,20 @@ package org.qinan.safetyeval.app.executor.institution; +import org.qinan.safetyeval.app.convertor.EvalCustomerCmdConvertor; import org.qinan.safetyeval.client.api.institution.EvalCustomerApi; +import org.qinan.safetyeval.client.co.institution.EnumOptionCO; import org.qinan.safetyeval.client.co.institution.EvalCustomerCO; +import org.qinan.safetyeval.client.co.institution.EvalCustomerEnumsCO; import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.SingleResponse; import org.qinan.safetyeval.client.dto.institution.EvalCustomerAddCmd; import org.qinan.safetyeval.client.dto.institution.EvalCustomerModifyCmd; import org.qinan.safetyeval.client.dto.institution.EvalCustomerPageQuery; +import org.qinan.safetyeval.domain.constant.ChongqingDistrictEnum; +import org.qinan.safetyeval.domain.constant.CustomerStatusEnum; +import org.qinan.safetyeval.domain.constant.EnterpriseScaleEnum; +import org.qinan.safetyeval.domain.constant.EnterpriseStatusEnum; +import org.qinan.safetyeval.domain.constant.IndustryEnum; import org.qinan.safetyeval.domain.entity.EvalCustomerEntity; import org.qinan.safetyeval.domain.exception.ErrorCode; import org.qinan.safetyeval.domain.query.EvalCustomerQuery; @@ -17,6 +25,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import java.util.Arrays; +import java.util.stream.Collectors; + @Service public class EvalCustomerExecutor implements EvalCustomerApi { @@ -28,24 +39,17 @@ public class EvalCustomerExecutor implements EvalCustomerApi { @Autowired(required = false) private InstitutionOrgSupport institutionOrgSupport; + @Lazy + @Autowired(required = false) + private EvalCustomerCmdConvertor evalCustomerCmdConvertor; + @Override public SingleResponse save(EvalCustomerAddCmd cmd) { Long orgId = institutionOrgSupport.resolveCurrentOrgId(); - EvalCustomerEntity entity = new EvalCustomerEntity(); + EvalCustomerEntity entity = evalCustomerCmdConvertor.convertAddCmdToE(cmd); entity.setOrgId(orgId); - entity.setCustomerName(cmd.getCustomerName()); - entity.setCreditCode(cmd.getCreditCode()); - entity.setDistrictCode(cmd.getDistrictCode()); - entity.setDistrictName(cmd.getDistrictName()); - entity.setAddress(cmd.getAddress()); - entity.setContactName(cmd.getContactName()); - entity.setContactPhone(cmd.getContactPhone()); - entity.setIndustryCode(cmd.getIndustryCode()); - entity.setIndustryName(cmd.getIndustryName()); - entity.setEvalExpireDate(cmd.getEvalExpireDate()); - entity.setCustomerStatusCode(cmd.getCustomerStatusCode()); EvalCustomerEntity result = evalCustomerDomainService.add(entity); - return SingleResponse.success(toCO(result, null)); + return SingleResponse.success(evalCustomerCmdConvertor.convertEToCO(result)); } @Override @@ -53,28 +57,18 @@ public class EvalCustomerExecutor implements EvalCustomerApi { EvalCustomerEntity entity = evalCustomerDomainService.get(id); institutionOrgSupport.assertOrgAccess(entity.getOrgId(), ErrorCode.EVAL_CUSTOMER_NOT_FOUND); long projectCount = evalCustomerDomainService.countProjects(id, entity.getOrgId()); - return SingleResponse.success(toCO(entity, projectCount)); + EvalCustomerCO co = evalCustomerCmdConvertor.convertEToCO(entity); + co.setProjectCount(projectCount); + return SingleResponse.success(co); } @Override public SingleResponse modify(EvalCustomerModifyCmd cmd) { EvalCustomerEntity existing = evalCustomerDomainService.get(Long.parseLong(cmd.getId())); institutionOrgSupport.assertOrgAccess(existing.getOrgId(), ErrorCode.EVAL_CUSTOMER_NOT_FOUND); - EvalCustomerEntity entity = new EvalCustomerEntity(); - entity.setId(Long.parseLong(cmd.getId())); - entity.setCustomerName(cmd.getCustomerName()); - entity.setCreditCode(cmd.getCreditCode()); - entity.setDistrictCode(cmd.getDistrictCode()); - entity.setDistrictName(cmd.getDistrictName()); - entity.setAddress(cmd.getAddress()); - entity.setContactName(cmd.getContactName()); - entity.setContactPhone(cmd.getContactPhone()); - entity.setIndustryCode(cmd.getIndustryCode()); - entity.setIndustryName(cmd.getIndustryName()); - entity.setEvalExpireDate(cmd.getEvalExpireDate()); - entity.setCustomerStatusCode(cmd.getCustomerStatusCode()); + EvalCustomerEntity entity = evalCustomerCmdConvertor.convertModifyCmdToE(cmd); EvalCustomerEntity result = evalCustomerDomainService.modify(entity); - return SingleResponse.success(toCO(result, null)); + return SingleResponse.success(evalCustomerCmdConvertor.convertEToCO(result)); } @Override @@ -87,39 +81,32 @@ public class EvalCustomerExecutor implements EvalCustomerApi { @Override public PageResponse page(EvalCustomerPageQuery query) { - EvalCustomerQuery domainQuery = new EvalCustomerQuery(); - domainQuery.setPageNum(query.getCurrent()); - domainQuery.setPageSize(query.getSize()); + EvalCustomerQuery domainQuery = evalCustomerCmdConvertor.convertPageQueryToQ(query); domainQuery.setOrgId(institutionOrgSupport.resolveCurrentOrgId()); - domainQuery.setCustomerName(query.getCustomerName()); - domainQuery.setContactName(query.getContactName()); - domainQuery.setDistrictCode(query.getDistrictCode()); - domainQuery.setDistrictName(query.getDistrictName()); PageResult pageResult = evalCustomerDomainService.page(domainQuery); return PageResponse.of( - pageResult.getRecords().stream().map(e -> toCO(e, null)).collect(java.util.stream.Collectors.toList()), + evalCustomerCmdConvertor.convertEListToCOList(pageResult.getRecords()), pageResult.getTotal()); } - private EvalCustomerCO toCO(EvalCustomerEntity entity, Long projectCount) { - if (entity == null) { - return null; - } - EvalCustomerCO co = new EvalCustomerCO(); - co.setId(entity.getId() != null ? String.valueOf(entity.getId()) : null); - co.setCustomerName(entity.getCustomerName()); - co.setCreditCode(entity.getCreditCode()); - co.setDistrictCode(entity.getDistrictCode()); - co.setDistrictName(entity.getDistrictName()); - co.setAddress(entity.getAddress()); - co.setContactName(entity.getContactName()); - co.setContactPhone(entity.getContactPhone()); - co.setIndustryCode(entity.getIndustryCode()); - co.setIndustryName(entity.getIndustryName()); - co.setEvalExpireDate(entity.getEvalExpireDate()); - co.setCustomerStatusCode(entity.getCustomerStatusCode()); - co.setCustomerStatusName(entity.getCustomerStatusName()); - co.setProjectCount(projectCount); - return co; + @Override + public SingleResponse enums() { + EvalCustomerEnumsCO co = new EvalCustomerEnumsCO(); + co.setDistrict(Arrays.stream(ChongqingDistrictEnum.values()) + .map(e -> new EnumOptionCO(e.getCode(), e.getValue())) + .collect(Collectors.toList())); + co.setIndustry(Arrays.stream(IndustryEnum.values()) + .map(e -> new EnumOptionCO(e.getCode(), e.getValue())) + .collect(Collectors.toList())); + co.setEnterpriseStatus(Arrays.stream(EnterpriseStatusEnum.values()) + .map(e -> new EnumOptionCO(String.valueOf(e.getCode()), e.getValue())) + .collect(Collectors.toList())); + co.setEnterpriseScale(Arrays.stream(EnterpriseScaleEnum.values()) + .map(e -> new EnumOptionCO(e.getCode(), e.getValue())) + .collect(Collectors.toList())); + co.setCustomerStatus(Arrays.stream(CustomerStatusEnum.values()) + .map(e -> new EnumOptionCO(String.valueOf(e.getCode()), e.getValue())) + .collect(Collectors.toList())); + return SingleResponse.success(co); } } diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalCustomerApi.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalCustomerApi.java index 2b71bc0..0129c71 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalCustomerApi.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalCustomerApi.java @@ -1,6 +1,7 @@ package org.qinan.safetyeval.client.api.institution; import org.qinan.safetyeval.client.co.institution.EvalCustomerCO; +import org.qinan.safetyeval.client.co.institution.EvalCustomerEnumsCO; import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.SingleResponse; import org.qinan.safetyeval.client.dto.institution.EvalCustomerAddCmd; @@ -18,4 +19,6 @@ public interface EvalCustomerApi { SingleResponse delete(Long id); PageResponse page(EvalCustomerPageQuery query); + + SingleResponse enums(); } diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EnumOptionCO.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EnumOptionCO.java new file mode 100644 index 0000000..66e16bc --- /dev/null +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EnumOptionCO.java @@ -0,0 +1,18 @@ +package org.qinan.safetyeval.client.co.institution; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class EnumOptionCO { + + @ApiModelProperty("编码") + private String code; + + @ApiModelProperty("名称") + private String name; +} diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalCustomerCO.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalCustomerCO.java index f260f09..3d97a8b 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalCustomerCO.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalCustomerCO.java @@ -16,35 +16,57 @@ public class EvalCustomerCO { @ApiModelProperty("统一社会信用代码") private String creditCode; - - @ApiModelProperty("所属区县编码") + @ApiModelProperty("属地编码") private String districtCode; - @ApiModelProperty("所属区县名称") + @ApiModelProperty("属地名称") private String districtName; - @ApiModelProperty("地址") - private String address; - - @ApiModelProperty("联系人") - private String contactName; - - @ApiModelProperty("联系电话") - private String contactPhone; - - @ApiModelProperty("行业编码") + @ApiModelProperty("所属行业编码") private String industryCode; - @ApiModelProperty("行业名称") + @ApiModelProperty("所属行业名称") private String industryName; + @ApiModelProperty("经营地址") + private String businessAddress; + + @ApiModelProperty("经度") + private String longitude; + + @ApiModelProperty("纬度") + private String latitude; + + @ApiModelProperty(value = "企业状态编码:1正常经营 2停产整改 3停业 4注销", example = "1") + private Integer enterpriseStatusCode; + + @ApiModelProperty("企业状态名称") + private String enterpriseStatusName; + + @ApiModelProperty("主要负责人") + private String principalName; + @ApiModelProperty("负责人电话") + private String principalPhone; + + @ApiModelProperty("法定代表人") + private String legalRepresentative; + + @ApiModelProperty("法人电话") + private String legalRepresentativePhone; + + @ApiModelProperty("企业规模编码") + private String enterpriseScaleCode; + + @ApiModelProperty("企业规模名称") + private String enterpriseScaleName; + @ApiModelProperty("评价到期日") private LocalDate evalExpireDate; @ApiModelProperty(value = "客户状态编码:1正常 2停用", example = "1") private Integer customerStatusCode; - @ApiModelProperty(value = "客户状态名称:正常/停用", example = "正常") + @ApiModelProperty("客户状态名称") private String customerStatusName; @ApiModelProperty("服务项目数") diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalCustomerEnumsCO.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalCustomerEnumsCO.java new file mode 100644 index 0000000..2fe5e6b --- /dev/null +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/EvalCustomerEnumsCO.java @@ -0,0 +1,25 @@ +package org.qinan.safetyeval.client.co.institution; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class EvalCustomerEnumsCO { + + @ApiModelProperty("属地(重庆市区级)") + private List district; + + @ApiModelProperty("所属行业") + private List industry; + + @ApiModelProperty("企业状态") + private List enterpriseStatus; + + @ApiModelProperty("企业规模") + private List enterpriseScale; + + @ApiModelProperty("客户状态") + private List customerStatus; +} diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalCustomerAddCmd.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalCustomerAddCmd.java index 6b0e534..54e3537 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalCustomerAddCmd.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalCustomerAddCmd.java @@ -8,32 +8,44 @@ import java.time.LocalDate; @Data public class EvalCustomerAddCmd { - @ApiModelProperty("客户名称") + @ApiModelProperty("企业名称/客户名称") private String customerName; @ApiModelProperty("统一社会信用代码") private String creditCode; - @ApiModelProperty("所属区县编码") + @ApiModelProperty("属地编码(重庆市区级)") private String districtCode; - @ApiModelProperty("所属区县名称") - private String districtName; - - @ApiModelProperty("地址") - private String address; - - @ApiModelProperty("联系人") - private String contactName; - - @ApiModelProperty("联系电话") - private String contactPhone; - - @ApiModelProperty("行业编码") + @ApiModelProperty("所属行业编码(IndustryEnum)") private String industryCode; - @ApiModelProperty("行业名称") - private String industryName; + @ApiModelProperty("经营地址") + private String businessAddress; + + @ApiModelProperty("经度") + private String longitude; + + @ApiModelProperty("纬度") + private String latitude; + + @ApiModelProperty(value = "企业状态编码:1正常经营 2停产整改 3停业 4注销", example = "1") + private Integer enterpriseStatusCode; + + @ApiModelProperty("主要负责人") + private String principalName; + + @ApiModelProperty("负责人电话") + private String principalPhone; + + @ApiModelProperty("法定代表人") + private String legalRepresentative; + + @ApiModelProperty("法人电话") + private String legalRepresentativePhone; + + @ApiModelProperty("企业规模编码(LARGE/MEDIUM/SMALL/MICRO)") + private String enterpriseScaleCode; @ApiModelProperty("评价到期日") private LocalDate evalExpireDate; diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalCustomerModifyCmd.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalCustomerModifyCmd.java index fc55c3b..023ff81 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalCustomerModifyCmd.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalCustomerModifyCmd.java @@ -11,32 +11,41 @@ public class EvalCustomerModifyCmd { @ApiModelProperty("主键ID") private String id; - @ApiModelProperty("客户名称") + @ApiModelProperty("企业名称/客户名称") private String customerName; @ApiModelProperty("统一社会信用代码") private String creditCode; - - @ApiModelProperty("所属区县编码") + @ApiModelProperty("属地编码(重庆市区级)") private String districtCode; - @ApiModelProperty("所属区县名称") - private String districtName; - - @ApiModelProperty("地址") - private String address; - - @ApiModelProperty("联系人") - private String contactName; - - @ApiModelProperty("联系电话") - private String contactPhone; - - @ApiModelProperty("行业编码") + @ApiModelProperty("所属行业编码(IndustryEnum)") private String industryCode; - @ApiModelProperty("行业名称") - private String industryName; + @ApiModelProperty("经营地址") + private String businessAddress; + + @ApiModelProperty("经度") + private String longitude; + @ApiModelProperty("纬度") + private String latitude; + + @ApiModelProperty(value = "企业状态编码:1正常经营 2停产整改 3停业 4注销", example = "1") + private Integer enterpriseStatusCode; + + @ApiModelProperty("主要负责人") + private String principalName; + @ApiModelProperty("负责人电话") + private String principalPhone; + + @ApiModelProperty("法定代表人") + private String legalRepresentative; + + @ApiModelProperty("法人电话") + private String legalRepresentativePhone; + + @ApiModelProperty("企业规模编码(LARGE/MEDIUM/SMALL/MICRO)") + private String enterpriseScaleCode; @ApiModelProperty("评价到期日") private LocalDate evalExpireDate; diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalCustomerPageQuery.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalCustomerPageQuery.java index 55c8201..18b33c7 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalCustomerPageQuery.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/EvalCustomerPageQuery.java @@ -12,12 +12,9 @@ public class EvalCustomerPageQuery extends BasePageQuery { @ApiModelProperty("客户名称") private String customerName; - @ApiModelProperty("联系人") - private String contactName; + @ApiModelProperty("主要负责人") + private String principalName; - @ApiModelProperty("所属区县编码") + @ApiModelProperty("属地编码") private String districtCode; - - @ApiModelProperty("所属区县名称") - private String districtName; } diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/ChongqingDistrictEnum.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/ChongqingDistrictEnum.java new file mode 100644 index 0000000..f116c89 --- /dev/null +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/ChongqingDistrictEnum.java @@ -0,0 +1,63 @@ +package org.qinan.safetyeval.domain.constant; + +/** + * 重庆市属地(区级)枚举 + */ +public enum ChongqingDistrictEnum { + + WANZHOU("500101", "万州区"), + FULING("500102", "涪陵区"), + YUZHONG("500103", "渝中区"), + DADUKOU("500104", "大渡口区"), + JIANGBEI("500105", "江北区"), + SHAPINGBA("500106", "沙坪坝区"), + JIULONGPO("500107", "九龙坡区"), + NANAN("500108", "南岸区"), + BEIBEI("500109", "北碚区"), + QIJIANG("500110", "綦江区"), + DAZU("500111", "大足区"), + YUBEI("500112", "渝北区"), + BANAN("500113", "巴南区"), + QIANJIANG("500114", "黔江区"), + CHANGSHOU("500115", "长寿区"), + JIANGJIN("500116", "江津区"), + HECHUAN("500117", "合川区"), + YONGCHUAN("500118", "永川区"), + NANCHUAN("500119", "南川区"), + BISHAN("500120", "璧山区"), + TONGLIANG("500151", "铜梁区"), + TONGNAN("500152", "潼南区"), + RONGCHANG("500153", "荣昌区"), + KAIZHOU("500154", "开州区"), + LIANGPING("500155", "梁平区"), + WULONG("500156", "武隆区"), + ; + + private final String code; + private final String value; + + ChongqingDistrictEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + + public static ChongqingDistrictEnum ofCode(String code) { + if (code == null) { + return null; + } + for (ChongqingDistrictEnum item : values()) { + if (item.code.equals(code)) { + return item; + } + } + return null; + } +} diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/CustomerStatusEnum.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/CustomerStatusEnum.java new file mode 100644 index 0000000..b7a1bf4 --- /dev/null +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/CustomerStatusEnum.java @@ -0,0 +1,39 @@ +package org.qinan.safetyeval.domain.constant; + +/** + * 安评客户状态枚举(档案启停) + */ +public enum CustomerStatusEnum { + + NORMAL(1, "正常"), + DISABLED(2, "停用"), + ; + + private final int code; + private final String value; + + CustomerStatusEnum(int code, String value) { + this.code = code; + this.value = value; + } + + public int getCode() { + return code; + } + + public String getValue() { + return value; + } + + public static CustomerStatusEnum ofCode(Integer code) { + if (code == null) { + return null; + } + for (CustomerStatusEnum item : values()) { + if (item.code == code) { + return item; + } + } + return null; + } +} diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/EnterpriseScaleEnum.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/EnterpriseScaleEnum.java new file mode 100644 index 0000000..5082652 --- /dev/null +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/EnterpriseScaleEnum.java @@ -0,0 +1,41 @@ +package org.qinan.safetyeval.domain.constant; + +/** + * 企业规模枚举(安评客户) + */ +public enum EnterpriseScaleEnum { + + LARGE("LARGE", "大型企业"), + MEDIUM("MEDIUM", "中型企业"), + SMALL("SMALL", "小型企业"), + MICRO("MICRO", "微型企业"), + ; + + private final String code; + private final String value; + + EnterpriseScaleEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + + public static EnterpriseScaleEnum ofCode(String code) { + if (code == null) { + return null; + } + for (EnterpriseScaleEnum item : values()) { + if (item.code.equals(code)) { + return item; + } + } + return null; + } +} diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/EnterpriseStatusEnum.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/EnterpriseStatusEnum.java new file mode 100644 index 0000000..1b01fa1 --- /dev/null +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/EnterpriseStatusEnum.java @@ -0,0 +1,41 @@ +package org.qinan.safetyeval.domain.constant; + +/** + * 企业状态枚举(安评客户) + */ +public enum EnterpriseStatusEnum { + + NORMAL_OPERATING(1, "正常经营"), + STOP_RECTIFY(2, "停产整改"), + CLOSED(3, "停业"), + CANCELLED(4, "注销"), + ; + + private final int code; + private final String value; + + EnterpriseStatusEnum(int code, String value) { + this.code = code; + this.value = value; + } + + public int getCode() { + return code; + } + + public String getValue() { + return value; + } + + public static EnterpriseStatusEnum ofCode(Integer code) { + if (code == null) { + return null; + } + for (EnterpriseStatusEnum item : values()) { + if (item.code == code) { + return item; + } + } + return null; + } +} diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/entity/EvalCustomerEntity.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/entity/EvalCustomerEntity.java index 24e4235..254d281 100644 --- a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/entity/EvalCustomerEntity.java +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/entity/EvalCustomerEntity.java @@ -6,20 +6,22 @@ import java.time.LocalDate; @Data public class EvalCustomerEntity { - private Long id; private Long orgId; private String customerName; private String creditCode; private String districtCode; - private String districtName; - private String address; - private String contactName; - private String contactPhone; private String industryCode; - private String industryName; + private String businessAddress; + private String longitude; + private String latitude; + private Integer enterpriseStatusCode; + private String principalName; + private String principalPhone; + private String legalRepresentative; + private String legalRepresentativePhone; + private String enterpriseScaleCode; private LocalDate evalExpireDate; private Integer customerStatusCode; - private String customerStatusName; private Long tenantId; } diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/query/EvalCustomerQuery.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/query/EvalCustomerQuery.java index 0135b94..ff759f3 100644 --- a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/query/EvalCustomerQuery.java +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/query/EvalCustomerQuery.java @@ -9,7 +9,6 @@ public class EvalCustomerQuery { private Long pageSize; private Long orgId; private String customerName; - private String contactName; + private String principalName; private String districtCode; - private String districtName; } diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/service/EvalCustomerDomainService.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/service/EvalCustomerDomainService.java index 4908864..17dc4a5 100644 --- a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/service/EvalCustomerDomainService.java +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/service/EvalCustomerDomainService.java @@ -1,5 +1,6 @@ package org.qinan.safetyeval.domain.service; +import org.qinan.safetyeval.domain.constant.CustomerStatusEnum; import org.qinan.safetyeval.domain.entity.EvalCustomerEntity; import org.qinan.safetyeval.domain.exception.BizException; import org.qinan.safetyeval.domain.exception.ErrorCode; @@ -21,7 +22,7 @@ public class EvalCustomerDomainService { private EvalProjectGateway evalProjectGateway; public EvalCustomerEntity add(EvalCustomerEntity entity) { - fillCustomerStatusName(entity); + fillDefaultCustomerStatus(entity); return evalCustomerGateway.save(entity); } @@ -39,7 +40,7 @@ public class EvalCustomerDomainService { public EvalCustomerEntity modify(EvalCustomerEntity entity) { EvalCustomerEntity existing = get(entity.getId()); - fillCustomerStatusName(entity); + fillDefaultCustomerStatus(entity); entity.setOrgId(existing.getOrgId()); return evalCustomerGateway.modify(entity); } @@ -61,14 +62,9 @@ public class EvalCustomerDomainService { return customer; } - private void fillCustomerStatusName(EvalCustomerEntity entity) { + private void fillDefaultCustomerStatus(EvalCustomerEntity entity) { if (entity.getCustomerStatusCode() == null) { - entity.setCustomerStatusCode(1); - } - if (entity.getCustomerStatusCode() == 1) { - entity.setCustomerStatusName("正常"); - } else if (entity.getCustomerStatusCode() == 2) { - entity.setCustomerStatusName("停用"); + entity.setCustomerStatusCode(CustomerStatusEnum.NORMAL.getCode()); } } } diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/convertor/EvalCustomerDoConvertor.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/convertor/EvalCustomerDoConvertor.java new file mode 100644 index 0000000..81b1054 --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/convertor/EvalCustomerDoConvertor.java @@ -0,0 +1,16 @@ +package org.qinan.safetyeval.infrastructure.convertor; + +import org.mapstruct.Mapper; +import org.qinan.safetyeval.domain.entity.EvalCustomerEntity; +import org.qinan.safetyeval.infrastructure.dataobject.EvalCustomerDO; + +/** + * 安评客户 Entity ↔ DO + */ +@Mapper(componentModel = "spring") +public interface EvalCustomerDoConvertor { + + EvalCustomerDO convertEToDo(EvalCustomerEntity entity); + + EvalCustomerEntity convertDoToE(EvalCustomerDO dataObject); +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/EvalCustomerDO.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/EvalCustomerDO.java index 015c4dc..284faba 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/EvalCustomerDO.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/EvalCustomerDO.java @@ -15,17 +15,20 @@ public class EvalCustomerDO { private String customerName; private String creditCode; private String districtCode; - private String districtName; - private String address; - private String contactName; - private String contactPhone; private String industryCode; - private String industryName; + private String businessAddress; + private String longitude; + private String latitude; + /** 企业状态编码:1正常经营 2停产整改 3停业 4注销 */ + private Integer enterpriseStatusCode; + private String principalName; + private String principalPhone; + private String legalRepresentative; + private String legalRepresentativePhone; + private String enterpriseScaleCode; private LocalDate evalExpireDate; - /** 客户状态编码:1正常 2停用,示例:1 */ + /** 客户状态编码:1正常 2停用 */ private Integer customerStatusCode; - /** 客户状态名称:正常/停用,示例:正常 */ - private String customerStatusName; private String deleteEnum; private String remarks; private String createName; diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/EvalCustomerGatewayImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/EvalCustomerGatewayImpl.java index 60f638f..0ac96ee 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/EvalCustomerGatewayImpl.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/EvalCustomerGatewayImpl.java @@ -7,6 +7,7 @@ import org.qinan.safetyeval.domain.entity.EvalCustomerEntity; import org.qinan.safetyeval.domain.gateway.EvalCustomerGateway; import org.qinan.safetyeval.domain.query.EvalCustomerQuery; import org.qinan.safetyeval.domain.query.PageResult; +import org.qinan.safetyeval.infrastructure.convertor.EvalCustomerDoConvertor; import org.qinan.safetyeval.infrastructure.dataobject.EvalCustomerDO; import org.qinan.safetyeval.infrastructure.mapper.EvalCustomerMapper; import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults; @@ -24,12 +25,16 @@ public class EvalCustomerGatewayImpl implements EvalCustomerGateway { @Resource private EvalCustomerMapper evalCustomerMapper; + @Resource + private EvalCustomerDoConvertor evalCustomerDoConvertor; + @Resource private OrgContextResolver orgContextResolver; @Override public EvalCustomerEntity save(EvalCustomerEntity entity) { - EvalCustomerDO dataObject = toDO(entity); + EvalCustomerDO dataObject = evalCustomerDoConvertor.convertEToDo(entity); + dataObject.setOrgId(orgContextResolver.resolveOrgId(entity.getOrgId())); InsertFieldDefaults.apply(dataObject); evalCustomerMapper.insert(dataObject); entity.setId(dataObject.getId()); @@ -42,13 +47,14 @@ public class EvalCustomerGatewayImpl implements EvalCustomerGateway { if (dataObject == null || !"false".equals(dataObject.getDeleteEnum())) { return null; } - return toEntity(dataObject); + return evalCustomerDoConvertor.convertDoToE(dataObject); } @Override public EvalCustomerEntity modify(EvalCustomerEntity entity) { - EvalCustomerDO dataObject = toDO(entity); + EvalCustomerDO dataObject = evalCustomerDoConvertor.convertEToDo(entity); dataObject.setId(entity.getId()); + dataObject.setOrgId(orgContextResolver.resolveOrgId(entity.getOrgId())); InsertFieldDefaults.applyForUpdate(dataObject); evalCustomerMapper.updateById(dataObject); return get(entity.getId()); @@ -64,7 +70,7 @@ public class EvalCustomerGatewayImpl implements EvalCustomerGateway { Page page = new Page<>(query.getPageNum(), query.getPageSize()); IPage result = evalCustomerMapper.selectPage(page, buildQueryWrapper(query)); List entities = result.getRecords().stream() - .map(this::toEntity) + .map(evalCustomerDoConvertor::convertDoToE) .collect(Collectors.toList()); return PageResult.of(entities, result.getTotal(), result.getCurrent(), result.getSize()); } @@ -78,58 +84,13 @@ public class EvalCustomerGatewayImpl implements EvalCustomerGateway { if (StringUtils.hasText(query.getCustomerName())) { wrapper.like(EvalCustomerDO::getCustomerName, query.getCustomerName()); } - if (StringUtils.hasText(query.getContactName())) { - wrapper.like(EvalCustomerDO::getContactName, query.getContactName()); + if (StringUtils.hasText(query.getPrincipalName())) { + wrapper.like(EvalCustomerDO::getPrincipalName, query.getPrincipalName()); } if (StringUtils.hasText(query.getDistrictCode())) { wrapper.eq(EvalCustomerDO::getDistrictCode, query.getDistrictCode()); } - if (StringUtils.hasText(query.getDistrictName())) { - wrapper.like(EvalCustomerDO::getDistrictName, query.getDistrictName()); - } wrapper.orderByDesc(EvalCustomerDO::getCreateTime); return wrapper; } - - private EvalCustomerDO toDO(EvalCustomerEntity entity) { - EvalCustomerDO dataObject = new EvalCustomerDO(); - dataObject.setOrgId(orgContextResolver.resolveOrgId(entity.getOrgId())); - dataObject.setCustomerName(entity.getCustomerName()); - dataObject.setCreditCode(entity.getCreditCode()); - dataObject.setDistrictCode(entity.getDistrictCode()); - dataObject.setDistrictName(entity.getDistrictName()); - dataObject.setAddress(entity.getAddress()); - dataObject.setContactName(entity.getContactName()); - dataObject.setContactPhone(entity.getContactPhone()); - dataObject.setIndustryCode(entity.getIndustryCode()); - dataObject.setIndustryName(entity.getIndustryName()); - dataObject.setEvalExpireDate(entity.getEvalExpireDate()); - dataObject.setCustomerStatusCode(entity.getCustomerStatusCode()); - dataObject.setCustomerStatusName(entity.getCustomerStatusName()); - dataObject.setTenantId(entity.getTenantId()); - return dataObject; - } - - private EvalCustomerEntity toEntity(EvalCustomerDO dataObject) { - if (dataObject == null) { - return null; - } - EvalCustomerEntity entity = new EvalCustomerEntity(); - entity.setId(dataObject.getId()); - entity.setOrgId(dataObject.getOrgId()); - entity.setCustomerName(dataObject.getCustomerName()); - entity.setCreditCode(dataObject.getCreditCode()); - entity.setDistrictCode(dataObject.getDistrictCode()); - entity.setDistrictName(dataObject.getDistrictName()); - entity.setAddress(dataObject.getAddress()); - entity.setContactName(dataObject.getContactName()); - entity.setContactPhone(dataObject.getContactPhone()); - entity.setIndustryCode(dataObject.getIndustryCode()); - entity.setIndustryName(dataObject.getIndustryName()); - entity.setEvalExpireDate(dataObject.getEvalExpireDate()); - entity.setCustomerStatusCode(dataObject.getCustomerStatusCode()); - entity.setCustomerStatusName(dataObject.getCustomerStatusName()); - entity.setTenantId(dataObject.getTenantId()); - return entity; - } }