浏览代码

目录结构调整

chao 3 年之前
父节点
当前提交
fb1c895771

+ 0 - 273
src/main/java/com/caimei365/manager/controller/SysUserApi.java

@@ -1,273 +0,0 @@
-package com.caimei365.manager.controller;
-
-import com.caimei365.manager.config.security.ConstantKey;
-import com.caimei365.manager.config.security.JwtService;
-import com.caimei365.manager.entity.PaginationVo;
-import com.caimei365.manager.entity.ResponseJson;
-import com.caimei365.manager.entity.sys.SysMenu;
-import com.caimei365.manager.entity.sys.SysRole;
-import com.caimei365.manager.entity.sys.SysUser;
-import com.caimei365.manager.entity.sys.UserProfile;
-import com.caimei365.manager.service.SysUserService;
-import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-
-/**
- * Description
- *
- * @author : Charles
- * @date : 2021/12/2
- */
-@RestController
-@RequestMapping("/sys")
-public class SysUserApi {
-
-    @Resource
-    private SysUserService sysUserService;
-    @Resource
-    private JwtService jwtService;
-
-    /**
-     * 获取用户信息
-     */
-    @GetMapping("/user/info")
-    public ResponseJson<SysUser> getUserInfo(HttpServletRequest request) {
-        String token = request.getHeader(ConstantKey.TOKEN_NAME);
-        String username = jwtService.getUsername(token);
-        return sysUserService.getInfoByUsername(username);
-    }
-
-    /**
-     * 退出登录
-     */
-    @PostMapping("/user/logout")
-    public ResponseJson<Void> logout(HttpServletRequest request) {
-        String token = request.getHeader(ConstantKey.TOKEN_NAME);
-        return sysUserService.logout(token);
-    }
-
-    /**
-     * 获取用户列表
-     *
-     * @param username 用户名
-     * @param fullName 姓名
-     * @param pageNum  页码
-     * @param pageSize 每页大小
-     */
-    @GetMapping("/user/list")
-    public ResponseJson<PaginationVo<SysUser>> userList(String username, String fullName,
-                                                        @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
-                                                        @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
-        return sysUserService.getUserList(username, fullName, pageNum, pageSize);
-    }
-
-    /**
-     * 根据ID获取用户
-     */
-    @GetMapping("/user/{id}")
-    public ResponseJson<SysUser> getUser(@PathVariable("id") Integer id) {
-        if (null == id || id <= 0) {
-            return ResponseJson.error("用户Id不能为空!", null);
-        }
-        return sysUserService.getUser(id);
-    }
-
-    /**
-     * 根据ID更新用户
-     */
-    @PostMapping("/user/update/{id}")
-    public ResponseJson<Void> updateUser(@PathVariable("id") Integer id, @RequestBody SysUser sysUser) {
-        if (null == id || id <= 0) {
-            return ResponseJson.error("用户Id不能为空!", null);
-        }
-        return sysUserService.updateUser(id, sysUser);
-    }
-
-    /**
-     * 添加用户
-     */
-    @PostMapping("/user/create")
-    public ResponseJson<Void> addUser(@RequestBody SysUser sysUser) {
-        return sysUserService.addUser(sysUser);
-    }
-
-    /**
-     * 根据ID删除用户
-     */
-    @PostMapping("/user/delete/{id}")
-    public ResponseJson<Void> deleteUser(@PathVariable("id") Integer id) {
-        if (null == id || id <= 0) {
-            return ResponseJson.error("用户Id不能为空!", null);
-        }
-        return sysUserService.deleteUser(id);
-    }
-
-    /**
-     * 获取角色列表
-     * @param pageNum  页码
-     * @param pageSize 每页大小
-     */
-    @GetMapping("/role/list")
-    public ResponseJson<PaginationVo<SysRole>> roleList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
-                                                        @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
-        return sysUserService.getRoleList(pageNum, pageSize);
-    }
-
-    /**
-     * 根据ID获取角色
-     */
-    @GetMapping("/role/{id}")
-    public ResponseJson<SysRole> getRole(@PathVariable("id") Integer id) {
-        if (null == id || id <= 0) {
-            return ResponseJson.error("角色Id不能为空!", null);
-        }
-        return sysUserService.getRoleInfo(id);
-    }
-
-    /**
-     * 根据ID更新角色
-     */
-    @PostMapping("/role/update/{id}")
-    public ResponseJson<Void> updateRole(@PathVariable("id") Integer id, @RequestBody SysRole sysRole) {
-        if (null == id || id <= 0) {
-            return ResponseJson.error("角色Id不能为空!", null);
-        }
-        return sysUserService.updateRole(id, sysRole);
-    }
-
-    /**
-     * 添加角色
-     */
-    @PostMapping("/role/create")
-    public ResponseJson<Void> addRole(@RequestBody SysRole sysRole) {
-        return sysUserService.addRole(sysRole);
-    }
-
-    /**
-     * 根据ID删除角色
-     */
-    @PostMapping("/role/delete/{id}")
-    public ResponseJson<Void> deleteRole(@PathVariable("id") Integer id) {
-        if (null == id || id <= 0) {
-            return ResponseJson.error("角色Id不能为空!", null);
-        }
-        return sysUserService.deleteRole(id);
-    }
-
-    /**
-     * 角色授权菜单
-     */
-    @PostMapping("/role/auth/{id}")
-    public ResponseJson<Void> setRoleMenu(@PathVariable("id") Integer id, @RequestBody SysRole sysRole) {
-        if (null == id || id <= 0) {
-            return ResponseJson.error("角色Id不能为空!", null);
-        }
-        if (!StringUtils.hasLength(sysRole.getMenuIds())){
-            return ResponseJson.error("菜单Id不能为空!", null);
-        }
-        return sysUserService.setRoleMenu(id, sysRole);
-    }
-
-    /**
-     * 获取菜单列表
-     *
-     * @param parentId 父级菜单Id
-     * @param status   状态:0启用,1停用
-     * @param pageNum  页码
-     * @param pageSize 每页大小
-     */
-    @GetMapping("/menu/list")
-    public ResponseJson<PaginationVo<SysMenu>> menuList(Integer status,
-                                                        @RequestParam(value = "parentId", defaultValue = "0") Integer parentId,
-                                                        @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
-                                                        @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
-        return sysUserService.getMenuList(parentId, status, pageNum, pageSize);
-    }
-
-    /**
-     * 获取所有启用的菜单列表(树状结构返回)
-     */
-    @GetMapping("/menu/tree")
-    public ResponseJson<List<SysMenu>> menuTree() {
-        return sysUserService.getMenuTree();
-    }
-
-    /**
-     * 根据ID获取菜单
-     */
-    @GetMapping("/menu/{id}")
-    public ResponseJson<SysMenu> getMenu(@PathVariable("id") Integer id) {
-        if (null == id || id <= 0) {
-            return ResponseJson.error("菜单Id不能为空!", null);
-        }
-        return sysUserService.getMenu(id);
-    }
-
-    /**
-     * 根据ID更新菜单
-     */
-    @PostMapping("/menu/update/{id}")
-    public ResponseJson<Void> updateMenu(@PathVariable("id") Integer id, @RequestBody SysMenu menu) {
-        if (null == id || id <= 0) {
-            return ResponseJson.error("菜单Id不能为空!", null);
-        }
-        return sysUserService.updateMenu(id, menu);
-    }
-
-    /**
-     * 根据ID(可选择的)更新菜单字段
-     */
-    @PostMapping("/menu/update/selective/{id}")
-    public ResponseJson<Void> updateMenuSelective(@PathVariable("id") Integer id, @RequestBody SysMenu menu) {
-        if (null == id || id <= 0) {
-            return ResponseJson.error("菜单Id不能为空!", null);
-        }
-        return sysUserService.updateMenuSelective(id, menu);
-    }
-
-    /**
-     * 添加菜单
-     */
-    @PostMapping("/menu/create")
-    public ResponseJson<Void> addMenu(@RequestBody SysMenu menu) {
-        return sysUserService.addMenu(menu);
-    }
-
-    /**
-     * 根据ID删除菜单
-     */
-    @PostMapping("/menu/delete/{id}")
-    public ResponseJson<Void> deleteMenu(@PathVariable("id") Integer id) {
-        if (null == id || id <= 0) {
-            return ResponseJson.error("菜单Id不能为空!", null);
-        }
-        return sysUserService.deleteMenu(id);
-    }
-
-
-    /**
-     * 用户修改资料
-     */
-    @PostMapping("user/update/profile")
-    public ResponseJson<Void> updateUserProfile( @RequestBody UserProfile profile) {
-        if (null == profile.getUserId() || profile.getUserId()<= 0) {
-            return ResponseJson.error("用户Id不能为空!", null);
-        }
-        return sysUserService.updateUserProfile(profile);
-    }
-
-    /**
-     * 用户修改密码
-     */
-    @PostMapping("user/update/password")
-    public ResponseJson<Void> updateUserPassword( @RequestBody UserProfile profile) {
-        if (null == profile.getUserId() || profile.getUserId()<= 0) {
-            return ResponseJson.error("用户Id不能为空!", null);
-        }
-        return sysUserService.updateUserPassword(profile);
-    }
-}

+ 100 - 0
src/main/java/com/caimei365/manager/controller/sys/SysMenuApi.java

