From 895136cb544ae2f46cd76d184ec14760e82353a7 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Fri, 16 Apr 2021 17:33:03 +0800
Subject: [PATCH] screen-manage     字典模块 缓存模块

---
 screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationQueryVO.java         |    4 
 screen-manage/src/main/java/com/moral/api/entity/SysDictData.java                               |   18 
 screen-manage/src/main/java/com/moral/api/entity/ManageMenu.java                                |    6 
 screen-manage/src/main/java/com/moral/api/pojo/dto/organization/OrganizationQueryDTO.java       |    2 
 screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeQueryVO.java           |   82 ++
 screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeInsertVO.java          |   27 
 screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java            |    2 
 screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationVO.java              |    4 
 screen-manage/src/main/java/com/moral/api/pojo/form/organization/OrganizationQueryNameForm.java |   17 
 screen-manage/src/main/java/com/moral/api/pojo/dto/sysDictData/SysDictDataDTO.java              |   30 
 screen-manage/src/main/java/com/moral/api/service/ManageLogService.java                         |    4 
 screen-manage/src/main/java/com/moral/api/config/mybatis/wrapper/NullFilterWrapper.java         |   10 
 screen-manage/src/main/java/com/moral/api/pojo/form/sysDictType/SysDictTypeDeleteForm.java      |   23 
 screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeDeleteVO.java          |   27 
 screen-manage/src/main/resources/mapper/ManageMenuMapper.xml                                    |    1 
 screen-manage/src/main/java/com/moral/api/pojo/form/sysDictData/SysDictDataDeleteForm.java      |   23 
 screen-manage/src/main/java/com/moral/api/pojo/form/sysDictData/SysDictDataInsertForm.java      |   38 +
 screen-manage/src/main/java/com/moral/api/pojo/dto/organization/OrganizationQueryNameDTO.java   |   23 
 screen-manage/src/main/java/com/moral/api/controller/OrganizationController.java                |   22 
 screen-manage/src/main/java/com/moral/api/pojo/vo/manageLog/ManageLogQueryVO.java               |   88 ++
 screen-manage/src/main/java/com/moral/api/mapper/SysDictDataMapper.java                         |    2 
 screen-manage/src/main/java/com/moral/api/service/SysDictDataService.java                       |   54 +
 screen-manage/src/main/java/com/moral/api/controller/AccountController.java                     |    4 
 screen-manage/src/main/java/com/moral/api/pojo/vo/manageLog/ManageLogVO.java                    |   49 +
 screen-manage/src/main/java/com/moral/api/pojo/form/sysDictType/SysDictTypeUpdateForm.java      |   35 +
 screen-manage/src/main/resources/application-dev.yml                                            |    5 
 screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java              |  172 +++++
 screen-manage/src/main/java/com/moral/api/pojo/form/sysDictType/SysDictTypeInsertForm.java      |   37 +
 screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationQueryNamesVO.java    |   53 +
 screen-manage/src/main/java/com/moral/api/pojo/form/account/AccountInsertForm.java              |    8 
 screen-manage/src/main/java/com/moral/api/pojo/form/account/AccountUpdateForm.java              |    7 
 screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java                  |    1 
 screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationDeleteVO.java        |    4 
 screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java             |  160 +++-
 screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java              |  187 +++++
 screen-manage/src/main/java/com/moral/api/pojo/form/manageLog/ManageLogQueryForm.java           |   16 
 screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataUpdateVO.java          |   26 
 screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountDeleteVO.java                  |    2 
 screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeVO.java                |   33 
 screen-manage/src/main/java/com/moral/api/pojo/form/sysDictData/SysDictDataUpdateForm.java      |   38 +
 screen-manage/src/main/java/com/moral/api/controller/SystemController.java                      |   54 +
 screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataVO.java                |   31 
 screen-manage/src/main/resources/mapper/SysDictDataMapper.xml                                   |    2 
 screen-common/src/main/java/com/moral/constant/Constants.java                                   |    4 
 screen-manage/src/main/java/com/moral/api/entity/SysDictType.java                               |   14 
 screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationInsertVO.java        |    4 
 screen-common/src/main/java/com/moral/constant/RedisConstants.java                              |   25 
 screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataInsertVO.java          |   30 
 screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java                            |    6 
 screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataDeleteVO.java          |   27 
 screen-manage/src/main/java/com/moral/api/util/CacheUtils.java                                  |   33 
 screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeUpdateVO.java          |   26 
 screen-manage/src/main/java/com/moral/api/service/OrganizationService.java                      |   18 
 /dev/null                                                                                       |   15 
 screen-manage/src/main/java/com/moral/api/pojo/dto/sysDictType/SysDictTypeDTO.java              |   32 
 screen-manage/src/main/java/com/moral/api/service/impl/ManageLogServiceImpl.java                |   85 ++
 screen-manage/src/main/java/com/moral/api/pojo/dto/sysDictType/SysDictTypeQueryDTO.java         |   23 
 screen-manage/src/main/java/com/moral/api/service/SysDictTypeService.java                       |   63 +
 screen-manage/src/main/java/com/moral/api/controller/SysDictController.java                     |  172 +++++
 screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java                  |    2 
 screen-manage/src/main/java/com/moral/api/pojo/dto/manageLog/ManageLogQueryDTO.java             |    2 
 61 files changed, 1,870 insertions(+), 142 deletions(-)

diff --git a/screen-common/src/main/java/com/moral/constant/Constants.java b/screen-common/src/main/java/com/moral/constant/Constants.java
index a059de1..6d04865 100644
--- a/screen-common/src/main/java/com/moral/constant/Constants.java
+++ b/screen-common/src/main/java/com/moral/constant/Constants.java
@@ -60,7 +60,7 @@
     public static final String VERIFICATION_TYPE = "front_verificationCode";
 
     /*
-     * ������������������Key
+     * ������������������
      * */
     public static final String LOGIN_OPERTATE_TYPE = "0";
 
@@ -81,4 +81,6 @@
 
 
 
+
+
 }
diff --git a/screen-common/src/main/java/com/moral/constant/RedisConstants.java b/screen-common/src/main/java/com/moral/constant/RedisConstants.java
new file mode 100644
index 0000000..cb18099
--- /dev/null
+++ b/screen-common/src/main/java/com/moral/constant/RedisConstants.java
@@ -0,0 +1,25 @@
+package com.moral.constant;
+
+import lombok.Data;
+
+/**
+ * @ClassName RedisConstants
+ * @Description Redis���Key������
+ * @Author ���������
+ * @Date 2021/4/14 10:08
+ * @Version TODO
+ **/
+@Data
+public class RedisConstants {
+    /*
+    * ������������ redis������key
+    * ������Map<String,List<sysDictData>>���������key������������������������Value������������������������
+    * */
+    public static final String DICT_DATA_KEY = "dict_data";
+
+    /*
+    * ������������ redis������key
+    * ������List<sysDictType>������
+    * */
+    public static final String DICT_TYPE_KEY = "dict_type";
+}
diff --git a/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
index 26c9480..e972972 100644
--- a/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
+++ b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
@@ -36,7 +36,11 @@
     ROLE_IS_NULL(-22, "������������"),
     MENU_IS_EXPIRE(-23, "���������������"),
     MENU_IS_NULL(-24, "������������"),
-    PARAMETERS_NOT_REQUIREMENT(-25, "���������������������")
+    PARAMETERS_NOT_REQUIREMENT(-25, "���������������������"),
+    DICTTYPE_NOT_EXIST(-26,"���������������������"),
+    DICTTYPE_EXIST(-27,"������������������������"),
+    DICTDATA_KEY_EXIST(-28,"������������Key������������"),
+    DICTDATA_KEY_NOT_EXIST(-29,"������������Key���������")
     ;
     private final Integer code;
     private final String  msg;
diff --git a/screen-manage/src/main/java/com/moral/api/config/mybatis/wrapper/NullFilterWrapper.java b/screen-manage/src/main/java/com/moral/api/config/mybatis/wrapper/NullFilterWrapper.java
index 6539edb..edae5c0 100644
--- a/screen-manage/src/main/java/com/moral/api/config/mybatis/wrapper/NullFilterWrapper.java
+++ b/screen-manage/src/main/java/com/moral/api/config/mybatis/wrapper/NullFilterWrapper.java
@@ -3,6 +3,9 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.enums.SqlKeyword;
 import com.baomidou.mybatisplus.core.enums.SqlLike;
