From 17c676f4a3ee35f4d9f97d7933709705b8e0a894 Mon Sep 17 00:00:00 2001 From: yangheng <1792539268@qq.com> Date: Tue, 23 Apr 2024 10:45:44 +0800 Subject: [PATCH] =?UTF-8?q?REQ-2299=20=E5=88=97=E8=A1=A8=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E6=A8=A1=E7=B3=8A=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../axzo/tyr/client/feign/DataObjectApi.java | 11 ++++++++ .../model/data/object/DataObjectQueryBO.java | 5 ++-- .../client/model/req/PageDataObjectReq.java | 18 +++++++++++++ .../client/model/res/SimpleDataObjectRes.java | 25 +++++++++++++++++ .../config/mybatisplus/MybatisPlusConfig.java | 27 ------------------- .../data/object/DataObjectController.java | 9 +++++++ .../server/repository/dao/DataObjectDao.java | 16 ++++++++--- .../tyr/server/service/DataObjectService.java | 5 ++++ .../service/impl/DataObjectServiceImpl.java | 20 ++++++++++++++ 9 files changed, 104 insertions(+), 32 deletions(-) create mode 100644 tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PageDataObjectReq.java create mode 100644 tyr-api/src/main/java/cn/axzo/tyr/client/model/res/SimpleDataObjectRes.java delete mode 100644 tyr-server/src/main/java/cn/axzo/tyr/server/config/mybatisplus/MybatisPlusConfig.java diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/DataObjectApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/DataObjectApi.java index ee62180b..357e5e3c 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/DataObjectApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/DataObjectApi.java @@ -1,8 +1,11 @@ package cn.axzo.tyr.client.feign; +import cn.axzo.core.domain.PageResult; import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.tyr.client.model.req.CreateDataObjectReq; import cn.axzo.tyr.client.model.req.EditDataObjectReq; +import cn.axzo.tyr.client.model.req.PageDataObjectReq; +import cn.axzo.tyr.client.model.res.SimpleDataObjectRes; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -30,4 +33,12 @@ public interface DataObjectApi { @PostMapping("/api/dataObject/delete") ApiResult deleteDataObject(@RequestParam Long dataObjectId, @RequestParam(required = false) Long updateBy); + + /** + * 分页查询数据对象列表 + * @param req + * @return + */ + @PostMapping("/api/dataObject/page") + ApiResult> pageDataObject(@RequestBody @Valid PageDataObjectReq req); } diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/data/object/DataObjectQueryBO.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/data/object/DataObjectQueryBO.java index bbac13b4..19137b9a 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/data/object/DataObjectQueryBO.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/data/object/DataObjectQueryBO.java @@ -1,5 +1,6 @@ package cn.axzo.tyr.client.model.data.object; +import cn.axzo.core.domain.PageRequest; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -11,13 +12,13 @@ import lombok.experimental.Accessors; @AllArgsConstructor @NoArgsConstructor @Accessors(chain = true) -public class DataObjectQueryBO { +public class DataObjectQueryBO extends PageRequest { /** * 数据权限code */ private String dataObjectCode; /** - * 数据权限名 全局唯一 + * 数据权限名 全局唯一 */ private String dataObjectName; /** diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PageDataObjectReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PageDataObjectReq.java new file mode 100644 index 00000000..62a97b57 --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PageDataObjectReq.java @@ -0,0 +1,18 @@ +package cn.axzo.tyr.client.model.req; + +import cn.axzo.core.domain.PageRequest; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class PageDataObjectReq extends PageRequest { + /** + * 数据对象名称 搜索 + */ + private String keyword; +} diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/res/SimpleDataObjectRes.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/res/SimpleDataObjectRes.java new file mode 100644 index 00000000..5bda681c --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/res/SimpleDataObjectRes.java @@ -0,0 +1,25 @@ +package cn.axzo.tyr.client.model.res; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class SimpleDataObjectRes { + /** + * 数据对象id + */ + private Long dataObjectId; + /** + * 数据对象Code + */ + private String dataObjectCode; + /** + * 数据对象名称 + */ + private String dataObjectName; +} diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/config/mybatisplus/MybatisPlusConfig.java b/tyr-server/src/main/java/cn/axzo/tyr/server/config/mybatisplus/MybatisPlusConfig.java deleted file mode 100644 index 28bf4231..00000000 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/config/mybatisplus/MybatisPlusConfig.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.axzo.tyr.server.config.mybatisplus; - -import cn.axzo.pokonyan.config.mybatisplus.EntityMetaObjectHandler; -import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; -import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.annotation.Order; -import org.springframework.transaction.annotation.EnableTransactionManagement; - -/** - * @author lijiacheng 李嘉成 Jache - */ -@EnableTransactionManagement -@Configuration -public class MybatisPlusConfig { - - @Bean - public MybatisPlusInterceptor paginationInterceptor() { - MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor(); - mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor()); - return mybatisPlusInterceptor; - } - - -} diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/data/object/DataObjectController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/data/object/DataObjectController.java index 0dead0ad..66abf8cd 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/data/object/DataObjectController.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/data/object/DataObjectController.java @@ -1,10 +1,13 @@ package cn.axzo.tyr.server.controller.data.object; +import cn.axzo.core.domain.PageResult; import cn.axzo.framework.auth.domain.ContextInfoHolder; import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.tyr.client.feign.DataObjectApi; import cn.axzo.tyr.client.model.req.CreateDataObjectReq; import cn.axzo.tyr.client.model.req.EditDataObjectReq; +import cn.axzo.tyr.client.model.req.PageDataObjectReq; +import cn.axzo.tyr.client.model.res.SimpleDataObjectRes; import cn.axzo.tyr.server.service.DataObjectService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -37,4 +40,10 @@ public class DataObjectController implements DataObjectApi { return ApiResult.ok(); } + @Override + public ApiResult> pageDataObject(PageDataObjectReq req) { + return ApiResult.ok(dataObjectService.pageDataObject(req)); + + } + } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/DataObjectDao.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/DataObjectDao.java index 85b32292..e5875982 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/DataObjectDao.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/DataObjectDao.java @@ -4,6 +4,7 @@ import cn.axzo.basics.common.constant.enums.DeleteEnum; import cn.axzo.tyr.client.model.data.object.DataObjectQueryBO; import cn.axzo.tyr.server.repository.entity.DataObject; import cn.axzo.tyr.server.repository.mapper.DataObjectMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; @@ -17,12 +18,21 @@ public class DataObjectDao extends ServiceImpl { public List duplicateListByBO(DataObjectQueryBO bo) { return lambdaQuery() .eq(DataObject::getIsDelete, DeleteEnum.NORMAL.getValue()) - .eq(StringUtils.isNotEmpty(bo.getDataObjectCode()), DataObject::getDataObjectCode, bo.getDataObjectCode()) - .or(StringUtils.isNotEmpty(bo.getDataObjectCode())) - .eq(StringUtils.isNotEmpty(bo.getDataObjectName()), DataObject::getDataObjectName, bo.getDataObjectName()) + .and(sql -> sql + .eq(StringUtils.isNotEmpty(bo.getDataObjectCode()), DataObject::getDataObjectCode, bo.getDataObjectCode()) + .or(StringUtils.isNotEmpty(bo.getDataObjectCode())) + .eq(StringUtils.isNotEmpty(bo.getDataObjectName()), DataObject::getDataObjectName, bo.getDataObjectName())) .list(); } + public IPage pageByBO(DataObjectQueryBO bo) { + return lambdaQuery() + .eq(DataObject::getIsDelete, DeleteEnum.NORMAL.getValue()) + .eq(StringUtils.isNotEmpty(bo.getDataObjectCode()), DataObject::getDataObjectCode, bo.getDataObjectCode()) + .like(StringUtils.isNotEmpty(bo.getDataObjectName()), DataObject::getDataObjectName, bo.getDataObjectName()) + .page(bo.toPage()); + } + public void deleteByIdList(List idList, Long updateBy) { lambdaUpdate() .eq(DataObject::getIsDelete, DeleteEnum.NORMAL.getValue()) diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/DataObjectService.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/DataObjectService.java index 6e06d16a..17583c00 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/DataObjectService.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/DataObjectService.java @@ -1,7 +1,10 @@ package cn.axzo.tyr.server.service; +import cn.axzo.core.domain.PageResult; import cn.axzo.tyr.client.model.req.CreateDataObjectReq; import cn.axzo.tyr.client.model.req.EditDataObjectReq; +import cn.axzo.tyr.client.model.req.PageDataObjectReq; +import cn.axzo.tyr.client.model.res.SimpleDataObjectRes; public interface DataObjectService { Long createDataObject(CreateDataObjectReq req); @@ -9,4 +12,6 @@ public interface DataObjectService { void editDataObject(EditDataObjectReq req); void deleteDataObject(Long dataObjectId, Long updateBy); + + PageResult pageDataObject(PageDataObjectReq req); } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/DataObjectServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/DataObjectServiceImpl.java index 70e63c40..8b0b1585 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/DataObjectServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/DataObjectServiceImpl.java @@ -1,6 +1,7 @@ package cn.axzo.tyr.server.service.impl; import cn.axzo.basics.common.exception.ServiceException; +import cn.axzo.core.domain.PageResult; import cn.axzo.tyr.client.common.enums.ReturnCodeEnum; import cn.axzo.tyr.client.common.enums.YesNoEnum; import cn.axzo.tyr.client.model.data.object.AttributeBO; @@ -8,6 +9,8 @@ import cn.axzo.tyr.client.model.data.object.DataObjectQueryBO; import cn.axzo.tyr.client.model.data.object.DataObjectRuleBO; import cn.axzo.tyr.client.model.req.CreateDataObjectReq; import cn.axzo.tyr.client.model.req.EditDataObjectReq; +import cn.axzo.tyr.client.model.req.PageDataObjectReq; +import cn.axzo.tyr.client.model.res.SimpleDataObjectRes; import cn.axzo.tyr.server.repository.dao.DataObjectAttrDao; import cn.axzo.tyr.server.repository.dao.DataObjectDao; import cn.axzo.tyr.server.repository.dao.DataObjectRuleAttrDao; @@ -21,6 +24,7 @@ import cn.axzo.tyr.server.repository.entity.DataObjectRuleScope; import cn.axzo.tyr.server.service.DataObjectService; import cn.axzo.tyr.server.utils.mapper.DataObjectMapper; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -159,6 +163,22 @@ public class DataObjectServiceImpl implements DataObjectService { }); } + @Override + public PageResult pageDataObject(PageDataObjectReq req) { + DataObjectQueryBO bo = DataObjectQueryBO.builder().dataObjectName(req.getKeyword()).build(); + bo.setPage(req.getPage()); + bo.setPageSize(req.getPageSize()); + IPage dataObjectIPage = dataObjectDao.pageByBO(bo); + List resList = dataObjectIPage.getRecords().stream() + .map(e -> SimpleDataObjectRes.builder() + .dataObjectId(e.getId()) + .dataObjectCode(e.getDataObjectCode()) + .dataObjectName(e.getDataObjectName()) + .build()) + .collect(Collectors.toList()); + return new PageResult<>(resList, dataObjectIPage.getTotal()); + } + private void checkRuleNameUnique(CreateDataObjectReq req) { if (CollUtil.isNotEmpty(req.getDataObjectRuleBOList())) { List nameList = req.getDataObjectRuleBOList().stream().map(DataObjectRuleBO::getDataObjectRuleName).distinct().collect(Collectors.toList());