From 9f5592e93a3b9774ba5fa5f791727b983e134869 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <913652501@qq.com>
Date: Tue, 07 Apr 2020 17:50:43 +0800
Subject: [PATCH] 添加字典管理功能

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml                                             |    1 
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDictionariesServiceImpl.java |   47 +++++++++++++++
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDictionariesVo.java                    |   10 +++
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDictionariesService.java         |    8 ++
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysDictionariesMapper.java            |    2 
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDictionariesController.java |   30 +++++++++
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDictionaries.java                   |    9 +-
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDictionariesMapper.xml                               |   14 ++++
 8 files changed, 110 insertions(+), 11 deletions(-)

diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDictionaries.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDictionaries.java
index a04cd74..563a202 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDictionaries.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDictionaries.java
@@ -1,10 +1,7 @@
 package com.kidgrow.usercenter.model;
 
+import com.baomidou.mybatisplus.annotation.*;
 import com.kidgrow.common.model.SuperModel;
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -36,6 +33,9 @@
      */
     @NotEmpty(message = "字典值不能为空")
     private String dictionariesName;
+
+    @NotEmpty(message = "字典KEY不能为空")
+    private String dictionariesKey;
     /**
      * 字典归属分类的标识(如果这个字典项是分类,则该字段为空)
      */
@@ -47,6 +47,7 @@
     /**
      * 是否删除,1删除,0未删除
      */
+    @TableLogic
     private Integer isDel;
     /**
      * 状态,1启用,0停用
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDictionariesVo.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDictionariesVo.java
new file mode 100644
index 0000000..28ede91
--- /dev/null
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDictionariesVo.java
@@ -0,0 +1,10 @@
+package com.kidgrow.usercenter.vo;
+
+import com.kidgrow.usercenter.model.SysDictionaries;
+import lombok.Data;
+
+@Data
+public class SysDictionariesVo extends SysDictionaries {
+
+    private String  dictionariesClassName;
+}
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysDictionariesMapper.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysDictionariesMapper.java
index 8721214..141fe6e 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysDictionariesMapper.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysDictionariesMapper.java
@@ -31,4 +31,6 @@
      * @return SysDictionaries对象
      */
     SysDictionaries findByObject(@Param("p") SysDictionaries sysDictionaries);
+
+    List<SysDictionaries> findAll(@Param("p") Map<String, Object> params);
 }
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDictionariesService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDictionariesService.java
index 1c5fba0..933ce9d 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDictionariesService.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDictionariesService.java
@@ -1,9 +1,11 @@
 package com.kidgrow.usercenter.service;
 
+import com.kidgrow.common.model.ResultBody;
 import com.kidgrow.usercenter.model.SysDictionaries;
 import com.kidgrow.common.model.PageResult;
 import com.kidgrow.common.service.ISuperService;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -20,7 +22,7 @@
      * @param params
      * @return
      */
-    PageResult<SysDictionaries> findList(Map<String, Object> params);
+    PageResult findList(Map<String, Object> params);
 
 
     /**
@@ -29,5 +31,9 @@
     * @return SysDictionaries对象
     */
     SysDictionaries findByObject(SysDictionaries sysDictionaries);
+
+    ResultBody updateEnabled(Map<String, Object> params);
+
+    List<SysDictionaries> findAll(Map<String, Object> params);
 }
 
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDictionariesServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDictionariesServiceImpl.java
index 7b5ad28..f53f2a7 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDictionariesServiceImpl.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDictionariesServiceImpl.java
@@ -1,10 +1,18 @@
 package com.kidgrow.usercenter.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.AbstractWrapper;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.kidgrow.common.model.ResultBody;
+import com.kidgrow.usercenter.vo.SysDictionariesVo;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.cglib.beans.BeanCopier;
 import org.springframework.stereotype.Service;
 import com.kidgrow.common.model.PageResult;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.kidgrow.common.service.impl.SuperServiceImpl;
 
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import org.apache.commons.collections4.MapUtils;
@@ -31,10 +39,24 @@
      * @return
      */
     @Override