+import org.springframework.util.ObjectUtils;
+
+import java.util.Collection;
 
 /**
  * @ClassName FiltNullWrapper
@@ -33,4 +36,11 @@
             condition = false;
         return super.eq(condition, column, val);
     }
+
+    @Override
+    public QueryWrapper<T> in(boolean condition, String column, Collection<?> coll) {
+        if(ObjectUtils.isEmpty(coll))
+            condition = false;
+        return super.in(condition, column, coll);
+    }
 }
diff --git a/screen-manage/src/main/java/com/moral/api/controller/AccountController.java b/screen-manage/src/main/java/com/moral/api/controller/AccountController.java
index ced4963..0c39f9a 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/AccountController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/AccountController.java
@@ -39,7 +39,7 @@
                     ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
 
         //������������������������
-        AccountInsertDTO conditionDTO = form.paramValid();
+        AccountDTO conditionDTO = form.paramValid();
         if (conditionDTO.getCode() != ResponseCodeEnum.SUCCESS.getCode()) {
             return new ResultMessage(conditionDTO.getCode(), conditionDTO.getMsg(), null);
         }
@@ -61,7 +61,7 @@
                     ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
 
         //������������������������
-        AccountUpdateDTO conditionDTO = form.paramValid();
+        AccountDTO conditionDTO = form.paramValid();
         if (conditionDTO.getCode() != ResponseCodeEnum.SUCCESS.getCode()) {
             return new ResultMessage(conditionDTO.getCode(), conditionDTO.getMsg(), null);
         }
diff --git a/screen-manage/src/main/java/com/moral/api/controller/OrganizationController.java b/screen-manage/src/main/java/com/moral/api/controller/OrganizationController.java
index eb0f530..ba799f4 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/OrganizationController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/OrganizationController.java
@@ -2,14 +2,9 @@
 
 import com.moral.api.pojo.dto.organization.OrganizationDTO;
 import com.moral.api.pojo.dto.organization.OrganizationQueryDTO;
-import com.moral.api.pojo.form.organization.OrganizationDeleteForm;
-import com.moral.api.pojo.form.organization.OrganizationInsertForm;
-import com.moral.api.pojo.form.organization.OrganizationQueryForm;
-import com.moral.api.pojo.form.organization.OrganizationUpdateForm;
-import com.moral.api.pojo.vo.organization.OrganizationDeleteVO;
-import com.moral.api.pojo.vo.organization.OrganizationInsertVO;
-import com.moral.api.pojo.vo.organization.OrganizationQueryVO;
-import com.moral.api.pojo.vo.organization.OrganizationUpdateVO;
+import com.moral.api.pojo.dto.organization.OrganizationQueryNameDTO;
+import com.moral.api.pojo.form.organization.*;
+import com.moral.api.pojo.vo.organization.*;
 import com.moral.api.service.OrganizationService;
 import com.moral.api.util.LogUtils;
 import com.moral.constant.Constants;
@@ -116,5 +111,16 @@
         return new ResultMessage(dto.getCode(), dto.getMsg(), vo);
     }
 
+    @GetMapping("queryNames")
+    public ResultMessage queryNames(OrganizationQueryNameForm form){
+
+        //������������������
+        OrganizationQueryNameDTO dto = organizationService.queryOrganizationNames(form);
+
+        //������������������������
+        OrganizationQueryNamesVO vo = OrganizationQueryNamesVO.convert(dto);
+
+        return new ResultMessage(dto.getCode(),dto.getMsg(),vo);
+    }
 
 }
diff --git a/screen-manage/src/main/java/com/moral/api/controller/SysDictController.java b/screen-manage/src/main/java/com/moral/api/controller/SysDictController.java
new file mode 100644
index 0000000..149c423
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/controller/SysDictController.java
@@ -0,0 +1,172 @@
+package com.moral.api.controller;
+
+import com.moral.api.pojo.dto.sysDictData.SysDictDataDTO;
+import com.moral.api.pojo.dto.sysDictType.SysDictTypeDTO;
+import com.moral.api.pojo.dto.sysDictType.SysDictTypeQueryDTO;
+import com.moral.api.pojo.form.sysDictData.SysDictDataDeleteForm;
+import com.moral.api.pojo.form.sysDictData.SysDictDataInsertForm;
+import com.moral.api.pojo.form.sysDictData.SysDictDataUpdateForm;
+import com.moral.api.pojo.form.sysDictType.SysDictTypeDeleteForm;
+import com.moral.api.pojo.form.sysDictType.SysDictTypeInsertForm;
+import com.moral.api.pojo.form.sysDictType.SysDictTypeUpdateForm;
+import com.moral.api.pojo.vo.sysDictData.SysDictDataDeleteVO;
+import com.moral.api.pojo.vo.sysDictData.SysDictDataInsertVO;
+import com.moral.api.pojo.vo.sysDictData.SysDictDataUpdateVO;
+import com.moral.api.pojo.vo.sysDictType.SysDictTypeDeleteVO;
+import com.moral.api.pojo.vo.sysDictType.SysDictTypeInsertVO;
+import com.moral.api.pojo.vo.sysDictType.SysDictTypeQueryVO;
+import com.moral.api.pojo.vo.sysDictType.SysDictTypeUpdateVO;
+import com.moral.api.service.SysDictDataService;
+import com.moral.api.service.SysDictTypeService;
+import com.moral.constant.ResponseCodeEnum;
+import com.moral.constant.ResultMessage;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+/**
+ * @ClassName SysDictController
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/16 14:09
+ * @Version TODO
+ **/
+@Slf4j
+@RestController
+@CrossOrigin(origins = "*", maxAge = 3600)
+@RequestMapping("/dict")
+public class SysDictController {
+
+    @Autowired
+    SysDictDataService sysDictDataService;
+
+    @Autowired
+    SysDictTypeService sysDictTypeService;
+
+    /**
+     * @Description: ������dictType������dictData
+     * @Param: [form]
+     * @return: com.moral.constant.ResultMessage
+     * @Author: ���������
+     * @Date: 2021/4/13
+     */
+    @GetMapping("data/query")
+    public ResultMessage queryDictDataByTypeId(@RequestParam(value = "type") String typeName) {
+
+        //������������������
+        Map<String, Object> result = sysDictDataService.queryDataByTypeName(typeName);
+
+        return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(), result);
+    }
+
+    @PostMapping("data/insert")
+    public ResultMessage insertDictData(@RequestBody SysDictDataInsertForm form) {
+        //������������������������
+        if (!form.valid())
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
+                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+
+        //������������������
+        SysDictDataDTO dto = sysDictDataService.insertData(form);
+
+        //������������������������
+        SysDictDataInsertVO vo = SysDictDataInsertVO.convert(dto);
+
+        return new ResultMessage(dto.getCode(), dto.getMsg(), vo);
+    }
+
+    @PostMapping("data/update")
+    public ResultMessage updateDictData(@RequestBody SysDictDataUpdateForm form){
+        //������������������������
+        if (!form.valid())
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
+                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+
+        //������������������
+        SysDictDataDTO dto = sysDictDataService.updateData(form);
+
+        //������������������������
+        SysDictDataUpdateVO vo = SysDictDataUpdateVO.convert(dto);
+
+        return new ResultMessage(dto.getCode(), dto.getMsg(), vo);
+    }
+
+    @PostMapping("data/delete")
+    public ResultMessage deleteDictData(@RequestBody SysDictDataDeleteForm form){
+        //������������������������
+        if (!form.valid())
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
+                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+
+        //������������������
+        SysDictDataDTO dto = sysDictDataService.deleteData(form);
+
+        //������������������������
+        SysDictDataDeleteVO vo = SysDictDataDeleteVO.convert(dto);
+
+        return new ResultMessage(dto.getCode(), dto.getMsg(), vo);
+    }
+
+    @GetMapping("type/query")
+    public ResultMessage queryAllDictTypeAndData() {
+
+        //������������������
+        SysDictTypeQueryDTO dto = sysDictTypeService.queryTypeAndDatas();
+
+        //������������������������
+        SysDictTypeQueryVO vo = SysDictTypeQueryVO.convert(dto);
+
+        return new ResultMessage(dto.getCode(), dto.getMsg(), vo);
+    }
+
+    @PostMapping("type/insert")
+    public ResultMessage insertDictType(@RequestBody SysDictTypeInsertForm form) {
+        //������������������������
+        if (!form.valid())
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
+                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+
+        //������������������
+        SysDictTypeDTO dto = sysDictTypeService.insertType(form);
+
+        //������������������������
+        SysDictTypeInsertVO vo = SysDictTypeInsertVO.convert(dto);
+
+        return new ResultMessage(dto.getCode(), dto.getMsg(), vo);
+    }
+
+    @PostMapping("type/update")
+    public ResultMessage updateDictType(@RequestBody SysDictTypeUpdateForm form) {
+        //������������������������
+        if (!form.valid())
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
+                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+
+        //������������������
+        SysDictTypeDTO dto = sysDictTypeService.updateType(form);
+
+        //������������������������
+        SysDictTypeUpdateVO vo = SysDictTypeUpdateVO.convert(dto);
+
+        return new ResultMessage(dto.getCode(), dto.getMsg(), vo);
+    }
+
+    @PostMapping("type/delete")
+    public ResultMessage deleteDictType(@RequestBody SysDictTypeDeleteForm form) {
+        //������������������������
+        if (!form.valid())
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
+                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+
+        //������������������
+        SysDictTypeDTO dto = sysDictTypeService.deleteType(form);
+
+        //������������������������
+        SysDictTypeDeleteVO vo = SysDictTypeDeleteVO.convert(dto);
+
+        return new ResultMessage(dto.getCode(), dto.getMsg(), vo);
+    }
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/controller/SystemController.java b/screen-manage/src/main/java/com/moral/api/controller/SystemController.java
index e832326..debe6d4 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/SystemController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/SystemController.java
@@ -1,22 +1,37 @@
 package com.moral.api.controller;
 
 import com.moral.api.entity.SysArea;
-import com.moral.api.pojo.dto.login.AccountInfoDTO;
-import com.moral.api.pojo.dto.system.ManageLogQueryDTO;
-import com.moral.api.pojo.form.system.ManageLogQueryForm;
+import com.moral.api.pojo.dto.manageLog.ManageLogQueryDTO;
+import com.moral.api.pojo.dto.sysDictData.SysDictDataDTO;
+import com.moral.api.pojo.dto.sysDictType.SysDictTypeDTO;
+import com.moral.api.pojo.dto.sysDictType.SysDictTypeQueryDTO;
+import com.moral.api.pojo.form.sysDictData.SysDictDataDeleteForm;
+import com.moral.api.pojo.form.sysDictData.SysDictDataInsertForm;
+import com.moral.api.pojo.form.sysDictData.SysDictDataUpdateForm;
+import com.moral.api.pojo.form.sysDictType.SysDictTypeDeleteForm;
+import com.moral.api.pojo.form.sysDictType.SysDictTypeInsertForm;
+import com.moral.api.pojo.form.sysDictType.SysDictTypeUpdateForm;
+import com.moral.api.pojo.form.manageLog.*;
+import com.moral.api.pojo.vo.sysDictData.SysDictDataDeleteVO;
+import com.moral.api.pojo.vo.sysDictData.SysDictDataInsertVO;
+import com.moral.api.pojo.vo.sysDictData.SysDictDataUpdateVO;
+import com.moral.api.pojo.vo.sysDictType.SysDictTypeDeleteVO;
+import com.moral.api.pojo.vo.sysDictType.SysDictTypeInsertVO;
+import com.moral.api.pojo.vo.sysDictType.SysDictTypeQueryVO;
+import com.moral.api.pojo.vo.sysDictType.SysDictTypeUpdateVO;
+import com.moral.api.pojo.vo.manageLog.*;
 import com.moral.api.service.ManageLogService;
 import com.moral.api.service.SysAreaService;
+import com.moral.api.service.SysDictDataService;
+import com.moral.api.service.SysDictTypeService;
 import com.moral.constant.ResponseCodeEnum;
 import com.moral.constant.ResultMessage;
-import com.moral.util.TokenUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName SystemController
@@ -37,12 +52,27 @@
     @Autowired
     ManageLogService manageLogService;
 
+
+    /**
+     * @Description: ������������������
+     * @Param: []
+     * @return: com.moral.constant.ResultMessage
+     * @Author: ���������
+     * @Date: 2021/4/13
+     */
     @GetMapping("area/query")
     public ResultMessage queryArea() {
         List<SysArea> sysAreas = sysAreaService.querySysArea();
         return ResultMessage.ok(sysAreas);
     }
 
+    /**
+     * @Description: ������������������
+     * @Param: [form]
+     * @return: com.moral.constant.ResultMessage
+     * @Author: ���������
+     * @Date: 2021/4/13
+     */
     @GetMapping("log/query")
     public ResultMessage queryLog(ManageLogQueryForm form) {
 
@@ -53,8 +83,14 @@
 
         //������������������
         ManageLogQueryDTO dto = manageLogService.queryManageLog(form);
-        return null;
+
+        //������������������������
+        ManageLogQueryVO vo = ManageLogQueryVO.convert(dto);
+
+        return new ResultMessage(dto.getCode(), dto.getMsg(), vo);
     }
 
 
+
+
 }
diff --git a/screen-manage/src/main/java/com/moral/api/entity/ManageMenu.java b/screen-manage/src/main/java/com/moral/api/entity/ManageMenu.java
index 95b08b9..7e888f6 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/ManageMenu.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/ManageMenu.java
@@ -75,6 +75,12 @@
     private String isDelete;
 
     /*
+    * ������
+    * */
+    @TableField(value = "`desc`")
+    private String desc;
+
+    /*
     * ������������
     * */
     @TableField(exist = false)
diff --git a/screen-manage/src/main/java/com/moral/api/entity/SysDictData.java b/screen-manage/src/main/java/com/moral/api/entity/SysDictData.java
index e7f9f52..6a6e2a8 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/SysDictData.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/SysDictData.java
@@ -6,6 +6,8 @@
 import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -15,7 +17,7 @@
  * </p>
  *
  * @author moral
- * @since 2021-03-09
+ * @since 2021-04-13
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -28,11 +30,6 @@
      */
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
-
-    /**
-     * ���Id
-     */
-    private Integer parentId;
 
     /**
      * ������������Id
@@ -52,19 +49,14 @@
     private String dataValue;
 
     /**
-     * ������������
-     */
-    private Integer sort;
-
-    /**
      * ������������
      */
-    private LocalDateTime createTime;
+    private Date createTime;
 
     /**
      * ������������
      */
-    private LocalDateTime updateTime;
+    private Date updateTime;
 
     /**
      * ������������
diff --git a/screen-manage/src/main/java/com/moral/api/entity/SysDictType.java b/screen-manage/src/main/java/com/moral/api/entity/SysDictType.java
index caa52d7..862e7c7 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/SysDictType.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/SysDictType.java
@@ -1,10 +1,13 @@
 package com.moral.api.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -31,22 +34,29 @@
     /**
      * ������
      */
+    @TableField("`name`")
     private String name;
 
     /**
      * ������
      */
+    @TableField("`desc`")
     private String desc;
+
+    /*
+    * 1������������������������������ 0���������������
+    * */
+    private Integer system;
 
     /**
      * ������������
      */
-    private LocalDateTime createTime;
+    private Date createTime;
 
     /**
      * ������������
      */
