lyhzzz 3 лет назад
Родитель
Сommit
5299b6f6b0
25 измененных файлов с 416 добавлено и 144 удалено
  1. 0 40
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/bean/MenuBean.java
  2. 29 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/BaseController.java
  3. 0 18
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/OperLogController.java
  4. 55 5
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/SysRoleController.java
  5. 51 11
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/SysUserController.java
  6. 4 32
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/TestController.java
  7. 8 4
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/SysRole.java
  8. 3 15
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/SysRoleMenu.java
  9. 4 5
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/SysUser.java
  10. 4 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/ISysRoleMapper.java
  11. 9 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/ISysUserMapper.java
  12. 5 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ISysRoleMenuService.java
  13. 11 1
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ISysRoleService.java
  14. 10 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ISysUserService.java
  15. 23 1
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SysRoleMenuServiceImpl.java
  16. 65 1
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SysRoleServiceImpl.java
  17. 46 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SysUserServiceImpl.java
  18. 0 9
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/request/LoginRequest.java
  19. 11 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/request/SysRoleMenuParam.java
  20. 14 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/request/SysRoleParam.java
  21. 15 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/request/SysUserParam.java
  22. 10 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/response/SysRoleVo.java
  23. 5 2
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/response/LoginResponse.java
  24. 11 0
      4dkankan-center-manage/src/main/resources/mapper/manage/SysRoleMapper.xml
  25. 23 0
      4dkankan-center-manage/src/main/resources/mapper/manage/SysUserMapper.xml

+ 0 - 40
4dkankan-center-manage/src/main/java/com/fdkankan/manage/bean/MenuBean.java

@@ -1,40 +0,0 @@
-package com.fdkankan.manage.bean;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/**
- * <p>
- * 菜单类
- * </p>
- *
- * @author dengsixing
- * @since 2022/5/30
- **/
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class MenuBean {
-
-    /**
-     * 菜单id
-     */
-    private Integer id;
-
-    /**
-     * 菜单名称
-     */
-    private String name;
-
-    /**
-     * url
-     */
-    private String uri;
-
-    /*
-    父菜单
-     */
-    private MenuBean parent;
-
-}

+ 29 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/BaseController.java

@@ -0,0 +1,29 @@
+package com.fdkankan.manage.controller;
+
+import com.auth0.jwt.JWT;
+import com.auth0.jwt.interfaces.DecodedJWT;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@Component
+public class BaseController {
+    @Autowired
+    protected HttpServletRequest request;
+
+    @Autowired
+    protected HttpServletResponse response;
+
+    protected String getToken(){
+        return request.getHeader("token");
+    }
+
+    protected Long getUserId(){
+        String token = request.getHeader("token");
+        DecodedJWT jwt = JWT.decode(token);
+        return jwt.getClaim("userId").asLong();
+    }
+
+}

+ 0 - 18
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/OperLogController.java

@@ -1,34 +1,16 @@
 package com.fdkankan.manage.controller;
 
-import com.alibaba.fastjson.JSON;
 import com.fdkankan.common.response.ResultData;
-import com.fdkankan.manage.bean.MenuBean;
-import com.fdkankan.manage.entity.Agent;
-import com.fdkankan.manage.entity.OperLog;
-import com.fdkankan.manage.service.IAgentService;
 import com.fdkankan.manage.service.OperLogService;
 import com.fdkankan.manage.vo.OperLogPageParamVO;
-import com.fdkankan.mongodb.base.BaseRequestMongo;
 import com.fdkankan.mongodb.base.MongoPageResult;
-import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
-import java.util.List;
-import java.util.Map;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Pageable;
-import org.springframework.data.domain.Sort;
-import org.springframework.data.domain.Sort.Direction;
 import org.springframework.data.mongodb.core.MongoTemplate;
-import org.springframework.data.mongodb.core.query.Criteria;
-import org.springframework.data.mongodb.core.query.Query;
-import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
 
 /**
  * <p>

+ 55 - 5
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/SysRoleController.java

@@ -1,9 +1,17 @@
 package com.fdkankan.manage.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.entity.SysRole;
+import com.fdkankan.manage.service.ISysRoleService;
+import com.fdkankan.manage.vo.request.SysRoleMenuParam;
+import com.fdkankan.manage.vo.request.SysRoleParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -14,8 +22,50 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2022-06-09
  */
 @RestController
