From ba6fe12f3be61fac6c38b680b0ad202df412bb92 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Thu, 31 Mar 2022 18:10:12 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.2.2=E3=80=91=E3=80=90expand=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=8E=B7=E5=8F=96=E6=8B=93=E5=B1=95=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysExpandController.java | 12 ++++++ .../pojo/request/SysExpandRequest.java | 18 ++++++++ .../modular/service/SysExpandDataService.java | 24 +++++++---- .../modular/service/SysExpandService.java | 9 ++++ .../impl/SysExpandDataServiceImpl.java | 7 ++++ .../service/impl/SysExpandServiceImpl.java | 41 +++++++++++++++++++ 6 files changed, 103 insertions(+), 8 deletions(-) diff --git a/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/controller/SysExpandController.java b/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/controller/SysExpandController.java index 23774c593..6c3745dbf 100644 --- a/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/controller/SysExpandController.java +++ b/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/controller/SysExpandController.java @@ -2,6 +2,7 @@ package cn.stylefeng.roses.kernel.expand.modular.modular.controller; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.expand.modular.modular.entity.SysExpand; +import cn.stylefeng.roses.kernel.expand.modular.modular.entity.SysExpandData; import cn.stylefeng.roses.kernel.expand.modular.modular.pojo.request.SysExpandRequest; import cn.stylefeng.roses.kernel.expand.modular.modular.service.SysExpandService; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; @@ -89,6 +90,17 @@ public class SysExpandController { return new SuccessResponseData<>(sysExpandService.detail(sysExpandRequest)); } + /** + * 根据业务编码获取业务数据详情 + * + * @author fengshuonan + * @date 2022/03/29 23:47 + */ + @GetResource(name = "根据业务编码获取业务数据详情", path = "/sysExpand/getByExpandCode") + public ResponseData getByExpandCode(@Validated(SysExpandRequest.getByExpandCode.class) SysExpandRequest sysExpandRequest) { + return new SuccessResponseData<>(sysExpandService.getByExpandCode(sysExpandRequest)); + } + /** * 获取列表 * diff --git a/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/pojo/request/SysExpandRequest.java b/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/pojo/request/SysExpandRequest.java index 59611d1d4..39b9a52bf 100644 --- a/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/pojo/request/SysExpandRequest.java +++ b/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/pojo/request/SysExpandRequest.java @@ -6,6 +6,7 @@ import cn.stylefeng.roses.kernel.validator.api.validators.status.StatusValue; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; /** @@ -35,6 +36,7 @@ public class SysExpandRequest extends BaseRequest { * 拓展业务唯一编码 */ @ChineseDescription("拓展业务唯一编码") + @NotBlank(message = "拓展编码不能为空", groups = getByExpandCode.class) private String expandCode; /** @@ -63,4 +65,20 @@ public class SysExpandRequest extends BaseRequest { @ChineseDescription("业务主键id字段名驼峰法,例如:userId") private String primaryFieldCamel; + /** + * 业务主键id的值 + */ + @ChineseDescription("业务主键id的值") + private String primaryFieldValue; + + /** + * 获取业务元数据信息 + * + * @author fengshuonan + * @date 2022/3/31 15:25 + */ + public @interface getByExpandCode { + } + + } diff --git a/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/SysExpandDataService.java b/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/SysExpandDataService.java index a8c0b6379..8e4ba44a1 100644 --- a/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/SysExpandDataService.java +++ b/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/SysExpandDataService.java @@ -15,7 +15,7 @@ import java.util.List; */ public interface SysExpandDataService extends IService { - /** + /** * 新增 * * @param sysExpandDataRequest 请求参数 @@ -24,7 +24,7 @@ public interface SysExpandDataService extends IService { */ void add(SysExpandDataRequest sysExpandDataRequest); - /** + /** * 删除 * * @param sysExpandDataRequest 请求参数 @@ -33,7 +33,7 @@ public interface SysExpandDataService extends IService { */ void del(SysExpandDataRequest sysExpandDataRequest); - /** + /** * 编辑 * * @param sysExpandDataRequest 请求参数 @@ -42,7 +42,7 @@ public interface SysExpandDataService extends IService { */ void edit(SysExpandDataRequest sysExpandDataRequest); - /** + /** * 查询详情 * * @param sysExpandDataRequest 请求参数 @@ -51,20 +51,28 @@ public interface SysExpandDataService extends IService { */ SysExpandData detail(SysExpandDataRequest sysExpandDataRequest); - /** + /** + * 查询详情 + * + * @author fengshuonan + * @date 2022/03/29 23:47 + */ + SysExpandData detailByPrimaryFieldValue(String primaryFieldValue); + + /** * 获取列表 * - * @param sysExpandDataRequest 请求参数 + * @param sysExpandDataRequest 请求参数 * @return List 返回结果 * @author fengshuonan * @date 2022/03/29 23:47 */ List findList(SysExpandDataRequest sysExpandDataRequest); - /** + /** * 获取列表(带分页) * - * @param sysExpandDataRequest 请求参数 + * @param sysExpandDataRequest 请求参数 * @return PageResult 返回结果 * @author fengshuonan * @date 2022/03/29 23:47 diff --git a/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/SysExpandService.java b/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/SysExpandService.java index acc192c47..beb0ba27f 100644 --- a/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/SysExpandService.java +++ b/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/SysExpandService.java @@ -2,6 +2,7 @@ package cn.stylefeng.roses.kernel.expand.modular.modular.service; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.expand.modular.modular.entity.SysExpand; +import cn.stylefeng.roses.kernel.expand.modular.modular.entity.SysExpandData; import cn.stylefeng.roses.kernel.expand.modular.modular.pojo.request.SysExpandRequest; import com.baomidou.mybatisplus.extension.service.IService; @@ -78,4 +79,12 @@ public interface SysExpandService extends IService { * @date 2022/3/30 10:37 */ void updateStatus(SysExpandRequest sysExpandRequest); + + /** + * 获取业务元数据信息 + * + * @author fengshuonan + * @date 2022/3/31 15:26 + */ + SysExpandData getByExpandCode(SysExpandRequest sysExpandRequest); } diff --git a/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/impl/SysExpandDataServiceImpl.java b/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/impl/SysExpandDataServiceImpl.java index e457dfb3f..f96e81624 100644 --- a/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/impl/SysExpandDataServiceImpl.java +++ b/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/impl/SysExpandDataServiceImpl.java @@ -81,6 +81,13 @@ public class SysExpandDataServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SysExpandData::getPrimaryFieldValue, primaryFieldValue); + return this.getOne(wrapper, false); + } + @Override public PageResult findPage(SysExpandDataRequest sysExpandDataRequest) { LambdaQueryWrapper wrapper = createWrapper(sysExpandDataRequest); diff --git a/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/impl/SysExpandServiceImpl.java b/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/impl/SysExpandServiceImpl.java index 984bc7fc4..180a9bcb5 100644 --- a/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/impl/SysExpandServiceImpl.java +++ b/kernel-s-expand/expand-business/src/main/java/cn/stylefeng/roses/kernel/expand/modular/modular/service/impl/SysExpandServiceImpl.java @@ -2,13 +2,19 @@ package cn.stylefeng.roses.kernel.expand.modular.modular.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.expand.modular.modular.entity.SysExpand; +import cn.stylefeng.roses.kernel.expand.modular.modular.entity.SysExpandData; +import cn.stylefeng.roses.kernel.expand.modular.modular.entity.SysExpandField; import cn.stylefeng.roses.kernel.expand.modular.modular.enums.SysExpandExceptionEnum; import cn.stylefeng.roses.kernel.expand.modular.modular.mapper.SysExpandMapper; +import cn.stylefeng.roses.kernel.expand.modular.modular.pojo.request.SysExpandFieldRequest; import cn.stylefeng.roses.kernel.expand.modular.modular.pojo.request.SysExpandRequest; +import cn.stylefeng.roses.kernel.expand.modular.modular.service.SysExpandDataService; +import cn.stylefeng.roses.kernel.expand.modular.modular.service.SysExpandFieldService; import cn.stylefeng.roses.kernel.expand.modular.modular.service.SysExpandService; import cn.stylefeng.roses.kernel.rule.enums.StatusEnum; import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; @@ -17,6 +23,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.List; /** @@ -28,6 +35,12 @@ import java.util.List; @Service public class SysExpandServiceImpl extends ServiceImpl implements SysExpandService { + @Resource + private SysExpandFieldService sysExpandFieldService; + + @Resource + private SysExpandDataService sysExpandDataService; + @Override public void add(SysExpandRequest sysExpandRequest) { SysExpand sysExpand = new SysExpand(); @@ -71,6 +84,34 @@ public class SysExpandServiceImpl extends ServiceImpl sysExpandLambdaQueryWrapper = new LambdaQueryWrapper<>(); + sysExpandLambdaQueryWrapper.eq(SysExpand::getExpandCode, sysExpandRequest.getExpandCode()); + SysExpand sysExpand = this.getOne(sysExpandLambdaQueryWrapper, false); + if (sysExpand == null) { + throw new ServiceException(SysExpandExceptionEnum.SYS_EXPAND_NOT_EXISTED); + } + + // 获取拓展业务的字段信息 + SysExpandFieldRequest sysExpandFieldRequest = new SysExpandFieldRequest(); + sysExpandFieldRequest.setExpandId(sysExpand.getExpandId()); + List list = sysExpandFieldService.findList(sysExpandFieldRequest); + + // 如果传了主键id,则查询一下业务表单的数据 + SysExpandData sysExpandData = new SysExpandData(); + if (StrUtil.isNotBlank(sysExpandRequest.getPrimaryFieldValue())) { + sysExpandData = sysExpandDataService.detailByPrimaryFieldValue(sysExpandRequest.getPrimaryFieldValue()); + } + + // 设置返回信息 + sysExpandData.setFieldInfoList(list); + sysExpandData.setExpandInfo(sysExpand); + + return sysExpandData; + } + @Override public List findList(SysExpandRequest sysExpandRequest) { LambdaQueryWrapper wrapper = this.createWrapper(sysExpandRequest);