-    private LocalDateTime updateTime;
+    private Date updateTime;
 
     /**
      * ������������
diff --git a/screen-manage/src/main/java/com/moral/api/mapper/SysDictDataMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/SysDictDataMapper.java
index e5954c4..00afe49 100644
--- a/screen-manage/src/main/java/com/moral/api/mapper/SysDictDataMapper.java
+++ b/screen-manage/src/main/java/com/moral/api/mapper/SysDictDataMapper.java
@@ -9,7 +9,7 @@
  * </p>
  *
  * @author moral
- * @since 2021-03-09
+ * @since 2021-04-13
  */
 public interface SysDictDataMapper extends BaseMapper<SysDictData> {
 
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDeleteDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDeleteDTO.java
deleted file mode 100644
index 8ccc926..0000000
--- a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDeleteDTO.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.moral.api.pojo.dto.account;
-
-import lombok.Data;
-
-/**
- * @ClassName AccountDeleteDTO
- * @Description TODO
- * @Author ���������
- * @Date 2021/3/16 8:59
- * @Version TODO
- **/
-@Data
-public class AccountDeleteDTO extends AccountDTO {
-
-}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountInsertDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountInsertDTO.java
deleted file mode 100644
index 8f199bb..0000000
--- a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountInsertDTO.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.moral.api.pojo.dto.account;
-
-import com.moral.api.entity.ManageAccount;
-import com.moral.api.entity.ManageRole;
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @ClassName AccountDTO
- * @Description TODO
- * @Author ���������
- * @Date 2021/3/12 17:26
- * @Version TODO
- **/
-@Data
-public class AccountInsertDTO extends AccountDTO{
-
-}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountUpdateDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountUpdateDTO.java
deleted file mode 100644
index b75060d..0000000
--- a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountUpdateDTO.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.moral.api.pojo.dto.account;
-
-import lombok.Data;
-
-/**
- * @ClassName AccountUpdateDTO
- * @Description TODO
- * @Author ���������
- * @Date 2021/3/15 16:24
- * @Version TODO
- **/
-@Data
-public class AccountUpdateDTO extends AccountDTO {
-
-}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/system/ManageLogQueryDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/manageLog/ManageLogQueryDTO.java
similarity index 91%
rename from screen-manage/src/main/java/com/moral/api/pojo/dto/system/ManageLogQueryDTO.java
rename to screen-manage/src/main/java/com/moral/api/pojo/dto/manageLog/ManageLogQueryDTO.java
index adc8e81..83f572d 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/dto/system/ManageLogQueryDTO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/manageLog/ManageLogQueryDTO.java
@@ -1,4 +1,4 @@
-package com.moral.api.pojo.dto.system;
+package com.moral.api.pojo.dto.manageLog;
 
 import com.moral.api.entity.ManageLog;
 import lombok.Data;
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/organization/OrganizationQueryDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/organization/OrganizationQueryDTO.java
index cf03b27..e6d0df5 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/dto/organization/OrganizationQueryDTO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/organization/OrganizationQueryDTO.java
@@ -6,7 +6,7 @@
 
 /**
  * @ClassName OrganizationQueryDTO
- * @Description TODO
+ * @Description ���������������������������������������������
  * @Author ���������
  * @Date 2021/3/25 16:10
  * @Version TODO
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/organization/OrganizationQueryNameDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/organization/OrganizationQueryNameDTO.java
new file mode 100644
index 0000000..c915a94
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/organization/OrganizationQueryNameDTO.java
@@ -0,0 +1,23 @@
+package com.moral.api.pojo.dto.organization;
+
+import com.moral.api.entity.Organization;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @ClassName OrganizationQueryNameDTO
+ * @Description ������������������������������������������Id���������������������������������������������
+ * @Author ���������
+ * @Date 2021/4/13 9:04
+ * @Version TODO
+ **/
+@Data
+public class OrganizationQueryNameDTO {
+
+    private Integer code;
+
+    private String msg;
+
+    List<Organization> organizations;
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/sysDictData/SysDictDataDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/sysDictData/SysDictDataDTO.java
new file mode 100644
index 0000000..d15f8a0
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/sysDictData/SysDictDataDTO.java
@@ -0,0 +1,30 @@
+package com.moral.api.pojo.dto.sysDictData;
+
+import com.moral.api.entity.SysDictData;
+import com.moral.api.entity.SysDictType;
+import lombok.Data;
+
+/**
+ * @ClassName SysDictDataDTO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/16 10:15
+ * @Version TODO
+ **/
+@Data
+public class SysDictDataDTO {
+
+    private Integer code;
+
+    private String msg;
+
+    /*
+     * ���������������������type
+     * */
+    private SysDictType sysDictType;
+
+    /*
+     * ������������
+     * */
+    private SysDictData sysDictData;
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/sysDictType/SysDictTypeDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/sysDictType/SysDictTypeDTO.java
new file mode 100644
index 0000000..2115db9
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/sysDictType/SysDictTypeDTO.java
@@ -0,0 +1,32 @@
+package com.moral.api.pojo.dto.sysDictType;
+
+import com.moral.api.entity.SysDictData;
+import com.moral.api.entity.SysDictType;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @ClassName SysDictTypeDTO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/15 10:29
+ * @Version TODO
+ **/
+@Data
+public class SysDictTypeDTO {
+
+    private Integer code;
+
+    private String msg;
+
+    /*
+    * ������������
+    * */
+    private SysDictType sysDictType;
+
+    /*
+    * ���������������������data
+    * */
+    private List<SysDictData> sysDictDatas;
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/sysDictType/SysDictTypeQueryDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/sysDictType/SysDictTypeQueryDTO.java
new file mode 100644
index 0000000..0be8df6
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/sysDictType/SysDictTypeQueryDTO.java
@@ -0,0 +1,23 @@
+package com.moral.api.pojo.dto.sysDictType;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @ClassName SysDictTypeDTO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/15 10:00
+ * @Version TODO
+ **/
+@Data
+public class SysDictTypeQueryDTO {
+
+    Integer code;
+
+    String msg;
+
+    List<SysDictTypeDTO> sysDictTypeDTOS;
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/account/AccountInsertForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/account/AccountInsertForm.java
index fdd8925..e11731f 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/form/account/AccountInsertForm.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/form/account/AccountInsertForm.java
@@ -1,16 +1,14 @@
 package com.moral.api.pojo.form.account;
 
 import com.moral.api.entity.ManageAccount;
-import com.moral.api.pojo.dto.account.AccountInsertDTO;
+import com.moral.api.pojo.dto.account.AccountDTO;
 import com.moral.constant.ResponseCodeEnum;
 import com.moral.util.AESUtils;
 import com.moral.util.MD5Utils;
 import com.moral.util.RegexUtils;
 import lombok.Data;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.ObjectUtils;
 
-import java.io.Serializable;
 import java.util.List;
 
 /**
@@ -53,8 +51,8 @@
         return true;
     }
 
-    public AccountInsertDTO paramValid(){
-        AccountInsertDTO dto = new AccountInsertDTO();
+    public AccountDTO paramValid(){
+        AccountDTO dto = new AccountDTO();
         //���������������������������������
         if(!RegexUtils.checkAccount(account)){
             dto.setCode(ResponseCodeEnum.ACCOUNT_INVALID.getCode());
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/account/AccountUpdateForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/account/AccountUpdateForm.java
index c708c49..5d1882a 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/form/account/AccountUpdateForm.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/form/account/AccountUpdateForm.java
@@ -1,8 +1,7 @@
 package com.moral.api.pojo.form.account;
 
 import com.moral.api.entity.ManageAccount;
-import com.moral.api.pojo.dto.account.AccountInsertDTO;
-import com.moral.api.pojo.dto.account.AccountUpdateDTO;
+import com.moral.api.pojo.dto.account.AccountDTO;
 import com.moral.constant.ResponseCodeEnum;
 import com.moral.util.AESUtils;
 import com.moral.util.MD5Utils;
@@ -51,8 +50,8 @@
         return true;
     }
 
-    public AccountUpdateDTO paramValid() {
-        AccountUpdateDTO dto = new AccountUpdateDTO();
+    public AccountDTO paramValid() {
+        AccountDTO dto = new AccountDTO();
         //���������������������������������
         if (!ObjectUtils.isEmpty(mobile)) {
             if (!RegexUtils.checkMobile(mobile)) {
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/system/ManageLogQueryForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/manageLog/ManageLogQueryForm.java
similarity index 78%
rename from screen-manage/src/main/java/com/moral/api/pojo/form/system/ManageLogQueryForm.java
rename to screen-manage/src/main/java/com/moral/api/pojo/form/manageLog/ManageLogQueryForm.java
index c690d9f..33cbaf3 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/form/system/ManageLogQueryForm.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/form/manageLog/ManageLogQueryForm.java
@@ -1,10 +1,12 @@
-package com.moral.api.pojo.form.system;
+package com.moral.api.pojo.form.manageLog;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.util.ObjectUtils;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * @ClassName ManageLogQueryForm
@@ -13,18 +15,26 @@
  * @Date 2021/4/12 9:33
  * @Version TODO
  **/
+@Data
 public class ManageLogQueryForm {
 
     private Integer page;
 
     private Integer size;
 
-    private String id;
+    private String account;
 
-    private String type;
+    private String userName;
+
+    private List<String> type;
 
     private String ip;
 
+    private String order;
+
+    private String orderType;
+
+
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
     private Date startTime;
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/organization/OrganizationQueryNameForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/organization/OrganizationQueryNameForm.java
new file mode 100644
index 0000000..741ff56
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/form/organization/OrganizationQueryNameForm.java
@@ -0,0 +1,17 @@
+package com.moral.api.pojo.form.organization;
+
+import lombok.Data;
+
+/**
+ * @ClassName OrganizationQueryNameForm
+ * @Description ���������������������������������������������Id
+ * @Author ���������
+ * @Date 2021/4/13 9:39
+ * @Version TODO
+ **/
+@Data
+public class OrganizationQueryNameForm {
+
+    private String name;
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictData/SysDictDataDeleteForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictData/SysDictDataDeleteForm.java
new file mode 100644
index 0000000..7d3c642
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictData/SysDictDataDeleteForm.java
@@ -0,0 +1,23 @@
+package com.moral.api.pojo.form.sysDictData;
+
+import lombok.Data;
+
+/**
+ * @ClassName SysDictDataDeleteForm
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/16 14:00
+ * @Version TODO
+ **/
+@Data
+public class SysDictDataDeleteForm {
+
+    private Integer id;
+
+    public boolean valid() {
+        if (id == null || id == 0) {
+            return false;
+        }
+        return true;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictData/SysDictDataInsertForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictData/SysDictDataInsertForm.java
new file mode 100644
index 0000000..1b3f2bc
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictData/SysDictDataInsertForm.java
@@ -0,0 +1,38 @@
+package com.moral.api.pojo.form.sysDictData;
+
+import com.moral.api.entity.SysDictData;
+import lombok.Data;
+import org.springframework.util.ObjectUtils;
+
+/**
+ * @ClassName SysDictDataInsertForm
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/16 10:10
+ * @Version TODO
+ **/
+@Data
+public class SysDictDataInsertForm {
+
+    private Integer typeId;
+
+    private String key;
+
+    private String value;
+
+    public boolean valid() {
+        if (ObjectUtils.isEmpty(typeId) ||
+                ObjectUtils.isEmpty(key) ||
+                ObjectUtils.isEmpty(value))
+            return false;
+        return true;
+    }
+
+    public SysDictData formConvertEntity() {
+        SysDictData data = new SysDictData();
+        data.setDictTypeId(typeId);
+        data.setDataKey(key);
+        data.setDataValue(value);
+        return data;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictData/SysDictDataUpdateForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictData/SysDictDataUpdateForm.java
new file mode 100644
index 0000000..3c252c3
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictData/SysDictDataUpdateForm.java
@@ -0,0 +1,38 @@
+package com.moral.api.pojo.form.sysDictData;
+
+import com.moral.api.entity.SysDictData;
+import lombok.Data;
+import org.springframework.util.ObjectUtils;
+
+/**
+ * @ClassName SysDictDataUpdateForm
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/16 11:39
+ * @Version TODO
+ **/
+@Data
+public class SysDictDataUpdateForm {
+
+    private Integer id;
+
+    private String key;
+
+    private String value;
+
+    public boolean valid() {
+        if (ObjectUtils.isEmpty(id) ||
+                ObjectUtils.isEmpty(key) ||
+                ObjectUtils.isEmpty(value))
+            return false;
+        return true;
+    }
+
+    public SysDictData formConvertEntity(){
+        SysDictData data = new SysDictData();
+        data.setId(id);
+        data.setDataKey(key);
+        data.setDataValue(value);
+        return data;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictType/SysDictTypeDeleteForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictType/SysDictTypeDeleteForm.java
new file mode 100644
index 0000000..fc8f752
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictType/SysDictTypeDeleteForm.java
@@ -0,0 +1,23 @@
+package com.moral.api.pojo.form.sysDictType;
+
+import lombok.Data;
+
+/**
+ * @ClassName SysDictTypeDeleteForm
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/15 16:33
+ * @Version TODO
+ **/
+@Data
+public class SysDictTypeDeleteForm {
+
+    private Integer id;
+
+    public boolean valid() {
+        if (id == null || id == 0) {
+            return false;
+        }
+        return true;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictType/SysDictTypeInsertForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictType/SysDictTypeInsertForm.java
new file mode 100644
index 0000000..7dcaea2
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictType/SysDictTypeInsertForm.java
@@ -0,0 +1,37 @@
+package com.moral.api.pojo.form.sysDictType;
+
+import com.moral.api.entity.SysDictType;
+import lombok.Data;
+import org.springframework.util.ObjectUtils;
+
+/**
+ * @ClassName SysDictTypeInsertForm
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/15 14:21
+ * @Version TODO
+ **/
+@Data
+public class SysDictTypeInsertForm {
+
+    private String name;
+
+    private String desc;
+
+
+    public boolean valid(){
+        if (
+                ObjectUtils.isEmpty(name) ||
+                        ObjectUtils.isEmpty(desc)
+                )
+            return false;
+        return true;
+    }
+
+    public SysDictType formConvertEntity(){
+        SysDictType sysDictType = new SysDictType();
+        sysDictType.setName(name);
+        sysDictType.setDesc(desc);
+        return sysDictType;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictType/SysDictTypeUpdateForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictType/SysDictTypeUpdateForm.java
new file mode 100644
index 0000000..1a834e8
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/form/sysDictType/SysDictTypeUpdateForm.java
@@ -0,0 +1,35 @@
+package com.moral.api.pojo.form.sysDictType;
+
+import com.moral.api.entity.SysDictType;
+import lombok.Data;
+import org.springframework.util.ObjectUtils;
+
+/**
+ * @ClassName SysDictTypeUpdateForm
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/15 15:43
+ * @Version TODO
+ **/
+@Data
+public class SysDictTypeUpdateForm {
+
+    private Integer id;
+
+    private String desc;
+
+    public boolean valid(){
+        if(ObjectUtils.isEmpty(id)||
+                ObjectUtils.isEmpty(desc))
+            return false;
+        return true;
+    }
+
+    public SysDictType formConvertEntity(){
+        SysDictType sysDictType = new SysDictType();
+        sysDictType.setId(id);
+        sysDictType.setDesc(desc);
+        return sysDictType;
+    }
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountDeleteVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountDeleteVO.java
index dd76776..d2bad3c 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountDeleteVO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountDeleteVO.java
@@ -3,10 +3,8 @@
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.moral.api.entity.ManageAccount;
 import com.moral.api.pojo.dto.account.AccountDTO;
-import com.moral.api.pojo.dto.account.AccountDeleteDTO;
 import com.moral.constant.ResponseCodeEnum;
 import lombok.Data;
-import org.springframework.util.ObjectUtils;
 
 /**
  * @ClassName AccountDeleteVO
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java
index deedcc8..aa12050 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java
@@ -3,7 +3,6 @@
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.moral.api.entity.ManageRole;
 import com.moral.api.pojo.dto.account.AccountDTO;
-import com.moral.api.pojo.dto.account.AccountInsertDTO;
 import com.moral.constant.ResponseCodeEnum;
 import lombok.Data;
 import org.springframework.util.ObjectUtils;
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java
index 6243fbb..57cd1de 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java
@@ -3,8 +3,6 @@
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.moral.api.entity.ManageRole;
 import com.moral.api.pojo.dto.account.AccountDTO;
-import com.moral.api.pojo.dto.account.AccountInsertDTO;
-import com.moral.api.pojo.dto.account.AccountUpdateDTO;
 import com.moral.constant.ResponseCodeEnum;
 import lombok.Data;
 import org.springframework.util.ObjectUtils;
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/manageLog/ManageLogQueryVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/manageLog/ManageLogQueryVO.java
new file mode 100644
index 0000000..2a7885b
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/manageLog/ManageLogQueryVO.java
@@ -0,0 +1,88 @@
+package com.moral.api.pojo.vo.manageLog;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.moral.api.entity.ManageLog;
+import com.moral.api.pojo.dto.manageLog.ManageLogQueryDTO;
+import com.moral.constant.ResponseCodeEnum;
+import com.moral.util.DateUtils;
+import lombok.Data;
+import org.springframework.util.ObjectUtils;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @ClassName ManageLogQueryVO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/12 16:30
+ * @Version TODO
+ **/
+@Data
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class ManageLogQueryVO {
+
+    private long pages;
+
+    private long total;
+
+    private long current;
+
+    private long size;
+
+    private List<ManageLogVO> manageLogs;
+
+    public static ManageLogQueryVO convert(ManageLogQueryDTO dto){
+        if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode())
+            return null;
+        ManageLogQueryVO vo = new ManageLogQueryVO();
+        long current = dto.getCurrent();
+        long size = dto.getSize();
+        long page = dto.getPage();
+        long total = dto.getTotal();
+        List<ManageLogVO> managelogVOs = new ArrayList<>();
+
+        List<ManageLog> manageLogs = dto.getManageLogs();
+        if(!ObjectUtils.isEmpty(manageLogs)){
+            for (ManageLog manageLog : manageLogs) {
+                ManageLogVO manageLogVO = convertToQueryPage(manageLog);
+                managelogVOs.add(manageLogVO);
+            }
+        }
+
+        vo.setCurrent(current);
+        vo.setManageLogs(managelogVOs);
+        vo.setPages(page);
+        vo.setSize(size);
+        vo.setTotal(total);
+        return vo;
+    }
+
+    private static ManageLogVO convertToQueryPage(ManageLog manageLog){
+        ManageLogVO vo = new ManageLogVO();
+        String account = manageLog.getAccount();
+        String userName = manageLog.getUserName();
+        String type = manageLog.getType();
+        String ip = manageLog.getIp();
+        Date createTime = manageLog.getCreateTime();
+        String content = manageLog.getContent();
+
+        //������������������content
+        String[] contentArray = content.split(";");
+        List<String> contentList = Arrays.asList(contentArray);
+        String createTimeStr = DateUtils.dateToDateString(createTime, "yyyy-MM-dd");
+
+        vo.setAccount(account);
+        vo.setContent(contentList);
+        vo.setCreateTime(createTimeStr);
+        vo.setType(type);
+        vo.setIp(ip);
+        vo.setUserName(userName);
+        return vo;
+    }
+
+
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/manageLog/ManageLogVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/manageLog/ManageLogVO.java
new file mode 100644
index 0000000..0700f1c
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/manageLog/ManageLogVO.java
@@ -0,0 +1,49 @@
+package com.moral.api.pojo.vo.manageLog;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @ClassName ManageLogVO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/12 16:31
+ * @Version TODO
+ **/
+@Data
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class ManageLogVO {
+
+    /*
+    * ������
+    * */
+    private String account;
+
+    /*
+    * ���������
+    * */
+    private String userName;
+
+    /*
+    * ������������
+    * */
+    private String type;
+
+    /*
+    * ������������ip
+    * */
+    private String ip;
+
+    /*
+    * ������������
+    * */
+    private String createTime;
+
+    /*
+    * ������������
+    * */
+    private List<String> content;
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationDeleteVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationDeleteVO.java
index c8e3b1a..899e279 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationDeleteVO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationDeleteVO.java
@@ -1,9 +1,11 @@
 package com.moral.api.pojo.vo.organization;
 
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.moral.api.entity.Organization;
 import com.moral.api.pojo.dto.organization.OrganizationDTO;
 import com.moral.constant.ResponseCodeEnum;
+import lombok.Data;
 
 /**
  * @ClassName OrganizationDeleteVO
@@ -12,6 +14,8 @@
  * @Date 2021/3/25 13:46
  * @Version TODO
  **/
+@Data
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 public class OrganizationDeleteVO extends OrganizationVO {
 
     public static OrganizationDeleteVO convert(OrganizationDTO dto){
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationInsertVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationInsertVO.java
index 19e6a42..ec0e958 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationInsertVO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationInsertVO.java
@@ -1,8 +1,10 @@
 package com.moral.api.pojo.vo.organization;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.moral.api.entity.Organization;
 import com.moral.api.pojo.dto.organization.OrganizationDTO;
 import com.moral.constant.ResponseCodeEnum;
+import lombok.Data;
 
 /**
  * @ClassName OrganizationInsertVO
@@ -11,6 +13,8 @@
  * @Date 2021/3/23 17:14
  * @Version TODO
  **/
+@Data
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
 public class OrganizationInsertVO extends OrganizationVO {
 
     public static OrganizationInsertVO convert(OrganizationDTO dto){
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationQueryNamesVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationQueryNamesVO.java
new file mode 100644
index 0000000..c04ed20
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationQueryNamesVO.java
@@ -0,0 +1,53 @@
+package com.moral.api.pojo.vo.organization;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.moral.api.entity.Organization;
+import com.moral.api.pojo.dto.organization.OrganizationQueryNameDTO;
+import com.moral.constant.ResponseCodeEnum;
+import lombok.Data;
+import org.springframework.util.ObjectUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @ClassName OrganizationQueryNamesVO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/13 9:44
+ * @Version TODO
+ **/
+@Data
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class OrganizationQueryNamesVO  {
+
+    private List<OrganizationVO> organizationVOs;
+
+    public static OrganizationQueryNamesVO convert(OrganizationQueryNameDTO dto){
+        if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode())
+            return null;
+
+        OrganizationQueryNamesVO vo = new OrganizationQueryNamesVO();
+        List<OrganizationVO> vos = new ArrayList<>();
+        List<Organization> organizations = dto.getOrganizations();
+
+        if(!ObjectUtils.isEmpty(organizations)){
+            for (Organization organization : organizations) {
+                OrganizationVO organizationVO = convertToQueryPage(organization);
+                vos.add(organizationVO);
+            }
+        }
+
+        vo.setOrganizationVOs(vos);
+        return vo;
+    }
+
+    private static OrganizationVO convertToQueryPage(Organization organization){
+        OrganizationVO vo = new OrganizationVO();
+        vo.setId(organization.getId());
+        vo.setName(organization.getName());
+        return vo;
+    }
+
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationQueryVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationQueryVO.java
index 6da3625..34400fd 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationQueryVO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationQueryVO.java
@@ -84,6 +84,10 @@
         vo.setAddress(organization.getAddress());
         vo.setCreateTime(createTimeStr);
         vo.setExpireTime(exipreTimeStr);
+        vo.setProvinceCode(organization.getProvinceCode());
+        vo.setCityCode(organization.getCityCode());
+        vo.setAreaCode(organization.getAreaCode());
+        vo.setProvinceCityAreaName(organization.getProvinceName()+"/"+organization.getCityName()+"/"+organization.getAreaName());
         vo.setLocationLevelCode(organization.getLocationLevelCode());
         vo.setLocationLevelName(organization.getLocationLevelName());
         return vo;
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationVO.java
index 354c8de..a68785e 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationVO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationVO.java
@@ -32,9 +32,7 @@
 
     private Integer areaCode;
 
-    private Long townCode;
-
-    private Long villageCode;
+    private String ProvinceCityAreaName;
 
     private Integer locationLevelCode;
 
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataDeleteVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataDeleteVO.java
new file mode 100644
index 0000000..8719800
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataDeleteVO.java
@@ -0,0 +1,27 @@
+package com.moral.api.pojo.vo.sysDictData;
+
+
+import com.moral.api.entity.SysDictData;
+import com.moral.api.pojo.dto.sysDictData.SysDictDataDTO;
+import com.moral.constant.ResponseCodeEnum;
+
+/**
+ * @ClassName SysDictDataDeleteVO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/16 13:46
+ * @Version TODO
+ **/
+public class SysDictDataDeleteVO extends SysDictDataVO{
+
+    public static SysDictDataDeleteVO convert(SysDictDataDTO dto){
+        if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode())
+            return null;
+        SysDictDataDeleteVO vo = new SysDictDataDeleteVO();
+        SysDictData data = dto.getSysDictData();
+        vo.setId(data.getId());
+        vo.setKey(data.getDataKey());
+        vo.setValue(data.getDataValue());
+        return vo;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataInsertVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataInsertVO.java
new file mode 100644
index 0000000..6e8c7c8
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataInsertVO.java
@@ -0,0 +1,30 @@
+package com.moral.api.pojo.vo.sysDictData;
+
+import com.moral.api.entity.SysDictData;
+import com.moral.api.entity.SysDictType;
+import com.moral.api.pojo.dto.sysDictData.SysDictDataDTO;
+import com.moral.constant.ResponseCodeEnum;
+
+/**
+ * @ClassName SysDictDataInsertVO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/16 10:31
+ * @Version TODO
+ **/
+public class SysDictDataInsertVO extends SysDictDataVO {
+
+    public static SysDictDataInsertVO convert(SysDictDataDTO dto){
+        if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode())
+            return null;
+        SysDictDataInsertVO vo = new SysDictDataInsertVO();
+        SysDictData data = dto.getSysDictData();
+        SysDictType type = dto.getSysDictType();
+        vo.setId(data.getId());
+        vo.setKey(data.getDataKey());
+        vo.setValue(data.getDataValue());
+        vo.setTypeId(type.getId());
+        vo.setTypeName(type.getName());
+        return vo;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataUpdateVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataUpdateVO.java
new file mode 100644
index 0000000..a6c9e57
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataUpdateVO.java
@@ -0,0 +1,26 @@
+package com.moral.api.pojo.vo.sysDictData;
+
+import com.moral.api.entity.SysDictData;
+import com.moral.api.pojo.dto.sysDictData.SysDictDataDTO;
+import com.moral.constant.ResponseCodeEnum;
+
+/**
+ * @ClassName SysDictDataUpdateVO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/16 11:48
+ * @Version TODO
+ **/
+public class SysDictDataUpdateVO extends SysDictDataVO{
+
+    public static SysDictDataUpdateVO convert(SysDictDataDTO dto){
+        if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode())
+            return null;
+        SysDictDataUpdateVO vo = new SysDictDataUpdateVO();
+        SysDictData data = dto.getSysDictData();
+        vo.setId(data.getId());
+        vo.setKey(data.getDataKey());
+        vo.setValue(data.getDataValue());
+        return vo;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataVO.java
new file mode 100644
index 0000000..5a442ca
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictData/SysDictDataVO.java
@@ -0,0 +1,31 @@
+package com.moral.api.pojo.vo.sysDictData;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+
+/**
+ * @ClassName SysDictDataVO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/15 11:03
+ * @Version TODO
+ **/
+@Data
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class SysDictDataVO {
+
+    private Integer id;
+
+    private Integer typeId;
+
+    private String typeName;
+
+    private String key;
+
+    private String value;
+
+    private String createTime;
+
+    private String updateTime;
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeDeleteVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeDeleteVO.java
new file mode 100644
index 0000000..0a33707
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeDeleteVO.java
@@ -0,0 +1,27 @@
+package com.moral.api.pojo.vo.sysDictType;
+
+import com.moral.api.entity.SysDictType;
+import com.moral.api.pojo.dto.sysDictType.SysDictTypeDTO;
+import com.moral.constant.ResponseCodeEnum;
+
+/**
+ * @ClassName SysDictTypeDeleteVO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/16 8:43
+ * @Version TODO
+ **/
+public class SysDictTypeDeleteVO extends SysDictTypeVO {
+
+    public static SysDictTypeDeleteVO convert(SysDictTypeDTO dto) {
+        if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode())
+            return null;
+        //������������������
+        SysDictTypeDeleteVO vo = new SysDictTypeDeleteVO();
+        SysDictType type = dto.getSysDictType();
+        vo.setId(type.getId());
+        vo.setName(type.getName());
+        vo.setDesc(type.getDesc());
+        return vo;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeInsertVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeInsertVO.java
new file mode 100644
index 0000000..62fbf32
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeInsertVO.java
@@ -0,0 +1,27 @@
+package com.moral.api.pojo.vo.sysDictType;
+
+import com.moral.api.entity.SysDictType;
+import com.moral.api.pojo.dto.sysDictType.SysDictTypeDTO;
+import com.moral.constant.ResponseCodeEnum;
+
+/**
+ * @ClassName SysDictTypeInsertVO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/15 14:32
+ * @Version TODO
+ **/
+public class SysDictTypeInsertVO extends SysDictTypeVO {
+
+    public static SysDictTypeInsertVO convert(SysDictTypeDTO dto){
+        if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode())
+            return null;
+        //������������������
+        SysDictTypeInsertVO vo = new SysDictTypeInsertVO();
+        SysDictType sysDictType = dto.getSysDictType();
+        vo.setId(sysDictType.getId());
+        vo.setName(sysDictType.getName());
+        vo.setDesc(sysDictType.getDesc());
+        return vo;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeQueryVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeQueryVO.java
new file mode 100644
index 0000000..2d22ebc
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeQueryVO.java
@@ -0,0 +1,82 @@
+package com.moral.api.pojo.vo.sysDictType;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.moral.api.entity.SysDictData;
+import com.moral.api.entity.SysDictType;
+import com.moral.api.pojo.dto.sysDictType.SysDictTypeDTO;
+import com.moral.api.pojo.dto.sysDictType.SysDictTypeQueryDTO;
+import com.moral.api.pojo.vo.sysDictData.SysDictDataVO;
+import com.moral.constant.ResponseCodeEnum;
+import lombok.Data;
+import org.springframework.util.ObjectUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @ClassName SysDictTypeQueryVO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/15 10:22
+ * @Version TODO
+ **/
+@Data
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class SysDictTypeQueryVO {
+
+    List<SysDictTypeVO> sysDictTypes;
+
+    public static SysDictTypeQueryVO convert(SysDictTypeQueryDTO dto){
+        //���������������������������������
+        if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode())
+            return null;
+        //������������������
+        SysDictTypeQueryVO queryVO = new SysDictTypeQueryVO();
+        //������������������������������
+        List<SysDictTypeVO> typeVOS = new ArrayList<>();
+        //���DTO���������������VO������
+        List<SysDictTypeDTO> sysDictTypeDTOs = dto.getSysDictTypeDTOS();
+        if(!ObjectUtils.isEmpty(sysDictTypeDTOs)){
+            for (SysDictTypeDTO sysDictTypeDTO : sysDictTypeDTOs) {
+                SysDictTypeVO sysDictTypeVO = convertToQueryPage(sysDictTypeDTO);
+                typeVOS.add(sysDictTypeVO);
+            }
+        }
+        queryVO.setSysDictTypes(typeVOS);
+        return queryVO;
+    }
+
+    /**
+    * @Description: DTO���������VO
+            * @Param: [dto]
+            * @return: com.moral.api.pojo.vo.manageLog.SysDictTypeVO
+            * @Author: ���������
+            * @Date: 2021/4/15
+            */
+    private static SysDictTypeVO convertToQueryPage(SysDictTypeDTO dto){
+        //������������������
+        SysDictTypeVO vo = new SysDictTypeVO();
+        //������������������������������
+        List<SysDictDataVO> dataVOS = new ArrayList<>();
+        //������DTO������
+        List<SysDictData> sysDictDatas = dto.getSysDictDatas();
+        SysDictType sysDictType = dto.getSysDictType();
+        //������������
+        if(!ObjectUtils.isEmpty(sysDictDatas)){
+            for (SysDictData sysDictData : sysDictDatas) {
+                SysDictDataVO dataVO = new SysDictDataVO();
+                dataVO.setId(sysDictData.getId());
+                dataVO.setKey(sysDictData.getDataKey());
+                dataVO.setValue(sysDictData.getDataValue());
+                dataVOS.add(dataVO);
+            }
+        }
+        vo.setId(sysDictType.getId());
+        vo.setName(sysDictType.getName());
+        vo.setDesc(sysDictType.getDesc());
+        vo.setSystem(sysDictType.getSystem());
+        vo.setDataVOs(dataVOS);
+
+        return vo;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeUpdateVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeUpdateVO.java
new file mode 100644
index 0000000..2fab990
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeUpdateVO.java
@@ -0,0 +1,26 @@
+package com.moral.api.pojo.vo.sysDictType;
+
+import com.moral.api.entity.SysDictType;
+import com.moral.api.pojo.dto.sysDictType.SysDictTypeDTO;
+import com.moral.constant.ResponseCodeEnum;
+
+/**
+ * @ClassName SysDictTypeUpdateVO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/15 15:52
+ * @Version TODO
+ **/
+public class SysDictTypeUpdateVO extends SysDictTypeVO {
+
+    public static SysDictTypeUpdateVO convert(SysDictTypeDTO dto) {
+        if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode())
+            return null;
+        SysDictTypeUpdateVO vo = new SysDictTypeUpdateVO();
+        SysDictType sysDictType = dto.getSysDictType();
+        vo.setId(sysDictType.getId());
+        vo.setName(sysDictType.getName());
+        vo.setDesc(sysDictType.getDesc());
+        return vo;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeVO.java
new file mode 100644
index 0000000..0d5ad04
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeVO.java
@@ -0,0 +1,33 @@
+package com.moral.api.pojo.vo.sysDictType;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.moral.api.pojo.vo.sysDictData.SysDictDataVO;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @ClassName SysDictTypeVO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/4/15 10:22
+ * @Version TODO
+ **/
+@Data
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class SysDictTypeVO {
+
+    private Integer id;
+
+    private String name;
+
+    private String desc;
+
+    private String createTime;
+
+    private String updateTime;
+
+    private Integer system;
+
+    private List<SysDictDataVO> dataVOs;
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/ManageLogService.java b/screen-manage/src/main/java/com/moral/api/service/ManageLogService.java
index 29a922c..51f8707 100644
--- a/screen-manage/src/main/java/com/moral/api/service/ManageLogService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/ManageLogService.java
@@ -2,8 +2,8 @@
 
 import com.moral.api.entity.ManageLog;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.moral.api.pojo.dto.system.ManageLogQueryDTO;
-import com.moral.api.pojo.form.system.ManageLogQueryForm;
+import com.moral.api.pojo.dto.manageLog.ManageLogQueryDTO;
+import com.moral.api.pojo.form.manageLog.ManageLogQueryForm;
 
 /**
  * <p>
diff --git a/screen-manage/src/main/java/com/moral/api/service/OrganizationService.java b/screen-manage/src/main/java/com/moral/api/service/OrganizationService.java
index eed2bfc..91066ff 100644
--- a/screen-manage/src/main/java/com/moral/api/service/OrganizationService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/OrganizationService.java
@@ -4,10 +4,8 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.moral.api.pojo.dto.organization.OrganizationDTO;
 import com.moral.api.pojo.dto.organization.OrganizationQueryDTO;
-import com.moral.api.pojo.form.organization.OrganizationDeleteForm;
-import com.moral.api.pojo.form.organization.OrganizationInsertForm;
-import com.moral.api.pojo.form.organization.OrganizationQueryForm;
-import com.moral.api.pojo.form.organization.OrganizationUpdateForm;
+import com.moral.api.pojo.dto.organization.OrganizationQueryNameDTO;
+import com.moral.api.pojo.form.organization.*;
 
 /**
  * <p>
@@ -46,7 +44,7 @@
     OrganizationDTO deleteOrganization(OrganizationDeleteForm organizationDeleteForm);
 
     /**
-     * @Description: ������������������
+     * @Description: ������������������������
      * @Param: [organizationQueryForm]
      * @return: com.moral.api.pojo.dto.organization.OrganizationQueryDTO
      * @Author: ���������
@@ -55,4 +53,14 @@
     OrganizationQueryDTO queryOrganization(OrganizationQueryForm organizationQueryForm);
 
 
+    /**
+    * @Description: ���������������������������Id������������
+            * @Param: [organizationQueryNameForm]
+            * @return: com.moral.api.pojo.dto.organization.OrganizationQueryNameDTO
+            * @Author: ���������
+            * @Date: 2021/4/13
+            */
+    OrganizationQueryNameDTO queryOrganizationNames(OrganizationQueryNameForm organizationQueryNameForm);
+
+
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/SysDictDataService.java b/screen-manage/src/main/java/com/moral/api/service/SysDictDataService.java
index 6d56402..a9f1bea 100644
--- a/screen-manage/src/main/java/com/moral/api/service/SysDictDataService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/SysDictDataService.java
@@ -2,6 +2,13 @@
 
 import com.moral.api.entity.SysDictData;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.moral.api.pojo.dto.sysDictData.SysDictDataDTO;
+import com.moral.api.pojo.form.sysDictData.SysDictDataDeleteForm;
+import com.moral.api.pojo.form.sysDictData.SysDictDataInsertForm;
+import com.moral.api.pojo.form.sysDictData.SysDictDataUpdateForm;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -9,8 +16,53 @@
  * </p>
  *
  * @author moral
- * @since 2021-03-09
+ * @since 2021-04-13
  */
 public interface SysDictDataService extends IService<SysDictData> {
 
+    /**
+    * @Description: ������������������
+            * @Param: [id]
+            * @return: com.moral.api.pojo.dto.sysDictData.SysDictDataDTO
+            * @Author: ���������
+            * @Date: 2021/4/16
+            */
+    SysDictDataDTO deleteData(SysDictDataDeleteForm form);
+
+    /**
+    * @Description: ������������������
+            * @Param: [form]
+            * @return: com.moral.api.entity.sysDictData
+            * @Author: ���������
+            * @Date: 2021/4/16
+            */
+    SysDictDataDTO updateData(SysDictDataUpdateForm form);
+
+    /**
+     * @Description: ������������������id������������������������
+     * @Param: [form]
+     * @return: com.moral.api.pojo.dto.sysDictData.SysDictDataDTO
+     * @Author: ���������
+     * @Date: 2021/4/16
+     */
+    SysDictDataDTO insertData(SysDictDataInsertForm form);
+
+    /**
+     * @Description: ������������������������������������
+     * @Param: [typeName]
+     * @return: java.util.Map<java.lang.String   ,   java.lang.Object>
+     * @Author: ���������
+     * @Date: 2021/4/15
+     */
+    Map<String, Object> queryDataByTypeName(String typeName);
+
+    /**
+     * @Description: ������������������������
+     * @Param: []
+     * @return: java.util.Map<java.lang.String   ,   java.util.List   <   com.moral.api.entity.sysDictData>>
+     * @Author: ���������
+     * @Date: 2021/4/15
+     */
+    Map<String, List<SysDictData>> getAllDictData();
+
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/SysDictTypeService.java b/screen-manage/src/main/java/com/moral/api/service/SysDictTypeService.java
index 0d23d87..fe7d376 100644
--- a/screen-manage/src/main/java/com/moral/api/service/SysDictTypeService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/SysDictTypeService.java
@@ -2,6 +2,13 @@
 
 import com.moral.api.entity.SysDictType;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.moral.api.pojo.dto.sysDictType.SysDictTypeDTO;
+import com.moral.api.pojo.dto.sysDictType.SysDictTypeQueryDTO;
+import com.moral.api.pojo.form.sysDictType.SysDictTypeDeleteForm;
+import com.moral.api.pojo.form.sysDictType.SysDictTypeInsertForm;
+import com.moral.api.pojo.form.sysDictType.SysDictTypeUpdateForm;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +20,60 @@
  */
 public interface SysDictTypeService extends IService<SysDictType> {
 
+    /**
+    * @Description: ������������������
+            * @Param: [form]
+            * @return: com.moral.api.entity.sysDictType
+            * @Author: ���������
+            * @Date: 2021/4/15
+            */
+    SysDictTypeDTO deleteType(SysDictTypeDeleteForm form);
+
+    /**
+    * @Description: ������������������
+            * @Param: [form]
+            * @return: com.moral.api.pojo.dto.sysDictType.SysDictTypeDTO
+            * @Author: ���������
+            * @Date: 2021/4/15
+            */
+    SysDictTypeDTO updateType(SysDictTypeUpdateForm form);
+
+    /**
+    * @Description: ������������������
+            * @Param: [form]
+            * @return: com.moral.api.pojo.dto.sysDictType.SysDictTypeDTO
+            * @Author: ���������
+            * @Date: 2021/4/15
+            */
+    SysDictTypeDTO insertType(SysDictTypeInsertForm form);
+
+    /**
+    * @Description: ���������������������������������������
+            * @Param: []
+            * @return: com.moral.api.pojo.dto.sysDictType.SysDictTypeQueryDTO
+            * @Author: ���������
+            * @Date: 2021/4/15
+            */
+    SysDictTypeQueryDTO queryTypeAndDatas();
+
+    /**
+    * @Description: ������������������������������������������
+            * @Param: []
+            * @return: java.util.List<com.moral.api.entity.sysDictType>
+            * @Author: ���������
+            * @Date: 2021/4/15
+            */
+    List<SysDictType> getAllDictType();
+
+    /**
+    * @Description: ������Id������������
+            * @Param: [id]
+            * @return: com.moral.api.entity.sysDictType
+            * @Author: ���������
+            * @Date: 2021/4/16
+            */
+    SysDictType getDictTypeById(Integer id);
+
+
+
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java
index 6bbb7cf..b144225 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java
@@ -381,7 +381,7 @@
 
         //������ManageAccount���
         Map manageAccountMap = JSONObject.parseObject(JSON.toJSONString(manageAccount),Map.class);//���������Map���������������������������
-        if (manageAccountMap.size()>2) {//������������account������������������������������������������
+        if (manageAccountMap.size()>1) {//������������account������������������������������������������
             manageAccountMapper.updateById(manageAccount);
         }
         //������������������������
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageLogServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageLogServiceImpl.java
index 059b2cb..6dee55c 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageLogServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageLogServiceImpl.java
@@ -1,12 +1,28 @@
 package com.moral.api.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.moral.api.config.mybatis.wrapper.NullFilterWrapper;
 import com.moral.api.entity.ManageLog;
+import com.moral.api.entity.SysDictData;
 import com.moral.api.mapper.ManageLogMapper;
-import com.moral.api.pojo.dto.system.ManageLogQueryDTO;
-import com.moral.api.pojo.form.system.ManageLogQueryForm;
+import com.moral.api.mapper.SysDictDataMapper;
+import com.moral.api.mapper.SysDictTypeMapper;
+import com.moral.api.pojo.dto.manageLog.ManageLogQueryDTO;
+import com.moral.api.pojo.form.manageLog.ManageLogQueryForm;
 import com.moral.api.service.ManageLogService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.constant.Constants;
+import com.moral.constant.ResponseCodeEnum;
+import com.moral.util.ConvertUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -19,8 +35,71 @@
 @Service
 public class ManageLogServiceImpl extends ServiceImpl<ManageLogMapper, ManageLog> implements ManageLogService {
 
+    @Autowired
+    ManageLogMapper manageLogMapper;
+    @Autowired
+    SysDictTypeMapper sysDictTypeMapper;
+    @Autowired
+    SysDictDataMapper sysDictDataMapper;
+
     @Override
     public ManageLogQueryDTO queryManageLog(ManageLogQueryForm form) {
-        return null;
+        ManageLogQueryDTO dto = new ManageLogQueryDTO();
+        Integer pageCount = form.getPage();
+        Integer size = form.getSize();
+        String order = form.getOrder();
+        String orderType = form.getOrderType();
+        String account = form.getAccount();
+        String userName = form.getUserName();
+        String ip = form.getIp();
+        List<String> types = form.getType();
+        Date startTime = form.getStartTime();
+        Date endTime = form.getEndTime();
+
+        //������������������
+        Page<ManageLog> page = new Page<>(pageCount, size);
+        NullFilterWrapper<ManageLog> queryWrapper = new NullFilterWrapper<>();
+
+        queryWrapper.like("account",account);
+        queryWrapper.like("user_name",userName);
+        queryWrapper.eq("ip",ip);
+        queryWrapper.in("type",types);
+        queryWrapper.between("create_time",startTime,endTime);
+        if (!ObjectUtils.isEmpty(order)) {//������������
+            if (!ObjectUtils.isEmpty(orderType)) {
+                if (orderType.equals(Constants.ORDER_ASC))
+                    queryWrapper.orderByAsc(ConvertUtils.toLine(order));
+                else
+                    queryWrapper.orderByDesc(ConvertUtils.toLine(order));
+            }
+        }
+
+        //������������
+        Page<ManageLog> resultPage = manageLogMapper.selectPage(page, queryWrapper);
+        List<ManageLog> manageLogs = resultPage.getRecords();
+
+        //������������������Type���������������
+        QueryWrapper<SysDictData> dataWrapper = new QueryWrapper<>();
+        dataWrapper.eq("dict_type_id",2);
+        List<SysDictData> sysDictData = sysDictDataMapper.selectList(dataWrapper);
+        Map<String,String> map = new HashMap<>();
+        for (SysDictData data : sysDictData) {
+            map.put(data.getDataKey(),data.getDataValue());
+        }
+
+        for (ManageLog manageLog : manageLogs) {
+            String type = manageLog.getType();
+            String typeValue = map.get(type);
+            manageLog.setType(typeValue);
+        }
+
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        dto.setCurrent(page.getCurrent());
+        dto.setPage(page.getPages());
+        dto.setSize(page.getSize());
+        dto.setTotal(page.getTotal());
+        dto.setManageLogs(manageLogs);
+        return dto;
     }
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java
index 9a6a587..d7ac38c 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java
@@ -10,10 +10,8 @@
 import com.moral.api.mapper.OrganizationMapper;
 import com.moral.api.pojo.dto.organization.OrganizationDTO;
 import com.moral.api.pojo.dto.organization.OrganizationQueryDTO;
-import com.moral.api.pojo.form.organization.OrganizationDeleteForm;
-import com.moral.api.pojo.form.organization.OrganizationInsertForm;
-import com.moral.api.pojo.form.organization.OrganizationQueryForm;
-import com.moral.api.pojo.form.organization.OrganizationUpdateForm;
+import com.moral.api.pojo.dto.organization.OrganizationQueryNameDTO;
+import com.moral.api.pojo.form.organization.*;
 import com.moral.api.service.OrganizationService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.moral.api.util.LogUtils;
@@ -32,6 +30,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.*;
+import java.util.function.Predicate;
 
 /**
  * <p>
@@ -64,6 +63,8 @@
      * @Author: ���������
      * @Date: 2021/3/22
      */
+
+
     @Override
     @Transactional
     public OrganizationDTO insertOrganization(OrganizationInsertForm organizationInsertForm) {
@@ -108,8 +109,8 @@
         //������������������
         HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
         StringBuilder content = new StringBuilder();
-        content.append("������������������").append(organization.getName()+";");
-        logUtils.saveOperationForManage(request, content.toString(),Constants.INSERT_OPERATE_TYPE);
+        content.append("������������������").append(organization.getName() + ";");
+        logUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE);
         return organizationDTO;
     }
 
@@ -169,7 +170,7 @@
         organizationDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
 
         //������������������
-        insertUpdateLog(organizationUpdateForm,organization,existOrganization);
+        insertUpdateLog(organizationUpdateForm, organization, existOrganization);
 
         return organizationDTO;
     }
@@ -187,6 +188,7 @@
         OrganizationDTO dto = new OrganizationDTO();
         //������
         Integer id = form.getOrganizationId();
+
         //������������������������
         Organization existOrganization = new Organization();
         existOrganization.setIsDelete(Constants.NOT_DELETE);
@@ -199,22 +201,40 @@
             dto.setMsg(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg());
             return dto;
         }
+
         //������������������
         UpdateWrapper deleteWrapper = new UpdateWrapper();
         deleteWrapper.eq("id", id);
         deleteWrapper.set("is_delete", Constants.DELETE);
         organizationMapper.update(null, deleteWrapper);
-        //������������������������������������������������������������������parentId���0
-        if (form.getDeleteChildren().equals(Constants.DELETE_CHILDREN_ORG)) {
-            UpdateWrapper deleteChildrenWrapper = new UpdateWrapper();
-            deleteChildrenWrapper.eq("parent_id", id);
-            deleteChildrenWrapper.set("is_delete", Constants.DELETE);
-            organizationMapper.update(null, deleteChildrenWrapper);
-        } else {
-            UpdateWrapper updateChildrenWrapper = new UpdateWrapper();
-            updateChildrenWrapper.eq("parent_id", id);
-            updateChildrenWrapper.set("parent_id", 0);
-            organizationMapper.update(null, updateChildrenWrapper);
+
+        //���������������������������
+        List<Organization> children = getAllChildrenOrganization(existOrganization);
+        if (!ObjectUtils.isEmpty(children)) {//���������������������
+            //������������������������������������������������������������������������������������������������������������������
+            UpdateWrapper updateWrapper = new UpdateWrapper();
+            if (form.getDeleteChildren().equals(Constants.DELETE_CHILDREN_ORG)) {//���������������������
+                //������������������������id���������������
+                List<Integer> childrenId = new ArrayList<>();
+                children.forEach(value -> {
+                    childrenId.add(value.getId());
+                });
+                //������������
+                updateWrapper.in("id", childrenId);
+                updateWrapper.set("is_delete", Constants.DELETE);
+                organizationMapper.update(null, updateWrapper);
+            } else {//���������
+                //���������������������������id
+                List<Integer> childrenId = new ArrayList<>();
+                children.forEach(value -> {
+                    if (value.getParentId().equals(id))
+                        childrenId.add(value.getId());
+                });
+                //������������
+                updateWrapper.in("id", childrenId);
+                updateWrapper.set("parent_id", 0);
+                organizationMapper.update(null, updateWrapper);
+            }
         }
 
         //������������������
@@ -224,10 +244,12 @@
         //������������������
         HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
         StringBuilder content = new StringBuilder();
-        content.append("������������������").append(existOrganization.getName()+";");
-        if(form.getDeleteChildren().equals(Constants.DELETE_CHILDREN_ORG))
+        content.append("������������������").append(existOrganization.getName());
+        if (form.getDeleteChildren().equals(Constants.DELETE_CHILDREN_ORG))
             content.append("���������������������;");
-        logUtils.saveOperationForManage(request, content.toString(),Constants.DELETE_OPERATE_TYPE);
+        else
+            content.append(";");
+        logUtils.saveOperationForManage(request, content.toString(), Constants.DELETE_OPERATE_TYPE);
 
         return dto;
     }
@@ -300,8 +322,6 @@
         for (Organization child : organizations) {
             OrganizationDTO resultDto = new OrganizationDTO();
             Organization parent = organizationMapper.selectById(child.getParentId());//���������������
-            //���������������������
-            changeAddressByOrganization(child);
             resultDto.setOrganization(child);
             resultDto.setParentOrganization(parent);
             organizationDTOS.add(resultDto);
@@ -317,41 +337,41 @@
         return dto;
     }
 
-
     /**
-     * @Description: ���organization���address���������provinceName cityName areaName������������
-     * @Param: [organization]
-     * @return: void
+     * @Description: ������������������������������Id���������������
+     * @Param: [organizationQueryNameForm]
+     * @return: com.moral.api.pojo.dto.organization.OrganizationQueryNameDTO
      * @Author: ���������
-     * @Date: 2021/4/2
+     * @Date: 2021/4/13
      */
-    private void changeAddressByOrganization(Organization organization) {
-        String provinceName = organization.getProvinceName();
-        String cityName = organization.getCityName();
-        String areaName = organization.getAreaName();
-        String address = organization.getAddress();
+    @Override
+    public OrganizationQueryNameDTO queryOrganizationNames(OrganizationQueryNameForm form) {
+        OrganizationQueryNameDTO dto = new OrganizationQueryNameDTO();
+        //������
+        String name = form.getName();
+        //������������������
+        NullFilterWrapper<Organization> queryWrapper = new NullFilterWrapper();
+        queryWrapper.like("name", name);
+        queryWrapper.eq("is_delete", Constants.NOT_DELETE);
+        //������
+        List<Organization> organizations = organizationMapper.selectList(queryWrapper);
 
-        StringBuilder newAddress = new StringBuilder();
-        if (provinceName != null)
-            newAddress.append(provinceName);
-        if (cityName != null)
-            newAddress.append(cityName);
-        if (areaName != null)
-            newAddress.append(areaName);
-        if (address != null)
-            newAddress.append(address);
-
-        organization.setAddress(newAddress.toString());
+        //������������������
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        dto.setOrganizations(organizations);
+        return dto;
     }
 
+
     /**
-    * @Description: ���������������������������
-            * @Param: [updateForm, newOrganization, oldOrganization]
-            * @return: void
-            * @Author: ���������
-            * @Date: 2021/4/8
-            */
-    private void insertUpdateLog(OrganizationUpdateForm updateForm,Organization newOrganization,Organization oldOrganization){
+     * @Description: ���������������������������
+     * @Param: [updateForm, newOrganization, oldOrganization]
+     * @return: void
+     * @Author: ���������
+     * @Date: 2021/4/8
+     */
+    private void insertUpdateLog(OrganizationUpdateForm updateForm, Organization newOrganization, Organization oldOrganization) {
         //������������������
         HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
         StringBuilder content = new StringBuilder();
@@ -397,7 +417,43 @@
                 }
             }
         }
-        logUtils.saveOperationForManage(request, content.toString(),Constants.UPDATE_OPERATE_TYPE);
+        logUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE);
+    }
+
+    /**
+     * @Description: ������������������������������������
+     * @Param: []
+     * @return: java.util.List<com.moral.api.entity.Organization>
+     * @Author: ���������
+     * @Date: 2021/4/14
+     */
+    private List<Organization> getAllChildrenOrganization(Organization parent) {
+        List<Organization> children = new ArrayList<>();
+        recursionQueryChildren(parent, children);
+        return children;
+    }
+
+    /**
+     * @Description: ���������������������������������������������������children���
+     * @Param: [parent, children]
+     * @return: void
+     * @Author: ���������
+     * @Date: 2021/4/14
+     */
+    private void recursionQueryChildren(Organization parent, List<Organization> children) {
+        Integer parentId = parent.getId();
+        QueryWrapper<Organization> queryWrapper = new QueryWrapper();
+        queryWrapper.eq("is_delete", Constants.NOT_DELETE);
+        queryWrapper.eq("parent_id", parentId);
+        List<Organization> organizations = organizationMapper.selectList(queryWrapper);
+        if (!ObjectUtils.isEmpty(organizations)) {
+            children.addAll(organizations);
+            for (Organization organization : organizations) {
+                recursionQueryChildren(organization, children);
+            }
+        } else {
+            return;
+        }
     }
 
 
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java
index 4eba4ad..cfca955 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java
@@ -1,10 +1,30 @@
 package com.moral.api.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.moral.api.entity.SysDictData;
+import com.moral.api.entity.SysDictType;
 import com.moral.api.mapper.SysDictDataMapper;
+import com.moral.api.pojo.dto.sysDictData.SysDictDataDTO;
+import com.moral.api.pojo.form.sysDictData.SysDictDataDeleteForm;
+import com.moral.api.pojo.form.sysDictData.SysDictDataInsertForm;
+import com.moral.api.pojo.form.sysDictData.SysDictDataUpdateForm;
 import com.moral.api.service.SysDictDataService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.service.SysDictTypeService;
+import com.moral.api.util.CacheUtils;
+import com.moral.constant.Constants;
+import com.moral.constant.RedisConstants;
+import com.moral.constant.ResponseCodeEnum;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -12,9 +32,159 @@
  * </p>
  *
  * @author moral
- * @since 2021-03-09
+ * @since 2021-04-13
  */
 @Service
 public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDictData> implements SysDictDataService {
 
+    @Autowired
+    SysDictTypeService sysDictTypeService;
+    @Autowired
+    SysDictDataMapper sysDictDataMapper;
+    @Autowired
+    RedisTemplate redisTemplate;
+
+    @Override
+    @Transactional
+    public SysDictDataDTO deleteData(SysDictDataDeleteForm form) {
+        //������������������
+        SysDictDataDTO dto = new SysDictDataDTO();
+        //������
+        Integer id = form.getId();
+        //������������������
+        QueryWrapper existWrapper = new QueryWrapper();
+        existWrapper.eq("is_delete",Constants.NOT_DELETE);
+        existWrapper.eq("id",id);
+        SysDictData existData = sysDictDataMapper.selectOne(existWrapper);
+        //������������
+        UpdateWrapper deleteWrapper = new UpdateWrapper();
+        deleteWrapper.set("is_delete",Constants.DELETE);
+        deleteWrapper.eq("id",id);
+        sysDictDataMapper.update(null,deleteWrapper);
+        //������������
+        CacheUtils.clearDictionariesCache();
+        //������������������
+        dto.setSysDictData(existData);
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return dto;
+    }
+
+    @Override
+    public SysDictDataDTO updateData(SysDictDataUpdateForm form) {
+        SysDictDataDTO dto = new SysDictDataDTO();
+        //������
+        SysDictData sysDictData = form.formConvertEntity();
+        //������������������������
+        QueryWrapper<SysDictData> existWrapper = new QueryWrapper<>();
+        existWrapper.eq("is_delete", Constants.NOT_DELETE);
+        existWrapper.eq("id", sysDictData.getId());
+        SysDictData existData = sysDictDataMapper.selectOne(existWrapper);
+        //������������
+        sysDictDataMapper.updateById(sysDictData);
+        //������������
+        CacheUtils.clearDictionariesCache();
+        //������������������
+        dto.setSysDictData(sysDictData);
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return dto;
+    }
+
+    /**
+     * @Description: ������������������id������������������������
+     * @Param: [form]
+     * @return: com.moral.api.pojo.dto.sysDictData.SysDictDataDTO
+     * @Author: ���������
+     * @Date: 2021/4/16
+     */
+    @Override
+    public SysDictDataDTO insertData(SysDictDataInsertForm form) {
+        SysDictDataDTO dto = new SysDictDataDTO();
+        //������
+        SysDictData sysDictData = form.formConvertEntity();
+        //������������������������
+        SysDictType type = sysDictTypeService.getDictTypeById(sysDictData.getDictTypeId());
+        if (ObjectUtils.isEmpty(type)) {
+            dto.setCode(ResponseCodeEnum.DICTTYPE_NOT_EXIST.getCode());
+            dto.setMsg(ResponseCodeEnum.DICTTYPE_NOT_EXIST.getMsg());
+            return dto;
+        }
+        //������Key������������
+        String key = sysDictData.getDataKey();
+        QueryWrapper<SysDictData> wrapper = new QueryWrapper<>();
+        wrapper.eq("is_delete", Constants.NOT_DELETE);
+        wrapper.eq("dataKey", key);
+        wrapper.eq("dict_type_id", type.getId());
+        SysDictData existKeyData = sysDictDataMapper.selectOne(wrapper);
+        if (!ObjectUtils.isEmpty(existKeyData)) {
+            dto.setCode(ResponseCodeEnum.DICTDATA_KEY_EXIST.getCode());
+            dto.setMsg(ResponseCodeEnum.DICTDATA_KEY_EXIST.getMsg());
+            return dto;
+        }
+        //������������
+        sysDictDataMapper.insert(sysDictData);
+        //������������
+        CacheUtils.clearDictionariesCache();
+        //������������������
+        dto.setSysDictData(sysDictData);
+        dto.setSysDictType(type);
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return dto;
+    }
+
+    /**
+     * @Description: ���������������������������������������������
+     * @Param: [typeName]
+     * @return: java.util.Map<java.lang.String       ,       java.lang.Object>
+     * @Author: ���������
+     * @Date: 2021/4/16
+     */
+    @Override
+    public Map<String, Object> queryDataByTypeName(String typeName) {
+        Map<String, List<SysDictData>> datas = getAllDictData();
+        //������������������
+        List<SysDictData> sysDictData = datas.get(typeName);
+        //��������������������������� Map  key���dataKey  value���dataValue
+        Map<String, Object> result = new HashMap<>();
+        for (SysDictData data : sysDictData) {
+            result.put(data.getDataKey(), data.getDataValue());
+        }
+        return result;
+    }
+
+    @Override
+    public Map<String, List<SysDictData>> getAllDictData() {
+        Map<String, List<SysDictData>> datas = new HashMap<>();
+        //������������������
+        datas = (Map<String, List<SysDictData>>) redisTemplate.opsForValue().get(RedisConstants.DICT_DATA_KEY);
+        if (ObjectUtils.isEmpty(datas)) {//���������������������
+            datas = getDictDataFromDB();
+            //������������
+            redisTemplate.opsForValue().set(RedisConstants.DICT_DATA_KEY, datas);
+        }
+        return datas;
+    }
+
+
+    /**
+     * @Description: ������������������������������������������������������������Map  Key��������������� value���������������
+     * @Param: []
+     * @return: java.util.Map<java.lang.String               ,               java.util.List               <               com.moral.api.entity.sysDictData>>
+     * @Author: ���������
+     * @Date: 2021/4/14
+     */
+    private Map<String, List<SysDictData>> getDictDataFromDB() {
+        Map<String, List<SysDictData>> result = new HashMap<>();
+        List<SysDictType> types = sysDictTypeService.getAllDictType();
+        for (SysDictType type : types) {
+            QueryWrapper<SysDictData> wrapper = new QueryWrapper<>();
+            wrapper.eq("is_delete", Constants.NOT_DELETE);
+            wrapper.eq("dict_type_id", type.getId());
+            List<SysDictData> datas = sysDictDataMapper.selectList(wrapper);
+            result.put(type.getName(), datas);
+        }
+        return result;
+    }
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java
index 8f8b83c..88f87d2 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java
@@ -1,10 +1,31 @@
 package com.moral.api.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.moral.api.entity.SysDictData;
 import com.moral.api.entity.SysDictType;
 import com.moral.api.mapper.SysDictTypeMapper;
+import com.moral.api.pojo.dto.sysDictType.SysDictTypeDTO;
+import com.moral.api.pojo.dto.sysDictType.SysDictTypeQueryDTO;
+import com.moral.api.pojo.form.sysDictType.SysDictTypeDeleteForm;
+import com.moral.api.pojo.form.sysDictType.SysDictTypeInsertForm;
+import com.moral.api.pojo.form.sysDictType.SysDictTypeUpdateForm;
+import com.moral.api.service.SysDictDataService;
 import com.moral.api.service.SysDictTypeService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.util.CacheUtils;
+import com.moral.constant.Constants;
+import com.moral.constant.RedisConstants;
+import com.moral.constant.ResponseCodeEnum;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -17,4 +38,170 @@
 @Service
 public class SysDictTypeServiceImpl extends ServiceImpl<SysDictTypeMapper, SysDictType> implements SysDictTypeService {
 
+    @Autowired
+    SysDictTypeMapper sysDictTypeMapper;
+    @Autowired
+    SysDictDataService sysDictDataService;
+    @Autowired
+    RedisTemplate redisTemplate;
+
+    @Override
+    @Transactional
+    public SysDictTypeDTO deleteType(SysDictTypeDeleteForm form) {
+        //������������������
+        SysDictTypeDTO dto = new SysDictTypeDTO();
+        //������Id
+        Integer typeId = form.getId();
+        //������type������������
+        QueryWrapper<SysDictType> existWrapper = new QueryWrapper<>();
+        existWrapper.eq("is_delete",Constants.NOT_DELETE);
+        existWrapper.eq("id",typeId);
+        SysDictType type = sysDictTypeMapper.selectOne(existWrapper);
+        if(ObjectUtils.isEmpty(type)){
+            dto.setCode(ResponseCodeEnum.DICTTYPE_NOT_EXIST.getCode());
+            dto.setMsg(ResponseCodeEnum.DICTTYPE_NOT_EXIST.getMsg());
+            return dto;
+        }
+        //������������������
+        UpdateWrapper deleteTypeWrapper = new UpdateWrapper();
+        deleteTypeWrapper.eq("id",typeId);
+        deleteTypeWrapper.set("is_delete",Constants.DELETE);
+        sysDictTypeMapper.update(null,deleteTypeWrapper);
+        //���������������������������������
+        UpdateWrapper deleteDataWrapper = new UpdateWrapper();
+        deleteDataWrapper.eq("dict_type_id",typeId);
+        deleteDataWrapper.set("is_delete",Constants.DELETE);
+        sysDictDataService.update(null,deleteDataWrapper);
+        //������������������
+        CacheUtils.clearDictionariesCache();
+        //������������������
+        dto.setSysDictType(type);
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return dto;
+    }
+
+
+    @Override
+    @Transactional
+    public SysDictTypeDTO updateType(SysDictTypeUpdateForm form) {
+        //������������������
+        SysDictTypeDTO dto = new SysDictTypeDTO();
+        //������������
+        SysDictType type = form.formConvertEntity();
+        //������type������������
+        QueryWrapper<SysDictType> existNameWrapper = new QueryWrapper<>();
+        existNameWrapper.eq("id",type.getId());
+        existNameWrapper.eq("is_delete",Constants.NOT_DELETE);
+        SysDictType existType = sysDictTypeMapper.selectOne(existNameWrapper);
+        if(ObjectUtils.isEmpty(existType)){
+            dto.setCode(ResponseCodeEnum.DICTTYPE_NOT_EXIST.getCode());
+            dto.setMsg(ResponseCodeEnum.DICTTYPE_NOT_EXIST.getMsg());
+            return dto;
+        }
+        //������������
+        sysDictTypeMapper.updateById(type);
+        //������������������������
+        SysDictType sysDictType = sysDictTypeMapper.selectById(type.getId());
+        //������������
+        CacheUtils.clearDictionariesCache();
+        //������������������
+        dto.setSysDictType(sysDictType);
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return dto;
+    }
+
+    @Override
+    @Transactional
+    public SysDictTypeDTO insertType(SysDictTypeInsertForm form) {
+        //������������������
+        SysDictTypeDTO dto = new SysDictTypeDTO();
+        //������������������������
+        SysDictType sysDictType = form.formConvertEntity();
+        //������name������������������
+        QueryWrapper<SysDictType> existNameWrapper = new QueryWrapper<>();
+        existNameWrapper.eq("name",sysDictType.getName());
+        existNameWrapper.eq("is_delete",Constants.NOT_DELETE);
+        SysDictType existType = sysDictTypeMapper.selectOne(existNameWrapper);
+        if(!ObjectUtils.isEmpty(existType)){
+            dto.setCode(ResponseCodeEnum.DICTTYPE_EXIST.getCode());
+            dto.setMsg(ResponseCodeEnum.DICTTYPE_EXIST.getMsg());
+            return dto;
+        }
+        //������������
+        sysDictTypeMapper.insert(sysDictType);
+        //������������
+        CacheUtils.clearDictionariesCache();
+        //������������������
+        dto.setSysDictType(sysDictType);
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return dto;
+    }
+
+    /**
+    * @Description: ���������������������������������������
+            * @Param: []
+            * @return: com.moral.api.pojo.dto.sysDictType.SysDictTypeQueryDTO
+            * @Author: ���������
+            * @Date: 2021/4/15
+            */
+    @Override
+    public SysDictTypeQueryDTO queryTypeAndDatas() {
+        //������������������
+        SysDictTypeQueryDTO queryDTO = new SysDictTypeQueryDTO();
+        List<SysDictTypeDTO> dtos = new ArrayList<>();
+        //������������������
+        List<SysDictType> types = getAllDictType();
+        //������������������
+        Map<String, List<SysDictData>> datas = sysDictDataService.getAllDictData();
+        for (SysDictType type : types) {
+            SysDictTypeDTO dto = new SysDictTypeDTO();
+            List<SysDictData> typeDatas = (List<SysDictData>) datas.get(type.getName());
+            dto.setSysDictType(type);
+            dto.setSysDictDatas(typeDatas);
+            dtos.add(dto);
+        }
+        //������������������
+        queryDTO.setSysDictTypeDTOS(dtos);
+        queryDTO.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        queryDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return queryDTO;
+    }
+
+    /**
+    * @Description: ���������������������������������������������
+            * @Param: []
+            * @return: java.util.List<com.moral.api.entity.sysDictType>
+            * @Author: ���������
+            * @Date: 2021/4/15
+            */
+    @Override
+    public List<SysDictType> getAllDictType() {
+        //������������������
+        List<SysDictType> types = (List<SysDictType>) redisTemplate.opsForValue().get(RedisConstants.DICT_TYPE_KEY);
+        if(ObjectUtils.isEmpty(types)){//������������������������������������
+            types = getAllDictTypeFromDB();
+            redisTemplate.opsForValue().set(RedisConstants.DICT_TYPE_KEY,types);
+        }
+        return types;
+    }
+
+    @Override
+    public SysDictType getDictTypeById(Integer id) {
+        QueryWrapper<SysDictType> wrapper = new QueryWrapper();
+        wrapper.eq("is_delete",Constants.NOT_DELETE);
+        wrapper.eq("id",id);
+        return sysDictTypeMapper.selectOne(wrapper);
+    }
+
+    private List<SysDictType> getAllDictTypeFromDB() {
+        QueryWrapper<SysDictType> wrapper = new QueryWrapper<>();
+        wrapper.eq("is_delete", Constants.NOT_DELETE);
+        List<SysDictType> sysDictTypes = sysDictTypeMapper.selectList(wrapper);
+        return sysDictTypes;
+    }
+
+
 }
diff --git a/screen-manage/src/main/java/com/moral/api/util/CacheUtils.java b/screen-manage/src/main/java/com/moral/api/util/CacheUtils.java
new file mode 100644
index 0000000..dab4e28
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/util/CacheUtils.java
@@ -0,0 +1,33 @@
+package com.moral.api.util;
+
+import com.moral.constant.RedisConstants;
+import com.moral.util.TokenUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Component;
+
+/**
+ * @ClassName CacheUtils
+ * @Description ���������������
+ * @Author ���������
+ * @Date 2021/4/16 8:57
+ * @Version TODO
+ **/
+@Component
+@Slf4j
+public class CacheUtils {
+
+    private static RedisTemplate redisTemplate;
+
+    @Autowired
+    public void setRedisTemplate(RedisTemplate redisTemplate) {
+        CacheUtils.redisTemplate = redisTemplate;
+    }
+
+    public static void clearDictionariesCache(){
+        redisTemplate.delete(RedisConstants.DICT_DATA_KEY);
+        redisTemplate.delete(RedisConstants.DICT_TYPE_KEY);
+    }
+
+}
diff --git a/screen-manage/src/main/resources/application-dev.yml b/screen-manage/src/main/resources/application-dev.yml
index 2c657e4..bccfc4f 100644
--- a/screen-manage/src/main/resources/application-dev.yml
+++ b/screen-manage/src/main/resources/application-dev.yml
@@ -62,6 +62,9 @@
     url: jdbc:mysql://39.97.177.149:3306/moral?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
     username: root
     password: chenkaiyu111
+    #url: jdbc:mysql://vp9l57dtd2vng7oxft1t.rwlb.rds.aliyuncs.com:3306/moral?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+    #username: root
+    #password: moral_123456
     test-on-borrow: false
     sql-script-encoding: utf-8
     pool-prepared-statements: true
@@ -120,7 +123,7 @@
       - /swagger-resources/**
       - /webjars/**
       - /verificationCode/**
-      - /system/**
+      - /manageLog/**
 
       - /role/getAllManageRole
       - /role/getManageRoleByNameFuzzy
diff --git a/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml b/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml
index 1ba6ee4..2906290 100644
--- a/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml
+++ b/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml
@@ -13,6 +13,7 @@
         <result column="create_time" property="createTime"/>
         <result column="update_time" property="updateTime"/>
         <result column="is_delete" property="isDelete"/>
+        <result column="desc" property="desc"/>
     </resultMap>
 
 
diff --git a/screen-manage/src/main/resources/mapper/SysDictDataMapper.xml b/screen-manage/src/main/resources/mapper/SysDictDataMapper.xml
index f7dd306..a37bc2c 100644
--- a/screen-manage/src/main/resources/mapper/SysDictDataMapper.xml
+++ b/screen-manage/src/main/resources/mapper/SysDictDataMapper.xml
@@ -5,11 +5,9 @@
         <!-- ������������������������ -->
         <resultMap id="BaseResultMap" type="com.moral.api.entity.SysDictData">
                     <id column="id" property="id" />
-                    <result column="parent_id" property="parentId" />
                     <result column="dict_type_id" property="dictTypeId" />
                     <result column="dataKey" property="dataKey" />
                     <result column="dataValue" property="dataValue" />
-                    <result column="sort" property="sort" />
                     <result column="create_time" property="createTime" />
                     <result column="update_time" property="updateTime" />
                     <result column="is_delete" property="isDelete" />

--
Gitblit v1.8.0