@@ -0,0 +1,100 @@
+package com.caimei365.manager.controller.sys;
+
+import com.caimei365.manager.entity.PaginationVo;
+import com.caimei365.manager.entity.ResponseJson;
+import com.caimei365.manager.entity.sys.SysMenu;
+import com.caimei365.manager.service.sys.SysMenuService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2022/1/6
+ */
+@RestController
+@RequestMapping("/sys/menu")
+public class SysMenuApi {
+
+    @Resource
+    private SysMenuService sysMenuService;
+
+    /**
+     * 获取菜单列表
+     *
+     * @param parentId 父级菜单Id
+     * @param status   状态:0启用,1停用
+     * @param pageNum  页码
+     * @param pageSize 每页大小
+     */
+    @GetMapping("/list")
+    public ResponseJson<PaginationVo<SysMenu>> menuList(Integer status,
+                                                        @RequestParam(value = "parentId", defaultValue = "0") Integer parentId,
+                                                        @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+                                                        @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return sysMenuService.getMenuList(parentId, status, pageNum, pageSize);
+    }
+
+    /**
+     * 获取所有启用的菜单列表(树状结构返回)
+     */
+    @GetMapping("/tree")
+    public ResponseJson<List<SysMenu>> menuTree() {
+        return sysMenuService.getMenuTree();
+    }
+
+    /**
+     * 根据ID获取菜单
+     */
+    @GetMapping("/{id}")
+    public ResponseJson<SysMenu> getMenu(@PathVariable("id") Integer id) {
+        if (null == id || id <= 0) {
+            return ResponseJson.error("菜单Id不能为空!", null);
+        }
+        return sysMenuService.getMenu(id);
+    }
+
+    /**
+     * 根据ID更新菜单
+     */
+    @PostMapping("/update/{id}")
+    public ResponseJson<Void> updateMenu(@PathVariable("id") Integer id, @RequestBody SysMenu menu) {
+        if (null == id || id <= 0) {
+            return ResponseJson.error("菜单Id不能为空!", null);
+        }
+        return sysMenuService.updateMenu(id, menu);
+    }
+
+    /**
+     * 根据ID(可选择的)更新菜单字段
+     */
+    @PostMapping("/update/selective/{id}")
+    public ResponseJson<Void> updateMenuSelective(@PathVariable("id") Integer id, @RequestBody SysMenu menu) {
+        if (null == id || id <= 0) {
+            return ResponseJson.error("菜单Id不能为空!", null);
+        }
+        return sysMenuService.updateMenuSelective(id, menu);
+    }
+
+    /**
+     * 添加菜单
+     */
+    @PostMapping("/create")
+    public ResponseJson<Void> addMenu(@RequestBody SysMenu menu) {
+        return sysMenuService.addMenu(menu);
+    }
+
+    /**
+     * 根据ID删除菜单
+     */
+    @PostMapping("/delete/{id}")
+    public ResponseJson<Void> deleteMenu(@PathVariable("id") Integer id) {
+        if (null == id || id <= 0) {
+            return ResponseJson.error("菜单Id不能为空!", null);
+        }
+        return sysMenuService.deleteMenu(id);
+    }
+}

+ 91 - 0
src/main/java/com/caimei365/manager/controller/sys/SysRoleApi.java

@@ -0,0 +1,91 @@
+package com.caimei365.manager.controller.sys;
+
+import com.caimei365.manager.entity.PaginationVo;
+import com.caimei365.manager.entity.ResponseJson;
+import com.caimei365.manager.entity.sys.SysRole;
+import com.caimei365.manager.service.sys.SysRoleService;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2022/1/6
+ */
+@RestController
+@RequestMapping("/sys/role")
+public class SysRoleApi {
+
+    @Resource
+    private SysRoleService sysRoleService;
+
+    /**
+     * 获取角色列表
+     * @param pageNum  页码
+     * @param pageSize 每页大小
+     */
+    @GetMapping("/list")
+    public ResponseJson<PaginationVo<SysRole>> roleList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+                                                        @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return sysRoleService.getRoleList(pageNum, pageSize);
+    }
+
+    /**
+     * 根据ID获取角色
+     */
+    @GetMapping("/{id}")
+    public ResponseJson<SysRole> getRole(@PathVariable("id") Integer id) {
+        if (null == id || id <= 0) {
+            return ResponseJson.error("角色Id不能为空!", null);
+        }
+        return sysRoleService.getRoleInfo(id);
+    }
+
+    /**
+     * 根据ID更新角色
+     */
+    @PostMapping("/update/{id}")
+    public ResponseJson<Void> updateRole(@PathVariable("id") Integer id, @RequestBody SysRole sysRole) {
+        if (null == id || id <= 0) {
+            return ResponseJson.error("角色Id不能为空!", null);
+        }
+        return sysRoleService.updateRole(id, sysRole);
+    }
+
+    /**
+     * 添加角色
+     */
+    @PostMapping("/create")
+    public ResponseJson<Void> addRole(@RequestBody SysRole sysRole) {
+        return sysRoleService.addRole(sysRole);
+    }
+
+    /**
+     * 根据ID删除角色
+     */
+    @PostMapping("/delete/{id}")
+    public ResponseJson<Void> deleteRole(@PathVariable("id") Integer id) {
+        if (null == id || id <= 0) {
+            return ResponseJson.error("角色Id不能为空!", null);
+        }
+        return sysRoleService.deleteRole(id);
+    }
+
+    /**
+     * 角色授权菜单
+     */
+    @PostMapping("/auth/{id}")
+    public ResponseJson<Void> setRoleMenu(@PathVariable("id") Integer id, @RequestBody SysRole sysRole) {
+        if (null == id || id <= 0) {
+            return ResponseJson.error("角色Id不能为空!", null);
+        }
+        if (!StringUtils.hasLength(sysRole.getMenuIds())){
+            return ResponseJson.error("菜单Id不能为空!", null);
+        }
+        return sysRoleService.setRoleMenu(id, sysRole);
+    }
+
+}

+ 126 - 0
src/main/java/com/caimei365/manager/controller/sys/SysUserApi.java

@@ -0,0 +1,126 @@
+package com.caimei365.manager.controller.sys;
+
+import com.caimei365.manager.config.security.ConstantKey;
+import com.caimei365.manager.config.security.JwtService;
+import com.caimei365.manager.entity.PaginationVo;
+import com.caimei365.manager.entity.ResponseJson;
+import com.caimei365.manager.entity.sys.SysUser;
+import com.caimei365.manager.entity.sys.UserProfile;
+import com.caimei365.manager.service.sys.SysUserService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/12/2
+ */
+@RestController
+@RequestMapping("/sys/user")
+public class SysUserApi {
+
+    @Resource
+    private SysUserService sysUserService;
+    @Resource
+    private JwtService jwtService;
+
+    /**
+     * 获取用户信息
+     */
+    @GetMapping("/info")
+    public ResponseJson<SysUser> getUserInfo(HttpServletRequest request) {
+        String token = request.getHeader(ConstantKey.TOKEN_NAME);
+        String username = jwtService.getUsername(token);
+        return sysUserService.getInfoByUsername(username);
+    }
+
+    /**
+     * 退出登录
+     */
+    @PostMapping("/logout")
+    public ResponseJson<Void> logout(HttpServletRequest request) {
+        String token = request.getHeader(ConstantKey.TOKEN_NAME);
+        return sysUserService.logout(token);
+    }
+
+    /**
+     * 获取用户列表
+     *
+     * @param username 用户名
+     * @param fullName 姓名
+     * @param pageNum  页码
+     * @param pageSize 每页大小
+     */
+    @GetMapping("/list")
+    public ResponseJson<PaginationVo<SysUser>> userList(String username, String fullName,
+                                                        @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+                                                        @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return sysUserService.getUserList(username, fullName, pageNum, pageSize);
+    }
+
+    /**
+     * 根据ID获取用户
+     */
+    @GetMapping("/{id}")
+    public ResponseJson<SysUser> getUser(@PathVariable("id") Integer id) {
+        if (null == id || id <= 0) {
+            return ResponseJson.error("用户Id不能为空!", null);
+        }
+        return sysUserService.getUser(id);
+    }
+
+    /**
+     * 根据ID更新用户
+     */
+    @PostMapping("/update/{id}")
+    public ResponseJson<Void> updateUser(@PathVariable("id") Integer id, @RequestBody SysUser sysUser) {
+        if (null == id || id <= 0) {
+            return ResponseJson.error("用户Id不能为空!", null);
+        }
+        return sysUserService.updateUser(id, sysUser);
+    }
+
+    /**
+     * 添加用户
+     */
+    @PostMapping("/create")
+    public ResponseJson<Void> addUser(@RequestBody SysUser sysUser) {
+        return sysUserService.addUser(sysUser);
+    }
+
+    /**
+     * 根据ID删除用户
+     */
+    @PostMapping("/delete/{id}")
+    public ResponseJson<Void> deleteUser(@PathVariable("id") Integer id) {
+        if (null == id || id <= 0) {
+            return ResponseJson.error("用户Id不能为空!", null);
+        }
+        return sysUserService.deleteUser(id);
+    }
+
+    /**
+     * 用户修改资料
+     */
+    @PostMapping("/update/profile")
+    public ResponseJson<Void> updateUserProfile( @RequestBody UserProfile profile) {
+        if (null == profile.getUserId() || profile.getUserId()<= 0) {
+            return ResponseJson.error("用户Id不能为空!", null);
+        }
+        return sysUserService.updateUserProfile(profile);
+    }
+
+    /**
+     * 用户修改密码
+     */
+    @PostMapping("/update/password")
+    public ResponseJson<Void> updateUserPassword( @RequestBody UserProfile profile) {
+        if (null == profile.getUserId() || profile.getUserId()<= 0) {
+            return ResponseJson.error("用户Id不能为空!", null);
+        }
+        return sysUserService.updateUserPassword(profile);
+    }
+}

