From 6322d98c7db41df4e64e91c100cb2621560ba3d1 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 10 十月 2022 09:05:00 +0800
Subject: [PATCH] 1

---
 data/db.sql                                                         |   10 
 src/main/java/com/lf/server/entity/sys/MsgEntity.java               |   95 +
 src/main/java/com/lf/server/mapper/sys/RoleResMapper.java           |   96 +
 src/main/resources/mapper/data/DownloadMapper.xml                   |   74 
 src/main/java/com/lf/server/entity/sys/RoleResEntity.java           |   85 +
 src/main/resources/mapper/sys/MsgMapper.xml                         |   74 
 src/main/java/com/lf/server/mapper/sys/MsgMapper.java               |   96 +
 src/main/java/com/lf/server/service/sys/RoleResService.java         |   69 
 src/main/java/com/lf/server/controller/sys/RoleMenuController.java  |  221 ++
 src/main/java/com/lf/server/entity/sys/RoleMenuEntity.java          |   85 +
 src/main/java/com/lf/server/service/sys/RoleMenuService.java        |   69 
 src/main/java/com/lf/server/controller/data/MetaFileController.java |  221 ++
 src/main/java/com/lf/server/entity/data/MetaEntity.java             |  185 ++
 src/main/resources/mapper/sys/RoleMenuMapper.xml                    |   74 
 src/main/java/com/lf/server/mapper/data/MetaFileMapper.java         |   96 +
 src/main/java/com/lf/server/mapper/data/DownloadMapper.java         |   96 +
 src/main/java/com/lf/server/mapper/data/MetaMapper.java             |   96 +
 src/main/java/com/lf/server/service/data/DownloadService.java       |   73 
 src/main/java/com/lf/server/mapper/sys/AttachMapper.java            |   96 +
 src/main/java/com/lf/server/entity/data/MetaFileEntity.java         |  115 +
 src/main/java/com/lf/server/controller/data/MetaController.java     |  221 ++
 src/main/java/com/lf/server/service/sys/AttachService.java          |   73 
 src/main/java/com/lf/server/controller/sys/AttachController.java    |  221 ++
 src/main/java/com/lf/server/entity/sys/AttachEntity.java            |  105 +
 src/main/java/com/lf/server/service/data/MetaService.java           |   73 
 src/main/java/com/lf/server/mapper/sys/MenuAuthMapper.java          |   96 +
 src/main/java/com/lf/server/service/data/MetaFileService.java       |   73 
 src/main/resources/mapper/data/MetaMapper.xml                       |   74 
 src/main/java/com/lf/server/service/sys/MenuAuthService.java        |   69 
 src/main/java/com/lf/server/controller/sys/MsgController.java       |  221 ++
 src/main/java/com/lf/server/service/sys/MsgService.java             |   73 
 src/main/resources/mapper/sys/MenuAuthMapper.xml                    |   74 
 src/main/java/com/lf/server/controller/sys/MenuAuthController.java  |  221 ++
 src/main/java/com/lf/server/controller/sys/RoleResController.java   |  221 ++
 src/main/java/com/lf/server/controller/data/DownloadController.java |  221 ++
 src/main/java/com/lf/server/mapper/sys/RoleMenuMapper.java          |   96 +
 src/main/resources/mapper/sys/AttachMapper.xml                      |   74 
 src/main/java/com/lf/server/entity/sys/MenuAuthEntity.java          |   85 +
 src/main/resources/mapper/data/MetaFileMapper.xml                   |   74 
 src/main/java/com/lf/server/entity/data/DownloadEntity.java         |  165 ++
 src/main/resources/mapper/sys/RoleResMapper.xml                     |   74 
 41 files changed, 4,627 insertions(+), 3 deletions(-)

diff --git a/data/db.sql b/data/db.sql
index b588b9a..2a85a9c 100644
--- a/data/db.sql
+++ b/data/db.sql
@@ -892,6 +892,8 @@
   name varchar(50),
   cvalue integer default 0,
   dvalue integer default 0,
+  min_value integer default 0,
+  max_value integer default 0,
   descr varchar(256),
   create_user integer default 1,
   create_time timestamp(6) without time zone default now(),
@@ -904,15 +906,17 @@
 comment on column lf.sys_args.name is '鍚嶇О';
 comment on column lf.sys_args.cvalue is '褰撳墠鍊�';
 comment on column lf.sys_args.dvalue is '榛樿鍊�';
+comment on column lf.sys_args.min_value is '鏈�灏忓��';
+comment on column lf.sys_args.max_value is '鏈�澶у��';
 comment on column lf.sys_args.descr is '鎻忚堪';
 comment on column lf.sys_args.create_user is '鍒涘缓浜篒D';
 comment on column lf.sys_args.create_time is '鍒涘缓鏃堕棿';
 comment on column lf.sys_args.update_user is '鏇存柊浜篒D';
 comment on column lf.sys_args.update_time is '鏇存柊鏃堕棿';
 
-/* insert into lf.sys_args (name,cvalue,dvalue,descr) values ('鑷姩鐧诲嚭鏃堕棿',15,15,'榛樿鐢ㄦ埛15鍒嗛挓涓嶆搷浣滐紝灏辫嚜鍔ㄧ櫥鍑虹郴缁熴��');
-insert into lf.sys_args (name,cvalue,dvalue,descr) values ('浠ょ墝鏈夋晥鏈�',240,240,'涓存椂浠ょ墝榛樿鏈夋晥鏈熶负240鍒嗛挓锛�4灏忔椂锛夛紝瓒呮椂灏嗗け鏁堛��');
-insert into lf.sys_args (name,cvalue,dvalue,descr) values ('缂撳瓨鏈夋晥鏈�',1440,1440,'缂撳瓨榛樿鏈夋晥鏈熶负1440鍒嗛挓锛�1澶╋級锛岃秴鏃跺皢澶辨晥銆�'); */
+/* insert into lf.sys_args (name,cvalue,dvalue,min_value,max_value,descr) values ('鑷姩鐧诲嚭鏃堕棿',15,15,3,1440,'榛樿鐢ㄦ埛15鍒嗛挓涓嶆搷浣滐紝灏辫嚜鍔ㄧ櫥鍑虹郴缁熴��');
+insert into lf.sys_args (name,cvalue,dvalue,min_value,max_value,descr) values ('浠ょ墝鏈夋晥鏈�',240,240,60,1440,'涓存椂浠ょ墝榛樿鏈夋晥鏈熶负240鍒嗛挓锛�4灏忔椂锛夛紝瓒呮椂灏嗗け鏁堛��');
+insert into lf.sys_args (name,cvalue,dvalue,min_value,max_value,descr) values ('缂撳瓨鏈夋晥鏈�',240,240,60,1440,'缂撳瓨榛樿鏈夋晥鏈熶负1440鍒嗛挓锛�1澶╋級锛岃秴鏃跺皢澶辨晥銆�'); */
 
 select * from lf.sys_args;
 ----------------------------------------------------------------------------------------------------- 閫掑綊鏌ヨ
