Bläddra i källkod

数据字典类型修改

linhuili 3 år sedan
förälder
incheckning
bfc4735793

+ 4 - 0
dmp-business/dmp-dic/pom.xml

@@ -30,5 +30,9 @@
             <groupId>com.persagy</groupId>
             <artifactId>dmp-common</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.persagy</groupId>
+            <artifactId>dmp-digital-starter</artifactId>
+        </dependency>
     </dependencies>
 </project>

+ 26 - 30
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/controller/DictTypeController.java

@@ -1,17 +1,19 @@
 package com.persagy.dmp.dic.controller;
 
-import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.persagy.dmp.basic.model.QueryCriteria;
 import com.persagy.dmp.common.constant.ResponseCode;
 import com.persagy.dmp.common.exception.BusinessException;
 import com.persagy.dmp.common.model.response.CommonResult;
+import com.persagy.dmp.common.model.response.PageList;
 import com.persagy.dmp.common.utils.ResultHelper;
 import com.persagy.dmp.dic.entity.DictType;
 import com.persagy.dmp.dic.service.DictTypeService;
+import com.persagy.dmp.rwd.basic.utils.QueryCriteriaHelper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.List;
-
 /**
  * 字典类型
  * @author:linhuili
@@ -22,41 +24,35 @@ import java.util.List;
 public class DictTypeController {
 
     @Autowired
-    private DictTypeService dictTypeService;
+    private DictTypeService service;
 
-    @PostMapping("/create")
-    public CommonResult<DictType> create(@RequestBody DictType dictType) {
-        if(StrUtil.isBlank(dictType.getGroupCode())){
+    @PostMapping("/query")
+    public CommonResult<PageList<DictType>> query(@RequestBody QueryCriteria criteria) {
+        if(criteria == null) {
             throw new BusinessException(ResponseCode.A0400.getCode(), ResponseCode.A0400.getDesc());
         }
-        DictType content = dictTypeService.create(dictType);
-        return ResultHelper.single(content);
+        QueryWrapper<DictType> wrapper = new QueryWrapper<>();
+        // 转换查询条件
+        QueryCriteriaHelper.toWrapper(wrapper, criteria);
+        Page page = service.queryByCondition(QueryCriteriaHelper.toPage(criteria), wrapper);
+        return ResultHelper.multi(page.getRecords(), page.getTotal());
     }
 
-    @PostMapping("/update")
-    public CommonResult<DictType> update(@RequestBody DictType dictType) {
-        if(StrUtil.isBlank(dictType.getGroupCode())|| StrUtil.isBlank(dictType.getId()) ){
-            throw new BusinessException(ResponseCode.A0400.getCode(), ResponseCode.A0400.getDesc());
-        }
-        DictType content = dictTypeService.update(dictType);
-        return ResultHelper.single(content);
+    @PostMapping("/create")
+    public CommonResult<DictType> create(@RequestBody DictType vo){
+        vo = service.insert(vo);
+        return ResultHelper.single(vo);
     }
 
-    @PostMapping("/delete")
-    public CommonResult<DictType> delete(@RequestBody DictType dictType) {
-        if(StrUtil.isBlank(dictType.getGroupCode()) || StrUtil.isBlank(dictType.getId()) ){
-            throw new BusinessException(ResponseCode.A0400.getCode(), ResponseCode.A0400.getDesc());
-        }
-        DictType content = dictTypeService.delete(dictType);
-        return ResultHelper.single(content);
+    @PostMapping("/update")
+    public CommonResult<DictType> update(@RequestBody DictType vo){
+        vo = service.update(vo);
+        return ResultHelper.single(vo);
     }
 
-    @PostMapping("/query")
-    public CommonResult<List<DictType>> query(@RequestBody DictType dictType) {
-        if(StrUtil.isBlank(dictType.getGroupCode())){
-            throw new BusinessException(ResponseCode.A0400.getCode(), ResponseCode.A0400.getDesc());
-        }
-        List<DictType> content = dictTypeService.query(dictType);
-        return ResultHelper.single(content);
+    @PostMapping("/delete")
+    public CommonResult<DictType> delete(@RequestBody String id){
+        service.delete(id);
+        return ResultHelper.success();
     }
 }

+ 33 - 4
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/service/DictTypeService.java

@@ -1,5 +1,7 @@
 package com.persagy.dmp.dic.service;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.persagy.dmp.dic.entity.DictType;
 
 import java.util.List;
@@ -10,12 +12,39 @@ import java.util.List;
  * @date:2021/6/10
  */
 public interface DictTypeService {
+    /**
+     * 按条件查询
+     * @param page 分页条件
+     * @param queryWrapper 查询条件
+     * @return 分页结果
+     */
+    Page queryByCondition(Page page, Wrapper<DictType> queryWrapper);
 
-    DictType create(DictType dictType);
 
-    DictType update(DictType dictType);
+    /**
+     * 按条件查询
+     * @param queryWrapper 查询条件
+     * @return 列表
+     */
+    List<DictType> queryByCondition(Wrapper<DictType> queryWrapper);
 
-    DictType delete(DictType dictType);
+    /**
+     * 新增
+     * @param vo 待新增数据
+     * @return 新增后数据
+     */
+    DictType insert(DictType vo);
 
-    List<DictType> query(DictType dictType);
+    /**
+     * 修改
+     * @param vo 待修改数据
+     * @return 修改后数据
+     */
+    DictType update(DictType vo);
+
+    /**
+     * 删除
+     * @param id 主键
+     */
+    void delete(String id);
 }