-@RequestMapping("/manage/sysRole")
-public class SysRoleController {
+@RequestMapping("/service/manage/sysRole")
+public class SysRoleController extends BaseController{
+
+    @Autowired
+    ISysRoleService roleService;
+
+    @PostMapping("add")
+    public ResultData add(@RequestBody SysRoleParam param){
+        param.setCreateUserId(getUserId());
+        roleService.addOrUpdate(param);
+        return ResultData.ok();
+    }
+
+    @PostMapping("update")
+    public ResultData update(@RequestBody SysRoleParam param){
+        if(StringUtils.isEmpty(param.getId())){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        roleService.addOrUpdate(param);
+        return ResultData.ok();
+    }
+
+    @PostMapping("delete")
+    public ResultData delete(@RequestBody SysRoleParam param){
+        roleService.delete(param.getId());
+        return ResultData.ok();
+    }
+
+    @PostMapping("list")
+    public ResultData list(@RequestBody SysRoleParam param){
+        return ResultData.ok(roleService.pageList(param));
+    }
+
+    @GetMapping("allList")
+    public ResultData allList(){
+        LambdaQueryWrapper<SysRole> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SysRole::getStatus,1);
+        return ResultData.ok(roleService.list(wrapper));
+    }
 
+    @PostMapping("giveMenu")
+    public ResultData giveMenu(@RequestBody SysRoleMenuParam param){
+        roleService.giveMenu(param);
+        return ResultData.ok();
+    }
 }
 

+ 51 - 11
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/SysUserController.java

@@ -1,21 +1,61 @@
 package com.fdkankan.manage.controller;
 
 
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.service.ISysUserService;
+import com.fdkankan.manage.vo.request.SysUserParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author 
- * @since 2022-06-09
- */
 @RestController
-@RequestMapping("/manage/sysUser")
-public class SysUserController {
+@RequestMapping("/service/manage/sysUser")
+public class SysUserController  extends BaseController{
+
+    @Autowired
+    ISysUserService sysUserService;
+
+    @PostMapping("add")
+    public ResultData add(@RequestBody SysUserParam param){
+        param.setCreateUserId(getUserId());
+        sysUserService.addOrUpdate(param);
+        return ResultData.ok();
+    }
+
+    @PostMapping("update")
+    public ResultData update(@RequestBody SysUserParam param){
+        if(StringUtils.isEmpty(param.getId())){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        sysUserService.addOrUpdate(param);
+        return ResultData.ok();
+    }
+
+    @PostMapping("delete")
+    public ResultData delete(@RequestBody SysUserParam param){
+        if(StringUtils.isEmpty(param.getId())){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        sysUserService.removeById(param.getId());
+        return ResultData.ok();
+    }
+    @PostMapping("rePassword")
+    public ResultData rePassword(@RequestBody SysUserParam param){
+        if(StringUtils.isEmpty(param.getId()) && StringUtils.isEmpty(param.getPassword())){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        sysUserService.addOrUpdate(param);
+        return ResultData.ok();
+    }
 
+    @PostMapping("list")
+    public ResultData list(@RequestBody SysUserParam param){
+        return ResultData.ok(sysUserService.pageList(param));
+    }
 }
 

+ 4 - 32
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/TestController.java

@@ -1,24 +1,16 @@
 package com.fdkankan.manage.controller;
 
-import com.alibaba.fastjson.JSON;
-import com.dtflys.forest.annotation.Post;
 import com.fdkankan.common.response.ResultData;
-import com.fdkankan.manage.bean.MenuBean;
 import com.fdkankan.manage.entity.Agent;
 import com.fdkankan.manage.service.IAgentService;
-import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
-import java.util.List;
-import java.util.Map;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * TODO
@@ -61,25 +53,5 @@ public class TestController {
         return ResultData.ok(list.toArray());
     }
 
-    @GetMapping("/setMenu")
-    public ResultData test(){
-        MenuBean menuBean1 = new MenuBean();
-        menuBean1.setId(1);
-        menuBean1.setName("a");
-        menuBean1.setUri("a");
-        MenuBean menuBean2 = new MenuBean();
-        menuBean2.setId(2);
-        menuBean2.setName("b");
-        menuBean2.setUri("b");
-        menuBean2.setParent(menuBean1);
-        MenuBean menuBean3 = new MenuBean();
-        menuBean3.setId(3);
-        menuBean3.setName("c");
-        menuBean3.setUri("c");
-        menuBean3.setParent(menuBean2);
-        redisUtil.hset(RedisKey.MANAGE_MENU, "/service/manage/test", JSON.toJSONString(menuBean3));
-        return ResultData.ok();
-    }
-
 
 }

+ 8 - 4
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/SysRole.java

@@ -5,7 +5,6 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.io.Serializable;
-import java.util.Date;
 
 /**
  * <p>
@@ -48,19 +47,24 @@ public class SysRole implements Serializable {
      * 创建者id
      */
     @TableField("create_user_id")
-    private Integer createUserId;
+    private Long createUserId;
 
     /**
      * 是否禁用 0禁用 1启用
      */
     @TableField("status")
     private Integer status;
+    /**
+     * 角色说明
+     */
+    @TableField("description")
+    private String description;
 
     @TableField("create_time")
-    private Date createTime;
+    private String createTime;
 
     @TableField("update_time")
-    private Date updateTime;
+    private String updateTime;
 
 
 }

+ 3 - 15
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/SysRoleMenu.java

@@ -2,13 +2,11 @@ package com.fdkankan.manage.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Getter;
 import lombok.Setter;
 
 import java.io.Serializable;
-import java.util.Date;
 
 /**
  * <p>
@@ -29,23 +27,13 @@ public class SysRoleMenu implements Serializable {
      * 菜单角色关系表
      */
     @TableId("id")
-    private Integer id;
+    private Long id;
 
     @TableField("role_id")
-    private Integer roleId;
+    private Long roleId;
 
     @TableField("menu_id")
-    private Integer menuId;
-
-    @TableField("rec_status")
-    @TableLogic(value = "A",delval = "I")
-    private String recStatus;
-
-    @TableField("create_time")
-    private Date createTime;
-
-    @TableField("update_time")
-    private Date updateTime;
+    private Long menuId;
 
 
 }

+ 4 - 5
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/SysUser.java

@@ -5,7 +5,6 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.io.Serializable;
-import java.util.Date;
 
 /**
  * <p>
@@ -49,13 +48,13 @@ public class SysUser implements Serializable {
      * 角色id
      */
     @TableField("role_id")
-    private Integer roleId;
+    private Long roleId;
 
     /**
      * 创建者id
      */
     @TableField("create_user_id")
-    private Integer createUserId;
+    private Long createUserId;
 
     /**
      * 是否禁用 0禁用,1启用
@@ -68,10 +67,10 @@ public class SysUser implements Serializable {
     private String recStatus;
 
     @TableField("create_time")
-    private Date createTime;
+    private String createTime;
 
     @TableField("update_time")
-    private Date updateTime;
+    private String updateTime;
 
 
 }

+ 4 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/ISysRoleMapper.java

@@ -1,7 +1,10 @@
 package com.fdkankan.manage.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.manage.entity.SysRole;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.manage.vo.request.SysRoleParam;
+import com.fdkankan.manage.vo.response.SysRoleVo;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -15,4 +18,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface ISysRoleMapper extends BaseMapper<SysRole> {
 
+    Page<SysRoleVo> pageList(Page<SysRoleVo> page, SysRoleParam param);
 }

+ 9 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/ISysUserMapper.java

@@ -1,9 +1,15 @@
 package com.fdkankan.manage.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.manage.entity.SysUser;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.manage.vo.request.SysUserParam;
+import com.fdkankan.manage.vo.response.SysRoleVo;
+import com.fdkankan.manage.vo.response.SysUserVo;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -15,4 +21,7 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface ISysUserMapper extends BaseMapper<SysUser> {
 
+    Page<SysUserVo> pageList(Page<SysUserVo> page, SysUserParam param);
+
+    List<SysRoleVo> groupByRoleId();
 }

+ 5 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ISysRoleMenuService.java

@@ -3,6 +3,8 @@ package com.fdkankan.manage.service;
 import com.fdkankan.manage.entity.SysRoleMenu;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +15,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ISysRoleMenuService extends IService<SysRoleMenu> {
 
+    void deleteByRoleId(Long roleId);
+
+    void saveBatchByRoleId(Long roleId, List<Long> menuIds);
 }

+ 11 - 1
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ISysRoleService.java

@@ -1,7 +1,10 @@
 package com.fdkankan.manage.service;
 
-import com.fdkankan.manage.entity.SysRole;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.common.response.PageInfo;
+import com.fdkankan.manage.entity.SysRole;
+import com.fdkankan.manage.vo.request.SysRoleMenuParam;
+import com.fdkankan.manage.vo.request.SysRoleParam;
 
 /**
  * <p>
@@ -13,4 +16,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ISysRoleService extends IService<SysRole> {
 
+    void addOrUpdate(SysRoleParam param);
+
+    PageInfo pageList(SysRoleParam param);
+
+    void delete(Long id);
+
+    void giveMenu(SysRoleMenuParam param);
 }

+ 10 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ISysUserService.java

@@ -1,8 +1,12 @@
 package com.fdkankan.manage.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.manage.api.dto.ManageLoginResponse;
 import com.fdkankan.manage.entity.SysUser;
+import com.fdkankan.manage.vo.request.SysUserParam;
+
+import java.util.HashMap;
 
 /**
  * <p>
@@ -17,4 +21,10 @@ public interface ISysUserService extends IService<SysUser> {
     SysUser getByUserName(String userName);
 
     ManageLoginResponse getUserByUserNameAndPassword(String userName, String password);
+
+    void addOrUpdate(SysUserParam param);
+
+    PageInfo pageList(SysUserParam param);
+
+    HashMap<Long, Long> groupByRoleId();
 }

+ 23 - 1
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SysRoleMenuServiceImpl.java

@@ -1,11 +1,15 @@
 package com.fdkankan.manage.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.manage.entity.SysRoleMenu;
 import com.fdkankan.manage.mapper.ISysRoleMenuMapper;
 import com.fdkankan.manage.service.ISysRoleMenuService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +21,22 @@ import org.springframework.stereotype.Service;
 @Service
 public class SysRoleMenuServiceImpl extends ServiceImpl<ISysRoleMenuMapper, SysRoleMenu> implements ISysRoleMenuService {
 
+    @Override
+    public void deleteByRoleId(Long roleId) {
+        LambdaQueryWrapper<SysRoleMenu> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SysRoleMenu::getRoleId,roleId);
+        this.remove(wrapper);
+    }
+
+    @Override
+    public void saveBatchByRoleId(Long roleId, List<Long> menuIds) {
+        List<SysRoleMenu> sysMenus = new ArrayList<>();
+        for (Long menuId : menuIds) {
+            SysRoleMenu roleMenu = new SysRoleMenu();
+            roleMenu.setRoleId(roleId);
+            roleMenu.setMenuId(menuId);
+            sysMenus.add(roleMenu);
+        }
+        this.saveBatch(sysMenus);
+    }
 }

+ 65 - 1
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SysRoleServiceImpl.java

@@ -1,10 +1,28 @@
 package com.fdkankan.manage.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.response.PageInfo;
+import com.fdkankan.common.util.DateUtil;
 import com.fdkankan.manage.entity.SysRole;
+import com.fdkankan.manage.entity.SysUser;
 import com.fdkankan.manage.mapper.ISysRoleMapper;
+import com.fdkankan.manage.service.ISysRoleMenuService;
 import com.fdkankan.manage.service.ISysRoleService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage.service.ISysUserService;
+import com.fdkankan.manage.vo.request.SysRoleMenuParam;
+import com.fdkankan.manage.vo.request.SysRoleParam;
+import com.fdkankan.manage.vo.response.SysRoleVo;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.util.Date;
+import java.util.HashMap;
 
 /**
  * <p>
@@ -17,4 +35,50 @@ import org.springframework.stereotype.Service;
 @Service
 public class SysRoleServiceImpl extends ServiceImpl<ISysRoleMapper, SysRole> implements ISysRoleService {
 
+    @Autowired
+    ISysUserService sysUserService;
+    @Autowired
+    ISysRoleMenuService roleMenuService;
+
+    @Override
+    public void addOrUpdate(SysRoleParam param) {
+        SysRole sysRole = new SysRole();
+        BeanUtils.copyProperties(param,sysRole);
+        sysRole.setUpdateTime(DateUtil.date2String(new Date(),DateUtil.DEFAULT_DATE_FORMAT));
+        this.saveOrUpdate(sysRole);
+    }
+
+    @Override
+    public PageInfo pageList(SysRoleParam param) {
+        HashMap<Long,Long> countMap = sysUserService.groupByRoleId();
+        Page<SysRoleVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
+        for (SysRoleVo record : page.getRecords()) {
+            record.setAdminCount(countMap.get(record.getId()));
+        }
+        return PageInfo.PageInfo(page);
+    }
+
+    @Override
+    public void delete(Long id) {
+        if(StringUtils.isEmpty(id)){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SysUser::getRoleId,id);
+        long count = sysUserService.count(wrapper);
+        if(count >0){
+            throw new BusinessException(-1,"该角色已关联用户,不可删除。请先修改相关用户的角色。");
+        }
+        roleMenuService.deleteByRoleId(id);
+        this.removeById(id);
+    }
+
+    @Override
+    public void giveMenu(SysRoleMenuParam param) {
+        if(param.getRoleId() == null){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        roleMenuService.deleteByRoleId(param.getRoleId());
+        roleMenuService.saveBatchByRoleId(param.getRoleId(),param.getMenuIds());
+    }
 }

+ 46 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SysUserServiceImpl.java

@@ -2,7 +2,13 @@ package com.fdkankan.manage.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.response.PageInfo;
+import com.fdkankan.common.util.Base64Converter;
+import com.fdkankan.common.util.DateUtil;
+import com.fdkankan.common.util.SecurityUtil;
 import com.fdkankan.manage.api.dto.ManageLoginResponse;
 import com.fdkankan.manage.entity.SysMenu;
 import com.fdkankan.manage.entity.SysRole;
@@ -11,13 +17,19 @@ import com.fdkankan.manage.mapper.ISysUserMapper;
 import com.fdkankan.manage.service.ISysMenuService;
 import com.fdkankan.manage.service.ISysRoleService;
 import com.fdkankan.manage.service.ISysUserService;
+import com.fdkankan.manage.vo.request.SysUserParam;
+import com.fdkankan.manage.vo.response.SysRoleVo;
+import com.fdkankan.manage.vo.response.SysUserVo;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -77,4 +89,38 @@ public class SysUserServiceImpl extends ServiceImpl<ISysUserMapper, SysUser> imp
         redisUtil.set(String.format(RedisKey.MANAGE_PERM_USER,sysUser.getId()), JSONObject.toJSONString(menuList));
         return loginVO;
     }
+
+    @Override
+    public void addOrUpdate(SysUserParam param) {
+        if(param.getId() == null){
+            SysUser user = this.getByUserName(param.getUserName());
+            if(user !=null){
+                throw new BusinessException(-1,"用户已存在!");
+            }
+        }
+        SysUser sysUser = new SysUser();
+        BeanUtils.copyProperties(param,sysUser);
+        if(!StringUtils.isEmpty(param.getPassword())){
+            String passwordMd5 = SecurityUtil.MD52(Base64Converter.decode(Base64Converter.subText(param.getPassword())));
+            sysUser.setPassword(passwordMd5);
+        }
+        sysUser.setUpdateTime(DateUtil.date2String(new Date(),DateUtil.DEFAULT_DATE_FORMAT));
+        this.saveOrUpdate(sysUser);
+    }
+
+    @Override
+    public PageInfo pageList(SysUserParam param) {
+        Page<SysUserVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
+        return PageInfo.PageInfo(page);
+    }
+
+    @Override
+    public HashMap<Long, Long> groupByRoleId() {
+        HashMap<Long, Long>  map = new HashMap<>();
+        List<SysRoleVo> roleVos = this.getBaseMapper().groupByRoleId();
+        for (SysRoleVo roleVo : roleVos) {
+            map.put(roleVo.getId(),roleVo.getAdminCount());
+        }
+        return map;
+    }
 }

+ 0 - 9
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/request/LoginRequest.java

@@ -1,9 +0,0 @@
-package com.fdkankan.manage.vo.request;
-
-import lombok.Data;
-
-@Data
-public class LoginRequest {
-    private String userName;
-    private String password;
-}

+ 11 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/request/SysRoleMenuParam.java

@@ -0,0 +1,11 @@
+package com.fdkankan.manage.vo.request;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class SysRoleMenuParam {
+    private Long roleId;
+    private List<Long> menuIds;
+}

+ 14 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/request/SysRoleParam.java

@@ -0,0 +1,14 @@
+package com.fdkankan.manage.vo.request;
+
+import com.fdkankan.common.request.RequestBase;
+import lombok.Data;
+
+@Data
+public class SysRoleParam extends RequestBase {
+    private Long id;
+    private String roleName;
+    private String roleType ="manage";
+    private String description;
+    private Long createUserId;
+    private Integer status;
+}

+ 15 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/request/SysUserParam.java

@@ -0,0 +1,15 @@
+package com.fdkankan.manage.vo.request;
+
+import com.fdkankan.common.request.RequestBase;
+import lombok.Data;
+
+@Data
+public class SysUserParam extends RequestBase {
+    private Long id;
+    private String userName;
+    private String password;
+    private String nickName;
+    private Long roleId;
+    private Long createUserId;
+    private Integer status;
+}

+ 10 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/response/SysRoleVo.java

@@ -0,0 +1,10 @@
+package com.fdkankan.manage.vo.response;
+
+import com.fdkankan.manage.entity.SysRole;
+import lombok.Data;
+
+@Data
+public class SysRoleVo extends SysRole {
+    private String createUserName;
+    private Long adminCount = 0L;
+}

+ 5 - 2
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/response/LoginResponse.java

@@ -3,11 +3,14 @@ package com.fdkankan.manage.vo.response;
 import lombok.Data;
 
 @Data
-public class LoginResponse {
+public class SysUserVo {
     private Long id;
     private String userName;
     private String nickName;
-    private String token;
     private Long roleId;
     private String roleName;
+    private String createUserId;
+    private String createUserName;
+    private String createTime;
+    private Integer status;
 }

+ 11 - 0
4dkankan-center-manage/src/main/resources/mapper/manage/SysRoleMapper.xml

@@ -2,4 +2,15 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fdkankan.manage.mapper.ISysRoleMapper">
 
+    <select id="pageList" resultType="com.fdkankan.manage.vo.response.SysRoleVo" parameterType="com.fdkankan.manage.vo.request.SysRoleParam">
+        select  r.* ,u.nick_name as createUserName  from sys_role r
+        left join sys_user u on r.create_user_id = u.id
+        <where>
+            and r.rec_status = 'A'
+            <if test="param.roleName != null and param.roleName!=''">
+                and r.role_name like concat('%',#{param.roleName},'%')
+            </if>
+        </where>
+        order by ${param.orderBy} ${param.sortBy}
+    </select>
 </mapper>

+ 23 - 0
4dkankan-center-manage/src/main/resources/mapper/manage/SysUserMapper.xml

@@ -2,4 +2,27 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fdkankan.manage.mapper.ISysUserMapper">
 
+    <select id="pageList" resultType="com.fdkankan.manage.vo.response.SysUserVo" parameterType="com.fdkankan.manage.vo.request.SysUserParam">
+        select  u.*,r.id as roleId,r.role_name as roleName ,u2.id as createUserId,u2.nick_name as createUserName
+        from sys_user u
+            left join sys_role r on u.role_id = r.id
+            left join sys_user u2 on u.create_user_id = u2.id
+        <where>
+            and u.rec_status = 'A'
+            <if test="param.userName != null and param.userName!=''">
+                and u.user_name like concat('%',#{param.userName},'%')
+            </if>
+            <if test="param.nickName != null and param.nickName!=''">
+                and u.nick_name like concat('%',#{param.nickName},'%')
+            </if>
+            <if test="param.roleId != null ">
+                and u.role_id  = #{param.roleId}
+            </if>
+        </where>
+        order by ${param.orderBy} ${param.sortBy}
+    </select>
+
+    <select id="groupByRoleId" resultType="com.fdkankan.manage.vo.response.SysRoleVo">
+        select role_id as id , count(id) as adminCount from sys_user group by role_id
+    </select>
 </mapper>