From 5cd51dc30ae07cc48bb1299640c53dfc0c60cde9 Mon Sep 17 00:00:00 2001 From: liuyang Date: Fri, 13 Dec 2024 10:52:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:[REQ-3282]=20=E6=9A=82=E6=97=B6=E6=8F=90?= =?UTF-8?q?=E4=BA=A4,=E7=BC=96=E5=86=99=E5=8D=95=E4=BD=8D=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../orgmanax/api/unit/feign/OrgUnitApi.java | 3 +- .../orgmanax/api/unit/req/CreateUnitReq.java | 6 + .../orgmanax/api/unit/req/UpdateUnitReq.java | 187 ++++++++++++++++++ .../api/unit/resp/UpdateUnitResp.java | 187 ++++++++++++++++++ .../unit/repository/UnitQueryRepository.java | 4 +- .../unit/repository/UnitUpsertRepository.java | 6 + .../impl/UnitQueryRepositoryImpl.java | 3 +- .../impl/UnitUpsertRepositoryImpl.java | 5 + .../unit/controller/UnitController.java | 7 +- .../foundation/UnitFoundationService.java | 5 + .../unit/foundation/dto/UnitCreator.java | 5 + .../impl/UnitFoundationServiceImpl.java | 23 ++- .../server/unit/service/UnitService.java | 10 + .../unit/service/dto/UpdateUnitReq.java | 187 ++++++++++++++++++ .../unit/service/dto/UpdateUnitResp.java | 187 ++++++++++++++++++ .../unit/service/impl/UnitServiceImpl.java | 26 ++- 16 files changed, 838 insertions(+), 13 deletions(-) diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/feign/OrgUnitApi.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/feign/OrgUnitApi.java index e912e08..10643e7 100644 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/feign/OrgUnitApi.java +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/feign/OrgUnitApi.java @@ -1,6 +1,7 @@ package cn.axzo.orgmanax.api.unit.feign; +import cn.axzo.foundation.page.PageResp; import cn.axzo.foundation.result.ApiResult; import cn.axzo.orgmanax.api.unit.req.CreateUnitReq; import cn.axzo.orgmanax.api.unit.req.ListUnitReq; @@ -48,6 +49,6 @@ public interface OrgUnitApi { * @see ListUnitReq#getPageSize() */ @PostMapping("/api/org/unit/list") - ApiResult list(@RequestBody @Validated ListUnitReq req); + ApiResult> list(@RequestBody @Validated ListUnitReq req); } diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/req/CreateUnitReq.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/req/CreateUnitReq.java index 2514c29..0f959a9 100644 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/req/CreateUnitReq.java +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/req/CreateUnitReq.java @@ -1,11 +1,17 @@ package cn.axzo.orgmanax.api.unit.req; import com.alibaba.fastjson.JSONObject; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import java.io.Serializable; import java.util.Date; +@Builder +@AllArgsConstructor +@NoArgsConstructor @Data public class CreateUnitReq implements Serializable { diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/req/UpdateUnitReq.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/req/UpdateUnitReq.java index 580952c..5cbe17b 100644 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/req/UpdateUnitReq.java +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/req/UpdateUnitReq.java @@ -1,9 +1,196 @@ package cn.axzo.orgmanax.api.unit.req; +import com.alibaba.fastjson.JSONObject; import lombok.Data; import java.io.Serializable; @Data public class UpdateUnitReq implements Serializable { + + /** + * id + */ + private Long id; + + /** + * 父单位id + */ + private Long parentId; + + /** + * 单位名称 + */ + private String name; + + /** + * 单位logo url地址 + */ + private String logoUrl; + + /** + * 单位介绍 + */ + private String introduction; + + /** + * 单位类型 1:总包单位 2:建设单位 3:监理单位 4:劳务分包 5:专业分包 6.项目外班组 7.安心筑平台 + */ + private Integer type; + + /** + * 单位性质:0:其他 1:团队 2:企业 3:班组 + */ + private Integer nature; + + /** + * 营业执照号图片url地址 + */ + private String usccPicUrl; + + /** + * 认证公函 + */ + private String certificationLetterUrl; + + /** + * 统一社会信用码 + */ + private String uniformSocialCreditCode; + + /** + * 法人代表姓名 + */ + private String legalName; + + /** + * 法人手机号 + */ + private String legalPhone; + + /** + * 法人代表身份证 + */ + private String legalIdCard; + + /** + * 班组长身份id + */ + private Long identityId; + + /** + * 身份类型 1.无身份 2.班组长 + */ + private Integer identityType; + + /** + * 单位注册地址 + */ + private String registeredAddress; + + /** + * 存续状态 + */ + private String survivalStatus; + + /** + * 省市区区编码,以“/”隔开 + */ + private String areaCode; + + /** + * 省市区名字,以“/”隔开(四川省/成都市/武侯区) + */ + private String areaName; + + /** + * 企业详细地址 + */ + private String address; + + /** + * 企业POI地址 + */ + private String addressPoi; + + /** + * 经纬度,以“/”隔开经度,纬度(124.32421/142.424432) + */ + private String longLat; + + /** + * 官网 + */ + private String website; + + /** + * 状态:0:初始化,10:审核中,20:审核拒绝,30:审核通过,40:未认证,50:已认证 + */ + private Integer status; + + /** + * 是否启用:0禁用,1启用 + */ + private Integer enable; + + /** + * 来源场景:0:其他,1:客户注册,2:平台录入,3:总包创建,4:网络抓取,5:班组创建 + */ + private Integer sceneType; + + /** + * 备注 + */ + private String memo; + + /** + * 扩展字段 + */ + private JSONObject extra; + + /** + * 企业标签1正式企业 2测试企业 + */ + private Integer entTag; + + /** + * 营业期限(纯字符串不做解析) + */ + private String operatingPeriod; + + /** + * 经营范围(纯字符串不做解析) + */ + private String businessScope; + + /** + * 企业邮箱 + */ + private String email; + + /** + * 企业电话 + */ + private String telephone; + + /** + * 省编码 + */ + private String provinceCode; + + /** + * 省份名称 + */ + private String provinceName; + + /** + * 市编码 + */ + private String cityCode; + + /** + * 市名称 + */ + private String cityName; + } diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/resp/UpdateUnitResp.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/resp/UpdateUnitResp.java index d005282..cd53fd8 100644 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/resp/UpdateUnitResp.java +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/resp/UpdateUnitResp.java @@ -1,9 +1,196 @@ package cn.axzo.orgmanax.api.unit.resp; +import com.alibaba.fastjson.JSONObject; import lombok.Data; import java.io.Serializable; @Data public class UpdateUnitResp implements Serializable { + + /** + * id + */ + private Long id; + + /** + * 父单位id + */ + private Long parentId; + + /** + * 单位名称 + */ + private String name; + + /** + * 单位logo url地址 + */ + private String logoUrl; + + /** + * 单位介绍 + */ + private String introduction; + + /** + * 单位类型 1:总包单位 2:建设单位 3:监理单位 4:劳务分包 5:专业分包 6.项目外班组 7.安心筑平台 + */ + private Integer type; + + /** + * 单位性质:0:其他 1:团队 2:企业 3:班组 + */ + private Integer nature; + + /** + * 营业执照号图片url地址 + */ + private String usccPicUrl; + + /** + * 认证公函 + */ + private String certificationLetterUrl; + + /** + * 统一社会信用码 + */ + private String uniformSocialCreditCode; + + /** + * 法人代表姓名 + */ + private String legalName; + + /** + * 法人手机号 + */ + private String legalPhone; + + /** + * 法人代表身份证 + */ + private String legalIdCard; + + /** + * 班组长身份id + */ + private Long identityId; + + /** + * 身份类型 1.无身份 2.班组长 + */ + private Integer identityType; + + /** + * 单位注册地址 + */ + private String registeredAddress; + + /** + * 存续状态 + */ + private String survivalStatus; + + /** + * 省市区区编码,以“/”隔开 + */ + private String areaCode; + + /** + * 省市区名字,以“/”隔开(四川省/成都市/武侯区) + */ + private String areaName; + + /** + * 企业详细地址 + */ + private String address; + + /** + * 企业POI地址 + */ + private String addressPoi; + + /** + * 经纬度,以“/”隔开经度,纬度(124.32421/142.424432) + */ + private String longLat; + + /** + * 官网 + */ + private String website; + + /** + * 状态:0:初始化,10:审核中,20:审核拒绝,30:审核通过,40:未认证,50:已认证 + */ + private Integer status; + + /** + * 是否启用:0禁用,1启用 + */ + private Integer enable; + + /** + * 来源场景:0:其他,1:客户注册,2:平台录入,3:总包创建,4:网络抓取,5:班组创建 + */ + private Integer sceneType; + + /** + * 备注 + */ + private String memo; + + /** + * 扩展字段 + */ + private JSONObject extra; + + /** + * 企业标签1正式企业 2测试企业 + */ + private Integer entTag; + + /** + * 营业期限(纯字符串不做解析) + */ + private String operatingPeriod; + + /** + * 经营范围(纯字符串不做解析) + */ + private String businessScope; + + /** + * 企业邮箱 + */ + private String email; + + /** + * 企业电话 + */ + private String telephone; + + /** + * 省编码 + */ + private String provinceCode; + + /** + * 省份名称 + */ + private String provinceName; + + /** + * 市编码 + */ + private String cityCode; + + /** + * 市名称 + */ + private String cityName; + } diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/UnitQueryRepository.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/UnitQueryRepository.java index e1c187f..6c27d78 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/UnitQueryRepository.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/UnitQueryRepository.java @@ -22,7 +22,7 @@ import java.util.Set; public interface UnitQueryRepository { - PageResp page(PageReq req); + PageResp page(ListReq paramReq); default List list(ListReq req) { PageReq pageReq = BeanUtil.toBean(req, PageReq.class); @@ -78,7 +78,7 @@ public interface UnitQueryRepository { @AllArgsConstructor @Data @SuperBuilder - class ListReq { + class ListReq implements IPageReq{ @CriteriaField private Long id; @CriteriaField(field = "id", operator = Operator.IN) diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/UnitUpsertRepository.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/UnitUpsertRepository.java index c37b5b4..378a42a 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/UnitUpsertRepository.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/UnitUpsertRepository.java @@ -9,4 +9,10 @@ public interface UnitUpsertRepository { * @param organizationalUnit 组织单位 */ void save(OrganizationalUnit organizationalUnit); + + /** + * 更新单位 + * @param organizationalUnit + */ + void update(OrganizationalUnit organizationalUnit); } diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/impl/UnitQueryRepositoryImpl.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/impl/UnitQueryRepositoryImpl.java index 96d6ed2..db4cda1 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/impl/UnitQueryRepositoryImpl.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/impl/UnitQueryRepositoryImpl.java @@ -24,7 +24,7 @@ public class UnitQueryRepositoryImpl implements UnitQueryRepository { private final UnitDao unitDao; @Override - public PageResp page(PageReq req) { + public PageResp page(ListReq req) { IPage page = PageConverter.toMybatis(req, OrganizationalUnit.class); QueryWrapper wrapper = QueryWrapperHelper.fromBean(req, OrganizationalUnit.class); IPage results = unitDao.page(page, wrapper) @@ -37,4 +37,5 @@ public class UnitQueryRepositoryImpl implements UnitQueryRepository { return resp; } + } diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/impl/UnitUpsertRepositoryImpl.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/impl/UnitUpsertRepositoryImpl.java index 50909a3..c0304d8 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/impl/UnitUpsertRepositoryImpl.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/unit/repository/impl/UnitUpsertRepositoryImpl.java @@ -16,4 +16,9 @@ public class UnitUpsertRepositoryImpl implements UnitUpsertRepository { public void save(OrganizationalUnit entity) { unitDao.save(entity); } + + @Override + public void update(OrganizationalUnit organizationalUnit) { + unitDao.updateById(organizationalUnit); + } } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/controller/UnitController.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/controller/UnitController.java index 14a678f..51c4949 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/controller/UnitController.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/controller/UnitController.java @@ -1,5 +1,6 @@ package cn.axzo.orgmanax.server.unit.controller; +import cn.axzo.foundation.page.PageResp; import cn.axzo.foundation.result.ApiResult; import cn.axzo.orgmanax.api.unit.feign.OrgUnitApi; import cn.axzo.orgmanax.api.unit.req.CreateUnitReq; @@ -38,8 +39,8 @@ public class UnitController implements OrgUnitApi { } @Override - public ApiResult list(ListUnitReq req) { - // - return null; + public ApiResult> list(ListUnitReq req) { + + return ApiResult.success(unitService.list(req)); } } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/foundation/UnitFoundationService.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/foundation/UnitFoundationService.java index ec42a96..51d0553 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/foundation/UnitFoundationService.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/foundation/UnitFoundationService.java @@ -13,4 +13,9 @@ public interface UnitFoundationService { OrganizationalUnit create(UnitCreator creator); + /** + * 更新单位 + * @param unitCreator + */ + OrganizationalUnit update(UnitCreator unitCreator); } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/foundation/dto/UnitCreator.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/foundation/dto/UnitCreator.java index ec9f3a6..73fdac8 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/foundation/dto/UnitCreator.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/foundation/dto/UnitCreator.java @@ -12,6 +12,11 @@ import lombok.Data; @Data public class UnitCreator { + /** + * id + */ + private Long id; + /** * 父单位id */ diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/foundation/impl/UnitFoundationServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/foundation/impl/UnitFoundationServiceImpl.java index e85921d..fdf77eb 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/foundation/impl/UnitFoundationServiceImpl.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/foundation/impl/UnitFoundationServiceImpl.java @@ -2,6 +2,9 @@ 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.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; @@ -31,12 +34,10 @@ public class UnitFoundationServiceImpl implements UnitFoundationService { // 1. 重复校验 // 根据单位名称或信用代码查询 - UnitQueryRepository.UnitResp unit = unitQueryRepository.one(UnitQueryRepository.OneReq.builder().name(creator.getName()).build()); - 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()), "创建失败, 单位名称重复"); + UnitQueryRepository.UnitResp unit = unitQueryRepository.one(UnitQueryRepository.OneReq.builder().name(creator.getCertificationLetterUrl()).build()); + Axssert.check(unit == null, BizResultCode.INVALID_PARAM,"创建失败, 单位重复"); // todo 1. parentId 是否使用 - + // todo 2. 信用代码是否调用三方进行验证 // 2. 创建单位实体 OrganizationalUnit organizationalUnit = BeanUtil.copyProperties(creator, OrganizationalUnit.class); @@ -59,4 +60,16 @@ public class UnitFoundationServiceImpl implements UnitFoundationService { return organizationalUnit; } + + @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, "更新失败, 单位不存在"); + + OrganizationalUnit organizationalUnit = BeanUtil.copyProperties(creator, OrganizationalUnit.class); + unitUpsertRepository.update(organizationalUnit); + + return organizationalUnit; + } } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/UnitService.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/UnitService.java index c0a4200..f4b00fc 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/UnitService.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/UnitService.java @@ -1,5 +1,8 @@ package cn.axzo.orgmanax.server.unit.service; +import cn.axzo.foundation.page.PageResp; +import cn.axzo.orgmanax.api.unit.req.ListUnitReq; +import cn.axzo.orgmanax.api.unit.resp.OrgUnitDTO; 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; @@ -20,4 +23,11 @@ public interface UnitService { * @return */ UpdateUnitResp update(UpdateUnitReq updateUnitReq); + + /** + * 查询单位信息 + * @param req + * @return + */ + PageResp list(ListUnitReq req); } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/dto/UpdateUnitReq.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/dto/UpdateUnitReq.java index 3907940..45e75be 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/dto/UpdateUnitReq.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/dto/UpdateUnitReq.java @@ -1,7 +1,194 @@ package cn.axzo.orgmanax.server.unit.service.dto; +import com.alibaba.fastjson.JSONObject; import lombok.Data; @Data public class UpdateUnitReq { + + /** + * id + */ + private Long id; + + /** + * 父单位id + */ + private Long parentId; + + /** + * 单位名称 + */ + private String name; + + /** + * 单位logo url地址 + */ + private String logoUrl; + + /** + * 单位介绍 + */ + private String introduction; + + /** + * 单位类型 1:总包单位 2:建设单位 3:监理单位 4:劳务分包 5:专业分包 6.项目外班组 7.安心筑平台 + */ + private Integer type; + + /** + * 单位性质:0:其他 1:团队 2:企业 3:班组 + */ + private Integer nature; + + /** + * 营业执照号图片url地址 + */ + private String usccPicUrl; + + /** + * 认证公函 + */ + private String certificationLetterUrl; + + /** + * 统一社会信用码 + */ + private String uniformSocialCreditCode; + + /** + * 法人代表姓名 + */ + private String legalName; + + /** + * 法人手机号 + */ + private String legalPhone; + + /** + * 法人代表身份证 + */ + private String legalIdCard; + + /** + * 班组长身份id + */ + private Long identityId; + + /** + * 身份类型 1.无身份 2.班组长 + */ + private Integer identityType; + + /** + * 单位注册地址 + */ + private String registeredAddress; + + /** + * 存续状态 + */ + private String survivalStatus; + + /** + * 省市区区编码,以“/”隔开 + */ + private String areaCode; + + /** + * 省市区名字,以“/”隔开(四川省/成都市/武侯区) + */ + private String areaName; + + /** + * 企业详细地址 + */ + private String address; + + /** + * 企业POI地址 + */ + private String addressPoi; + + /** + * 经纬度,以“/”隔开经度,纬度(124.32421/142.424432) + */ + private String longLat; + + /** + * 官网 + */ + private String website; + + /** + * 状态:0:初始化,10:审核中,20:审核拒绝,30:审核通过,40:未认证,50:已认证 + */ + private Integer status; + + /** + * 是否启用:0禁用,1启用 + */ + private Integer enable; + + /** + * 来源场景:0:其他,1:客户注册,2:平台录入,3:总包创建,4:网络抓取,5:班组创建 + */ + private Integer sceneType; + + /** + * 备注 + */ + private String memo; + + /** + * 扩展字段 + */ + private JSONObject extra; + + /** + * 企业标签1正式企业 2测试企业 + */ + private Integer entTag; + + /** + * 营业期限(纯字符串不做解析) + */ + private String operatingPeriod; + + /** + * 经营范围(纯字符串不做解析) + */ + private String businessScope; + + /** + * 企业邮箱 + */ + private String email; + + /** + * 企业电话 + */ + private String telephone; + + /** + * 省编码 + */ + private String provinceCode; + + /** + * 省份名称 + */ + private String provinceName; + + /** + * 市编码 + */ + private String cityCode; + + /** + * 市名称 + */ + private String cityName; + } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/dto/UpdateUnitResp.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/dto/UpdateUnitResp.java index dcd5c44..0d17df6 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/dto/UpdateUnitResp.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/dto/UpdateUnitResp.java @@ -1,7 +1,194 @@ package cn.axzo.orgmanax.server.unit.service.dto; +import com.alibaba.fastjson.JSONObject; import lombok.Data; @Data public class UpdateUnitResp { + + /** + * id + */ + private Long id; + + /** + * 父单位id + */ + private Long parentId; + + /** + * 单位名称 + */ + private String name; + + /** + * 单位logo url地址 + */ + private String logoUrl; + + /** + * 单位介绍 + */ + private String introduction; + + /** + * 单位类型 1:总包单位 2:建设单位 3:监理单位 4:劳务分包 5:专业分包 6.项目外班组 7.安心筑平台 + */ + private Integer type; + + /** + * 单位性质:0:其他 1:团队 2:企业 3:班组 + */ + private Integer nature; + + /** + * 营业执照号图片url地址 + */ + private String usccPicUrl; + + /** + * 认证公函 + */ + private String certificationLetterUrl; + + /** + * 统一社会信用码 + */ + private String uniformSocialCreditCode; + + /** + * 法人代表姓名 + */ + private String legalName; + + /** + * 法人手机号 + */ + private String legalPhone; + + /** + * 法人代表身份证 + */ + private String legalIdCard; + + /** + * 班组长身份id + */ + private Long identityId; + + /** + * 身份类型 1.无身份 2.班组长 + */ + private Integer identityType; + + /** + * 单位注册地址 + */ + private String registeredAddress; + + /** + * 存续状态 + */ + private String survivalStatus; + + /** + * 省市区区编码,以“/”隔开 + */ + private String areaCode; + + /** + * 省市区名字,以“/”隔开(四川省/成都市/武侯区) + */ + private String areaName; + + /** + * 企业详细地址 + */ + private String address; + + /** + * 企业POI地址 + */ + private String addressPoi; + + /** + * 经纬度,以“/”隔开经度,纬度(124.32421/142.424432) + */ + private String longLat; + + /** + * 官网 + */ + private String website; + + /** + * 状态:0:初始化,10:审核中,20:审核拒绝,30:审核通过,40:未认证,50:已认证 + */ + private Integer status; + + /** + * 是否启用:0禁用,1启用 + */ + private Integer enable; + + /** + * 来源场景:0:其他,1:客户注册,2:平台录入,3:总包创建,4:网络抓取,5:班组创建 + */ + private Integer sceneType; + + /** + * 备注 + */ + private String memo; + + /** + * 扩展字段 + */ + private JSONObject extra; + + /** + * 企业标签1正式企业 2测试企业 + */ + private Integer entTag; + + /** + * 营业期限(纯字符串不做解析) + */ + private String operatingPeriod; + + /** + * 经营范围(纯字符串不做解析) + */ + private String businessScope; + + /** + * 企业邮箱 + */ + private String email; + + /** + * 企业电话 + */ + private String telephone; + + /** + * 省编码 + */ + private String provinceCode; + + /** + * 省份名称 + */ + private String provinceName; + + /** + * 市编码 + */ + private String cityCode; + + /** + * 市名称 + */ + private String cityName; + } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/impl/UnitServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/impl/UnitServiceImpl.java index 4c47de6..79c30b6 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/impl/UnitServiceImpl.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/impl/UnitServiceImpl.java @@ -1,6 +1,10 @@ package cn.axzo.orgmanax.server.unit.service.impl; +import cn.axzo.foundation.page.PageResp; +import cn.axzo.orgmanax.api.unit.req.ListUnitReq; +import cn.axzo.orgmanax.api.unit.resp.OrgUnitDTO; import cn.axzo.orgmanax.infra.dao.unit.entity.OrganizationalUnit; +import cn.axzo.orgmanax.infra.dao.unit.repository.UnitQueryRepository; 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; @@ -13,12 +17,15 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import static org.springframework.messaging.rsocket.RSocketStrategies.builder; + @Slf4j @RequiredArgsConstructor @Service public class UnitServiceImpl implements UnitService { private final UnitFoundationService unitFoundationService; + private final UnitQueryRepository unitQueryRepository; @Override public CreateUnitResp create(CreateUnitReq req) { @@ -35,6 +42,23 @@ public class UnitServiceImpl implements UnitService { @Override public UpdateUnitResp update(UpdateUnitReq updateUnitReq) { - return null; + + UnitCreator unitCreator = BeanUtil.copyProperties(updateUnitReq, UnitCreator.class); + // 更新单位 + OrganizationalUnit unit = unitFoundationService.update(unitCreator); + + return BeanUtil.copyProperties(unit, UpdateUnitResp.class); + } + + @Override + public PageResp list(ListUnitReq req) { + UnitQueryRepository.ListReq listReq = BeanUtil.copyProperties(req, UnitQueryRepository.ListReq.class); + PageResp page = unitQueryRepository.page(listReq); + return PageResp.builder() + .current(page.getCurrent()) + .total(page.getTotal()) + .size(page.getSize()) + .data(BeanUtil.copyToList(page.getData(), OrgUnitDTO.class)) + .build(); } }