+ 64 - 26
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/service/impl/DictTypeServiceImpl.java

@@ -1,7 +1,10 @@
 package com.persagy.dmp.dic.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.persagy.dmp.common.constant.ValidEnum;
+import com.persagy.dmp.common.exception.BusinessException;
 import com.persagy.dmp.dic.dao.DictTypeMapper;
 import com.persagy.dmp.dic.entity.DictType;
 import com.persagy.dmp.dic.service.DictTypeService;
@@ -19,53 +22,88 @@ import java.util.List;
 public class DictTypeServiceImpl implements DictTypeService {
 
     @Autowired
-    private DictTypeMapper dictTypeMapper;
+    private DictTypeMapper dao;
 
     /**
-     * 添加
-     * @param dictType
+     * 分页查询
+     * @param page 分页条件
+     * @param queryWrapper 查询条件
      * @return
      */
     @Override
-    public DictType create(DictType dictType) {
-        dictType.setValid(ValidEnum.TRUE.getType());
-        dictTypeMapper.insert(dictType);
-        return dictType;
+    public Page queryByCondition(Page page, Wrapper<DictType> queryWrapper) {
+        return dao.selectPage(page, queryWrapper);
     }
 
     /**
-     * 修改
-     * @param dictType
+     * 查询
+     * @param queryWrapper 查询条件
      * @return
      */
     @Override
-    public DictType update(DictType dictType) {
-        dictTypeMapper.updateById(dictType);
-        return dictType;
+    public List<DictType> queryByCondition(Wrapper<DictType> queryWrapper) {
+        return dao.selectList(queryWrapper);
     }
 
     /**
-     * 删除
-     * @param dictType
+     * 新增
+     * @param vo 待新增数据
      * @return
      */
     @Override
-    public DictType delete(DictType dictType) {
-        dictType.setValid(ValidEnum.FALSE.getType());
-        dictTypeMapper.updateById(dictType);
-        return dictType;
+    public DictType insert(DictType vo) {
+        //重复校验
+        validateRepeat(vo);
+        vo.setValid(ValidEnum.TRUE.getType());
+        dao.insert(vo);
+        return vo;
     }
 
     /**
-     * 查询
-     * @param dictType
+     * 修改
+     * @param vo 待修改数据
      * @return
      */
     @Override
-    public List<DictType> query(DictType dictType) {
-        LambdaQueryWrapper<DictType> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(DictType::getId,dictType.getId());
-        List<DictType> dictTypes = dictTypeMapper.selectList(queryWrapper);
-        return dictTypes;
+    public DictType update(DictType vo) {
+        DictType dictType = dao.selectById(vo.getId());
+        if(dictType == null || 0 == dictType.getValid()){
+            throw new BusinessException("数据不存在!");
+        }
+
+        //type重复校验
+        if(!dictType.getType().equals(vo.getType())){
+            validateRepeat(vo);
+        }
+        dao.updateById(vo);
+        return vo;
+    }
+
+    /**
+     * 删除
+     * @param id 主键
+     */
+    @Override
+    public void delete(String id) {
+        DictType vo = dao.selectById(id);
+        if(vo == null || 0 == vo.getValid()){
+            throw new BusinessException("数据不存在!");
+        }
+        vo.setValid(ValidEnum.FALSE.getType());
+        dao.updateById(vo);
+    }
+
+    /**
+     * 重复校验
+     * @param vo
+     */
+    private void validateRepeat(DictType vo){
+        QueryWrapper<DictType> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("type",vo.getType());
+        queryWrapper.eq("valid",ValidEnum.TRUE.getType());
+        List<DictType> dictTypeList = queryByCondition(queryWrapper);
+        if(dictTypeList != null && dictTypeList.size() > 0){
+            throw new BusinessException("type 不能重复!");
+        }
     }
 }