-    public PageResult<SysDictionaries> findList(Map<String, Object> params){
+    public PageResult findList(Map<String, Object> params){
         Page<SysDictionaries> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
         List<SysDictionaries> list  =  baseMapper.findList(page, params);
-        return PageResult.<SysDictionaries>builder().data(list).code(0).count(page.getTotal()).build();
+        List<SysDictionariesVo> listvo  = new ArrayList<>();
+        for (SysDictionaries dictionaries:list
+             ) {
+            SysDictionariesVo sysDictionariesVo=new SysDictionariesVo();
+            BeanCopier beanCopier = BeanCopier.create(SysDictionaries.class, SysDictionariesVo.class, false);
+            beanCopier.copy(dictionaries,sysDictionariesVo,null);
+            if(StringUtils.isNotBlank(dictionaries.getDictionariesClassId())){
+                SysDictionaries dic = baseMapper.selectById(dictionaries.getDictionariesClassId());
+                if(dic!=null){
+                    sysDictionariesVo.setDictionariesClassName(dic.getDictionariesName());
+                }
+            }
+            listvo.add(sysDictionariesVo);
+        }
+        return PageResult.<SysDictionariesVo>builder().data(listvo).code(0).count(page.getTotal()).build();
     }
 
     /**
@@ -46,4 +68,25 @@
     public SysDictionaries findByObject(SysDictionaries sysDictionaries){
         return baseMapper.findByObject(sysDictionaries);
     }
+
+    @Override
+    public ResultBody updateEnabled(Map<String, Object> params) {
+        Long id = MapUtils.getLong(params, "id");
+        SysDictionaries dictionaries = baseMapper.selectById(id);
+        if(dictionaries!=null){
+            Integer enabled = MapUtils.getInteger( params,"enabled");
+            dictionaries.setEnabled(enabled);
+            dictionaries.setUpdateTime(new Date());
+            int i = baseMapper.updateById(dictionaries);
+            return ResultBody.ok(0,"更新成功");
+        }else {
+            return ResultBody.failed("更新成功");
+        }
+
+    }
+
+    @Override
+    public List<SysDictionaries> findAll(Map<String, Object> params) {
+        return baseMapper.findAll(params);
+    }
 }
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDictionariesMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDictionariesMapper.xml
index f9c5492..b8f51c3 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDictionariesMapper.xml
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDictionariesMapper.xml
@@ -16,10 +16,13 @@
                 and id = #{p.id}
             </if>
             <if test="p.dictionariesName != null and p.dictionariesName !=''">
-                and dictionaries_name = #{p.dictionariesName}
+                and dictionaries_name like  '%${p.dictionariesName}%'
             </if>
             <if test="p.dictionariesClassId != null and p.dictionariesClassId !=''">
                 and dictionaries_class_id = #{p.dictionariesClassId}
+            </if>
+            <if test="p.dictionariesClassIdIsNull != null and p.dictionariesClassIdIsNull !=''">
+                and dictionaries_class_id is null
             </if>
             <if test="p.dictionariesOrder != null and p.dictionariesOrder !=''">
                 and dictionaries_order = #{p.dictionariesOrder}
@@ -67,6 +70,13 @@
         <include refid="Column_List"/>
         from sys_dictionaries
         <include refid="where"/>
-        order by id desc
+        order by id asc
+    </select>
+    <select id="findAll" resultType="com.kidgrow.usercenter.model.SysDictionaries">
+        select
+        <include refid="Column_List"/>
+        from sys_dictionaries
+        <include refid="where"/>
+        order by id asc
     </select>
 </mapper>
\ No newline at end of file
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDictionariesController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDictionariesController.java
index 47b328b..4fc3002 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDictionariesController.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDictionariesController.java
@@ -2,6 +2,7 @@
 
 import java.util.Map;
 import com.kidgrow.common.controller.BaseController;
+import org.apache.commons.collections4.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.ObjectError;
 import org.springframework.web.bind.annotation.*;
@@ -50,12 +51,12 @@
             @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer")
     })
     @GetMapping
-    public ResultBody<PageResult> list(@RequestParam Map<String, Object> params) {
+    public PageResult list(@RequestParam Map<String, Object> params) {
         if(params.size()==0){
             params.put("page",1);
             params.put("limit",10);
         }
-        return ResultBody.ok().data(sysDictionariesService.findList(params));
+        return sysDictionariesService.findList(params);
     }
 
     /**
@@ -65,6 +66,12 @@
     @GetMapping("/{id}")
     public ResultBody findById(@PathVariable Long id) {
         SysDictionaries model = sysDictionariesService.getById(id);
+        return ResultBody.ok().data(model).msg("查询成功");
+    }
+    @ApiOperation(value = "根据SysDictionaries当做查询条件进行查询")
+    @PostMapping("/findAll")
+    public ResultBody findAll(@RequestBody Map<String, Object> params) {
+        List<SysDictionaries> model = sysDictionariesService.findAll(params);
         return ResultBody.ok().data(model).msg("查询成功");
     }
 
@@ -102,6 +109,25 @@
     }
 
     /**
+     * 修改字典表状态
+     *
+     * @param params
+     * @return
+     */
+    @ApiOperation(value = "修改字典表状态")
+    @GetMapping("/updateEnabled")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "用户id", required = true, dataType = "Integer"),
+            @ApiImplicitParam(name = "enabled", value = "是否启用", required = true, dataType = "Integer")
+    })
+    public ResultBody updateEnabled(@RequestParam Map<String, Object> params) {
+        Long id = MapUtils.getLong(params, "id");
+        if (id==null) {
+            return ResultBody.failed("请选择一条数据");
+        }
+        return sysDictionariesService.updateEnabled(params);
+    }
+    /**
      * 删除
      */
     @ApiOperation(value = "删除")
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml
index 2837660..07f5a57 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml
@@ -65,6 +65,7 @@
       - sys_user_logs
       - sys_organization
       - sys_user_org
+      - sys_dictionaries
     ignoreSqls:
       - com.kidgrow.usercenter.mapper.SysRoleMapper.findAll
 

--
Gitblit v1.8.0