+ 17 - 17
src/main/java/com/caimei365/manager/controller/WeChatApi.java → src/main/java/com/caimei365/manager/controller/wechat/WechatMenuApi.java

@@ -1,10 +1,10 @@
-package com.caimei365.manager.controller;
+package com.caimei365.manager.controller.wechat;
 
 import com.caimei365.manager.config.security.ConstantKey;
 import com.caimei365.manager.config.security.JwtService;
 import com.caimei365.manager.entity.ResponseJson;
 import com.caimei365.manager.entity.wechat.WechatMenu;
-import com.caimei365.manager.service.WeChatService;
+import com.caimei365.manager.service.wechat.WechatMenuService;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -18,11 +18,11 @@ import java.util.List;
  * @date : 2022/1/4
  */
 @RestController
-@RequestMapping("/wechat")
-public class WeChatApi {
+@RequestMapping("/wechat/menu")
+public class WechatMenuApi {
 
     @Resource
-    private WeChatService weChatService;
+    private WechatMenuService wechatMenuService;
     @Resource
     private JwtService jwtService;
 
@@ -31,62 +31,62 @@ public class WeChatApi {
      *
      * @param type 类型: 1采美,2呵呵商城
      */
-    @GetMapping("/menu/list")
+    @GetMapping("/list")
     public ResponseJson<List<WechatMenu>> wechatMenuList(Integer type) {
-        return weChatService.getWechatMenuList(type);
+        return wechatMenuService.getWechatMenuList(type);
     }
 
     /**
      * 根据ID获取微信公众号菜单
      */
-    @GetMapping("/menu/{id}")
+    @GetMapping("/{id}")
     public ResponseJson<WechatMenu> getWechatMenu(@PathVariable("id") Integer id) {
         if (null == id || id <= 0) {
             return ResponseJson.error("菜单Id不能为空!", null);
         }
-        return weChatService.getWechatMenu(id);
+        return wechatMenuService.getWechatMenu(id);
     }
 
     /**
      * 根据ID更新微信公众号菜单
      */
-    @PostMapping("/menu/update/{id}")
+    @PostMapping("/update/{id}")
     public ResponseJson<Void> updateWechatMenu(HttpServletRequest request, @PathVariable("id") Integer id, @RequestBody WechatMenu menu) {
         if (null == id || id <= 0) {
             return ResponseJson.error("菜单Id不能为空!", null);
         }
         String token = request.getHeader(ConstantKey.TOKEN_NAME);
         String username = jwtService.getUsername(token);
-        return weChatService.updateWechatMenu(id, menu, username);
+        return wechatMenuService.updateWechatMenu(id, menu, username);
     }
 
     /**
      * 添加微信公众号菜单
      */
-    @PostMapping("/menu/create")
+    @PostMapping("/create")
     public ResponseJson<Void> addWechatMenu(HttpServletRequest request, @RequestBody WechatMenu menu) {
         String token = request.getHeader(ConstantKey.TOKEN_NAME);
         String username = jwtService.getUsername(token);
-        return weChatService.addWechatMenu(menu, username);
+        return wechatMenuService.addWechatMenu(menu, username);
     }
 
     /**
      * 根据ID删除微信公众号菜单
      */
-    @PostMapping("/menu/delete/{id}")
+    @PostMapping("/delete/{id}")
     public ResponseJson<Void> deleteWechatMenu(@PathVariable("id") Integer id) {
         if (null == id || id <= 0) {
             return ResponseJson.error("菜单Id不能为空!", null);
         }
-        return weChatService.deleteWechatMenu(id);
+        return wechatMenuService.deleteWechatMenu(id);
     }
 
     /**
      * 微信公众号菜单发布
      * @param type 类型: 1采美,2呵呵商城
      */
-    @PostMapping("/menu/push/{type}")
+    @PostMapping("/push/{type}")
     public ResponseJson<Void> pushWechatMenu(@PathVariable("type") Integer type) {
-        return weChatService.pushWechatMenu(type);
+        return wechatMenuService.pushWechatMenu(type);
     }
 }

+ 0 - 123
src/main/java/com/caimei365/manager/service/SysUserService.java

@@ -1,123 +0,0 @@
-package com.caimei365.manager.service;
-
-
-import com.caimei365.manager.entity.*;
-import com.caimei365.manager.entity.sys.SysMenu;
-import com.caimei365.manager.entity.sys.SysRole;
-import com.caimei365.manager.entity.sys.SysUser;
-import com.caimei365.manager.entity.sys.UserProfile;
-
-import java.util.List;
-
-/**
- * Description
- *
- * @author : Charles
- * @date : 2021/12/2
- */
-
-public interface SysUserService {
-    /**
-     * 获取用户信息
-     */
-    ResponseJson<SysUser> getInfoByUsername(String username);
-    /**
-     * 退出登录
-     */
-    ResponseJson<Void> logout(String token);
-
-    /**
-     * 获取用户列表
-     *
-     * @param username 用户名
-     * @param fullName 姓名
-     * @param pageNum  页码
-     * @param pageSize 每页大小
-     */
-    ResponseJson<PaginationVo<SysUser>> getUserList(String username, String fullName, int pageNum, int pageSize);
-    /**
-     * 根据ID获取用户
-     */
-    ResponseJson<SysUser> getUser(Integer id);
-    /**
-     * 根据ID更新用户
-     */
-    ResponseJson<Void> updateUser(Integer id, SysUser sysUser);
-    /**
-     * 添加用户
-     */
-    ResponseJson<Void> addUser(SysUser sysUser);
-    /**
-     * 根据ID删除用户
-     */
-    ResponseJson<Void> deleteUser(Integer id);
-
-    /**
-     * 获取角色列表
-     * @param pageNum  页码
-     * @param pageSize 每页大小
-     */
-    ResponseJson<PaginationVo<SysRole>> getRoleList(int pageNum, int pageSize);
-    /**
-     * 根据ID获取角色
-     */
-    ResponseJson<SysRole> getRoleInfo(Integer id);
-    /**
-     * 根据ID更新角色
-     */
-    ResponseJson<Void> updateRole(Integer id, SysRole sysRole);
-    /**
-     * 添加角色
-     */
-    ResponseJson<Void> addRole(SysRole sysRole);
-    /**
-     * 根据ID删除角色
-     */
-    ResponseJson<Void> deleteRole(Integer id);
-    /**
-     * 角色授权菜单
-     */
-    ResponseJson<Void> setRoleMenu(Integer id, SysRole sysRole);
-
-    /**
-     * 获取菜单列表
-     * @param parentId 父级菜单Id
-     * @param status   状态:0启用,1停用
-     * @param pageNum  页码
-     * @param pageSize 每页大小
-     */
-    ResponseJson<PaginationVo<SysMenu>> getMenuList(Integer parentId, Integer status, int pageNum, int pageSize);
-    /**
-     * 获取所有启用的菜单列表(树状结构返回)
-     */
-    ResponseJson<List<SysMenu>> getMenuTree();
-    /**
-     * 根据ID获取菜单
-     */
-    ResponseJson<SysMenu> getMenu(Integer id);
-    /**
-     * 根据ID更新菜单
-     */
-    ResponseJson<Void> updateMenu(Integer id, SysMenu menu);
-    /**
-     * 根据ID(可选择的)更新菜单字段
-     */
-    ResponseJson<Void> updateMenuSelective(Integer id, SysMenu menu);
-    /**
-     * 添加菜单
-     */
-    ResponseJson<Void> addMenu(SysMenu menu);
-    /**
-     * 根据ID删除菜单
-     */
-    ResponseJson<Void> deleteMenu(Integer id);
-
-    /**
-     * 用户修改资料
-     */
-    ResponseJson<Void> updateUserProfile(UserProfile profile);
-    /**
-     * 用户修改密码
-     */
-    ResponseJson<Void> updateUserPassword(UserProfile profile);
-}

+ 0 - 513
src/main/java/com/caimei365/manager/service/impl/SysUserServiceImpl.java

@@ -1,513 +0,0 @@
-package com.caimei365.manager.service.impl;
-
-import com.caimei365.manager.dao.SysUserDao;
-import com.caimei365.manager.entity.*;
-import com.caimei365.manager.entity.sys.SysMenu;
-import com.caimei365.manager.entity.sys.SysRole;
-import com.caimei365.manager.entity.sys.SysUser;
-import com.caimei365.manager.entity.sys.UserProfile;
-import com.caimei365.manager.service.RedisService;
-import com.caimei365.manager.service.SysUserService;
-import com.github.pagehelper.PageHelper;
-import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
-
-import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Description
- *
- * @author : Charles
- * @date : 2021/12/10
- */
-@Service
-public class SysUserServiceImpl implements SysUserService {
-
-    @Resource
-    private SysUserDao sysUserDao;
-
-    @Resource
-    private BCryptPasswordEncoder passwordEncoder;
-
-    @Resource
-    private RedisService redisService;
-
-    /**
-     * 获取用户信息
-     */
-    @Override
-    public ResponseJson<SysUser> getInfoByUsername(String username) {
-        if (StringUtils.hasLength(username)) {
-            SysUser sysUser = sysUserDao.findByUsername(username);
-            if (null != sysUser) {
-                List<String> roleNames = new ArrayList<>();
-                List<Integer> roleIds = new ArrayList<>();
-                StringBuilder roleDesc = new StringBuilder();
-                // 根据用户Id获取用户角色列表
-                List<SysRole> roleList = sysUserDao.getRoleListByUserId(sysUser.getId());
-                if (!CollectionUtils.isEmpty(roleList)) {
-                    for (SysRole role : roleList) {
-                        if (null != role) {
-                            roleNames.add(role.getRoleName());
-                            roleIds.add(role.getId());
-                            roleDesc.append(role.getRoleDesc()).append(" ");
-                        }
-                    }
-                }
-                sysUser.setRoles(roleNames);
-                sysUser.setRoleDesc(roleDesc.toString());
-                List<SysMenu> menus = null;
-                if (!CollectionUtils.isEmpty(roleIds)) {
-                    // 根据角色Id获取菜单列表
-                    menus = sysUserDao.getMenusByRoleIds(roleIds);
-                }
-                sysUser.setMenus(menus);
-            }
-
-            return ResponseJson.success(sysUser);
-        }
-        return ResponseJson.error("用户数据异常", null);
-    }
-
-    /**
-     * 退出登录
-     */
-    @Override
-    public ResponseJson<Void> logout(String token) {
-        if (StringUtils.hasLength(token)) {
-            redisService.remove(token);
-        }
-        return ResponseJson.success();
-    }
-
-    /**
-     * 获取用户列表
-     *
-     * @param username 用户名
-     * @param fullName 姓名
-     * @param pageNum  页码
-     * @param pageSize 每页大小
-     */
-    @Override
-    public ResponseJson<PaginationVo<SysUser>> getUserList(String username, String fullName, int pageNum, int pageSize) {
-        PageHelper.startPage(pageNum, pageSize);
-        List<SysUser> menus = sysUserDao.getUserList(username, fullName);
-        PaginationVo<SysUser> pageData = new PaginationVo<>(menus);
-        return ResponseJson.success(pageData);
-    }
-
-    /**
-     * 根据ID获取用户
-     */
-    @Override
-    public ResponseJson<SysUser> getUser(Integer id) {
-        SysUser sysUser = sysUserDao.getUser(id);
-        if (null != sysUser) {
-            // 根据用户ID获取角色Ids
-            List<String> roleIdList = sysUserDao.getRoleIdsByUserId(id);
-            StringBuilder roleIds = new StringBuilder();
-            for (int i = 0; i < roleIdList.size(); i++) {
-                if (StringUtils.hasLength(roleIdList.get(i))){
-                    if (i == 0) {
-                        roleIds.append(roleIdList.get(i));
-                    } else {
-                        roleIds.append(",").append(roleIdList.get(i));
-                    }
-                }
-            }
-            sysUser.setRoleIds(roleIds.toString());
-        }
-        return ResponseJson.success(sysUser);
-    }
-
-    /**
-     * 根据ID更新用户
-     */
-    @Override
-    public ResponseJson<Void> updateUser(Integer id, SysUser sysUser) {
-        sysUser.setId(id);
-        sysUser.setDelFlag(0);
-        if (StringUtils.hasLength(sysUser.getPassword())){
-            // 密码加密
-            String encodePassword = passwordEncoder.encode(sysUser.getPassword());
-            sysUser.setPassword(encodePassword);
-        }
-        // 删除原有角色关联
-        sysUserDao.deleteUserRoleRelation(id);
-        // 前端传入角色Ids,用","隔开
-        String roleIds = sysUser.getRoleIds();
-        // 保存用户角色关系
-        saveRoleRelation(sysUser.getId(), roleIds);
-        sysUserDao.updateSysUser(sysUser);
-        return ResponseJson.success();
-    }
-
-    /**
-     * 添加用户
-     */
-    @Override
-    public ResponseJson<Void> addUser(SysUser sysUser) {
-        if (StringUtils.hasLength(sysUser.getUsername()) && StringUtils.hasLength(sysUser.getPassword())) {
-            // 查询是否存在当前用户名的用户
-            SysUser dbUser = sysUserDao.findByUsername(sysUser.getUsername());
-            if (null == dbUser || dbUser.getDelFlag() != 0) {
-                // 密码加密
-                String encodePassword = passwordEncoder.encode(sysUser.getPassword());
-                sysUser.setPassword(encodePassword);
-                // 新增用户
-                sysUserDao.insertSysUser(sysUser);
-                // 角色Ids,用","隔开
-                String roleIds = sysUser.getRoleIds();
-                // 保存用户角色关系
-                saveRoleRelation(sysUser.getId(), roleIds);
-                return ResponseJson.success("添加用户成功", null);
-            } else if (!Integer.valueOf(0).equals(dbUser.getDelFlag())){
-                // 更新已删除用户
-                return updateUser(dbUser.getId(), sysUser);
-            } else {
-                return ResponseJson.error("用户名已存在", null);
-            }
-        }
-        return ResponseJson.error("用户名或密码不能为空", null);
-    }
-
-    /**
-     * 根据ID删除用户
-     */
-    @Override
-    public ResponseJson<Void> deleteUser(Integer id) {
-        // 删除用户角色关联
-        sysUserDao.deleteUserRoleRelation(id);
-        // 删除用户
-        sysUserDao.deleteSysUser(id);
-        return ResponseJson.success();
-    }
-
-    /**
-     * 保存用户角色关系
-     */
-    private void saveRoleRelation(Integer userId, String roleIds) {
-        if (StringUtils.hasLength(roleIds)) {
-            // 设置用户角色
-            String[] split = roleIds.split(",");
-            for (String s : split) {
-                if (StringUtils.hasLength(s)) {
-                    // 保存用户角色关系
-                    sysUserDao.insertUserRoleRelation(userId, Integer.valueOf(s));
-                }
-            }
-        }
-    }
-
-    /**
-     * 获取角色列表
-     *
-     * @param pageNum  页码
-     * @param pageSize 每页大小
-     */
-    @Override
-    public ResponseJson<PaginationVo<SysRole>> getRoleList(int pageNum, int pageSize) {
-        PageHelper.startPage(pageNum, pageSize);
-        List<SysRole> roles = sysUserDao.getRoleList();
-        PaginationVo<SysRole> pageData = new PaginationVo<>(roles);
-        return ResponseJson.success(pageData);
-    }
-
-    /**
-     * 根据ID获取角色
-     */
-    @Override
-    public ResponseJson<SysRole> getRoleInfo(Integer id) {
-        SysRole sysRole = getRole(id);
-        if (null != sysRole) {
-            // 根据角色ID获取菜单Ids
-            List<String> menuIdList = sysUserDao.getMenuIdsByRoleId(id);
-            StringBuilder menuIds = new StringBuilder();
-            for (int i = 0; i < menuIdList.size(); i++) {
-                if (StringUtils.hasLength(menuIdList.get(i))){
-                    if (i == 0) {
-                        menuIds.append(menuIdList.get(i));
-                    } else {
-                        menuIds.append(",").append(menuIdList.get(i));
-                    }
-                }
-            }
-            sysRole.setMenuIds(menuIds.toString());
-        }
-        return ResponseJson.success(sysRole);
-    }
-
-    private SysRole getRole(Integer id) {
-        return sysUserDao.getRole(id);
-    }
-
-    /**
-     * 根据ID更新角色
-     */
-    @Override
-    public ResponseJson<Void> updateRole(Integer id, SysRole sysRole) {
-        sysRole.setId(id);
-        sysRole.setDelFlag(0);
-        // 删除原有角色菜单关联
-        sysUserDao.deleteRoleMenuRelation(id);
-        // 菜单Ids,用","隔开
-        String menuIds = sysRole.getMenuIds();
-        sysUserDao.updateRole(sysRole);
-        // 保存角色菜单关系
-        saveRoleMenuRelation(sysRole.getId(), menuIds);
-        return ResponseJson.success();
-    }
-
-    /**
-     * 添加角色
-     */
-    @Override
-    public ResponseJson<Void> addRole(SysRole sysRole) {
-        if (StringUtils.hasLength(sysRole.getRoleName())) {
-            // 查询是否存在当前角色
-            SysRole dbRole  = sysUserDao.getRoleByRoleName(sysRole.getRoleName());
-            if (null == dbRole) {
-                String menuIds = sysRole.getMenuIds();
-                // 保存角色
-                sysUserDao.insertRole(sysRole);
-                // 保存角色菜单关系
-                saveRoleMenuRelation(sysRole.getId(), menuIds);
-                return ResponseJson.success();
-            } else if (!Integer.valueOf(0).equals(dbRole.getDelFlag())){
-                // 更新已删除角色
-                return updateRole(dbRole.getId(), sysRole);
-            } else {
-                return ResponseJson.error("角色名已存在", null);
-            }
-        }
-        return ResponseJson.error("角色名称不能为空", null);
-    }
-
-    /**
-     * 根据ID删除角色
-     */
-    @Override
-    public ResponseJson<Void> deleteRole(Integer id) {
-        // 删除角色菜单关联
-        sysUserDao.deleteRoleMenuRelation(id);
-        // 删除角色
-        sysUserDao.deleteRole(id);
-        return ResponseJson.success();
-    }
-
-    /**
-     * 角色授权菜单
-     */
-    @Override
-    public ResponseJson<Void> setRoleMenu(Integer id, SysRole sysRole) {
-        // 删除原有角色菜单关联
-        sysUserDao.deleteRoleMenuRelation(id);
-        // 保存角色菜单关系
-        String menuIds = sysRole.getMenuIds();
-        saveRoleMenuRelation(id, menuIds);
-        return ResponseJson.success();
-    }
-
-    /**
-     * 保存角色菜单关系
-     */
-    private void saveRoleMenuRelation(Integer roleId, String menuIds) {
-        if (StringUtils.hasLength(menuIds)) {
-            // 设置角色菜单
-            String[] split = menuIds.split(",");
-            for (String s : split) {
-                if (StringUtils.hasLength(s)) {
-                    // 保存角色菜单关系
-                    sysUserDao.insertRoleMenuRelation(roleId, Integer.valueOf(s));
-                }
-            }
-        }
-    }
-
-    /**
-     * 获取菜单列表
-     *
-     * @param parentId 父级菜单Id
-     * @param status   状态:0启用,1停用
-     * @param pageNum  页码
-     * @param pageSize 每页大小
-     */
-    @Override
-    public ResponseJson<PaginationVo<SysMenu>> getMenuList(Integer parentId, Integer status, int pageNum, int pageSize) {
-        PageHelper.startPage(pageNum, pageSize);
-        List<SysMenu> menus = sysUserDao.getMenuList(parentId, status);
-        PaginationVo<SysMenu> pageData = new PaginationVo<>(menus);
-        return ResponseJson.success(pageData);
-    }
-
-    /**
-     * 获取所有启用的菜单列表(树状结构返回)
-     */
-    @Override
-    public ResponseJson<List<SysMenu>> getMenuTree() {
-        List<SysMenu> menus = sysUserDao.getMenuList(0, 0);
-        // 递归设置子菜单
-        setSubMenusData(menus);
-        return ResponseJson.success(menus);
-    }
-
-    /**
-     * 递归设置子菜单
-     */
-    private void setSubMenusData(List<SysMenu> menus) {
-        if (!CollectionUtils.isEmpty(menus)) {
-            for (SysMenu menu : menus) {
-                List<SysMenu> submenus = sysUserDao.getMenuList(menu.getId(), 0);
-                if (!CollectionUtils.isEmpty(submenus)) {
-                    setSubMenusData(submenus);
-                    menu.setSubMenus(submenus);
-                }
-            }
-        }
-    }
-
-    /**
-     * 根据ID获取菜单
-     */
-    @Override
-    public ResponseJson<SysMenu> getMenu(Integer id) {
-        SysMenu menu = sysUserDao.getMenu(id);
-        return ResponseJson.success(menu);
-    }
-
-    /**
-     * 根据ID更新菜单
-     */
-    @Override
-    public ResponseJson<Void> updateMenu(Integer id, SysMenu menu) {
-        menu.setId(id);
-        menu.setDelFlag(0);
-        sysUserDao.updateMenu(menu);
-        return ResponseJson.success();
-    }
-
-    /**
-     * 根据ID(可选择的)更新菜单字段
-     */
-    @Override
-    public ResponseJson<Void> updateMenuSelective(Integer id, SysMenu menu) {
-        SysMenu dbMenu = sysUserDao.getMenu(id);
-        if (StringUtils.hasLength(menu.getTitle())){
-            dbMenu.setTitle(menu.getTitle());
-        }
-        if (StringUtils.hasLength(menu.getName())){
-            dbMenu.setName(menu.getName());
-        }
-        if (StringUtils.hasLength(menu.getIcon())){
-            dbMenu.setIcon(menu.getIcon());
-        }
-        if (null != menu.getParentId()){
-            dbMenu.setParentId(menu.getParentId());
-        }
-        if (null != menu.getSort()){
-            dbMenu.setSort(menu.getSort());
-        }
-        if (null != menu.getHidden()){
-            dbMenu.setHidden(menu.getHidden());
-        }
-        if (null != menu.getStatus()){
-            dbMenu.setStatus(menu.getStatus());
-        }
-        sysUserDao.updateMenu(dbMenu);
-        return ResponseJson.success();
-    }
-
-    /**
-     * 添加菜单
-     *
-     * @param menu
-     */
-    @Override
-    public ResponseJson<Void> addMenu(SysMenu menu) {
-        if (null == menu.getParentId()) {
-            menu.setParentId(0);
-        }
-        if (!StringUtils.hasLength(menu.getName())) {
-            return ResponseJson.error("菜单路由名不能为空!", null);
-        }
-        if (!StringUtils.hasLength(menu.getTitle())) {
-            return ResponseJson.error("菜单名称不能为空!", null);
-        }
-        // 根据路由名称查询菜单
-        SysMenu dbMenu = sysUserDao.getMenuByName(menu.getName());
-        if (null == dbMenu) {
-            sysUserDao.insertMenu(menu);
-        } else if (!Integer.valueOf(0).equals(dbMenu.getDelFlag())){
-            // 更新已删除菜单
-            return updateMenu(dbMenu.getId(), menu);
-        } else {
-            return ResponseJson.error("菜单路由名已存在", null);
-        }
-        return ResponseJson.success();
-    }
-
-    /**
-     * 根据ID删除菜单
-     *
-     * @param id
-     */
-    @Override
-    public ResponseJson<Void> deleteMenu(Integer id) {
-        sysUserDao.deleteMenu(id);
-        return ResponseJson.success();
-    }
-
-    /**
-     * 用户修改资料
-     */
-    @Override
-    public ResponseJson<Void> updateUserProfile(UserProfile profile) {
-        SysUser sysUser = sysUserDao.getUser(profile.getUserId());
-        if (null == sysUser) {
-            return ResponseJson.error("用户异常!", null);
-        }
-        if (StringUtils.hasLength(profile.getUsername())){
-            sysUser.setUsername(profile.getUsername());
-        }
-        if (StringUtils.hasLength(profile.getFullName())){
-            sysUser.setFullName(profile.getFullName());
-        }
-        if (StringUtils.hasLength(profile.getPhone())){
-            sysUser.setPhone(profile.getPhone());
-        }
-        if (StringUtils.hasLength(profile.getAvatar())){
-            sysUser.setAvatar(profile.getAvatar());
-        }
-        sysUserDao.updateSysUser(sysUser);
-        return ResponseJson.success();
-    }
-
-    /**
-     * 用户修改密码
-     */
-    @Override
-    public ResponseJson<Void> updateUserPassword(UserProfile profile) {
-        SysUser sysUser = sysUserDao.getUser(profile.getUserId());
-        if (null == sysUser) {
-            return ResponseJson.error("用户异常!", null);
-        }
-        if (!StringUtils.hasLength(profile.getPassword())){
-            return ResponseJson.error("新密码不能为空!", null);
-        }
-        if (!profile.getPassword().equals(profile.getConfirmPassword())){
-            return ResponseJson.error("两次密码输入不一致!", null);
-        }
-        if (!passwordEncoder.matches(profile.getOldPassword(), sysUser.getPassword())) {
-            return ResponseJson.error("旧密码输入错误!", null);
-        }
-        // 密码加密
-        String encodePassword = passwordEncoder.encode(profile.getPassword());
-        sysUser.setPassword(encodePassword);
-        sysUserDao.updateSysUser(sysUser);
-        return ResponseJson.success();
-    }
-}

+ 48 - 0
src/main/java/com/caimei365/manager/service/sys/SysMenuService.java

@@ -0,0 +1,48 @@
+package com.caimei365.manager.service.sys;
+
+import com.caimei365.manager.entity.PaginationVo;
+import com.caimei365.manager.entity.ResponseJson;
+import com.caimei365.manager.entity.sys.SysMenu;
+
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2022/1/6
+ */
+public interface SysMenuService {
+    /**
+     * 获取菜单列表
+     * @param parentId 父级菜单Id
+     * @param status   状态:0启用,1停用
+     * @param pageNum  页码
+     * @param pageSize 每页大小
+     */
+    ResponseJson<PaginationVo<SysMenu>> getMenuList(Integer parentId, Integer status, int pageNum, int pageSize);
+    /**
+     * 获取所有启用的菜单列表(树状结构返回)
+     */
+    ResponseJson<List<SysMenu>> getMenuTree();
+    /**
+     * 根据ID获取菜单
+     */
+    ResponseJson<SysMenu> getMenu(Integer id);
+    /**
+     * 根据ID更新菜单
+     */
+    ResponseJson<Void> updateMenu(Integer id, SysMenu menu);
+    /**
+     * 根据ID(可选择的)更新菜单字段
+     */
+    ResponseJson<Void> updateMenuSelective(Integer id, SysMenu menu);
+    /**
+     * 添加菜单
+     */
+    ResponseJson<Void> addMenu(SysMenu menu);
+    /**
+     * 根据ID删除菜单
+     */
+    ResponseJson<Void> deleteMenu(Integer id);
+}

+ 40 - 0
src/main/java/com/caimei365/manager/service/sys/SysRoleService.java

@@ -0,0 +1,40 @@
+package com.caimei365.manager.service.sys;
+
+import com.caimei365.manager.entity.PaginationVo;
+import com.caimei365.manager.entity.ResponseJson;
+import com.caimei365.manager.entity.sys.SysRole;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2022/1/6
+ */
+public interface SysRoleService {
+    /**
+     * 获取角色列表
+     * @param pageNum  页码
+     * @param pageSize 每页大小
+     */
+    ResponseJson<PaginationVo<SysRole>> getRoleList(int pageNum, int pageSize);
+    /**
+     * 根据ID获取角色
+     */
+    ResponseJson<SysRole> getRoleInfo(Integer id);
+    /**
+     * 根据ID更新角色
+     */
+    ResponseJson<Void> updateRole(Integer id, SysRole sysRole);
+    /**
+     * 添加角色
+     */
+    ResponseJson<Void> addRole(SysRole sysRole);
+    /**
+     * 根据ID删除角色
+     */
+    ResponseJson<Void> deleteRole(Integer id);
+    /**
+     * 角色授权菜单
+     */
+    ResponseJson<Void> setRoleMenu(Integer id, SysRole sysRole);
+}

+ 60 - 0
src/main/java/com/caimei365/manager/service/sys/SysUserService.java

@@ -0,0 +1,60 @@
+package com.caimei365.manager.service.sys;
+
+
+import com.caimei365.manager.entity.PaginationVo;
+import com.caimei365.manager.entity.ResponseJson;
+import com.caimei365.manager.entity.sys.SysUser;
+import com.caimei365.manager.entity.sys.UserProfile;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/12/2
+ */
+
+public interface SysUserService {
+    /**
+     * 获取用户信息
+     */
+    ResponseJson<SysUser> getInfoByUsername(String username);
+    /**
+     * 退出登录
+     */
+    ResponseJson<Void> logout(String token);
+
+    /**
+     * 获取用户列表
+     *
+     * @param username 用户名
+     * @param fullName 姓名
+     * @param pageNum  页码
+     * @param pageSize 每页大小
+     */
+    ResponseJson<PaginationVo<SysUser>> getUserList(String username, String fullName, int pageNum, int pageSize);
+    /**
+     * 根据ID获取用户
+     */
+    ResponseJson<SysUser> getUser(Integer id);
+    /**
+     * 根据ID更新用户
+     */
+    ResponseJson<Void> updateUser(Integer id, SysUser sysUser);
+    /**
+     * 添加用户
+     */
+    ResponseJson<Void> addUser(SysUser sysUser);
+    /**
+     * 根据ID删除用户
+     */
+    ResponseJson<Void> deleteUser(Integer id);
+
+    /**
+     * 用户修改资料
+     */
+    ResponseJson<Void> updateUserProfile(UserProfile profile);
+    /**
+     * 用户修改密码
+     */
+    ResponseJson<Void> updateUserPassword(UserProfile profile);
+}

+ 158 - 0
src/main/java/com/caimei365/manager/service/sys/impl/SysMenuServiceImpl.java

@@ -0,0 +1,158 @@
+package com.caimei365.manager.service.sys.impl;
+
+import com.caimei365.manager.dao.SysUserDao;
+import com.caimei365.manager.entity.PaginationVo;
+import com.caimei365.manager.entity.ResponseJson;
+import com.caimei365.manager.entity.sys.SysMenu;
+import com.caimei365.manager.service.sys.SysMenuService;
+import com.github.pagehelper.PageHelper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2022/1/6
+ */
+@Slf4j
+@Service
+public class SysMenuServiceImpl implements SysMenuService {
+
+    @Resource
+    private SysUserDao sysUserDao;
+
+    /**
+     * 获取菜单列表
+     *
+     * @param parentId 父级菜单Id
+     * @param status   状态:0启用,1停用
+     * @param pageNum  页码
+     * @param pageSize 每页大小
+     */
+    @Override
+    public ResponseJson<PaginationVo<SysMenu>> getMenuList(Integer parentId, Integer status, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<SysMenu> menus = sysUserDao.getMenuList(parentId, status);
+        PaginationVo<SysMenu> pageData = new PaginationVo<>(menus);
+        return ResponseJson.success(pageData);
+    }
+
+    /**
+     * 获取所有启用的菜单列表(树状结构返回)
+     */
+    @Override
+    public ResponseJson<List<SysMenu>> getMenuTree() {
+        List<SysMenu> menus = sysUserDao.getMenuList(0, 0);
+        // 递归设置子菜单
+        setSubMenusData(menus);
+        return ResponseJson.success(menus);
+    }
+
+    /**
+     * 递归设置子菜单
+     */
+    private void setSubMenusData(List<SysMenu> menus) {
+        if (!CollectionUtils.isEmpty(menus)) {
+            for (SysMenu menu : menus) {
+                List<SysMenu> submenus = sysUserDao.getMenuList(menu.getId(), 0);
+                if (!CollectionUtils.isEmpty(submenus)) {
+                    setSubMenusData(submenus);
+                    menu.setSubMenus(submenus);
+                }
+            }
+        }
+    }
+
+    /**
+     * 根据ID获取菜单
+     */
+    @Override
+    public ResponseJson<SysMenu> getMenu(Integer id) {
+        SysMenu menu = sysUserDao.getMenu(id);
+        return ResponseJson.success(menu);
+    }
+
+    /**
+     * 根据ID更新菜单
+     */
+    @Override
+    public ResponseJson<Void> updateMenu(Integer id, SysMenu menu) {
+        menu.setId(id);
+        menu.setDelFlag(0);
+        sysUserDao.updateMenu(menu);
+        return ResponseJson.success();
+    }
+
+    /**
+     * 根据ID(可选择的)更新菜单字段
+     */
+    @Override
+    public ResponseJson<Void> updateMenuSelective(Integer id, SysMenu menu) {
+        SysMenu dbMenu = sysUserDao.getMenu(id);
+        if (StringUtils.hasLength(menu.getTitle())){
+            dbMenu.setTitle(menu.getTitle());
+        }
+        if (StringUtils.hasLength(menu.getName())){
+            dbMenu.setName(menu.getName());
+        }
+        if (StringUtils.hasLength(menu.getIcon())){
+            dbMenu.setIcon(menu.getIcon());
+        }
+        if (null != menu.getParentId()){
+            dbMenu.setParentId(menu.getParentId());
+        }
+        if (null != menu.getSort()){
+            dbMenu.setSort(menu.getSort());
+        }
+        if (null != menu.getHidden()){
+            dbMenu.setHidden(menu.getHidden());
+        }
+        if (null != menu.getStatus()){
+            dbMenu.setStatus(menu.getStatus());
+        }
+        sysUserDao.updateMenu(dbMenu);
+        return ResponseJson.success();
+    }
+
+    /**
+     * 添加菜单
+     */
+    @Override
+    public ResponseJson<Void> addMenu(SysMenu menu) {
+        if (null == menu.getParentId()) {
+            menu.setParentId(0);
+        }
+        if (!StringUtils.hasLength(menu.getName())) {
+            return ResponseJson.error("菜单路由名不能为空!", null);
+        }
+        if (!StringUtils.hasLength(menu.getTitle())) {
+            return ResponseJson.error("菜单名称不能为空!", null);
+        }
+        // 根据路由名称查询菜单
+        SysMenu dbMenu = sysUserDao.getMenuByName(menu.getName());
+        if (null == dbMenu) {
+            sysUserDao.insertMenu(menu);
+        } else if (!Integer.valueOf(0).equals(dbMenu.getDelFlag())){
+            // 更新已删除菜单
+            return updateMenu(dbMenu.getId(), menu);
+        } else {
+            return ResponseJson.error("菜单路由名已存在", null);
+        }
+        return ResponseJson.success();
+    }
+
+    /**
+     * 根据ID删除菜单
+     */
+    @Override
+    public ResponseJson<Void> deleteMenu(Integer id) {
+        sysUserDao.deleteMenu(id);
+        return ResponseJson.success();
+    }
+}

+ 145 - 0
src/main/java/com/caimei365/manager/service/sys/impl/SysRoleServiceImpl.java

@@ -0,0 +1,145 @@
+package com.caimei365.manager.service.sys.impl;
+
+import com.caimei365.manager.dao.SysUserDao;
+import com.caimei365.manager.entity.PaginationVo;
+import com.caimei365.manager.entity.ResponseJson;
+import com.caimei365.manager.entity.sys.SysRole;
+import com.caimei365.manager.service.sys.SysRoleService;
+import com.caimei365.manager.utils.CommonUtil;
+import com.github.pagehelper.PageHelper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2022/1/6
+ */
+@Slf4j
+@Service
+public class SysRoleServiceImpl implements SysRoleService {
+
+    @Resource
+    private SysUserDao sysUserDao;
+
+    /**
+     * 获取角色列表
+     *
+     * @param pageNum  页码
+     * @param pageSize 每页大小
+     */
+    @Override
+    public ResponseJson<PaginationVo<SysRole>> getRoleList(int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<SysRole> roles = sysUserDao.getRoleList();
+        PaginationVo<SysRole> pageData = new PaginationVo<>(roles);
+        return ResponseJson.success(pageData);
+    }
+
+    /**
+     * 根据ID获取角色
+     */
+    @Override
+    public ResponseJson<SysRole> getRoleInfo(Integer id) {
+        SysRole sysRole = getRole(id);
+        if (null != sysRole) {
+            // 根据角色ID获取菜单Ids
+            List<String> menuIdList = sysUserDao.getMenuIdsByRoleId(id);
+            String menuIds = CommonUtil.listToString(menuIdList, ",");
+            sysRole.setMenuIds(menuIds);
+        }
+        return ResponseJson.success(sysRole);
+    }
+
+    private SysRole getRole(Integer id) {
+        return sysUserDao.getRole(id);
+    }
+
+    /**
+     * 根据ID更新角色
+     */
+    @Override
+    public ResponseJson<Void> updateRole(Integer id, SysRole sysRole) {
+        sysRole.setId(id);
+        sysRole.setDelFlag(0);
+        // 删除原有角色菜单关联
+        sysUserDao.deleteRoleMenuRelation(id);
+        // 菜单Ids,用","隔开
+        String menuIds = sysRole.getMenuIds();
+        sysUserDao.updateRole(sysRole);
+        // 保存角色菜单关系
+        saveRoleMenuRelation(sysRole.getId(), menuIds);
+        return ResponseJson.success();
+    }
+
+    /**
+     * 添加角色
+     */
+    @Override
+    public ResponseJson<Void> addRole(SysRole sysRole) {
+        if (StringUtils.hasLength(sysRole.getRoleName())) {
+            // 查询是否存在当前角色
+            SysRole dbRole  = sysUserDao.getRoleByRoleName(sysRole.getRoleName());
+            if (null == dbRole) {
+                String menuIds = sysRole.getMenuIds();
+                // 保存角色
+                sysUserDao.insertRole(sysRole);
+                // 保存角色菜单关系
+                saveRoleMenuRelation(sysRole.getId(), menuIds);
+                return ResponseJson.success();
+            } else if (!Integer.valueOf(0).equals(dbRole.getDelFlag())){
+                // 更新已删除角色
+                return updateRole(dbRole.getId(), sysRole);
+            } else {
+                return ResponseJson.error("角色名已存在", null);
+            }
+        }
+        return ResponseJson.error("角色名称不能为空", null);
+    }
+
+    /**
+     * 根据ID删除角色
+     */
+    @Override
+    public ResponseJson<Void> deleteRole(Integer id) {
+        // 删除角色菜单关联
+        sysUserDao.deleteRoleMenuRelation(id);
+        // 删除角色
+        sysUserDao.deleteRole(id);
+        return ResponseJson.success();
+    }
+
+    /**
+     * 角色授权菜单
+     */
+    @Override
+    public ResponseJson<Void> setRoleMenu(Integer id, SysRole sysRole) {
+        // 删除原有角色菜单关联
+        sysUserDao.deleteRoleMenuRelation(id);
+        // 保存角色菜单关系
+        String menuIds = sysRole.getMenuIds();
+        saveRoleMenuRelation(id, menuIds);
+        return ResponseJson.success();
+    }
+
+    /**
+     * 保存角色菜单关系
+     */
+    private void saveRoleMenuRelation(Integer roleId, String menuIds) {
+        if (StringUtils.hasLength(menuIds)) {
+            // 设置角色菜单
+            String[] split = menuIds.split(",");
+            for (String s : split) {
+                if (StringUtils.hasLength(s)) {
+                    // 保存角色菜单关系
+                    sysUserDao.insertRoleMenuRelation(roleId, Integer.valueOf(s));
+                }
+            }
+        }
+    }
+}

+ 248 - 0
src/main/java/com/caimei365/manager/service/sys/impl/SysUserServiceImpl.java

@@ -0,0 +1,248 @@
+package com.caimei365.manager.service.sys.impl;
+
+import com.caimei365.manager.dao.SysUserDao;
+import com.caimei365.manager.entity.PaginationVo;
+import com.caimei365.manager.entity.ResponseJson;
+import com.caimei365.manager.entity.sys.SysMenu;
+import com.caimei365.manager.entity.sys.SysRole;
+import com.caimei365.manager.entity.sys.SysUser;
+import com.caimei365.manager.entity.sys.UserProfile;
+import com.caimei365.manager.service.RedisService;
+import com.caimei365.manager.service.sys.SysUserService;
+import com.caimei365.manager.utils.CommonUtil;
+import com.github.pagehelper.PageHelper;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/12/10
+ */
+@Service
+public class SysUserServiceImpl implements SysUserService {
+
+    @Resource
+    private SysUserDao sysUserDao;
+
+    @Resource
+    private BCryptPasswordEncoder passwordEncoder;
+
+    @Resource
+    private RedisService redisService;
+
+    /**
+     * 获取用户信息
+     */
+    @Override
+    public ResponseJson<SysUser> getInfoByUsername(String username) {
+        if (StringUtils.hasLength(username)) {
+            SysUser sysUser = sysUserDao.findByUsername(username);
+            if (null != sysUser) {
+                List<String> roleNames = new ArrayList<>();
+                List<Integer> roleIds = new ArrayList<>();
+                StringBuilder roleDesc = new StringBuilder();
+                // 根据用户Id获取用户角色列表
+                List<SysRole> roleList = sysUserDao.getRoleListByUserId(sysUser.getId());
+                if (!CollectionUtils.isEmpty(roleList)) {
+                    for (SysRole role : roleList) {
+                        if (null != role) {
+                            roleNames.add(role.getRoleName());
+                            roleIds.add(role.getId());
+                            roleDesc.append(role.getRoleDesc()).append(" ");
+                        }
+                    }
+                }
+                sysUser.setRoles(roleNames);
+                sysUser.setRoleDesc(roleDesc.toString());
+                List<SysMenu> menus = null;
+                if (!CollectionUtils.isEmpty(roleIds)) {
+                    // 根据角色Id获取菜单列表
+                    menus = sysUserDao.getMenusByRoleIds(roleIds);
+                }
+                sysUser.setMenus(menus);
+            }
+
+            return ResponseJson.success(sysUser);
+        }
+        return ResponseJson.error("用户数据异常", null);
+    }
+
+    /**
+     * 退出登录
+     */
+    @Override
+    public ResponseJson<Void> logout(String token) {
+        if (StringUtils.hasLength(token)) {
+            redisService.remove(token);
+        }
+        return ResponseJson.success();
+    }
+
+    /**
+     * 获取用户列表
+     *
+     * @param username 用户名
+     * @param fullName 姓名
+     * @param pageNum  页码
+     * @param pageSize 每页大小
+     */
+    @Override
+    public ResponseJson<PaginationVo<SysUser>> getUserList(String username, String fullName, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<SysUser> menus = sysUserDao.getUserList(username, fullName);
+        PaginationVo<SysUser> pageData = new PaginationVo<>(menus);
+        return ResponseJson.success(pageData);
+    }
+
+    /**
+     * 根据ID获取用户
+     */
+    @Override
+    public ResponseJson<SysUser> getUser(Integer id) {
+        SysUser sysUser = sysUserDao.getUser(id);
+        if (null != sysUser) {
+            // 根据用户ID获取角色Ids
+            List<String> roleIdList = sysUserDao.getRoleIdsByUserId(id);
+            String roleIds = CommonUtil.listToString(roleIdList, ",");
+            sysUser.setRoleIds(roleIds);
+        }
+        return ResponseJson.success(sysUser);
+    }
+
+    /**
+     * 根据ID更新用户
+     */
+    @Override
+    public ResponseJson<Void> updateUser(Integer id, SysUser sysUser) {
+        sysUser.setId(id);
+        sysUser.setDelFlag(0);
+        if (StringUtils.hasLength(sysUser.getPassword())){
+            // 密码加密
+            String encodePassword = passwordEncoder.encode(sysUser.getPassword());
+            sysUser.setPassword(encodePassword);
+        }
+        // 删除原有角色关联
+        sysUserDao.deleteUserRoleRelation(id);
+        // 前端传入角色Ids,用","隔开
+        String roleIds = sysUser.getRoleIds();
+        // 保存用户角色关系
+        saveRoleRelation(sysUser.getId(), roleIds);
+        sysUserDao.updateSysUser(sysUser);
+        return ResponseJson.success();
+    }
+
+    /**
+     * 添加用户
+     */
+    @Override
+    public ResponseJson<Void> addUser(SysUser sysUser) {
+        if (StringUtils.hasLength(sysUser.getUsername()) && StringUtils.hasLength(sysUser.getPassword())) {
+            // 查询是否存在当前用户名的用户
+            SysUser dbUser = sysUserDao.findByUsername(sysUser.getUsername());
+            if (null == dbUser || dbUser.getDelFlag() != 0) {
+                // 密码加密
+                String encodePassword = passwordEncoder.encode(sysUser.getPassword());
+                sysUser.setPassword(encodePassword);
+                // 新增用户
+                sysUserDao.insertSysUser(sysUser);
+                // 角色Ids,用","隔开
+                String roleIds = sysUser.getRoleIds();
+                // 保存用户角色关系
+                saveRoleRelation(sysUser.getId(), roleIds);
+                return ResponseJson.success("添加用户成功", null);
+            } else if (!Integer.valueOf(0).equals(dbUser.getDelFlag())){
+                // 更新已删除用户
+                return updateUser(dbUser.getId(), sysUser);
+            } else {
+                return ResponseJson.error("用户名已存在", null);
+            }
+        }
+        return ResponseJson.error("用户名或密码不能为空", null);
+    }
+
+    /**
+     * 根据ID删除用户
+     */
+    @Override
+    public ResponseJson<Void> deleteUser(Integer id) {
+        // 删除用户角色关联
+        sysUserDao.deleteUserRoleRelation(id);
+        // 删除用户
+        sysUserDao.deleteSysUser(id);
+        return ResponseJson.success();
+    }
+
+    /**
+     * 保存用户角色关系
+     */
+    private void saveRoleRelation(Integer userId, String roleIds) {
+        if (StringUtils.hasLength(roleIds)) {
+            // 设置用户角色
+            String[] split = roleIds.split(",");
+            for (String s : split) {
+                if (StringUtils.hasLength(s)) {
+                    // 保存用户角色关系
+                    sysUserDao.insertUserRoleRelation(userId, Integer.valueOf(s));
+                }
+            }
+        }
+    }
+
+    /**
+     * 用户修改资料
+     */
+    @Override
+    public ResponseJson<Void> updateUserProfile(UserProfile profile) {
+        SysUser sysUser = sysUserDao.getUser(profile.getUserId());
+        if (null == sysUser) {
+            return ResponseJson.error("用户异常!", null);
+        }
+        if (StringUtils.hasLength(profile.getUsername())){
+            sysUser.setUsername(profile.getUsername());
+        }
+        if (StringUtils.hasLength(profile.getFullName())){
+            sysUser.setFullName(profile.getFullName());
+        }
+        if (StringUtils.hasLength(profile.getPhone())){
+            sysUser.setPhone(profile.getPhone());
+        }
+        if (StringUtils.hasLength(profile.getAvatar())){
+            sysUser.setAvatar(profile.getAvatar());
+        }
+        sysUserDao.updateSysUser(sysUser);
+        return ResponseJson.success();
+    }
+
+    /**
+     * 用户修改密码
+     */
+    @Override
+    public ResponseJson<Void> updateUserPassword(UserProfile profile) {
+        SysUser sysUser = sysUserDao.getUser(profile.getUserId());
+        if (null == sysUser) {
+            return ResponseJson.error("用户异常!", null);
+        }
+        if (!StringUtils.hasLength(profile.getPassword())){
+            return ResponseJson.error("新密码不能为空!", null);
+        }
+        if (!profile.getPassword().equals(profile.getConfirmPassword())){
+            return ResponseJson.error("两次密码输入不一致!", null);
+        }
+        if (!passwordEncoder.matches(profile.getOldPassword(), sysUser.getPassword())) {
+            return ResponseJson.error("旧密码输入错误!", null);
+        }
+        // 密码加密
+        String encodePassword = passwordEncoder.encode(profile.getPassword());
+        sysUser.setPassword(encodePassword);
+        sysUserDao.updateSysUser(sysUser);
+        return ResponseJson.success();
+    }
+}

+ 2 - 2
src/main/java/com/caimei365/manager/service/WeChatService.java → src/main/java/com/caimei365/manager/service/wechat/WechatMenuService.java

@@ -1,4 +1,4 @@
-package com.caimei365.manager.service;
+package com.caimei365.manager.service.wechat;
 
 import com.caimei365.manager.entity.ResponseJson;
 import com.caimei365.manager.entity.wechat.WechatMenu;
@@ -11,7 +11,7 @@ import java.util.List;
  * @author : Charles
  * @date : 2022/1/5
  */
-public interface WeChatService {
+public interface WechatMenuService {
     /**
      * 获取微信公众号菜单列表
      * @param type 类型: 1采美,2呵呵商城

+ 3 - 3
src/main/java/com/caimei365/manager/service/impl/WeChatServiceImpl.java → src/main/java/com/caimei365/manager/service/wechat/impl/WechatMenuServiceImpl.java

@@ -1,4 +1,4 @@
-package com.caimei365.manager.service.impl;
+package com.caimei365.manager.service.wechat.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
@@ -6,7 +6,7 @@ import com.caimei365.manager.dao.SysUserDao;
 import com.caimei365.manager.dao.WeChatDao;
 import com.caimei365.manager.entity.ResponseJson;
 import com.caimei365.manager.entity.wechat.WechatMenu;
-import com.caimei365.manager.service.WeChatService;
+import com.caimei365.manager.service.wechat.WechatMenuService;
 import com.caimei365.manager.utils.HttpUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
@@ -27,7 +27,7 @@ import java.util.Map;
  */
 @Slf4j
 @Service
-public class WeChatServiceImpl implements WeChatService {
+public class WechatMenuServiceImpl implements WechatMenuService {
 
     @Value("${wechat.publicUrl}")
     private String publicUrl;

+ 37 - 0
src/main/java/com/caimei365/manager/utils/CommonUtil.java

@@ -0,0 +1,37 @@
+package com.caimei365.manager.utils;
+
+import org.springframework.util.StringUtils;
+
+import java.util.List;
+
+/**
+ * 通用代码工具类
+ *
+ * @author : Charles
+ * @date : 2022/1/6
+ */
+public class CommonUtil {
+    /**
+     * 列表拼接成字符串
+     * @param list List<String>
+     * @param join 分隔符,默认','
+     * @return String
+     */
+    public static String listToString(List<String> list, String join){
+        String split = ",";
+        if (StringUtils.hasLength(join)){
+            split = join;
+        }
+        StringBuilder str = new StringBuilder();
+        for (int i = 0; i < list.size(); i++) {
+            if (StringUtils.hasLength(list.get(i))){
+                if (i == 0) {
+                    str.append(list.get(i));
+                } else {
+                    str.append(split).append(list.get(i));
+                }
+            }
+        }
+        return str.toString();
+    }
+}

+ 14 - 7
src/main/resources/application.yml

@@ -25,15 +25,22 @@ wechat:
   publicUrl: http://mp.weixin.qq.com
   getTokenUrl: https://api.weixin.qq.com/cgi-bin/token
   createMenuUrl: https://api.weixin.qq.com/cgi-bin/menu/create
+#  caimei:
+#    id: gh_ef75b1b89b74
+#    appid: wx91c4152b60ca91a3
+#    secret: a563dd2c07c9c815a4e697c8b6cb73dc
+#  hehe:
+#    id: gh_eecada09617d
+#    appid: wxd81864ddacc0ed25
+#    secret: 7873323db2984c75556f8d04e76d1f02
   caimei:
-    id: gh_ef75b1b89b74
-    appid: wx91c4152b60ca91a3
-    secret: a563dd2c07c9c815a4e697c8b6cb73dc
+    id: gh_123456
+    appid: wx123456
+    secret: abc123456
   hehe:
-    id: gh_eecada09617d
-    appid: wxd81864ddacc0ed25
-    secret: 7873323db2984c75556f8d04e76d1f02
-
+    id: gh_7890123
+    appid: wx7890123
+    secret: abc7890123
 
 
 

+ 9 - 69
src/main/resources/mapper/WeChatDao.xml

@@ -2,37 +2,15 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.caimei365.manager.dao.WeChatDao">
     <select id="getWechatMenuList" resultType="com.caimei365.manager.entity.wechat.WechatMenu">
-        SELECT
-        a.id,
-        a.parentId,
-        a.parentIds,
-        a.`name`,
-        a.sort,
-        a.type,
-        a.`key`,
-        a.url,
-        a.mediaId,
-        a.appid,
-        a.pagepath AS pagePath,
-        a.wxType
+        SELECT a.id, a.parentId, a.parentIds, a.`name`, a.sort, a.type, a.`key`,
+               a.url, a.mediaId, a.appid, a.pagepath AS pagePath, a.wxType
         FROM wechat_menu a
         WHERE a.wxType = #{wxType} AND a.parentId = #{parentId}
         ORDER BY a.sort ASC
     </select>
     <select id="getWechatMenu" resultType="com.caimei365.manager.entity.wechat.WechatMenu">
-        SELECT
-            a.id,
-            a.parentId,
-            a.parentIds,
-            a.`name`,
-            a.sort,
-            a.type,
-            a.`key`,
-            a.url,
-            a.mediaId,
-            a.appid,
-            a.pagepath AS pagePath,
-            a.wxType
+        SELECT a.id, a.parentId, a.parentIds, a.`name`, a.sort, a.type, a.`key`,
+               a.url, a.mediaId, a.appid, a.pagepath AS pagePath, a.wxType
         FROM wechat_menu a
         WHERE a.id = #{id}
     </select>
@@ -40,52 +18,14 @@
         SELECT IFNULL(COUNT(*),0) FROM wechat_menu WHERE parentId = #{parentId}
     </select>
     <update id="updateWechatMenu">
-        UPDATE wechat_menu SET
-                             parentId = #{parentId},
-                             parentIds = #{parentIds},
-                             name = #{name},
-                             sort = #{sort},
-                             type = #{type},
-                             `key` = #{key},
-                             url = #{url},
-                             mediaId = #{mediaId},
-                             appid = #{appid},
-                             pagepath = #{pagePath},
-                             wxType = #{wxType},
-                             updateBy = #{userId},
-                             updateDate = NOW()
+        UPDATE wechat_menu SET parentId = #{parentId}, parentIds = #{parentIds}, name = #{name}, sort = #{sort},
+                               type = #{type}, `key` = #{key}, url = #{url}, mediaId = #{mediaId}, appid = #{appid},
+                               pagepath = #{pagePath}, wxType = #{wxType}, updateBy = #{userId}, updateDate = NOW()
         WHERE id = #{id}
     </update>
     <insert id="insertWechatMenu" keyProperty="id" useGeneratedKeys="true">
-        INSERT INTO wechat_menu(
-            parentId,
-            parentIds,
-            `name`,
-            sort,
-            type,
-            `key`,
-            url,
-            mediaId,
-            appid,
-            pagepath,
-            wxType,
-            createBy,
-            createDate
-        ) VALUES (
-                     #{parentId},
-                     #{parentIds},
-                     #{name},
-                     #{sort},
-                     #{type},
-                     #{key},
-                     #{url},
-                     #{mediaId},
-                     #{appid},
-                     #{pagePath},
-                     #{wxType},
-                     #{userId},
-                     NOW()
-                 )
+        INSERT INTO wechat_menu(parentId, parentIds, `name`, sort, type, `key`, url, mediaId, appid, pagepath, wxType, createBy, createDate)
+        VALUES (#{parentId}, #{parentIds}, #{name}, #{sort}, #{type}, #{key}, #{url}, #{mediaId}, #{appid}, #{pagePath}, #{wxType}, #{userId}, NOW())
     </insert>
     <delete id="deleteWechatMenu">
         DELETE FROM wechat_menu WHERE id = #{id}