diff --git a/src/main/java/com/lf/server/controller/data/DownloadController.java b/src/main/java/com/lf/server/controller/data/DownloadController.java
new file mode 100644
index 0000000..a23dab0
--- /dev/null
+++ b/src/main/java/com/lf/server/controller/data/DownloadController.java
@@ -0,0 +1,221 @@
+package com.lf.server.controller.data;
+
+import com.lf.server.aspect.SysLog;
+import com.lf.server.controller.all.BaseController;
+import com.lf.server.entity.all.ResponseMsg;
+import com.lf.server.entity.data.DownloadEntity;
+import com.lf.server.service.data.DownloadService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 涓嬭浇璁板綍
+ * @author WWW
+ */
+@Api(tags = "鏁版嵁绠$悊\\涓嬭浇璁板綍")
+@RestController
+@RequestMapping("/args")
+public class DownloadController extends BaseController {
+    @Autowired
+    DownloadService downloadService;
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ璁板綍鏁�")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", required = false, example = "")
+    })
+    @GetMapping({"/selectCount"})
+    public ResponseMsg<Integer> selectCount(String name) {
+        try {
+            int count = downloadService.selectCount(name);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPage")
+    public ResponseMsg<List<DownloadEntity>> selectByPage(String name, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+
+            List<DownloadEntity> rs = downloadService.selectByPage(name, pageSize, pageSize * (pageIndex - 1));
+
+            return success(rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPageAndCount")
+    public ResponseMsg<List<DownloadEntity>> selectByPageAndCount(String name, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+            int count = downloadService.selectCount(name);
+            if (count == 0) {
+                return success(0, null);
+            }
+            List<DownloadEntity> rs = downloadService.selectByPage(name, pageSize, pageSize * (pageIndex - 1));
+
+            return success(count, rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ鎵�鏈�")
+    @GetMapping(value = "/selectAll")
+    public ResponseMsg<List<DownloadEntity>> selectAll() {
+        try {
+            List<DownloadEntity> list = downloadService.selectAll();
+
+            return success(list);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏍规嵁ID鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectById")
+    public ResponseMsg<DownloadEntity> selectById(int id) {
+        try {
+            DownloadEntity entity = downloadService.selectById(id);
+
+            return success(entity);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "娣诲姞鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "DownloadEntity", paramType = "body")
+    })
+    @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> insert(@RequestBody DownloadEntity entity) {
+        try {
+            int count = downloadService.insert(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺娣诲姞")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "DownloadEntity", paramType = "body")
+    })
+    @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> inserts(@RequestBody List<DownloadEntity> list) {
+        try {
+            int count = downloadService.inserts(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒櫎鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/delete")
+    public ResponseMsg<Integer> delete(int id) {
+        try {
+            int count = downloadService.delete(id);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺鍒犻櫎")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2")
+    })
+    @GetMapping(value = "/deletes")
+    public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) {
+        try {
+            if (ids == null || ids.isEmpty()) {
+                return fail("id鏁扮粍涓嶈兘涓虹┖", -1);
+            }
+
+            int count = downloadService.deletes(ids);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "淇敼鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "DownloadEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/update", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> update(@RequestBody DownloadEntity entity) {
+        try {
+            int count = downloadService.update(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺淇敼")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "DownloadEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> updates(@RequestBody List<DownloadEntity> list) {
+        try {
+            int count = downloadService.updates(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+}
diff --git a/src/main/java/com/lf/server/controller/data/MetaController.java b/src/main/java/com/lf/server/controller/data/MetaController.java
new file mode 100644
index 0000000..849e20c
--- /dev/null
+++ b/src/main/java/com/lf/server/controller/data/MetaController.java
@@ -0,0 +1,221 @@
+package com.lf.server.controller.data;
+
+import com.lf.server.aspect.SysLog;
+import com.lf.server.controller.all.BaseController;
+import com.lf.server.entity.all.ResponseMsg;
+import com.lf.server.entity.data.MetaEntity;
+import com.lf.server.service.data.MetaService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 鍏冩暟鎹�
+ * @author WWW
+ */
+@Api(tags = "鏁版嵁绠$悊\\鍏冩暟鎹鐞�")
+@RestController
+@RequestMapping("/args")
+public class MetaController extends BaseController {
+    @Autowired
+    MetaService metaService;
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ璁板綍鏁�")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", required = false, example = "")
+    })
+    @GetMapping({"/selectCount"})
+    public ResponseMsg<Integer> selectCount(String name) {
+        try {
+            int count = metaService.selectCount(name);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPage")
+    public ResponseMsg<List<MetaEntity>> selectByPage(String name, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+
+            List<MetaEntity> rs = metaService.selectByPage(name, pageSize, pageSize * (pageIndex - 1));
+
+            return success(rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPageAndCount")
+    public ResponseMsg<List<MetaEntity>> selectByPageAndCount(String name, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+            int count = metaService.selectCount(name);
+            if (count == 0) {
+                return success(0, null);
+            }
+            List<MetaEntity> rs = metaService.selectByPage(name, pageSize, pageSize * (pageIndex - 1));
+
+            return success(count, rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ鎵�鏈�")
+    @GetMapping(value = "/selectAll")
+    public ResponseMsg<List<MetaEntity>> selectAll() {
+        try {
+            List<MetaEntity> list = metaService.selectAll();
+
+            return success(list);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏍规嵁ID鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectById")
+    public ResponseMsg<MetaEntity> selectById(int id) {
+        try {
+            MetaEntity entity = metaService.selectById(id);
+
+            return success(entity);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "娣诲姞鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "MetaEntity", paramType = "body")
+    })
+    @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> insert(@RequestBody MetaEntity entity) {
+        try {
+            int count = metaService.insert(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺娣诲姞")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MetaEntity", paramType = "body")
+    })
+    @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> inserts(@RequestBody List<MetaEntity> list) {
+        try {
+            int count = metaService.inserts(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒櫎鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/delete")
+    public ResponseMsg<Integer> delete(int id) {
+        try {
+            int count = metaService.delete(id);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺鍒犻櫎")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2")
+    })
+    @GetMapping(value = "/deletes")
+    public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) {
+        try {
+            if (ids == null || ids.isEmpty()) {
+                return fail("id鏁扮粍涓嶈兘涓虹┖", -1);
+            }
+
+            int count = metaService.deletes(ids);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "淇敼鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "MetaEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/update", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> update(@RequestBody MetaEntity entity) {
+        try {
+            int count = metaService.update(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺淇敼")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MetaEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> updates(@RequestBody List<MetaEntity> list) {
+        try {
+            int count = metaService.updates(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+}
diff --git a/src/main/java/com/lf/server/controller/data/MetaFileController.java b/src/main/java/com/lf/server/controller/data/MetaFileController.java
new file mode 100644
index 0000000..2beb5b7
--- /dev/null
+++ b/src/main/java/com/lf/server/controller/data/MetaFileController.java
@@ -0,0 +1,221 @@
+package com.lf.server.controller.data;
+
+import com.lf.server.aspect.SysLog;
+import com.lf.server.controller.all.BaseController;
+import com.lf.server.entity.all.ResponseMsg;
+import com.lf.server.entity.data.MetaFileEntity;
+import com.lf.server.service.data.MetaFileService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 鍏冩暟鎹枃浠�
+ * @author WWW
+ */
+@Api(tags = "鏁版嵁绠$悊\\鍏冩暟鎹枃浠�")
+@RestController
+@RequestMapping("/args")
+public class MetaFileController extends BaseController {
+    @Autowired
+    MetaFileService metaFileService;
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ璁板綍鏁�")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "name", value = "鏂囦欢鍚�", dataType = "String", paramType = "query", required = false, example = "")
+    })
+    @GetMapping({"/selectCount"})
+    public ResponseMsg<Integer> selectCount(String name) {
+        try {
+            int count = metaFileService.selectCount(name);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "name", value = "鏂囦欢鍚�", dataType = "String", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPage")
+    public ResponseMsg<List<MetaFileEntity>> selectByPage(String name, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+
+            List<MetaFileEntity> rs = metaFileService.selectByPage(name, pageSize, pageSize * (pageIndex - 1));
+
+            return success(rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "name", value = "鏂囦欢鍚�", dataType = "String", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPageAndCount")
+    public ResponseMsg<List<MetaFileEntity>> selectByPageAndCount(String name, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+            int count = metaFileService.selectCount(name);
+            if (count == 0) {
+                return success(0, null);
+            }
+            List<MetaFileEntity> rs = metaFileService.selectByPage(name, pageSize, pageSize * (pageIndex - 1));
+
+            return success(count, rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ鎵�鏈�")
+    @GetMapping(value = "/selectAll")
+    public ResponseMsg<List<MetaFileEntity>> selectAll() {
+        try {
+            List<MetaFileEntity> list = metaFileService.selectAll();
+
+            return success(list);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏍规嵁ID鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectById")
+    public ResponseMsg<MetaFileEntity> selectById(int id) {
+        try {
+            MetaFileEntity entity = metaFileService.selectById(id);
+
+            return success(entity);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "娣诲姞鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "MetaFileEntity", paramType = "body")
+    })
+    @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> insert(@RequestBody MetaFileEntity entity) {
+        try {
+            int count = metaFileService.insert(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺娣诲姞")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MetaFileEntity", paramType = "body")
+    })
+    @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> inserts(@RequestBody List<MetaFileEntity> list) {
+        try {
+            int count = metaFileService.inserts(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒櫎鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/delete")
+    public ResponseMsg<Integer> delete(int id) {
+        try {
+            int count = metaFileService.delete(id);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺鍒犻櫎")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2")
+    })
+    @GetMapping(value = "/deletes")
+    public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) {
+        try {
+            if (ids == null || ids.isEmpty()) {
+                return fail("id鏁扮粍涓嶈兘涓虹┖", -1);
+            }
+
+            int count = metaFileService.deletes(ids);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "淇敼鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "MetaFileEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/update", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> update(@RequestBody MetaFileEntity entity) {
+        try {
+            int count = metaFileService.update(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺淇敼")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MetaFileEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> updates(@RequestBody List<MetaFileEntity> list) {
+        try {
+            int count = metaFileService.updates(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+}
diff --git a/src/main/java/com/lf/server/controller/sys/AttachController.java b/src/main/java/com/lf/server/controller/sys/AttachController.java
new file mode 100644
index 0000000..c0884f7
--- /dev/null
+++ b/src/main/java/com/lf/server/controller/sys/AttachController.java
@@ -0,0 +1,221 @@
+package com.lf.server.controller.sys;
+
+import com.lf.server.aspect.SysLog;
+import com.lf.server.controller.all.BaseController;
+import com.lf.server.entity.all.ResponseMsg;
+import com.lf.server.entity.sys.AttachEntity;
+import com.lf.server.service.sys.AttachService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 闄勪欢
+ * @author WWW
+ */
+@Api(tags = "杩愮淮绠$悊\\闄勪欢")
+@RestController
+@RequestMapping("/args")
+public class AttachController extends BaseController {
+    @Autowired
+    AttachService attachService;
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ璁板綍鏁�")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "name", value = "鏂囦欢鍚�", dataType = "String", paramType = "query", required = false, example = "")
+    })
+    @GetMapping({"/selectCount"})
+    public ResponseMsg<Integer> selectCount(String name) {
+        try {
+            int count = attachService.selectCount(name);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "name", value = "鏂囦欢鍚�", dataType = "String", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPage")
+    public ResponseMsg<List<AttachEntity>> selectByPage(String name, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+
+            List<AttachEntity> rs = attachService.selectByPage(name, pageSize, pageSize * (pageIndex - 1));
+
+            return success(rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "name", value = "鏂囦欢鍚�", dataType = "String", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPageAndCount")
+    public ResponseMsg<List<AttachEntity>> selectByPageAndCount(String name, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+            int count = attachService.selectCount(name);
+            if (count == 0) {
+                return success(0, null);
+            }
+            List<AttachEntity> rs = attachService.selectByPage(name, pageSize, pageSize * (pageIndex - 1));
+
+            return success(count, rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ鎵�鏈�")
+    @GetMapping(value = "/selectAll")
+    public ResponseMsg<List<AttachEntity>> selectAll() {
+        try {
+            List<AttachEntity> list = attachService.selectAll();
+
+            return success(list);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏍规嵁ID鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectById")
+    public ResponseMsg<AttachEntity> selectById(int id) {
+        try {
+            AttachEntity entity = attachService.selectById(id);
+
+            return success(entity);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "娣诲姞鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "AttachEntity", paramType = "body")
+    })
+    @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> insert(@RequestBody AttachEntity entity) {
+        try {
+            int count = attachService.insert(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺娣诲姞")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "AttachEntity", paramType = "body")
+    })
+    @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> inserts(@RequestBody List<AttachEntity> list) {
+        try {
+            int count = attachService.inserts(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒櫎鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/delete")
+    public ResponseMsg<Integer> delete(int id) {
+        try {
+            int count = attachService.delete(id);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺鍒犻櫎")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2")
+    })
+    @GetMapping(value = "/deletes")
+    public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) {
+        try {
+            if (ids == null || ids.isEmpty()) {
+                return fail("id鏁扮粍涓嶈兘涓虹┖", -1);
+            }
+
+            int count = attachService.deletes(ids);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "淇敼鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "AttachEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/update", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> update(@RequestBody AttachEntity entity) {
+        try {
+            int count = attachService.update(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺淇敼")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "AttachEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> updates(@RequestBody List<AttachEntity> list) {
+        try {
+            int count = attachService.updates(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+}
diff --git a/src/main/java/com/lf/server/controller/sys/MenuAuthController.java b/src/main/java/com/lf/server/controller/sys/MenuAuthController.java
new file mode 100644
index 0000000..debfeb3
--- /dev/null
+++ b/src/main/java/com/lf/server/controller/sys/MenuAuthController.java
@@ -0,0 +1,221 @@
+package com.lf.server.controller.sys;
+
+import com.lf.server.aspect.SysLog;
+import com.lf.server.controller.all.BaseController;
+import com.lf.server.entity.all.ResponseMsg;
+import com.lf.server.entity.sys.MenuAuthEntity;
+import com.lf.server.service.sys.MenuAuthService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 鑿滃崟-鏉冮檺
+ * @author WWW
+ */
+@Api(tags = "杩愮淮绠$悊\\鑿滃崟鏉冮檺")
+@RestController
+@RequestMapping("/args")
+public class MenuAuthController extends BaseController {
+    @Autowired
+    MenuAuthService menuAuthService;
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ璁板綍鏁�")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "menuid", value = "鑿滃崟ID", dataType = "Integer", paramType = "query", required = false, example = "")
+    })
+    @GetMapping({"/selectCount"})
+    public ResponseMsg<Integer> selectCount(Integer menuid) {
+        try {
+            int count = menuAuthService.selectCount(menuid);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "menuid", value = "鑿滃崟ID", dataType = "Integer", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPage")
+    public ResponseMsg<List<MenuAuthEntity>> selectByPage(Integer menuid, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+
+            List<MenuAuthEntity> rs = menuAuthService.selectByPage(menuid, pageSize, pageSize * (pageIndex - 1));
+
+            return success(rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "menuid", value = "鑿滃崟ID", dataType = "Integer", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPageAndCount")
+    public ResponseMsg<List<MenuAuthEntity>> selectByPageAndCount(Integer menuid, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+            int count = menuAuthService.selectCount(menuid);
+            if (count == 0) {
+                return success(0, null);
+            }
+            List<MenuAuthEntity> rs = menuAuthService.selectByPage(menuid, pageSize, pageSize * (pageIndex - 1));
+
+            return success(count, rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ鎵�鏈�")
+    @GetMapping(value = "/selectAll")
+    public ResponseMsg<List<MenuAuthEntity>> selectAll() {
+        try {
+            List<MenuAuthEntity> list = menuAuthService.selectAll();
+
+            return success(list);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏍规嵁ID鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectById")
+    public ResponseMsg<MenuAuthEntity> selectById(int id) {
+        try {
+            MenuAuthEntity entity = menuAuthService.selectById(id);
+
+            return success(entity);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "娣诲姞鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "MenuAuthEntity", paramType = "body")
+    })
+    @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> insert(@RequestBody MenuAuthEntity entity) {
+        try {
+            int count = menuAuthService.insert(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺娣诲姞")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MenuAuthEntity", paramType = "body")
+    })
+    @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> inserts(@RequestBody List<MenuAuthEntity> list) {
+        try {
+            int count = menuAuthService.inserts(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒櫎鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/delete")
+    public ResponseMsg<Integer> delete(int id) {
+        try {
+            int count = menuAuthService.delete(id);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺鍒犻櫎")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2")
+    })
+    @GetMapping(value = "/deletes")
+    public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) {
+        try {
+            if (ids == null || ids.isEmpty()) {
+                return fail("id鏁扮粍涓嶈兘涓虹┖", -1);
+            }
+
+            int count = menuAuthService.deletes(ids);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "淇敼鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "MenuAuthEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/update", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> update(@RequestBody MenuAuthEntity entity) {
+        try {
+            int count = menuAuthService.update(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺淇敼")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MenuAuthEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> updates(@RequestBody List<MenuAuthEntity> list) {
+        try {
+            int count = menuAuthService.updates(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+}
diff --git a/src/main/java/com/lf/server/controller/sys/MsgController.java b/src/main/java/com/lf/server/controller/sys/MsgController.java
new file mode 100644
index 0000000..f9fbd26
--- /dev/null
+++ b/src/main/java/com/lf/server/controller/sys/MsgController.java
@@ -0,0 +1,221 @@
+package com.lf.server.controller.sys;
+
+import com.lf.server.aspect.SysLog;
+import com.lf.server.controller.all.BaseController;
+import com.lf.server.entity.all.ResponseMsg;
+import com.lf.server.entity.sys.MsgEntity;
+import com.lf.server.service.sys.MsgService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 娑堟伅閫氱煡
+ * @author WWW
+ */
+@Api(tags = "杩愮淮绠$悊\\娑堟伅閫氱煡")
+@RestController
+@RequestMapping("/args")
+public class MsgController extends BaseController {
+    @Autowired
+    MsgService msgService;
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ璁板綍鏁�")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "title", value = "鏍囬", dataType = "String", paramType = "query", required = false, example = "")
+    })
+    @GetMapping({"/selectCount"})
+    public ResponseMsg<Integer> selectCount(String title) {
+        try {
+            int count = msgService.selectCount(title);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "title", value = "鏍囬", dataType = "String", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPage")
+    public ResponseMsg<List<MsgEntity>> selectByPage(String title, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+
+            List<MsgEntity> rs = msgService.selectByPage(title, pageSize, pageSize * (pageIndex - 1));
+
+            return success(rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "title", value = "鏍囬", dataType = "String", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPageAndCount")
+    public ResponseMsg<List<MsgEntity>> selectByPageAndCount(String title, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+            int count = msgService.selectCount(title);
+            if (count == 0) {
+                return success(0, null);
+            }
+            List<MsgEntity> rs = msgService.selectByPage(title, pageSize, pageSize * (pageIndex - 1));
+
+            return success(count, rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ鎵�鏈�")
+    @GetMapping(value = "/selectAll")
+    public ResponseMsg<List<MsgEntity>> selectAll() {
+        try {
+            List<MsgEntity> list = msgService.selectAll();
+
+            return success(list);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏍规嵁ID鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectById")
+    public ResponseMsg<MsgEntity> selectById(int id) {
+        try {
+            MsgEntity entity = msgService.selectById(id);
+
+            return success(entity);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "娣诲姞鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "MsgEntity", paramType = "body")
+    })
+    @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> insert(@RequestBody MsgEntity entity) {
+        try {
+            int count = msgService.insert(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺娣诲姞")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MsgEntity", paramType = "body")
+    })
+    @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> inserts(@RequestBody List<MsgEntity> list) {
+        try {
+            int count = msgService.inserts(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒櫎鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/delete")
+    public ResponseMsg<Integer> delete(int id) {
+        try {
+            int count = msgService.delete(id);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺鍒犻櫎")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2")
+    })
+    @GetMapping(value = "/deletes")
+    public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) {
+        try {
+            if (ids == null || ids.isEmpty()) {
+                return fail("id鏁扮粍涓嶈兘涓虹┖", -1);
+            }
+
+            int count = msgService.deletes(ids);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "淇敼鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "MsgEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/update", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> update(@RequestBody MsgEntity entity) {
+        try {
+            int count = msgService.update(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺淇敼")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "MsgEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> updates(@RequestBody List<MsgEntity> list) {
+        try {
+            int count = msgService.updates(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+}
diff --git a/src/main/java/com/lf/server/controller/sys/RoleMenuController.java b/src/main/java/com/lf/server/controller/sys/RoleMenuController.java
new file mode 100644
index 0000000..abe2168
--- /dev/null
+++ b/src/main/java/com/lf/server/controller/sys/RoleMenuController.java
@@ -0,0 +1,221 @@
+package com.lf.server.controller.sys;
+
+import com.lf.server.aspect.SysLog;
+import com.lf.server.controller.all.BaseController;
+import com.lf.server.entity.all.ResponseMsg;
+import com.lf.server.entity.sys.RoleMenuEntity;
+import com.lf.server.service.sys.RoleMenuService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 瑙掕壊-鑿滃崟
+ * @author WWW
+ */
+@Api(tags = "杩愮淮绠$悊\\瑙掕壊鑿滃崟")
+@RestController
+@RequestMapping("/args")
+public class RoleMenuController extends BaseController {
+    @Autowired
+    RoleMenuService roleMenuService;
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ璁板綍鏁�")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", required = false, example = "")
+    })
+    @GetMapping({"/selectCount"})
+    public ResponseMsg<Integer> selectCount(Integer roleid) {
+        try {
+            int count = roleMenuService.selectCount(roleid);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPage")
+    public ResponseMsg<List<RoleMenuEntity>> selectByPage(Integer roleid, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+
+            List<RoleMenuEntity> rs = roleMenuService.selectByPage(roleid, pageSize, pageSize * (pageIndex - 1));
+
+            return success(rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPageAndCount")
+    public ResponseMsg<List<RoleMenuEntity>> selectByPageAndCount(Integer roleid, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+            int count = roleMenuService.selectCount(roleid);
+            if (count == 0) {
+                return success(0, null);
+            }
+            List<RoleMenuEntity> rs = roleMenuService.selectByPage(roleid, pageSize, pageSize * (pageIndex - 1));
+
+            return success(count, rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ鎵�鏈�")
+    @GetMapping(value = "/selectAll")
+    public ResponseMsg<List<RoleMenuEntity>> selectAll() {
+        try {
+            List<RoleMenuEntity> list = roleMenuService.selectAll();
+
+            return success(list);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏍规嵁ID鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectById")
+    public ResponseMsg<RoleMenuEntity> selectById(int id) {
+        try {
+            RoleMenuEntity entity = roleMenuService.selectById(id);
+
+            return success(entity);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "娣诲姞鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "RoleMenuEntity", paramType = "body")
+    })
+    @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> insert(@RequestBody RoleMenuEntity entity) {
+        try {
+            int count = roleMenuService.insert(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺娣诲姞")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "RoleMenuEntity", paramType = "body")
+    })
+    @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> inserts(@RequestBody List<RoleMenuEntity> list) {
+        try {
+            int count = roleMenuService.inserts(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒櫎鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/delete")
+    public ResponseMsg<Integer> delete(int id) {
+        try {
+            int count = roleMenuService.delete(id);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺鍒犻櫎")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2")
+    })
+    @GetMapping(value = "/deletes")
+    public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) {
+        try {
+            if (ids == null || ids.isEmpty()) {
+                return fail("id鏁扮粍涓嶈兘涓虹┖", -1);
+            }
+
+            int count = roleMenuService.deletes(ids);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "淇敼鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "RoleMenuEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/update", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> update(@RequestBody RoleMenuEntity entity) {
+        try {
+            int count = roleMenuService.update(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺淇敼")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "RoleMenuEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> updates(@RequestBody List<RoleMenuEntity> list) {
+        try {
+            int count = roleMenuService.updates(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+}
diff --git a/src/main/java/com/lf/server/controller/sys/RoleResController.java b/src/main/java/com/lf/server/controller/sys/RoleResController.java
new file mode 100644
index 0000000..9d9ae61
--- /dev/null
+++ b/src/main/java/com/lf/server/controller/sys/RoleResController.java
@@ -0,0 +1,221 @@
+package com.lf.server.controller.sys;
+
+import com.lf.server.aspect.SysLog;
+import com.lf.server.controller.all.BaseController;
+import com.lf.server.entity.all.ResponseMsg;
+import com.lf.server.entity.sys.RoleResEntity;
+import com.lf.server.service.sys.RoleResService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 瑙掕壊-璧勬簮
+ * @author WWW
+ */
+@Api(tags = "杩愮淮绠$悊\\瑙掕壊璧勬簮")
+@RestController
+@RequestMapping("/args")
+public class RoleResController extends BaseController {
+    @Autowired
+    RoleResService roleResService;
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ璁板綍鏁�")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", required = false, example = "")
+    })
+    @GetMapping({"/selectCount"})
+    public ResponseMsg<Integer> selectCount(Integer roleid) {
+        try {
+            int count = roleResService.selectCount(roleid);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPage")
+    public ResponseMsg<List<RoleResEntity>> selectByPage(Integer roleid, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+
+            List<RoleResEntity> rs = roleResService.selectByPage(roleid, pageSize, pageSize * (pageIndex - 1));
+
+            return success(rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "roleid", value = "瑙掕壊ID", dataType = "Integer", paramType = "query", example = ""),
+            @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"),
+            @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectByPageAndCount")
+    public ResponseMsg<List<RoleResEntity>> selectByPageAndCount(Integer roleid, Integer pageSize, Integer pageIndex) {
+        try {
+            if (pageSize < 1 || pageIndex < 1) {
+                return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null);
+            }
+            int count = roleResService.selectCount(roleid);
+            if (count == 0) {
+                return success(0, null);
+            }
+            List<RoleResEntity> rs = roleResService.selectByPage(roleid, pageSize, pageSize * (pageIndex - 1));
+
+            return success(count, rs);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ鎵�鏈�")
+    @GetMapping(value = "/selectAll")
+    public ResponseMsg<List<RoleResEntity>> selectAll() {
+        try {
+            List<RoleResEntity> list = roleResService.selectAll();
+
+            return success(list);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏍规嵁ID鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/selectById")
+    public ResponseMsg<RoleResEntity> selectById(int id) {
+        try {
+            RoleResEntity entity = roleResService.selectById(id);
+
+            return success(entity);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "娣诲姞鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "RoleResEntity", paramType = "body")
+    })
+    @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> insert(@RequestBody RoleResEntity entity) {
+        try {
+            int count = roleResService.insert(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺娣诲姞")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "RoleResEntity", paramType = "body")
+    })
+    @PostMapping(value = "/inserts", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> inserts(@RequestBody List<RoleResEntity> list) {
+        try {
+            int count = roleResService.inserts(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒櫎鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1")
+    })
+    @GetMapping(value = "/delete")
+    public ResponseMsg<Integer> delete(int id) {
+        try {
+            int count = roleResService.delete(id);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺鍒犻櫎")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2")
+    })
+    @GetMapping(value = "/deletes")
+    public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) {
+        try {
+            if (ids == null || ids.isEmpty()) {
+                return fail("id鏁扮粍涓嶈兘涓虹┖", -1);
+            }
+
+            int count = roleResService.deletes(ids);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "淇敼鏁版嵁")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "瀹炰綋绫�", dataType = "RoleResEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/update", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> update(@RequestBody RoleResEntity entity) {
+        try {
+            int count = roleResService.update(entity);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎵归噺淇敼")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "list", value = "瀹炰綋绫婚泦鍚�", dataType = "RoleResEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/updates", produces = "application/json; charset=UTF-8")
+    public ResponseMsg<Integer> updates(@RequestBody List<RoleResEntity> list) {
+        try {
+            int count = roleResService.updates(list);
+
+            return success(count);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), -1);
+        }
+    }
+}
diff --git a/src/main/java/com/lf/server/entity/data/DownloadEntity.java b/src/main/java/com/lf/server/entity/data/DownloadEntity.java
new file mode 100644
index 0000000..a707f70
--- /dev/null
+++ b/src/main/java/com/lf/server/entity/data/DownloadEntity.java
@@ -0,0 +1,165 @@
+package com.lf.server.entity.data;
+
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+/**
+ * 涓嬭浇璁板綍
+ * @author WWW
+ */
+public class DownloadEntity implements Serializable {
+    private static final long serialVersionUID = -767416271272774912L;
+
+    private int id;
+
+    private String name;
+
+    private int type;
+
+    private int depid;
+
+    private int dcount;
+
+    private String pwd;
+
+    private String url;
+
+    private String descr;
+
+    private String guid;
+
+    private int createUser;
+
+    private Timestamp createTime;
+
+    private int downloadUser;
+
+    private Timestamp downloadTime;
+
+    private String geo;
+
+    private String bak;
+
+    public DownloadEntity() {
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public void setType(int type) {
+        this.type = type;
+    }
+
+    public int getDepid() {
+        return depid;
+    }
+
+    public void setDepid(int depid) {
+        this.depid = depid;
+    }
+
+    public int getDcount() {
+        return dcount;
+    }
+
+    public void setDcount(int dcount) {
+        this.dcount = dcount;
+    }
+
+    public String getPwd() {
+        return pwd;
+    }
+
+    public void setPwd(String pwd) {
+        this.pwd = pwd;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getDescr() {
+        return descr;
+    }
+
+    public void setDescr(String descr) {
+        this.descr = descr;
+    }
+
+    public String getGuid() {
+        return guid;
+    }
+
+    public void setGuid(String guid) {
+        this.guid = guid;
+    }
+
+    public int getCreateUser() {
+        return createUser;
+    }
+
+    public void setCreateUser(int createUser) {
+        this.createUser = createUser;
+    }
+
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+
+    public int getDownloadUser() {
+        return downloadUser;
+    }
+
+    public void setDownloadUser(int downloadUser) {
+        this.downloadUser = downloadUser;
+    }
+
+    public Timestamp getDownloadTime() {
+        return downloadTime;
+    }
+
+    public void setDownloadTime(Timestamp downloadTime) {
+        this.downloadTime = downloadTime;
+    }
+
+    public String getGeo() {
+        return geo;
+    }
+
+    public void setGeo(String geo) {
+        this.geo = geo;
+    }
+
+    public String getBak() {
+        return bak;
+    }
+
+    public void setBak(String bak) {
+        this.bak = bak;
+    }
+}
diff --git a/src/main/java/com/lf/server/entity/data/MetaEntity.java b/src/main/java/com/lf/server/entity/data/MetaEntity.java
new file mode 100644
index 0000000..5b9e565
--- /dev/null
+++ b/src/main/java/com/lf/server/entity/data/MetaEntity.java
@@ -0,0 +1,185 @@
+package com.lf.server.entity.data;
+
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+/**
+ * 鍏冩暟鎹�
+ * @author WWW
+ */
+public class MetaEntity implements Serializable {
+    private static final long serialVersionUID = -525590434915195392L;
+
+    private int id;
+
+    private int dirid;
+
+    private int depid;
+
+    private String name;
+
+    private String format;
+
+    private long fsize;
+
+    private String cs;
+
+    private String fscale;
+
+    private String resolution;
+
+    private Timestamp gather;
+
+    private String descr;
+
+    private String guid;
+
+    private int createUser;
+
+    private Timestamp createTime;
+
+    private int updateUser;
+
+    private Timestamp updateTime;
+
+    private String geo;
+
+    public MetaEntity() {
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getDirid() {
+        return dirid;
+    }
+
+    public void setDirid(int dirid) {
+        this.dirid = dirid;
+    }
+
+    public int getDepid() {
+        return depid;
+    }
+
+    public void setDepid(int depid) {
+        this.depid = depid;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getFormat() {
+        return format;
+    }
+
+    public void setFormat(String format) {
+        this.format = format;
+    }
+
+    public long getFsize() {
+        return fsize;
+    }
+
+    public void setFsize(long fsize) {
+        this.fsize = fsize;
+    }
+
+    public String getCs() {
+        return cs;
+    }
+
+    public void setCs(String cs) {
+        this.cs = cs;
+    }
+
+    public String getFscale() {
+        return fscale;
+    }
+
+    public void setFscale(String fscale) {
+        this.fscale = fscale;
+    }
+
+    public String getResolution() {
+        return resolution;
+    }
+
+    public void setResolution(String resolution) {
+        this.resolution = resolution;
+    }
+
+    public Timestamp getGather() {
+        return gather;
+    }
+
+    public void setGather(Timestamp gather) {
+        this.gather = gather;
+    }
+
+    public String getDescr() {
+        return descr;
+    }
+
+    public void setDescr(String descr) {
+        this.descr = descr;
+    }
+
+    public String getGuid() {
+        return guid;
+    }
+
+    public void setGuid(String guid) {
+        this.guid = guid;
+    }
+
+    public int getCreateUser() {
+        return createUser;
+    }
+
+    public void setCreateUser(int createUser) {
+        this.createUser = createUser;
+    }
+
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+
+    public int getUpdateUser() {
+        return updateUser;
+    }
+
+    public void setUpdateUser(int updateUser) {
+        this.updateUser = updateUser;
+    }
+
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getGeo() {
+        return geo;
+    }
+
+    public void setGeo(String geo) {
+        this.geo = geo;
+    }
+}
diff --git a/src/main/java/com/lf/server/entity/data/MetaFileEntity.java b/src/main/java/com/lf/server/entity/data/MetaFileEntity.java
new file mode 100644
index 0000000..c1ffd67
--- /dev/null
+++ b/src/main/java/com/lf/server/entity/data/MetaFileEntity.java
@@ -0,0 +1,115 @@
+package com.lf.server.entity.data;
+
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+/**
+ * 鍏冩暟鎹枃浠�
+ * @author WWW
+ */
+public class MetaFileEntity implements Serializable {
+    private static final long serialVersionUID = -859236217038350336L;
+
+    private int id;
+
+    private int metaid;
+
+    private String name;
+
+    private String guid;
+
+    private String path;
+
+    private int fileid;
+
+    private int createUser;
+
+    private Timestamp createTime;
+
+    private int updateUser;
+
+    private Timestamp updateTime;
+
+    public MetaFileEntity() {
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getMetaid() {
+        return metaid;
+    }
+
+    public void setMetaid(int metaid) {
+        this.metaid = metaid;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getGuid() {
+        return guid;
+    }
+
+    public void setGuid(String guid) {
+        this.guid = guid;
+    }
+
+    public String getPath() {
+        return path;
+    }
+
+    public void setPath(String path) {
+        this.path = path;
+    }
+
+    public int getFileid() {
+        return fileid;
+    }
+
+    public void setFileid(int fileid) {
+        this.fileid = fileid;
+    }
+
+    public int getCreateUser() {
+        return createUser;
+    }
+
+    public void setCreateUser(int createUser) {
+        this.createUser = createUser;
+    }
+
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+
+    public int getUpdateUser() {
+        return updateUser;
+    }
+
+    public void setUpdateUser(int updateUser) {
+        this.updateUser = updateUser;
+    }
+
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
diff --git a/src/main/java/com/lf/server/entity/sys/AttachEntity.java b/src/main/java/com/lf/server/entity/sys/AttachEntity.java
new file mode 100644
index 0000000..9812f4b
--- /dev/null
+++ b/src/main/java/com/lf/server/entity/sys/AttachEntity.java
@@ -0,0 +1,105 @@
+package com.lf.server.entity.sys;
+
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+/**
+ * 闄勪欢
+ * @author WWW
+ */
+public class AttachEntity implements Serializable {
+    private static final long serialVersionUID = -106535972611296912L;
+
+    private int id;
+
+    private String name;
+
+    private String tab;
+
+    private String guid;
+
+    private String path;
+
+    private int createUser;
+
+    private Timestamp createTime;
+
+    private int updateUser;
+
+    private Timestamp updateTime;
+
+    public AttachEntity() {
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getTab() {
+        return tab;
+    }
+
+    public void setTab(String tab) {
+        this.tab = tab;
+    }
+
+    public String getGuid() {
+        return guid;
+    }
+
+    public void setGuid(String guid) {
+        this.guid = guid;
+    }
+
+    public String getPath() {
+        return path;
+    }
+
+    public void setPath(String path) {
+        this.path = path;
+    }
+
+    public int getCreateUser() {
+        return createUser;
+    }
+
+    public void setCreateUser(int createUser) {
+        this.createUser = createUser;
+    }
+
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+
+    public int getUpdateUser() {
+        return updateUser;
+    }
+
+    public void setUpdateUser(int updateUser) {
+        this.updateUser = updateUser;
+    }
+
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
diff --git a/src/main/java/com/lf/server/entity/sys/MenuAuthEntity.java b/src/main/java/com/lf/server/entity/sys/MenuAuthEntity.java
new file mode 100644
index 0000000..4250355
--- /dev/null
+++ b/src/main/java/com/lf/server/entity/sys/MenuAuthEntity.java
@@ -0,0 +1,85 @@
+package com.lf.server.entity.sys;
+
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+/**
+ * 鑿滃崟-鏉冮檺
+ * @author WWW
+ */
+public class MenuAuthEntity implements Serializable {
+    private static final long serialVersionUID = -298515079682001408L;
+
+    private int id;
+
+    private int menuid;
+
+    private int authid;
+
+    private int createUser;
+
+    private Timestamp createTime;
+
+    private int updateUser;
+
+    private Timestamp updateTime;
+
+    public MenuAuthEntity() {
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getMenuid() {
+        return menuid;
+    }
+
+    public void setMenuid(int menuid) {
+        this.menuid = menuid;
+    }
+
+    public int getAuthid() {
+        return authid;
+    }
+
+    public void setAuthid(int authid) {
+        this.authid = authid;
+    }
+
+    public int getCreateUser() {
+        return createUser;
+    }
+
+    public void setCreateUser(int createUser) {
+        this.createUser = createUser;
+    }
+
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+
+    public int getUpdateUser() {
+        return updateUser;
+    }
+
+    public void setUpdateUser(int updateUser) {
+        this.updateUser = updateUser;
+    }
+
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
diff --git a/src/main/java/com/lf/server/entity/sys/MsgEntity.java b/src/main/java/com/lf/server/entity/sys/MsgEntity.java
new file mode 100644
index 0000000..e04e032
--- /dev/null
+++ b/src/main/java/com/lf/server/entity/sys/MsgEntity.java
@@ -0,0 +1,95 @@
+package com.lf.server.entity.sys;
+
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+/**
+ * 娑堟伅閫氱煡
+ * @author WWW
+ */
+public class MsgEntity implements Serializable {
+    private static final long serialVersionUID = -188183034857820256L;
+
+    private int id;
+
+    private String title;
+
+    private String msg;
+
+    private String guid;
+
+    private int createUser;
+
+    private Timestamp createTime;
+
+    private int updateUser;
+
+    private Timestamp updateTime;
+
+    public MsgEntity() {
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    public String getGuid() {
+        return guid;
+    }
+
+    public void setGuid(String guid) {
+        this.guid = guid;
+    }
+
+    public int getCreateUser() {
+        return createUser;
+    }
+
+    public void setCreateUser(int createUser) {
+        this.createUser = createUser;
+    }
+
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+
+    public int getUpdateUser() {
+        return updateUser;
+    }
+
+    public void setUpdateUser(int updateUser) {
+        this.updateUser = updateUser;
+    }
+
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
diff --git a/src/main/java/com/lf/server/entity/sys/RoleMenuEntity.java b/src/main/java/com/lf/server/entity/sys/RoleMenuEntity.java
new file mode 100644
index 0000000..a92d7fc
--- /dev/null
+++ b/src/main/java/com/lf/server/entity/sys/RoleMenuEntity.java
@@ -0,0 +1,85 @@
+package com.lf.server.entity.sys;
+
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+/**
+ * 瑙掕壊-鑿滃崟
+ * @author WWW
+ */
+public class RoleMenuEntity implements Serializable {
+    private static final long serialVersionUID = -882394373827797504L;
+
+    private int id;
+
+    private int roleid;
+
+    private int menuid;
+
+    private int createUser;
+
+    private Timestamp createTime;
+
+    private int updateUser;
+
+    private Timestamp updateTime;
+
+    public RoleMenuEntity() {
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getRoleid() {
+        return roleid;
+    }
+
+    public void setRoleid(int roleid) {
+        this.roleid = roleid;
+    }
+
+    public int getMenuid() {
+        return menuid;
+    }
+
+    public void setMenuid(int menuid) {
+        this.menuid = menuid;
+    }
+
+    public int getCreateUser() {
+        return createUser;
+    }
+
+    public void setCreateUser(int createUser) {
+        this.createUser = createUser;
+    }
+
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+
+    public int getUpdateUser() {
+        return updateUser;
+    }
+
+    public void setUpdateUser(int updateUser) {
+        this.updateUser = updateUser;
+    }
+
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
diff --git a/src/main/java/com/lf/server/entity/sys/RoleResEntity.java b/src/main/java/com/lf/server/entity/sys/RoleResEntity.java
new file mode 100644
index 0000000..abc35bb
--- /dev/null
+++ b/src/main/java/com/lf/server/entity/sys/RoleResEntity.java
@@ -0,0 +1,85 @@
+package com.lf.server.entity.sys;
+
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+/**
+ * 瑙掕壊-璧勬簮
+ * @author WWW
+ */
+public class RoleResEntity implements Serializable {
+    private static final long serialVersionUID = -634834740606525312L;
+
+    private int id;
+
+    private int roleid;
+
+    private int resid;
+
+    private int createUser;
+
+    private Timestamp createTime;
+
+    private int updateUser;
+
+    private Timestamp updateTime;
+
+    public RoleResEntity() {
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getRoleid() {
+        return roleid;
+    }
+
+    public void setRoleid(int roleid) {
+        this.roleid = roleid;
+    }
+
+    public int getResid() {
+        return resid;
+    }
+
+    public void setResid(int resid) {
+        this.resid = resid;
+    }
+
+    public int getCreateUser() {
+        return createUser;
+    }
+
+    public void setCreateUser(int createUser) {
+        this.createUser = createUser;
+    }
+
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+
+    public int getUpdateUser() {
+        return updateUser;
+    }
+
+    public void setUpdateUser(int updateUser) {
+        this.updateUser = updateUser;
+    }
+
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
diff --git a/src/main/java/com/lf/server/mapper/data/DownloadMapper.java b/src/main/java/com/lf/server/mapper/data/DownloadMapper.java
new file mode 100644
index 0000000..075a235
--- /dev/null
+++ b/src/main/java/com/lf/server/mapper/data/DownloadMapper.java
@@ -0,0 +1,96 @@
+package com.lf.server.mapper.data;
+
+import com.lf.server.entity.data.DownloadEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 涓嬭浇璁板綍
+ * @author WWW
+ */
+@Mapper
+@Repository
+public interface DownloadMapper {
+    /**
+     * 鏌ヨ璁板綍鏁�
+     *
+     * @param name 鍚嶇О
+     * @return 璁板綍鏁�
+     */
+    public Integer selectCount(String name);
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param name   鍚嶇О
+     * @param limit  璁板綍琛�
+     * @param offset 鍋忕Щ閲�
+     * @return 鍒楄〃
+     */
+    public List<DownloadEntity> selectByPage(String name, Integer limit, Integer offset);
+
+    /**
+     * 鏌ヨ鎵�鏈�
+     *
+     * @return
+     */
+    public List<DownloadEntity> selectAll();
+
+    /**
+     * 鏍规嵁ID鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    public DownloadEntity selectById(int id);
+
+    /**
+     * 娣诲姞鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer insert(DownloadEntity entity);
+
+    /**
+     * 鎵归噺娣诲姞
+     *
+     * @param list
+     * @return
+     */
+    public Integer inserts(List<DownloadEntity> list);
+
+    /**
+     * 鍒櫎鏁版嵁
+     *
+     * @param id
+     * @return
+     */
+    public Integer delete(int id);
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    public Integer deletes(List<Integer> ids);
+
+    /**
+     * 淇敼鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer update(DownloadEntity entity);
+
+    /**
+     * 鎵归噺淇敼
+     *
+     * @param list
+     * @return
+     */
+    public Integer updates(List<DownloadEntity> list);
+}
diff --git a/src/main/java/com/lf/server/mapper/data/MetaFileMapper.java b/src/main/java/com/lf/server/mapper/data/MetaFileMapper.java
new file mode 100644
index 0000000..284068e
--- /dev/null
+++ b/src/main/java/com/lf/server/mapper/data/MetaFileMapper.java
@@ -0,0 +1,96 @@
+package com.lf.server.mapper.data;
+
+import com.lf.server.entity.data.MetaFileEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 鍏冩暟鎹枃浠�
+ * @author WWW
+ */
+@Mapper
+@Repository
+public interface MetaFileMapper {
+    /**
+     * 鏌ヨ璁板綍鏁�
+     *
+     * @param name 鏂囦欢鍚�
+     * @return 璁板綍鏁�
+     */
+    public Integer selectCount(String name);
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param name   鏂囦欢鍚�
+     * @param limit  璁板綍琛�
+     * @param offset 鍋忕Щ閲�
+     * @return 鍒楄〃
+     */
+    public List<MetaFileEntity> selectByPage(String name, Integer limit, Integer offset);
+
+    /**
+     * 鏌ヨ鎵�鏈�
+     *
+     * @return
+     */
+    public List<MetaFileEntity> selectAll();
+
+    /**
+     * 鏍规嵁ID鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    public MetaFileEntity selectById(int id);
+
+    /**
+     * 娣诲姞鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer insert(MetaFileEntity entity);
+
+    /**
+     * 鎵归噺娣诲姞
+     *
+     * @param list
+     * @return
+     */
+    public Integer inserts(List<MetaFileEntity> list);
+
+    /**
+     * 鍒櫎鏁版嵁
+     *
+     * @param id
+     * @return
+     */
+    public Integer delete(int id);
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    public Integer deletes(List<Integer> ids);
+
+    /**
+     * 淇敼鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer update(MetaFileEntity entity);
+
+    /**
+     * 鎵归噺淇敼
+     *
+     * @param list
+     * @return
+     */
+    public Integer updates(List<MetaFileEntity> list);
+}
diff --git a/src/main/java/com/lf/server/mapper/data/MetaMapper.java b/src/main/java/com/lf/server/mapper/data/MetaMapper.java
new file mode 100644
index 0000000..7ba5fb2
--- /dev/null
+++ b/src/main/java/com/lf/server/mapper/data/MetaMapper.java
@@ -0,0 +1,96 @@
+package com.lf.server.mapper.data;
+
+import com.lf.server.entity.data.MetaEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 鍏冩暟鎹�
+ * @author WWW
+ */
+@Mapper
+@Repository
+public interface MetaMapper {
+    /**
+     * 鏌ヨ璁板綍鏁�
+     *
+     * @param name 鍚嶇О
+     * @return 璁板綍鏁�
+     */
+    public Integer selectCount(String name);
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param name   鍚嶇О
+     * @param limit  璁板綍琛�
+     * @param offset 鍋忕Щ閲�
+     * @return 鍒楄〃
+     */
+    public List<MetaEntity> selectByPage(String name, Integer limit, Integer offset);
+
+    /**
+     * 鏌ヨ鎵�鏈�
+     *
+     * @return
+     */
+    public List<MetaEntity> selectAll();
+
+    /**
+     * 鏍规嵁ID鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    public MetaEntity selectById(int id);
+
+    /**
+     * 娣诲姞鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer insert(MetaEntity entity);
+
+    /**
+     * 鎵归噺娣诲姞
+     *
+     * @param list
+     * @return
+     */
+    public Integer inserts(List<MetaEntity> list);
+
+    /**
+     * 鍒櫎鏁版嵁
+     *
+     * @param id
+     * @return
+     */
+    public Integer delete(int id);
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    public Integer deletes(List<Integer> ids);
+
+    /**
+     * 淇敼鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer update(MetaEntity entity);
+
+    /**
+     * 鎵归噺淇敼
+     *
+     * @param list
+     * @return
+     */
+    public Integer updates(List<MetaEntity> list);
+}
diff --git a/src/main/java/com/lf/server/mapper/sys/AttachMapper.java b/src/main/java/com/lf/server/mapper/sys/AttachMapper.java
new file mode 100644
index 0000000..e4bdf7b
--- /dev/null
+++ b/src/main/java/com/lf/server/mapper/sys/AttachMapper.java
@@ -0,0 +1,96 @@
+package com.lf.server.mapper.sys;
+
+import com.lf.server.entity.sys.AttachEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 闄勪欢
+ * @author WWW
+ */
+@Mapper
+@Repository
+public interface AttachMapper {
+    /**
+     * 鏌ヨ璁板綍鏁�
+     *
+     * @param name 鏂囦欢鍚�
+     * @return 璁板綍鏁�
+     */
+    public Integer selectCount(String name);
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param name   鏂囦欢鍚�
+     * @param limit  璁板綍琛�
+     * @param offset 鍋忕Щ閲�
+     * @return 鍒楄〃
+     */
+    public List<AttachEntity> selectByPage(String name, Integer limit, Integer offset);
+
+    /**
+     * 鏌ヨ鎵�鏈�
+     *
+     * @return
+     */
+    public List<AttachEntity> selectAll();
+
+    /**
+     * 鏍规嵁ID鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    public AttachEntity selectById(int id);
+
+    /**
+     * 娣诲姞鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer insert(AttachEntity entity);
+
+    /**
+     * 鎵归噺娣诲姞
+     *
+     * @param list
+     * @return
+     */
+    public Integer inserts(List<AttachEntity> list);
+
+    /**
+     * 鍒櫎鏁版嵁
+     *
+     * @param id
+     * @return
+     */
+    public Integer delete(int id);
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    public Integer deletes(List<Integer> ids);
+
+    /**
+     * 淇敼鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer update(AttachEntity entity);
+
+    /**
+     * 鎵归噺淇敼
+     *
+     * @param list
+     * @return
+     */
+    public Integer updates(List<AttachEntity> list);
+}
diff --git a/src/main/java/com/lf/server/mapper/sys/MenuAuthMapper.java b/src/main/java/com/lf/server/mapper/sys/MenuAuthMapper.java
new file mode 100644
index 0000000..4c2308e
--- /dev/null
+++ b/src/main/java/com/lf/server/mapper/sys/MenuAuthMapper.java
@@ -0,0 +1,96 @@
+package com.lf.server.mapper.sys;
+
+import com.lf.server.entity.sys.MenuAuthEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 鑿滃崟-鏉冮檺
+ * @author WWW
+ */
+@Mapper
+@Repository
+public interface MenuAuthMapper {
+    /**
+     * 鏌ヨ璁板綍鏁�
+     *
+     * @param menuid 鑿滃崟ID
+     * @return 璁板綍鏁�
+     */
+    public Integer selectCount(Integer menuid);
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param menuid   鑿滃崟ID
+     * @param limit  璁板綍琛�
+     * @param offset 鍋忕Щ閲�
+     * @return 鍒楄〃
+     */
+    public List<MenuAuthEntity> selectByPage(Integer menuid, Integer limit, Integer offset);
+
+    /**
+     * 鏌ヨ鎵�鏈�
+     *
+     * @return
+     */
+    public List<MenuAuthEntity> selectAll();
+
+    /**
+     * 鏍规嵁ID鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    public MenuAuthEntity selectById(int id);
+
+    /**
+     * 娣诲姞鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer insert(MenuAuthEntity entity);
+
+    /**
+     * 鎵归噺娣诲姞
+     *
+     * @param list
+     * @return
+     */
+    public Integer inserts(List<MenuAuthEntity> list);
+
+    /**
+     * 鍒櫎鏁版嵁
+     *
+     * @param id
+     * @return
+     */
+    public Integer delete(int id);
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    public Integer deletes(List<Integer> ids);
+
+    /**
+     * 淇敼鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer update(MenuAuthEntity entity);
+
+    /**
+     * 鎵归噺淇敼
+     *
+     * @param list
+     * @return
+     */
+    public Integer updates(List<MenuAuthEntity> list);
+}
diff --git a/src/main/java/com/lf/server/mapper/sys/MsgMapper.java b/src/main/java/com/lf/server/mapper/sys/MsgMapper.java
new file mode 100644
index 0000000..a24a107
--- /dev/null
+++ b/src/main/java/com/lf/server/mapper/sys/MsgMapper.java
@@ -0,0 +1,96 @@
+package com.lf.server.mapper.sys;
+
+import com.lf.server.entity.sys.MsgEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 娑堟伅閫氱煡
+ * @author WWW
+ */
+@Mapper
+@Repository
+public interface MsgMapper {
+    /**
+     * 鏌ヨ璁板綍鏁�
+     *
+     * @param title 鏍囬
+     * @return 璁板綍鏁�
+     */
+    public Integer selectCount(String title);
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param title   鏍囬
+     * @param limit  璁板綍琛�
+     * @param offset 鍋忕Щ閲�
+     * @return 鍒楄〃
+     */
+    public List<MsgEntity> selectByPage(String title, Integer limit, Integer offset);
+
+    /**
+     * 鏌ヨ鎵�鏈�
+     *
+     * @return
+     */
+    public List<MsgEntity> selectAll();
+
+    /**
+     * 鏍规嵁ID鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    public MsgEntity selectById(int id);
+
+    /**
+     * 娣诲姞鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer insert(MsgEntity entity);
+
+    /**
+     * 鎵归噺娣诲姞
+     *
+     * @param list
+     * @return
+     */
+    public Integer inserts(List<MsgEntity> list);
+
+    /**
+     * 鍒櫎鏁版嵁
+     *
+     * @param id
+     * @return
+     */
+    public Integer delete(int id);
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    public Integer deletes(List<Integer> ids);
+
+    /**
+     * 淇敼鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer update(MsgEntity entity);
+
+    /**
+     * 鎵归噺淇敼
+     *
+     * @param list
+     * @return
+     */
+    public Integer updates(List<MsgEntity> list);
+}
diff --git a/src/main/java/com/lf/server/mapper/sys/RoleMenuMapper.java b/src/main/java/com/lf/server/mapper/sys/RoleMenuMapper.java
new file mode 100644
index 0000000..6886c62
--- /dev/null
+++ b/src/main/java/com/lf/server/mapper/sys/RoleMenuMapper.java
@@ -0,0 +1,96 @@
+package com.lf.server.mapper.sys;
+
+import com.lf.server.entity.sys.RoleMenuEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 瑙掕壊-鑿滃崟
+ * @author WWW
+ */
+@Mapper
+@Repository
+public interface RoleMenuMapper {
+    /**
+     * 鏌ヨ璁板綍鏁�
+     *
+     * @param roleid 瑙掕壊ID
+     * @return 璁板綍鏁�
+     */
+    public Integer selectCount(Integer roleid);
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param roleid   瑙掕壊ID
+     * @param limit  璁板綍琛�
+     * @param offset 鍋忕Щ閲�
+     * @return 鍒楄〃
+     */
+    public List<RoleMenuEntity> selectByPage(Integer roleid, Integer limit, Integer offset);
+
+    /**
+     * 鏌ヨ鎵�鏈�
+     *
+     * @return
+     */
+    public List<RoleMenuEntity> selectAll();
+
+    /**
+     * 鏍规嵁ID鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    public RoleMenuEntity selectById(int id);
+
+    /**
+     * 娣诲姞鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer insert(RoleMenuEntity entity);
+
+    /**
+     * 鎵归噺娣诲姞
+     *
+     * @param list
+     * @return
+     */
+    public Integer inserts(List<RoleMenuEntity> list);
+
+    /**
+     * 鍒櫎鏁版嵁
+     *
+     * @param id
+     * @return
+     */
+    public Integer delete(int id);
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    public Integer deletes(List<Integer> ids);
+
+    /**
+     * 淇敼鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer update(RoleMenuEntity entity);
+
+    /**
+     * 鎵归噺淇敼
+     *
+     * @param list
+     * @return
+     */
+    public Integer updates(List<RoleMenuEntity> list);
+}
diff --git a/src/main/java/com/lf/server/mapper/sys/RoleResMapper.java b/src/main/java/com/lf/server/mapper/sys/RoleResMapper.java
new file mode 100644
index 0000000..b30e169
--- /dev/null
+++ b/src/main/java/com/lf/server/mapper/sys/RoleResMapper.java
@@ -0,0 +1,96 @@
+package com.lf.server.mapper.sys;
+
+import com.lf.server.entity.sys.RoleResEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 瑙掕壊-璧勬簮
+ * @author WWW
+ */
+@Mapper
+@Repository
+public interface RoleResMapper {
+    /**
+     * 鏌ヨ璁板綍鏁�
+     *
+     * @param roleid 瑙掕壊ID
+     * @return 璁板綍鏁�
+     */
+    public Integer selectCount(Integer roleid);
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param roleid   瑙掕壊ID
+     * @param limit  璁板綍琛�
+     * @param offset 鍋忕Щ閲�
+     * @return 鍒楄〃
+     */
+    public List<RoleResEntity> selectByPage(Integer roleid, Integer limit, Integer offset);
+
+    /**
+     * 鏌ヨ鎵�鏈�
+     *
+     * @return
+     */
+    public List<RoleResEntity> selectAll();
+
+    /**
+     * 鏍规嵁ID鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    public RoleResEntity selectById(int id);
+
+    /**
+     * 娣诲姞鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer insert(RoleResEntity entity);
+
+    /**
+     * 鎵归噺娣诲姞
+     *
+     * @param list
+     * @return
+     */
+    public Integer inserts(List<RoleResEntity> list);
+
+    /**
+     * 鍒櫎鏁版嵁
+     *
+     * @param id
+     * @return
+     */
+    public Integer delete(int id);
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    public Integer deletes(List<Integer> ids);
+
+    /**
+     * 淇敼鏁版嵁
+     *
+     * @param entity
+     * @return
+     */
+    public Integer update(RoleResEntity entity);
+
+    /**
+     * 鎵归噺淇敼
+     *
+     * @param list
+     * @return
+     */
+    public Integer updates(List<RoleResEntity> list);
+}
diff --git a/src/main/java/com/lf/server/service/data/DownloadService.java b/src/main/java/com/lf/server/service/data/DownloadService.java
new file mode 100644
index 0000000..833b894
--- /dev/null
+++ b/src/main/java/com/lf/server/service/data/DownloadService.java
@@ -0,0 +1,73 @@
+package com.lf.server.service.data;
+
+import com.lf.server.entity.data.DownloadEntity;
+import com.lf.server.helper.StringHelper;
+import com.lf.server.mapper.data.DownloadMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 涓嬭浇璁板綍
+ * @author WWW
+ */
+@Service
+public class DownloadService implements DownloadMapper {
+    @Autowired
+    DownloadMapper downloadMapper;
+
+    @Override
+    public Integer selectCount(String name) {
+        name = "%" + (StringHelper.isNull(name) ? "" : name.trim()) + "%";
+
+        return downloadMapper.selectCount(name);
+    }
+
+    @Override
+    public List<DownloadEntity> selectByPage(String name, Integer limit, Integer offset) {
+        name = "%" + (StringHelper.isNull(name) ? "" : name.trim()) + "%";
+
+        return downloadMapper.selectByPage(name, limit, offset);
+    }
+
+    @Override
+    public List<DownloadEntity> selectAll() {
+        return downloadMapper.selectAll();
+    }
+
+    @Override
+    public DownloadEntity selectById(int id) {
+        return downloadMapper.selectById(id);
+    }
+
+    @Override
+    public Integer insert(DownloadEntity entity) {
+        return downloadMapper.insert(entity);
+    }
+
+    @Override
+    public Integer inserts(List<DownloadEntity> list) {
+        return downloadMapper.inserts(list);
+    }
+
+    @Override
+    public Integer delete(int id) {
+        return downloadMapper.delete(id);
+    }
+
+    @Override
+    public Integer deletes(List<Integer> ids) {
+        return downloadMapper.deletes(ids);
+    }
+
+    @Override
+    public Integer update(DownloadEntity entity) {
+        return downloadMapper.update(entity);
+    }
+
+    @Override
+    public Integer updates(List<DownloadEntity> list) {
+        return downloadMapper.updates(list);
+    }
+}
diff --git a/src/main/java/com/lf/server/service/data/MetaFileService.java b/src/main/java/com/lf/server/service/data/MetaFileService.java
new file mode 100644
index 0000000..c848ed6
--- /dev/null
+++ b/src/main/java/com/lf/server/service/data/MetaFileService.java
@@ -0,0 +1,73 @@
+package com.lf.server.service.data;
+
+import com.lf.server.entity.data.MetaFileEntity;
+import com.lf.server.helper.StringHelper;
+import com.lf.server.mapper.data.MetaFileMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 鍏冩暟鎹枃浠�
+ * @author WWW
+ */
+@Service
+public class MetaFileService implements MetaFileMapper {
+    @Autowired
+    MetaFileMapper metaFileMapper;
+
+    @Override
+    public Integer selectCount(String name) {
+        name = "%" + (StringHelper.isNull(name) ? "" : name.trim()) + "%";
+
+        return metaFileMapper.selectCount(name);
+    }
+
+    @Override
+    public List<MetaFileEntity> selectByPage(String name, Integer limit, Integer offset) {
+        name = "%" + (StringHelper.isNull(name) ? "" : name.trim()) + "%";
+
+        return metaFileMapper.selectByPage(name, limit, offset);
+    }
+
+    @Override
+    public List<MetaFileEntity> selectAll() {
+        return metaFileMapper.selectAll();
+    }
+
+    @Override
+    public MetaFileEntity selectById(int id) {
+        return metaFileMapper.selectById(id);
+    }
+
+    @Override
+    public Integer insert(MetaFileEntity entity) {
+        return metaFileMapper.insert(entity);
+    }
+
+    @Override
+    public Integer inserts(List<MetaFileEntity> list) {
+        return metaFileMapper.inserts(list);
+    }
+
+    @Override
+    public Integer delete(int id) {
+        return metaFileMapper.delete(id);
+    }
+
+    @Override
+    public Integer deletes(List<Integer> ids) {
+        return metaFileMapper.deletes(ids);
+    }
+
+    @Override
+    public Integer update(MetaFileEntity entity) {
+        return metaFileMapper.update(entity);
+    }
+
+    @Override
+    public Integer updates(List<MetaFileEntity> list) {
+        return metaFileMapper.updates(list);
+    }
+}
diff --git a/src/main/java/com/lf/server/service/data/MetaService.java b/src/main/java/com/lf/server/service/data/MetaService.java
new file mode 100644
index 0000000..35228cd
--- /dev/null
+++ b/src/main/java/com/lf/server/service/data/MetaService.java
@@ -0,0 +1,73 @@
+package com.lf.server.service.data;
+
+import com.lf.server.entity.data.MetaEntity;
+import com.lf.server.helper.StringHelper;
+import com.lf.server.mapper.data.MetaMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 鍏冩暟鎹�
+ * @author WWW
+ */
+@Service
+public class MetaService implements MetaMapper {
+    @Autowired
+    MetaMapper metaMapper;
+
+    @Override
+    public Integer selectCount(String name) {
+        name = "%" + (StringHelper.isNull(name) ? "" : name.trim()) + "%";
+
+        return metaMapper.selectCount(name);
+    }
+
+    @Override
+    public List<MetaEntity> selectByPage(String name, Integer limit, Integer offset) {
+        name = "%" + (StringHelper.isNull(name) ? "" : name.trim()) + "%";
+
+        return metaMapper.selectByPage(name, limit, offset);
+    }
+
+    @Override
+    public List<MetaEntity> selectAll() {
+        return metaMapper.selectAll();
+    }
+
+    @Override
+    public MetaEntity selectById(int id) {
+        return metaMapper.selectById(id);
+    }
+
+    @Override
+    public Integer insert(MetaEntity entity) {
+        return metaMapper.insert(entity);
+    }
+
+    @Override
+    public Integer inserts(List<MetaEntity> list) {
+        return metaMapper.inserts(list);
+    }
+
+    @Override
+    public Integer delete(int id) {
+        return metaMapper.delete(id);
+    }
+
+    @Override
+    public Integer deletes(List<Integer> ids) {
+        return metaMapper.deletes(ids);
+    }
+
+    @Override
+    public Integer update(MetaEntity entity) {
+        return metaMapper.update(entity);
+    }
+
+    @Override
+    public Integer updates(List<MetaEntity> list) {
+        return metaMapper.updates(list);
+    }
+}
diff --git a/src/main/java/com/lf/server/service/sys/AttachService.java b/src/main/java/com/lf/server/service/sys/AttachService.java
new file mode 100644
index 0000000..cff2e8a
--- /dev/null
+++ b/src/main/java/com/lf/server/service/sys/AttachService.java
@@ -0,0 +1,73 @@
+package com.lf.server.service.sys;
+
+import com.lf.server.entity.sys.AttachEntity;
+import com.lf.server.helper.StringHelper;
+import com.lf.server.mapper.sys.AttachMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 闄勪欢
+ * @author WWW
+ */
+@Service
+public class AttachService implements AttachMapper {
+    @Autowired
+    AttachMapper attachMapper;
+
+    @Override
+    public Integer selectCount(String name) {
+        name = "%" + (StringHelper.isNull(name) ? "" : name.trim()) + "%";
+
+        return attachMapper.selectCount(name);
+    }
+
+    @Override
+    public List<AttachEntity> selectByPage(String name, Integer limit, Integer offset) {
+        name = "%" + (StringHelper.isNull(name) ? "" : name.trim()) + "%";
+
+        return attachMapper.selectByPage(name, limit, offset);
+    }
+
+    @Override
+    public List<AttachEntity> selectAll() {
+        return attachMapper.selectAll();
+    }
+
+    @Override
+    public AttachEntity selectById(int id) {
+        return attachMapper.selectById(id);
+    }
+
+    @Override
+    public Integer insert(AttachEntity entity) {
+        return attachMapper.insert(entity);
+    }
+
+    @Override
+    public Integer inserts(List<AttachEntity> list) {
+        return attachMapper.inserts(list);
+    }
+
+    @Override
+    public Integer delete(int id) {
+        return attachMapper.delete(id);
+    }
+
+    @Override
+    public Integer deletes(List<Integer> ids) {
+        return attachMapper.deletes(ids);
+    }
+
+    @Override
+    public Integer update(AttachEntity entity) {
+        return attachMapper.update(entity);
+    }
+
+    @Override
+    public Integer updates(List<AttachEntity> list) {
+        return attachMapper.updates(list);
+    }
+}
diff --git a/src/main/java/com/lf/server/service/sys/MenuAuthService.java b/src/main/java/com/lf/server/service/sys/MenuAuthService.java
new file mode 100644
index 0000000..0f8fb72
--- /dev/null
+++ b/src/main/java/com/lf/server/service/sys/MenuAuthService.java
@@ -0,0 +1,69 @@
+package com.lf.server.service.sys;
+
+import com.lf.server.entity.sys.MenuAuthEntity;
+import com.lf.server.helper.StringHelper;
+import com.lf.server.mapper.sys.MenuAuthMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 鑿滃崟-鏉冮檺
+ * @author WWW
+ */
+@Service
+public class MenuAuthService implements MenuAuthMapper {
+    @Autowired
+    MenuAuthMapper menuAuthMapper;
+
+    @Override
+    public Integer selectCount(Integer menuid) {
+        return menuAuthMapper.selectCount(menuid);
+    }
+
+    @Override
+    public List<MenuAuthEntity> selectByPage(Integer menuid, Integer limit, Integer offset) {
+        return menuAuthMapper.selectByPage(menuid, limit, offset);
+    }
+
+    @Override
+    public List<MenuAuthEntity> selectAll() {
+        return menuAuthMapper.selectAll();
+    }
+
+    @Override
+    public MenuAuthEntity selectById(int id) {
+        return menuAuthMapper.selectById(id);
+    }
+
+    @Override
+    public Integer insert(MenuAuthEntity entity) {
+        return menuAuthMapper.insert(entity);
+    }
+
+    @Override
+    public Integer inserts(List<MenuAuthEntity> list) {
+        return menuAuthMapper.inserts(list);
+    }
+
+    @Override
+    public Integer delete(int id) {
+        return menuAuthMapper.delete(id);
+    }
+
+    @Override
+    public Integer deletes(List<Integer> ids) {
+        return menuAuthMapper.deletes(ids);
+    }
+
+    @Override
+    public Integer update(MenuAuthEntity entity) {
+        return menuAuthMapper.update(entity);
+    }
+
+    @Override
+    public Integer updates(List<MenuAuthEntity> list) {
+        return menuAuthMapper.updates(list);
+    }
+}
diff --git a/src/main/java/com/lf/server/service/sys/MsgService.java b/src/main/java/com/lf/server/service/sys/MsgService.java
new file mode 100644
index 0000000..d800fbc
--- /dev/null
+++ b/src/main/java/com/lf/server/service/sys/MsgService.java
@@ -0,0 +1,73 @@
+package com.lf.server.service.sys;
+
+import com.lf.server.entity.sys.MsgEntity;
+import com.lf.server.helper.StringHelper;
+import com.lf.server.mapper.sys.MsgMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 娑堟伅閫氱煡
+ * @author WWW
+ */
+@Service
+public class MsgService implements MsgMapper {
+    @Autowired
+    MsgMapper msgMapper;
+
+    @Override
+    public Integer selectCount(String title) {
+        title = "%" + (StringHelper.isNull(title) ? "" : title.trim()) + "%";
+
+        return msgMapper.selectCount(title);
+    }
+
+    @Override
+    public List<MsgEntity> selectByPage(String title, Integer limit, Integer offset) {
+        title = "%" + (StringHelper.isNull(title) ? "" : title.trim()) + "%";
+
+        return msgMapper.selectByPage(title, limit, offset);
+    }
+
+    @Override
+    public List<MsgEntity> selectAll() {
+        return msgMapper.selectAll();
+    }
+
+    @Override
+    public MsgEntity selectById(int id) {
+        return msgMapper.selectById(id);
+    }
+
+    @Override
+    public Integer insert(MsgEntity entity) {
+        return msgMapper.insert(entity);
+    }
+
+    @Override
+    public Integer inserts(List<MsgEntity> list) {
+        return msgMapper.inserts(list);
+    }
+
+    @Override
+    public Integer delete(int id) {
+        return msgMapper.delete(id);
+    }
+
+    @Override
+    public Integer deletes(List<Integer> ids) {
+        return msgMapper.deletes(ids);
+    }
+
+    @Override
+    public Integer update(MsgEntity entity) {
+        return msgMapper.update(entity);
+    }
+
+    @Override
+    public Integer updates(List<MsgEntity> list) {
+        return msgMapper.updates(list);
+    }
+}
diff --git a/src/main/java/com/lf/server/service/sys/RoleMenuService.java b/src/main/java/com/lf/server/service/sys/RoleMenuService.java
new file mode 100644
index 0000000..74161f0
--- /dev/null
+++ b/src/main/java/com/lf/server/service/sys/RoleMenuService.java
@@ -0,0 +1,69 @@
+package com.lf.server.service.sys;
+
+import com.lf.server.entity.sys.RoleMenuEntity;
+import com.lf.server.helper.StringHelper;
+import com.lf.server.mapper.sys.RoleMenuMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 瑙掕壊-鑿滃崟
+ * @author WWW
+ */
+@Service
+public class RoleMenuService implements RoleMenuMapper {
+    @Autowired
+    RoleMenuMapper roleMenuMapper;
+
+    @Override
+    public Integer selectCount(Integer roleid) {
+        return roleMenuMapper.selectCount(roleid);
+    }
+
+    @Override
+    public List<RoleMenuEntity> selectByPage(Integer roleid, Integer limit, Integer offset) {
+        return roleMenuMapper.selectByPage(roleid, limit, offset);
+    }
+
+    @Override
+    public List<RoleMenuEntity> selectAll() {
+        return roleMenuMapper.selectAll();
+    }
+
+    @Override
+    public RoleMenuEntity selectById(int id) {
+        return roleMenuMapper.selectById(id);
+    }
+
+    @Override
+    public Integer insert(RoleMenuEntity entity) {
+        return roleMenuMapper.insert(entity);
+    }
+
+    @Override
+    public Integer inserts(List<RoleMenuEntity> list) {
+        return roleMenuMapper.inserts(list);
+    }
+
+    @Override
+    public Integer delete(int id) {
+        return roleMenuMapper.delete(id);
+    }
+
+    @Override
+    public Integer deletes(List<Integer> ids) {
+        return roleMenuMapper.deletes(ids);
+    }
+
+    @Override
+    public Integer update(RoleMenuEntity entity) {
+        return roleMenuMapper.update(entity);
+    }
+
+    @Override
+    public Integer updates(List<RoleMenuEntity> list) {
+        return roleMenuMapper.updates(list);
+    }
+}
diff --git a/src/main/java/com/lf/server/service/sys/RoleResService.java b/src/main/java/com/lf/server/service/sys/RoleResService.java
new file mode 100644
index 0000000..ee43456
--- /dev/null
+++ b/src/main/java/com/lf/server/service/sys/RoleResService.java
@@ -0,0 +1,69 @@
+package com.lf.server.service.sys;
+
+import com.lf.server.entity.sys.RoleResEntity;
+import com.lf.server.helper.StringHelper;
+import com.lf.server.mapper.sys.RoleResMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 瑙掕壊-璧勬簮
+ * @author WWW
+ */
+@Service
+public class RoleResService implements RoleResMapper {
+    @Autowired
+    RoleResMapper roleResMapper;
+
+    @Override
+    public Integer selectCount(Integer roleid) {
+        return roleResMapper.selectCount(roleid);
+    }
+
+    @Override
+    public List<RoleResEntity> selectByPage(Integer roleid, Integer limit, Integer offset) {
+        return roleResMapper.selectByPage(roleid, limit, offset);
+    }
+
+    @Override
+    public List<RoleResEntity> selectAll() {
+        return roleResMapper.selectAll();
+    }
+
+    @Override
+    public RoleResEntity selectById(int id) {
+        return roleResMapper.selectById(id);
+    }
+
+    @Override
+    public Integer insert(RoleResEntity entity) {
+        return roleResMapper.insert(entity);
+    }
+
+    @Override
+    public Integer inserts(List<RoleResEntity> list) {
+        return roleResMapper.inserts(list);
+    }
+
+    @Override
+    public Integer delete(int id) {
+        return roleResMapper.delete(id);
+    }
+
+    @Override
+    public Integer deletes(List<Integer> ids) {
+        return roleResMapper.deletes(ids);
+    }
+
+    @Override
+    public Integer update(RoleResEntity entity) {
+        return roleResMapper.update(entity);
+    }
+
+    @Override
+    public Integer updates(List<RoleResEntity> list) {
+        return roleResMapper.updates(list);
+    }
+}
diff --git a/src/main/resources/mapper/data/DownloadMapper.xml b/src/main/resources/mapper/data/DownloadMapper.xml
new file mode 100644
index 0000000..986f901
--- /dev/null
+++ b/src/main/resources/mapper/data/DownloadMapper.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.lf.server.mapper.data.DownloadMapper">
+    <select id="selectCount" resultType="java.lang.Integer" parameterType="java.lang.String">
+        select count(*) from lf.sys_download
+        <where>
+            <if test="name != null">
+                name like #{name}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectByPage" resultType="com.lf.server.entity.data.DownloadEntity">
+        select * from lf.sys_download
+        <where>
+            <if test="name != null">
+                name like #{name}
+            </if>
+        </where>
+        order by id
+        limit #{limit} offset #{offset}
+    </select>
+
+    <select id="selectAll" resultType="com.lf.server.entity.data.DownloadEntity">
+        select * from lf.sys_download order by id;
+    </select>
+
+    <select id="selectById" resultType="com.lf.server.entity.data.DownloadEntity">
+        select * from lf.sys_download where id = #{id}
+    </select>
+
+    <insert id="insert" parameterType="com.lf.server.entity.data.DownloadEntity">
+       insert into lf.sys_download
+       (name,type,depid,dcount,pwd,url,descr,guid,create_user,create_time,download_user,download_time,geo,bak)
+       values
+       (#{name},#{type},#{depid},#{dcount},#{pwd},#{url},#{descr},#{guid},#{createUser},now(),#{downloadUser},now(),#{geo},#{bak})
+    </insert>
+
+    <insert id="inserts">
+        insert into lf.sys_download
+        (name,type,depid,dcount,pwd,url,descr,guid,create_user,create_time,download_user,download_time,geo,bak)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.name},#{item.type},#{item.depid},#{item.dcount},#{item.pwd},#{item.url},#{item.descr},#{item.guid},#{item.createUser},now(),#{item.downloadUser},now(),#{item.geo},#{item.bak})
+        </foreach>
+    </insert>
+
+    <delete id="delete">
+        delete from lf.sys_download where id = #{id}
+    </delete>
+
+    <delete id="deletes">
+        delete from lf.sys_download where id in
+        <foreach item="ids" collection="list" index="index" open="(" separator="," close=")">
+            #{ids}
+        </foreach>
+    </delete>
+
+    <update id="update">
+    update lf.sys_download
+    set name=#{name},type=#{type},depid=#{depid},dcount=#{dcount},pwd=#{pwd},url=#{url},descr=#{descr},guid=#{guid},download_user=#{downloadUser},download_time=now(),geo=#{geo},bak=#{bak}
+    where id=#{id}
+    </update>
+
+    <update id="updates">
+        <foreach collection="list" item="item" index="index" separator=";">
+            update lf.sys_download
+            <set>
+                name=#{item.name},type=#{item.type},depid=#{item.depid},dcount=#{item.dcount},pwd=#{item.pwd},url=#{item.url},descr=#{item.descr},guid=#{item.guid},download_user=#{item.downloadUser},download_time=now(),geo=#{item.geo},bak=#{item.bak}
+            </set>
+            where id = #{item.id}
+        </foreach>
+    </update>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/data/MetaFileMapper.xml b/src/main/resources/mapper/data/MetaFileMapper.xml
new file mode 100644
index 0000000..82692d3
--- /dev/null
+++ b/src/main/resources/mapper/data/MetaFileMapper.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.lf.server.mapper.data.MetaFileMapper">
+    <select id="selectCount" resultType="java.lang.Integer" parameterType="java.lang.String">
+        select count(*) from lf.sys_meta_file
+        <where>
+            <if test="name != null">
+                name like #{name}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectByPage" resultType="com.lf.server.entity.data.MetaFileEntity">
+        select * from lf.sys_meta_file
+        <where>
+            <if test="name != null">
+                name like #{name}
+            </if>
+        </where>
+        order by id
+        limit #{limit} offset #{offset}
+    </select>
+
+    <select id="selectAll" resultType="com.lf.server.entity.data.MetaFileEntity">
+        select * from lf.sys_meta_file order by id;
+    </select>
+
+    <select id="selectById" resultType="com.lf.server.entity.data.MetaFileEntity">
+        select * from lf.sys_meta_file where id = #{id}
+    </select>
+
+    <insert id="insert" parameterType="com.lf.server.entity.data.MetaFileEntity">
+       insert into lf.sys_meta_file
+       (metaid,name,guid,path,fileid,create_user,create_time)
+       values
+       (#{metaid},#{name},#{guid},#{path},#{fileid},#{createUser},now())
+    </insert>
+
+    <insert id="inserts">
+        insert into lf.sys_meta_file
+        (metaid,name,guid,path,fileid,create_user,create_time)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.metaid},#{item.name},#{item.guid},#{item.path},#{item.fileid},#{item.createUser},now())
+        </foreach>
+    </insert>
+
+    <delete id="delete">
+        delete from lf.sys_meta_file where id = #{id}
+    </delete>
+
+    <delete id="deletes">
+        delete from lf.sys_meta_file where id in
+        <foreach item="ids" collection="list" index="index" open="(" separator="," close=")">
+            #{ids}
+        </foreach>
+    </delete>
+
+    <update id="update">
+    update lf.sys_meta_file
+    set metaid=#{metaid},name=#{name},guid=#{guid},path=#{path},fileid=#{fileid},update_user=#{updateUser},update_time=now()
+    where id=#{id}
+    </update>
+
+    <update id="updates">
+        <foreach collection="list" item="item" index="index" separator=";">
+            update lf.sys_meta_file
+            <set>
+                metaid=#{item.metaid},name=#{item.name},guid=#{item.guid},path=#{item.path},fileid=#{item.fileid},update_user=#{item.updateUser},update_time=now()
+            </set>
+            where id = #{item.id}
+        </foreach>
+    </update>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/data/MetaMapper.xml b/src/main/resources/mapper/data/MetaMapper.xml
new file mode 100644
index 0000000..2ed8096
--- /dev/null
+++ b/src/main/resources/mapper/data/MetaMapper.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.lf.server.mapper.data.MetaMapper">
+    <select id="selectCount" resultType="java.lang.Integer" parameterType="java.lang.String">
+        select count(*) from lf.sys_meta
+        <where>
+            <if test="name != null">
+                name like #{name}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectByPage" resultType="com.lf.server.entity.data.MetaEntity">
+        select * from lf.sys_meta
+        <where>
+            <if test="name != null">
+                name like #{name}
+            </if>
+        </where>
+        order by id
+        limit #{limit} offset #{offset}
+    </select>
+
+    <select id="selectAll" resultType="com.lf.server.entity.data.MetaEntity">
+        select * from lf.sys_meta order by id;
+    </select>
+
+    <select id="selectById" resultType="com.lf.server.entity.data.MetaEntity">
+        select * from lf.sys_meta where id = #{id}
+    </select>
+
+    <insert id="insert" parameterType="com.lf.server.entity.data.MetaEntity">
+       insert into lf.sys_meta
+       (dirid,depid,name,format,fsize,cs,fscale,resolution,gather,descr,guid,create_user,create_time,geo)
+       values
+       (#{dirid},#{depid},#{name},#{format},#{fsize},#{cs},#{fscale},#{resolution},now(),#{descr},#{guid},#{createUser},now(),#{geo})
+    </insert>
+
+    <insert id="inserts">
+        insert into lf.sys_meta
+        (dirid,depid,name,format,fsize,cs,fscale,resolution,gather,descr,guid,create_user,create_time,geo)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.dirid},#{item.depid},#{item.name},#{item.format},#{item.fsize},#{item.cs},#{item.fscale},#{item.resolution},now(),#{item.descr},#{item.guid},#{item.createUser},now(),#{item.geo})
+        </foreach>
+    </insert>
+
+    <delete id="delete">
+        delete from lf.sys_meta where id = #{id}
+    </delete>
+
+    <delete id="deletes">
+        delete from lf.sys_meta where id in
+        <foreach item="ids" collection="list" index="index" open="(" separator="," close=")">
+            #{ids}
+        </foreach>
+    </delete>
+
+    <update id="update">
+    update lf.sys_meta
+    set dirid=#{dirid},depid=#{depid},name=#{name},format=#{format},fsize=#{fsize},cs=#{cs},fscale=#{fscale},resolution=#{resolution},gather=now(),descr=#{descr},guid=#{guid},update_user=#{updateUser},update_time=now(),geo=#{geo}
+    where id=#{id}
+    </update>
+
+    <update id="updates">
+        <foreach collection="list" item="item" index="index" separator=";">
+            update lf.sys_meta
+            <set>
+                dirid=#{item.dirid},depid=#{item.depid},name=#{item.name},format=#{item.format},fsize=#{item.fsize},cs=#{item.cs},fscale=#{item.fscale},resolution=#{item.resolution},gather=now(),descr=#{item.descr},guid=#{item.guid},update_user=#{item.updateUser},update_time=now(),geo=#{item.geo}
+            </set>
+            where id = #{item.id}
+        </foreach>
+    </update>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/sys/AttachMapper.xml b/src/main/resources/mapper/sys/AttachMapper.xml
new file mode 100644
index 0000000..c89f886
--- /dev/null
+++ b/src/main/resources/mapper/sys/AttachMapper.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.lf.server.mapper.sys.AttachMapper">
+    <select id="selectCount" resultType="java.lang.Integer" parameterType="java.lang.String">
+        select count(*) from lf.sys_attach
+        <where>
+            <if test="name != null">
+                name like #{name}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectByPage" resultType="com.lf.server.entity.sys.AttachEntity">
+        select * from lf.sys_attach
+        <where>
+            <if test="name != null">
+                name like #{name}
+            </if>
+        </where>
+        order by id
+        limit #{limit} offset #{offset}
+    </select>
+
+    <select id="selectAll" resultType="com.lf.server.entity.sys.AttachEntity">
+        select * from lf.sys_attach order by id;
+    </select>
+
+    <select id="selectById" resultType="com.lf.server.entity.sys.AttachEntity">
+        select * from lf.sys_attach where id = #{id}
+    </select>
+
+    <insert id="insert" parameterType="com.lf.server.entity.sys.AttachEntity">
+       insert into lf.sys_attach
+       (name,tab,guid,path,create_user,create_time)
+       values
+       (#{name},#{tab},#{guid},#{path},#{createUser},now())
+    </insert>
+
+    <insert id="inserts">
+        insert into lf.sys_attach
+        (name,tab,guid,path,create_user,create_time)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.name},#{item.tab},#{item.guid},#{item.path},#{item.createUser},now())
+        </foreach>
+    </insert>
+
+    <delete id="delete">
+        delete from lf.sys_attach where id = #{id}
+    </delete>
+
+    <delete id="deletes">
+        delete from lf.sys_attach where id in
+        <foreach item="ids" collection="list" index="index" open="(" separator="," close=")">
+            #{ids}
+        </foreach>
+    </delete>
+
+    <update id="update">
+    update lf.sys_attach
+    set name=#{name},tab=#{tab},guid=#{guid},path=#{path},update_user=#{updateUser},update_time=now()
+    where id=#{id}
+    </update>
+
+    <update id="updates">
+        <foreach collection="list" item="item" index="index" separator=";">
+            update lf.sys_attach
+            <set>
+                name=#{item.name},tab=#{item.tab},guid=#{item.guid},path=#{item.path},update_user=#{item.updateUser},update_time=now()
+            </set>
+            where id = #{item.id}
+        </foreach>
+    </update>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/sys/MenuAuthMapper.xml b/src/main/resources/mapper/sys/MenuAuthMapper.xml
new file mode 100644
index 0000000..20ec1f9
--- /dev/null
+++ b/src/main/resources/mapper/sys/MenuAuthMapper.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.lf.server.mapper.sys.MenuAuthMapper">
+    <select id="selectCount" resultType="java.lang.Integer" parameterType="java.lang.String">
+        select count(*) from lf.sys_menu_auth
+        <where>
+            <if test="menuid != 0">
+                menuid = #{menuid}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectByPage" resultType="com.lf.server.entity.sys.MenuAuthEntity">
+        select * from lf.sys_menu_auth
+        <where>
+            <if test="menuid != 0">
+                menuid = #{menuid}
+            </if>
+        </where>
+        order by id
+        limit #{limit} offset #{offset}
+    </select>
+
+    <select id="selectAll" resultType="com.lf.server.entity.sys.MenuAuthEntity">
+        select * from lf.sys_menu_auth order by id;
+    </select>
+
+    <select id="selectById" resultType="com.lf.server.entity.sys.MenuAuthEntity">
+        select * from lf.sys_menu_auth where id = #{id}
+    </select>
+
+    <insert id="insert" parameterType="com.lf.server.entity.sys.MenuAuthEntity">
+       insert into lf.sys_menu_auth
+       (menuid,authid,create_user,create_time)
+       values
+       (#{menuid},#{authid},#{createUser},now())
+    </insert>
+
+    <insert id="inserts">
+        insert into lf.sys_menu_auth
+        (menuid,authid,create_user,create_time)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.menuid},#{item.authid},#{item.createUser},now())
+        </foreach>
+    </insert>
+
+    <delete id="delete">
+        delete from lf.sys_menu_auth where id = #{id}
+    </delete>
+
+    <delete id="deletes">
+        delete from lf.sys_menu_auth where id in
+        <foreach item="ids" collection="list" index="index" open="(" separator="," close=")">
+            #{ids}
+        </foreach>
+    </delete>
+
+    <update id="update">
+    update lf.sys_menu_auth
+    set menuid=#{menuid},authid=#{authid},update_user=#{updateUser},update_time=now()
+    where id=#{id}
+    </update>
+
+    <update id="updates">
+        <foreach collection="list" item="item" index="index" separator=";">
+            update lf.sys_menu_auth
+            <set>
+                menuid=#{item.menuid},authid=#{item.authid},update_user=#{item.updateUser},update_time=now()
+            </set>
+            where id = #{item.id}
+        </foreach>
+    </update>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/sys/MsgMapper.xml b/src/main/resources/mapper/sys/MsgMapper.xml
new file mode 100644
index 0000000..2287126
--- /dev/null
+++ b/src/main/resources/mapper/sys/MsgMapper.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.lf.server.mapper.sys.MsgMapper">
+    <select id="selectCount" resultType="java.lang.Integer" parameterType="java.lang.String">
+        select count(*) from lf.sys_msg
+        <where>
+            <if test="title != null">
+                title like #{title}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectByPage" resultType="com.lf.server.entity.sys.MsgEntity">
+        select * from lf.sys_msg
+        <where>
+            <if test="title != null">
+                title like #{title}
+            </if>
+        </where>
+        order by id
+        limit #{limit} offset #{offset}
+    </select>
+
+    <select id="selectAll" resultType="com.lf.server.entity.sys.MsgEntity">
+        select * from lf.sys_msg order by id;
+    </select>
+
+    <select id="selectById" resultType="com.lf.server.entity.sys.MsgEntity">
+        select * from lf.sys_msg where id = #{id}
+    </select>
+
+    <insert id="insert" parameterType="com.lf.server.entity.sys.MsgEntity">
+       insert into lf.sys_msg
+       (title,msg,guid,create_user,create_time)
+       values
+       (#{title},#{msg},#{guid},#{createUser},now())
+    </insert>
+
+    <insert id="inserts">
+        insert into lf.sys_msg
+        (title,msg,guid,create_user,create_time)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.title},#{item.msg},#{item.guid},#{item.createUser},now())
+        </foreach>
+    </insert>
+
+    <delete id="delete">
+        delete from lf.sys_msg where id = #{id}
+    </delete>
+
+    <delete id="deletes">
+        delete from lf.sys_msg where id in
+        <foreach item="ids" collection="list" index="index" open="(" separator="," close=")">
+            #{ids}
+        </foreach>
+    </delete>
+
+    <update id="update">
+    update lf.sys_msg
+    set title=#{title},msg=#{msg},guid=#{guid},update_user=#{updateUser},update_time=now()
+    where id=#{id}
+    </update>
+
+    <update id="updates">
+        <foreach collection="list" item="item" index="index" separator=";">
+            update lf.sys_msg
+            <set>
+                title=#{item.title},msg=#{item.msg},guid=#{item.guid},update_user=#{item.updateUser},update_time=now()
+            </set>
+            where id = #{item.id}
+        </foreach>
+    </update>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/sys/RoleMenuMapper.xml b/src/main/resources/mapper/sys/RoleMenuMapper.xml
new file mode 100644
index 0000000..afa2f09
--- /dev/null
+++ b/src/main/resources/mapper/sys/RoleMenuMapper.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.lf.server.mapper.sys.RoleMenuMapper">
+    <select id="selectCount" resultType="java.lang.Integer" parameterType="java.lang.String">
+        select count(*) from lf.sys_role_menu
+        <where>
+            <if test="roleid != 0">
+                roleid = #{roleid}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectByPage" resultType="com.lf.server.entity.sys.RoleMenuEntity">
+        select * from lf.sys_role_menu
+        <where>
+            <if test="roleid != 0">
+                roleid = #{roleid}
+            </if>
+        </where>
+        order by id
+        limit #{limit} offset #{offset}
+    </select>
+
+    <select id="selectAll" resultType="com.lf.server.entity.sys.RoleMenuEntity">
+        select * from lf.sys_role_menu order by id;
+    </select>
+
+    <select id="selectById" resultType="com.lf.server.entity.sys.RoleMenuEntity">
+        select * from lf.sys_role_menu where id = #{id}
+    </select>
+
+    <insert id="insert" parameterType="com.lf.server.entity.sys.RoleMenuEntity">
+       insert into lf.sys_role_menu
+       (roleid,menuid,create_user,create_time)
+       values
+       (#{roleid},#{menuid},#{createUser},now())
+    </insert>
+
+    <insert id="inserts">
+        insert into lf.sys_role_menu
+        (roleid,menuid,create_user,create_time)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.roleid},#{item.menuid},#{item.createUser},now())
+        </foreach>
+    </insert>
+
+    <delete id="delete">
+        delete from lf.sys_role_menu where id = #{id}
+    </delete>
+
+    <delete id="deletes">
+        delete from lf.sys_role_menu where id in
+        <foreach item="ids" collection="list" index="index" open="(" separator="," close=")">
+            #{ids}
+        </foreach>
+    </delete>
+
+    <update id="update">
+    update lf.sys_role_menu
+    set roleid=#{roleid},menuid=#{menuid},update_user=#{updateUser},update_time=now()
+    where id=#{id}
+    </update>
+
+    <update id="updates">
+        <foreach collection="list" item="item" index="index" separator=";">
+            update lf.sys_role_menu
+            <set>
+                roleid=#{item.roleid},menuid=#{item.menuid},update_user=#{item.updateUser},update_time=now()
+            </set>
+            where id = #{item.id}
+        </foreach>
+    </update>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/sys/RoleResMapper.xml b/src/main/resources/mapper/sys/RoleResMapper.xml
new file mode 100644
index 0000000..b02e292
--- /dev/null
+++ b/src/main/resources/mapper/sys/RoleResMapper.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.lf.server.mapper.sys.RoleResMapper">
+    <select id="selectCount" resultType="java.lang.Integer" parameterType="java.lang.String">
+        select count(*) from lf.sys_role_res
+        <where>
+            <if test="roleid != 0">
+                roleid = #{roleid}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectByPage" resultType="com.lf.server.entity.sys.RoleResEntity">
+        select * from lf.sys_role_res
+        <where>
+            <if test="roleid != 0">
+                roleid = #{roleid}
+            </if>
+        </where>
+        order by id
+        limit #{limit} offset #{offset}
+    </select>
+
+    <select id="selectAll" resultType="com.lf.server.entity.sys.RoleResEntity">
+        select * from lf.sys_role_res order by id;
+    </select>
+
+    <select id="selectById" resultType="com.lf.server.entity.sys.RoleResEntity">
+        select * from lf.sys_role_res where id = #{id}
+    </select>
+
+    <insert id="insert" parameterType="com.lf.server.entity.sys.RoleResEntity">
+       insert into lf.sys_role_res
+       (roleid,resid,create_user,create_time)
+       values
+       (#{roleid},#{resid},#{createUser},now())
+    </insert>
+
+    <insert id="inserts">
+        insert into lf.sys_role_res
+        (roleid,resid,create_user,create_time)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.roleid},#{item.resid},#{item.createUser},now())
+        </foreach>
+    </insert>
+
+    <delete id="delete">
+        delete from lf.sys_role_res where id = #{id}
+    </delete>
+
+    <delete id="deletes">
+        delete from lf.sys_role_res where id in
+        <foreach item="ids" collection="list" index="index" open="(" separator="," close=")">
+            #{ids}
+        </foreach>
+    </delete>
+
+    <update id="update">
+    update lf.sys_role_res
+    set roleid=#{roleid},resid=#{resid},update_user=#{updateUser},update_time=now()
+    where id=#{id}
+    </update>
+
+    <update id="updates">
+        <foreach collection="list" item="item" index="index" separator=";">
+            update lf.sys_role_res
+            <set>
+                roleid=#{item.roleid},resid=#{item.resid},update_user=#{item.updateUser},update_time=now()
+            </set>
+            where id = #{item.id}
+        </foreach>
+    </update>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3