From 6ebf2b2a84b903f3600238dd084b3ae9ee4d6d3b Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Fri, 16 Apr 2021 17:33:07 +0800 Subject: [PATCH] Merge branch 'dev' of http://blit.7drlb.com:8888/r/moral into dev --- screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java | 8 screen-api/src/main/java/com/moral/api/utils/OperationLogUtils.java | 3 screen-api/src/main/java/com/moral/api/entity/GroupMenu.java | 1 screen-api/src/main/java/com/moral/api/service/MenuService.java | 3 screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java | 61 ++ screen-api/src/main/java/com/moral/api/service/GroupMenuService.java | 5 screen-api/src/main/resources/mapper/ManageLogMapper.xml | 6 screen-api/src/main/java/com/moral/api/service/GroupService.java | 4 screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java | 103 ++++- screen-api/src/main/java/com/moral/api/controller/GroupController.java | 34 - screen-api/src/main/java/com/moral/api/controller/LogController.java | 46 ++ screen-api/src/main/java/com/moral/api/service/UserLogService.java | 5 screen-api/src/main/java/com/moral/api/service/UserService.java | 4 screen-api/src/main/java/com/moral/api/entity/ManageLog.java | 37 + screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java | 45 ++ screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java | 41 ++ screen-api/src/main/java/com/moral/api/mapper/ManageLogMapper.java | 2 screen-manage/src/main/resources/mapper/ManageMenuMapper.xml | 41 ++ screen-api/src/main/resources/mapper/MenuMapper.xml | 23 screen-api/src/main/java/com/moral/api/controller/MenuController.java | 35 + screen-api/src/main/java/com/moral/api/entity/Menu.java | 7 screen-api/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java | 11 screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java | 55 ++ screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java | 134 +++++++ screen-api/src/main/java/com/moral/api/controller/LoginController.java | 16 screen-api/src/main/java/com/moral/api/service/ManageLogService.java | 2 screen-api/src/main/java/com/moral/api/controller/UserController.java | 37 - screen-manage/src/main/java/com/moral/api/controller/ManageRoleController.java | 11 screen-api/src/main/java/com/moral/api/entity/UserLog.java | 10 screen-api/src/main/java/com/moral/api/service/UserGroupService.java | 2 screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java | 66 ++ screen-api/src/main/java/com/moral/api/service/impl/UserLogServiceImpl.java | 35 ++ screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java | 78 +++- screen-manage/src/main/resources/application-dev.yml | 10 screen-api/src/main/java/com/moral/api/entity/Group.java | 4 screen-api/src/main/resources/mapper/UserLogMapper.xml | 19 screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java | 4 screen-api/src/main/java/com/moral/api/service/impl/ManageLogServiceImpl.java | 2 38 files changed, 782 insertions(+), 228 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/controller/GroupController.java b/screen-api/src/main/java/com/moral/api/controller/GroupController.java index fa8b0df..938b016 100644 --- a/screen-api/src/main/java/com/moral/api/controller/GroupController.java +++ b/screen-api/src/main/java/com/moral/api/controller/GroupController.java @@ -22,7 +22,6 @@ import com.moral.api.entity.Group; import com.moral.api.service.GroupService; import com.moral.api.service.UserGroupService; -import com.moral.api.utils.OperationLogUtils; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.util.PageResult; @@ -44,20 +43,15 @@ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) @RequestMapping(value = "insert", method = RequestMethod.POST) - private ResultMessage insert(@RequestBody Group group, HttpServletRequest request) { + private ResultMessage insert(@RequestBody Group group) { if (group.getGroupName().isEmpty()) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } - String token = request.getHeader("token"); - Map<String, Object> result = groupService.addGroup(group, token); + Map<String, Object> result = groupService.addGroup(group); if (!result.isEmpty()) { return ResultMessage.fail((int) result.get("code"), result.get("msg").toString()); } - - //������ - String content = "���������������" + group.getGroupName(); - OperationLogUtils.insertLog(request, content); return ResultMessage.ok(); } @@ -66,7 +60,7 @@ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) @RequestMapping(value = "delete", method = RequestMethod.POST) - public ResultMessage delete(@RequestBody Group group, HttpServletRequest request) { + public ResultMessage delete(@RequestBody Group group) { if (group.getId() == null) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); @@ -78,10 +72,6 @@ return ResultMessage.fail(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getCode(), ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg()); } groupService.deleteGroup(group); - - //������ - String content = "���������������" + group.getGroupName(); - OperationLogUtils.insertLog(request, content); return ResultMessage.ok(); } @@ -92,14 +82,10 @@ @RequestMapping(value = "update", method = RequestMethod.POST) public ResultMessage update(@RequestBody Group group, HttpServletRequest request) { String token = request.getHeader("token"); - Map<String, Object> result = groupService.updateGroup(group, token); + Map<String, Object> result = groupService.updateGroup(group); if (!result.isEmpty()) { return ResultMessage.fail((int) result.get("code"), result.get("msg").toString()); } - - //������ - String content = "���������������" + group.getGroupName(); - OperationLogUtils.insertLog(request, content); return ResultMessage.ok(); } @@ -113,8 +99,7 @@ @ApiImplicitParam(name = "groupName", value = "������������������", required = false, paramType = "query", dataType = "String") }) @RequestMapping(value = "select", method = RequestMethod.POST) - public ResultMessage select(@RequestBody Map<String, Object> parameters, HttpServletRequest request) { - parameters.put("token", request.getHeader("token")); + public ResultMessage select(@RequestBody Map<String, Object> parameters) { Page<Group> userPage = groupService.selectGroups(parameters); PageResult<Group> pageResult = new PageResult<>( userPage.getTotal(), userPage.getPages(), userPage.getRecords() @@ -122,12 +107,12 @@ return ResultMessage.ok(pageResult); } - @ApiOperation(value = "���������������������", notes = "���������������������") + @ApiOperation(value = "���������������������ids", notes = "���������������������ids") @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) @RequestMapping(value = "get-group-ids", method = RequestMethod.GET) - public ResultMessage getGroupIds(Integer userId){ + public ResultMessage getGroupIds(Integer userId) { List<Integer> groupIds = userGroupService.getGroupIds(userId); return ResultMessage.ok(groupIds); } @@ -137,13 +122,12 @@ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) @RequestMapping(value = "allot", method = RequestMethod.POST) - public ResultMessage allot(@RequestBody Map<String, Object> parameters, HttpServletRequest request) { + public ResultMessage allot(@RequestBody Map<String, Object> parameters) { if (!parameters.containsKey("userId")) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } - String token = request.getHeader("token"); - userGroupService.allotGroups(parameters, token); + userGroupService.allotGroups(parameters); return ResultMessage.ok(); } } diff --git a/screen-api/src/main/java/com/moral/api/controller/LogController.java b/screen-api/src/main/java/com/moral/api/controller/LogController.java new file mode 100644 index 0000000..8df7d1a --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/controller/LogController.java @@ -0,0 +1,46 @@ +package com.moral.api.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.moral.api.entity.UserLog; +import com.moral.api.service.UserLogService; +import com.moral.constant.ResultMessage; +import com.moral.util.PageResult; + +@Slf4j +@RestController +@RequestMapping("/log") +@Api(tags = "������") +public class LogController { + + @Autowired + private UserLogService userLogService; + + @ApiOperation(value = "������������������", notes = "������������������") + @ApiImplicitParams({ + @ApiImplicitParam(name = "page", value = "���������", required = false, paramType = "query", dataType = "Integer"), + @ApiImplicitParam(name = "size", value = "������������", required = false, paramType = "query", dataType = "Integer"), + @ApiImplicitParam(name = "type", value = "���������������0������������1������������2������������3���������", required = false, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") + }) + @RequestMapping(value = "select", method = RequestMethod.POST) + public ResultMessage select(@RequestBody Map<String, Object> parameters) { + Page<UserLog> userLogPage = userLogService.selectLogs(parameters); + PageResult pageResult = new PageResult<>( + userLogPage.getTotal(), userLogPage.getPages(), userLogPage.getRecords() + ); + return ResultMessage.ok(pageResult); + } +} diff --git a/screen-api/src/main/java/com/moral/api/controller/LoginController.java b/screen-api/src/main/java/com/moral/api/controller/LoginController.java index 444fa13..a0f2a98 100644 --- a/screen-api/src/main/java/com/moral/api/controller/LoginController.java +++ b/screen-api/src/main/java/com/moral/api/controller/LoginController.java @@ -21,7 +21,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.SysConfig; -import com.moral.api.entity.UserLog; import com.moral.api.service.SysConfigService; import com.moral.api.service.UserLogService; import com.moral.api.service.UserService; @@ -31,7 +30,6 @@ import com.moral.pojo.VerificationCode; import com.moral.util.KaptchaUtils; import com.moral.util.TokenUtils; -import com.moral.util.WebUtils; @Slf4j @Api(tags = {"������"}) @@ -44,12 +42,9 @@ @Autowired private SysConfigService sysConfigService; - @Autowired - private UserLogService userLogService; - @ApiOperation(value = "������", notes = "������") @RequestMapping(value = "login", method = RequestMethod.POST) - public ResultMessage login(@RequestBody Map<String, Object> parameters, HttpServletRequest request) { + public ResultMessage login(@RequestBody Map<String, Object> parameters) { if (!(parameters.containsKey("account") && parameters.containsKey("password"))) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); @@ -59,15 +54,6 @@ return ResultMessage.fail((int) result.get("code"), (String) result.get("msg")); } Map<String, Object> data = (Map<String, Object>) result.get("data"); - Map<String, Object> userInfo = (Map<String, Object>) data.get("user"); - UserLog userLog = new UserLog(); - String ip = WebUtils.getIpAddr(request); - userLog.setIp(ip); - userLog.setOperateId((Integer) userInfo.get("userId")); - Map<String, Object> organization = (Map<String, Object>) userInfo.get("organization"); - userLog.setOrganizationId((Integer) organization.get("id")); - userLog.setContent(userInfo.get("account") + "���������"); - userLogService.save(userLog); return ResultMessage.ok(data); } diff --git a/screen-api/src/main/java/com/moral/api/controller/MenuController.java b/screen-api/src/main/java/com/moral/api/controller/MenuController.java index 258a122..0a9fd19 100644 --- a/screen-api/src/main/java/com/moral/api/controller/MenuController.java +++ b/screen-api/src/main/java/com/moral/api/controller/MenuController.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; @@ -16,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import com.moral.api.entity.Menu; import com.moral.api.service.GroupMenuService; import com.moral.api.service.MenuService; import com.moral.constant.ResponseCodeEnum; @@ -39,17 +41,29 @@ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) @RequestMapping(value = "allot", method = RequestMethod.POST) - public ResultMessage allot(@RequestBody Map<String, Object> parameters, HttpServletRequest request) { + public ResultMessage allot(@RequestBody Map<String, Object> parameters) { if (!parameters.containsKey("groupId")) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } - String token = request.getHeader("token"); - groupMenuService.allotMenus(parameters, token); + groupMenuService.allotMenus(parameters); return ResultMessage.ok(); } - @ApiOperation(value = "������������������������", notes = "������������������������") + @ApiOperation(value = "������������", notes = "������������") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), + }) + @RequestMapping(value = "menu-list", method = RequestMethod.POST) + public ResultMessage selectMenus(HttpServletRequest request) { + String token = request.getHeader("token"); + Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); + Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); + List<Menu> menus = menuService.getMenuList((Integer) orgInfo.get("id")); + return ResultMessage.ok(menus); + } + + @ApiOperation(value = "������������", notes = "������������") @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), }) @@ -57,7 +71,18 @@ public ResultMessage select(HttpServletRequest request) { String token = request.getHeader("token"); Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); - Map<String, Object> result = menuService.selectMenusByOrgId((Integer) currentUserInfo.get("organizationId")); + Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); + Map<String, Object> result = menuService.selectMenusByOrgId((Integer) orgInfo.get("id")); return ResultMessage.ok(result); } + + @ApiOperation(value = "���������������ids", notes = "���������������ids") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") + }) + @RequestMapping(value = "get-menu-ids", method = RequestMethod.GET) + public ResultMessage getMenuIds(Integer groupId) { + List<Integer> menusIds = groupMenuService.getMenusIds(groupId); + return ResultMessage.ok(menusIds); + } } diff --git a/screen-api/src/main/java/com/moral/api/controller/UserController.java b/screen-api/src/main/java/com/moral/api/controller/UserController.java index 8f582ab..a9dfc17 100644 --- a/screen-api/src/main/java/com/moral/api/controller/UserController.java +++ b/screen-api/src/main/java/com/moral/api/controller/UserController.java @@ -21,7 +21,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.moral.api.entity.User; import com.moral.api.service.UserService; -import com.moral.api.utils.OperationLogUtils; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.util.PageResult; @@ -39,21 +38,16 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) - @RequestMapping(value = "addUser", method = RequestMethod.POST) - public ResultMessage addUser(@RequestBody User user, HttpServletRequest request) { + @RequestMapping(value = "insert", method = RequestMethod.POST) + public ResultMessage insert(@RequestBody User user) { if (user.getAccount().isEmpty() || user.getPassword().isEmpty()) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } - String token = request.getHeader("token"); - Map<String, Object> result = userService.addUser(user, token); + Map<String, Object> result = userService.addUser(user); if (!result.isEmpty()) { return ResultMessage.fail((int) result.get("code"), result.get("msg").toString()); } - - //������ - String content = "������������������" + user.getAccount(); - OperationLogUtils.insertLog(request, content); return ResultMessage.ok(); } @@ -61,8 +55,8 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) - @RequestMapping(value = "deleteUser", method = RequestMethod.POST) - public ResultMessage deleteUser(@RequestBody User user, HttpServletRequest request) { + @RequestMapping(value = "delete", method = RequestMethod.POST) + public ResultMessage delete(@RequestBody User user) { if (user.getId() == null) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); @@ -75,10 +69,6 @@ ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg()); } userService.deleteUser(user); - - //������ - String content = "������������������" + user.getAccount(); - OperationLogUtils.insertLog(request, content); return ResultMessage.ok(); } @@ -86,21 +76,16 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) - @RequestMapping(value = "updateUser", method = RequestMethod.POST) - public ResultMessage updateUser(@RequestBody User user, HttpServletRequest request) { + @RequestMapping(value = "update", method = RequestMethod.POST) + public ResultMessage update(@RequestBody User user) { if (user.getId() == null) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } - String token = request.getHeader("token"); - Map<String, Object> result = userService.updateUser(user, token); + Map<String, Object> result = userService.updateUser(user); if (!result.isEmpty()) { return ResultMessage.fail((int) result.get("code"), result.get("msg").toString()); } - - //������ - String content = "������������������" + user.getAccount(); - OperationLogUtils.insertLog(request, content); return ResultMessage.ok(); } @@ -109,6 +94,7 @@ @ApiImplicitParam(name = "page", value = "���������", required = false, paramType = "query", dataType = "Integer"), @ApiImplicitParam(name = "size", value = "������������", required = false, paramType = "query", dataType = "Integer"), @ApiImplicitParam(name = "order", value = "������������", required = false, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "orderType", value = "������������������������0������������1", defaultValue = "0", required = false, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), @ApiImplicitParam(name = "account", value = "������������������", required = false, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "userName", value = "���������������������", required = false, paramType = "query", dataType = "String"), @@ -117,9 +103,8 @@ @ApiImplicitParam(name = "wechat", value = "������������������", required = false, paramType = "query", dataType = "String"), }) - @RequestMapping(value = "selectUsers", method = RequestMethod.POST) - public ResultMessage selectUsers(@RequestBody Map<String, Object> parameters, HttpServletRequest request) { - parameters.put("token", request.getHeader("token")); + @RequestMapping(value = "select", method = RequestMethod.POST) + public ResultMessage select(@RequestBody Map<String, Object> parameters) { Page<User> userPage = userService.selectUsers(parameters); PageResult<User> pageResult = new PageResult<>( userPage.getTotal(), userPage.getPages(), userPage.getRecords() diff --git a/screen-api/src/main/java/com/moral/api/entity/Group.java b/screen-api/src/main/java/com/moral/api/entity/Group.java index 22ed32c..0b79a9b 100644 --- a/screen-api/src/main/java/com/moral/api/entity/Group.java +++ b/screen-api/src/main/java/com/moral/api/entity/Group.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; + import java.io.Serializable; import java.util.Date; @@ -44,11 +46,13 @@ /** * ������������ */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; /** * ������������ */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date updateTime; /** diff --git a/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java b/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java index 7d4264d..942572f 100644 --- a/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java +++ b/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableId; + import java.io.Serializable; import java.util.Date; diff --git a/screen-api/src/main/java/com/moral/api/entity/ManageLog.java b/screen-api/src/main/java/com/moral/api/entity/ManageLog.java index a305e3f..516426e 100644 --- a/screen-api/src/main/java/com/moral/api/entity/ManageLog.java +++ b/screen-api/src/main/java/com/moral/api/entity/ManageLog.java @@ -3,8 +3,9 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableId; + +import java.time.LocalDateTime; import java.io.Serializable; -import java.util.Date; import lombok.Data; import lombok.EqualsAndHashCode; @@ -15,7 +16,7 @@ * </p> * * @author moral - * @since 2021-03-09 + * @since 2021-04-13 */ @Data @EqualsAndHashCode(callSuper = false) @@ -30,19 +31,29 @@ private Integer id; /** + * ������������id + */ + private Integer accountId; + + /** + * ������������������ + */ + private String account; + + /** + * ������������ + */ + private String userName; + + /** + * ������������ + */ + private String type; + + /** * ������������ */ private String content; - - /** - * ������Id - */ - private Integer organizationId; - - /** - * ������������id - */ - private Integer operateId; /** * Ip������ @@ -52,7 +63,7 @@ /** * ������������ */ - private Date createTime; + private LocalDateTime createTime; @Override diff --git a/screen-api/src/main/java/com/moral/api/entity/Menu.java b/screen-api/src/main/java/com/moral/api/entity/Menu.java index 951d960..acfd0c9 100644 --- a/screen-api/src/main/java/com/moral/api/entity/Menu.java +++ b/screen-api/src/main/java/com/moral/api/entity/Menu.java @@ -1,8 +1,11 @@ package com.moral.api.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; + import java.io.Serializable; import java.util.Date; @@ -32,6 +35,7 @@ /** * ��������� */ + @TableField(value = "`name`") private String name; /** @@ -52,16 +56,19 @@ /** * ��������������������������� */ + @TableField(value = "`order`") private Integer order; /** * ������������ */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; /** * ������������ */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date updateTime; /** diff --git a/screen-api/src/main/java/com/moral/api/entity/UserLog.java b/screen-api/src/main/java/com/moral/api/entity/UserLog.java index 259a1eb..416fef5 100644 --- a/screen-api/src/main/java/com/moral/api/entity/UserLog.java +++ b/screen-api/src/main/java/com/moral/api/entity/UserLog.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; + import java.io.Serializable; import java.util.Date; @@ -15,7 +17,7 @@ * </p> * * @author moral - * @since 2021-03-09 + * @since 2021-04-13 */ @Data @EqualsAndHashCode(callSuper = false) @@ -28,6 +30,11 @@ */ @TableId(value = "id", type = IdType.AUTO) private Integer id; + + /** + * ������������ + */ + private String type; /** * ������������ @@ -52,6 +59,7 @@ /** * ������������ */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; diff --git a/screen-api/src/main/java/com/moral/api/mapper/ManageLogMapper.java b/screen-api/src/main/java/com/moral/api/mapper/ManageLogMapper.java index 385155e..cafaf27 100644 --- a/screen-api/src/main/java/com/moral/api/mapper/ManageLogMapper.java +++ b/screen-api/src/main/java/com/moral/api/mapper/ManageLogMapper.java @@ -9,7 +9,7 @@ * </p> * * @author moral - * @since 2021-03-09 + * @since 2021-04-13 */ public interface ManageLogMapper extends BaseMapper<ManageLog> { diff --git a/screen-api/src/main/java/com/moral/api/service/GroupMenuService.java b/screen-api/src/main/java/com/moral/api/service/GroupMenuService.java index a1bd398..45edad9 100644 --- a/screen-api/src/main/java/com/moral/api/service/GroupMenuService.java +++ b/screen-api/src/main/java/com/moral/api/service/GroupMenuService.java @@ -1,5 +1,6 @@ package com.moral.api.service; +import java.util.List; import java.util.Map; import com.moral.api.entity.GroupMenu; @@ -15,5 +16,7 @@ */ public interface GroupMenuService extends IService<GroupMenu> { - void allotMenus(Map<String, Object> parameters, String token); + void allotMenus(Map<String, Object> parameters); + + List<Integer> getMenusIds(Integer groupId); } diff --git a/screen-api/src/main/java/com/moral/api/service/GroupService.java b/screen-api/src/main/java/com/moral/api/service/GroupService.java index 0548339..02c1ea8 100644 --- a/screen-api/src/main/java/com/moral/api/service/GroupService.java +++ b/screen-api/src/main/java/com/moral/api/service/GroupService.java @@ -18,11 +18,11 @@ */ public interface GroupService extends IService<Group> { - Map<String, Object> addGroup(Group group, String token); + Map<String, Object> addGroup(Group group); void deleteGroup(Group group); - Map<String, Object> updateGroup(Group group, String token); + Map<String, Object> updateGroup(Group group); Page<Group> selectGroups(Map<String, Object> parameters); diff --git a/screen-api/src/main/java/com/moral/api/service/ManageLogService.java b/screen-api/src/main/java/com/moral/api/service/ManageLogService.java index cec721b..483ebc2 100644 --- a/screen-api/src/main/java/com/moral/api/service/ManageLogService.java +++ b/screen-api/src/main/java/com/moral/api/service/ManageLogService.java @@ -9,7 +9,7 @@ * </p> * * @author moral - * @since 2021-03-09 + * @since 2021-04-13 */ public interface ManageLogService extends IService<ManageLog> { diff --git a/screen-api/src/main/java/com/moral/api/service/MenuService.java b/screen-api/src/main/java/com/moral/api/service/MenuService.java index 242c94a..aa78b9e 100644 --- a/screen-api/src/main/java/com/moral/api/service/MenuService.java +++ b/screen-api/src/main/java/com/moral/api/service/MenuService.java @@ -1,5 +1,6 @@ package com.moral.api.service; +import java.util.List; import java.util.Map; import com.moral.api.entity.Menu; @@ -16,4 +17,6 @@ public interface MenuService extends IService<Menu> { Map<String,Object> selectMenusByOrgId(Integer orgId); + + List<Menu> getMenuList(Integer orgId); } diff --git a/screen-api/src/main/java/com/moral/api/service/UserGroupService.java b/screen-api/src/main/java/com/moral/api/service/UserGroupService.java index e17e7bb..4bf9c24 100644 --- a/screen-api/src/main/java/com/moral/api/service/UserGroupService.java +++ b/screen-api/src/main/java/com/moral/api/service/UserGroupService.java @@ -16,7 +16,7 @@ */ public interface UserGroupService extends IService<UserGroup> { - void allotGroups(Map<String, Object> parameters, String token); + void allotGroups(Map<String, Object> parameters); List<Integer> getGroupIds(Integer userId); } diff --git a/screen-api/src/main/java/com/moral/api/service/UserLogService.java b/screen-api/src/main/java/com/moral/api/service/UserLogService.java index 8c18d33..9d61777 100644 --- a/screen-api/src/main/java/com/moral/api/service/UserLogService.java +++ b/screen-api/src/main/java/com/moral/api/service/UserLogService.java @@ -1,5 +1,8 @@ package com.moral.api.service; +import java.util.Map; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.moral.api.entity.UserLog; import com.baomidou.mybatisplus.extension.service.IService; @@ -13,4 +16,6 @@ */ public interface UserLogService extends IService<UserLog> { + Page<UserLog> selectLogs(Map<String, Object> parameters); + } diff --git a/screen-api/src/main/java/com/moral/api/service/UserService.java b/screen-api/src/main/java/com/moral/api/service/UserService.java index d57b212..5680a37 100644 --- a/screen-api/src/main/java/com/moral/api/service/UserService.java +++ b/screen-api/src/main/java/com/moral/api/service/UserService.java @@ -24,11 +24,11 @@ Map<String, Object> getMenus(Map<String, Object> parameters); - Map<String, Object> addUser(User user, String token); + Map<String, Object> addUser(User user); void deleteUser(User user); - Map<String, Object> updateUser(User user, String token); + Map<String, Object> updateUser(User user); Page<User> selectUsers(Map<String, Object> parameters); diff --git a/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java index 651b199..45bdefd 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java @@ -3,17 +3,27 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.moral.api.entity.GroupMenu; +import com.moral.api.mapper.GroupMapper; import com.moral.api.mapper.GroupMenuMapper; +import com.moral.api.mapper.MenuMapper; import com.moral.api.service.GroupMenuService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.utils.OperationLogUtils; import com.moral.constant.Constants; import com.moral.util.TokenUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; /** * <p> @@ -29,25 +39,52 @@ @Autowired private GroupMenuMapper groupMenuMapper; + @Autowired + private GroupMapper groupMapper; + + @Autowired + private MenuMapper menuMapper; + @Override - public void allotMenus(Map<String, Object> parameters, String token) { + @Transactional + public void allotMenus(Map<String, Object> parameters) { + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String token = request.getHeader("token"); + Integer groupId = Integer.parseInt(parameters.get("groupId").toString()); List<Integer> menuIds = (ArrayList) parameters.get("menuIds"); Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); + Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); UpdateWrapper<GroupMenu> deleteWrapper = new UpdateWrapper<>(); - deleteWrapper.set("is_delete", Constants.DELETE) - .eq("group_id", groupId) - .eq("channel", Constants.WEB_CHANNEL); - groupMenuMapper.update(null, deleteWrapper); - if (!menuIds.isEmpty()) { - for (Integer menuId : menuIds) { + deleteWrapper.eq("group_id", groupId).eq("channel", Constants.WEB_CHANNEL); + groupMenuMapper.delete(deleteWrapper); + List<String> menus = new ArrayList<>(); + if (menuIds != null && !menuIds.isEmpty()) { + menuIds.forEach(menuId -> { + menus.add(menuMapper.selectById(menuId).getName()); GroupMenu groupMenu = new GroupMenu(); groupMenu.setGroupId(groupId); groupMenu.setMenuId(menuId); groupMenu.setChannel(Constants.WEB_CHANNEL); - groupMenu.setOrganizationId((Integer) currentUserInfo.get("organizationId")); + groupMenu.setOrganizationId((Integer) orgInfo.get("id")); groupMenuMapper.insert(groupMenu); - } + }); } + + + //������ + String groupName = groupMapper.selectById((Integer) parameters.get("groupId")).getGroupName(); + String content = "���������" + groupName + "������������������" + menus.toString(); + OperationLogUtils.insertLog(request, content, Constants.UPDATE_OPERATE_TYPE); + } + + @Override + public List<Integer> getMenusIds(Integer groupId) { + QueryWrapper<GroupMenu> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("group_id", groupId).eq("is_delete", Constants.NOT_DELETE); + List<GroupMenu> groupMenus = groupMenuMapper.selectList(queryWrapper); + List<Integer> menuIds = new ArrayList<>(); + groupMenus.forEach(groupMenu -> menuIds.add(groupMenu.getMenuId())); + return menuIds; } } diff --git a/screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java index 49a9833..3f6b6ba 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java @@ -2,8 +2,8 @@ import java.util.HashMap; -import java.util.List; import java.util.Map; +import java.util.Objects; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -16,6 +16,7 @@ import com.moral.api.mapper.UserGroupMapper; import com.moral.api.service.GroupService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.utils.OperationLogUtils; import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; import com.moral.util.ConvertUtils; @@ -23,6 +24,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; /** * <p> @@ -45,10 +50,14 @@ private UserGroupMapper userGroupMapper; @Override - public Map<String, Object> addGroup(Group group, String token) { + public Map<String, Object> addGroup(Group group) { + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String token = request.getHeader("token"); + Map<String, Object> result = new HashMap<>(); Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); - Integer orgId = (int) currentUserInfo.get("organizationId"); + Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); + Integer orgId = (Integer) orgInfo.get("id"); QueryWrapper<Group> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("group_name", group.getGroupName()) .eq("organization_id", orgId) @@ -60,6 +69,10 @@ } group.setOrganizationId(orgId); groupMapper.insert(group); + + //������ + String content = "���������������" + group.getGroupName(); + OperationLogUtils.insertLog(request, content, Constants.INSERT_OPERATE_TYPE); return result; } @@ -68,42 +81,58 @@ //������������group group.setIsDelete(Constants.DELETE); groupMapper.updateById(group); - //������������group_menu + //������group_menu UpdateWrapper<GroupMenu> deleteGroupWrapper = new UpdateWrapper<>(); - deleteGroupWrapper.set("is_delete", Constants.DELETE).eq("group_id", group.getId()); - groupMenuMapper.update(null, deleteGroupWrapper); - //������������user_group + deleteGroupWrapper.eq("group_id", group.getId()); + groupMenuMapper.delete(deleteGroupWrapper); + //������user_group UpdateWrapper<UserGroup> deleteUserGroupWrapper = new UpdateWrapper<>(); - deleteUserGroupWrapper.set("is_delete", Constants.DELETE).eq("group_id", group.getId()); - userGroupMapper.update(null, deleteUserGroupWrapper); + deleteUserGroupWrapper.eq("group_id", group.getId()); + userGroupMapper.delete(deleteUserGroupWrapper); + //������ + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String content = "���������������" + group.getGroupName(); + OperationLogUtils.insertLog(request, content, Constants.DELETE_OPERATE_TYPE); } @Override - public Map<String, Object> updateGroup(Group group, String token) { + public Map<String, Object> updateGroup(Group group) { + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String token = request.getHeader("token"); + + String before = groupMapper.selectById(group.getId()).getGroupName(); Map<String, Object> result = new HashMap<>(); Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); - Object organizationId = currentUserInfo.get("organizationId"); + Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); + Integer orgId = (Integer) orgInfo.get("id"); QueryWrapper<Group> queryWrapper = new QueryWrapper<>(); queryWrapper.ne("id", group.getId()) .eq("group_name", group.getGroupName()) .eq("is_delete", Constants.NOT_DELETE) - .eq("organization_id", organizationId); + .eq("organization_id", orgId); if (groupMapper.selectOne(queryWrapper) != null) { result.put("code", ResponseCodeEnum.GROUP_EXIST.getCode()); result.put("msg", ResponseCodeEnum.GROUP_EXIST.getMsg()); return result; } - group.setOrganizationId((int) organizationId); + group.setOrganizationId(orgId); groupMapper.updateById(group); + //������ + String content = "���������������" + before + "=>" + group.getGroupName(); + OperationLogUtils.insertLog(request, content, Constants.UPDATE_OPERATE_TYPE); return result; } @Override public Page<Group> selectGroups(Map<String, Object> parameters) { - Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(parameters.get("token").toString()); - Object organizationId = currentUserInfo.get("organizationId"); + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String token = request.getHeader("token"); + + Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); + Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); + Integer orgId = (Integer) orgInfo.get("id"); QueryWrapper<Group> queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("organization_id", organizationId) + queryWrapper.eq("organization_id", orgId) .eq("is_delete", Constants.NOT_DELETE); Object order = parameters.get("order"); Object orderType = parameters.get("orderType"); diff --git a/screen-api/src/main/java/com/moral/api/service/impl/ManageLogServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/ManageLogServiceImpl.java index 30c5c3c..b6589c5 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/ManageLogServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/ManageLogServiceImpl.java @@ -12,7 +12,7 @@ * </p> * * @author moral - * @since 2021-03-09 + * @since 2021-04-13 */ @Service public class ManageLogServiceImpl extends ServiceImpl<ManageLogMapper, ManageLog> implements ManageLogService { diff --git a/screen-api/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java index f05735c..d1a0ed3 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java @@ -1,6 +1,7 @@ package com.moral.api.service.impl; import java.util.HashMap; +import java.util.List; import java.util.Map; import com.moral.api.entity.Menu; @@ -26,10 +27,18 @@ @Autowired private UserService userService; + @Autowired + private MenuMapper menuMapper; + @Override public Map<String, Object> selectMenusByOrgId(Integer orgId) { Map<String, Object> map = new HashMap<>(); - map.put("orgId",orgId); + map.put("orgId", orgId); return userService.getMenus(map); } + + @Override + public List<Menu> getMenuList(Integer orgId) { + return menuMapper.selectOrganizationMenu(orgId); + } } diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java index 1bf3af4..66f03ef 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java @@ -3,18 +3,27 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.moral.api.entity.UserGroup; +import com.moral.api.mapper.GroupMapper; import com.moral.api.mapper.UserGroupMapper; +import com.moral.api.mapper.UserMapper; import com.moral.api.service.UserGroupService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.utils.OperationLogUtils; import com.moral.constant.Constants; import com.moral.util.TokenUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; /** * <p> @@ -30,23 +39,41 @@ @Autowired private UserGroupMapper userGroupMapper; + @Autowired + private UserMapper userMapper; + + @Autowired + private GroupMapper groupMapper; + @Override - public void allotGroups(Map<String, Object> parameters, String token) { + @Transactional + public void allotGroups(Map<String, Object> parameters) { + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String token = request.getHeader("token"); + Integer userId = Integer.parseInt(parameters.get("userId").toString()); List<Integer> groupIds = (ArrayList) parameters.get("groupIds"); Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); + Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); UpdateWrapper<UserGroup> deleteWrapper = new UpdateWrapper<>(); - deleteWrapper.set("is_delete", Constants.DELETE).eq("user_id", userId); - userGroupMapper.update(null, deleteWrapper); - if (!groupIds.isEmpty()) { - for (Integer groupId : groupIds) { + deleteWrapper.eq("user_id", userId); + userGroupMapper.delete(deleteWrapper); + List<String> groups = new ArrayList<>(); + if (groupIds != null && !groupIds.isEmpty()) { + groupIds.forEach(groupId -> { + groups.add(groupMapper.selectById(groupId).getGroupName()); UserGroup userGroup = new UserGroup(); userGroup.setUserId(userId); userGroup.setGroupId(groupId); - userGroup.setOrganizationId((Integer) currentUserInfo.get("organizationId")); + userGroup.setOrganizationId((Integer) orgInfo.get("id")); userGroupMapper.insert(userGroup); - } + }); } + + //������ + String account = userMapper.selectById((Integer) parameters.get("userId")).getAccount(); + String content = "������������" + account + "���������������" + groups.toString(); + OperationLogUtils.insertLog(request, content, Constants.UPDATE_OPERATE_TYPE); } @Override @@ -55,9 +82,7 @@ queryWrapper.eq("user_id", userId).eq("is_delete", Constants.NOT_DELETE); List<UserGroup> userGroups = userGroupMapper.selectList(queryWrapper); List<Integer> groupIds = new ArrayList<>(); - for (UserGroup userGroup : userGroups) { - groupIds.add(userGroup.getGroupId()); - } + userGroups.forEach(userGroup -> groupIds.add(userGroup.getGroupId())); return groupIds; } } diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UserLogServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UserLogServiceImpl.java index 381f1d0..61e14ef 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/UserLogServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/UserLogServiceImpl.java @@ -1,10 +1,22 @@ package com.moral.api.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.moral.api.entity.UserLog; import com.moral.api.mapper.UserLogMapper; import com.moral.api.service.UserLogService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.util.TokenUtils; + +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import java.util.Map; +import java.util.Objects; + +import javax.servlet.http.HttpServletRequest; /** * <p> @@ -17,4 +29,27 @@ @Service public class UserLogServiceImpl extends ServiceImpl<UserLogMapper, UserLog> implements UserLogService { + @Autowired + private UserLogMapper userLogMapper; + + @Override + public Page<UserLog> selectLogs(Map<String, Object> parameters) { + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String token = request.getHeader("token"); + Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); + Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); + Object orgId = orgInfo.get("id"); + QueryWrapper<UserLog> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("organization_id", orgId); + Object type = parameters.get("type"); + if (type != null) { + queryWrapper.eq("type", type); + } + queryWrapper.orderByDesc("create_time"); + Integer page = (Integer) parameters.get("page"); + Integer size = (Integer) parameters.get("size"); + Page<UserLog> userLogPage = new Page<>(page, size); + userLogMapper.selectPage(userLogPage, queryWrapper); + return userLogPage; + } } diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java index 70b8a57..ca8fb19 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java @@ -1,5 +1,12 @@ package com.moral.api.service.impl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + import java.util.ArrayList; import java.util.Comparator; import java.util.Date; @@ -7,13 +14,13 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -23,12 +30,14 @@ import com.moral.api.entity.Organization; import com.moral.api.entity.User; import com.moral.api.entity.UserGroup; - +import com.moral.api.entity.UserLog; import com.moral.api.mapper.MenuMapper; import com.moral.api.mapper.UserGroupMapper; +import com.moral.api.mapper.UserLogMapper; import com.moral.api.mapper.UserMapper; import com.moral.api.pojo.bo.UserBO; import com.moral.api.service.UserService; +import com.moral.api.utils.OperationLogUtils; import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; import com.moral.util.AESUtils; @@ -37,6 +46,7 @@ import com.moral.util.MD5Utils; import com.moral.util.RegexUtils; import com.moral.util.TokenUtils; +import com.moral.util.WebUtils; /** * <p> @@ -58,8 +68,12 @@ @Autowired private UserGroupMapper userGroupMapper; + @Autowired + private UserLogMapper userLogMapper; + @Value("${AES.KEY}") private String AESKey; + @Override public UserBO selectUserInfo(Map<String, Object> parameters) { @@ -145,6 +159,15 @@ result.put("code", ResponseCodeEnum.TOKEN_CREATE_ERROR.getCode()); result.put("msg", ResponseCodeEnum.TOKEN_CREATE_ERROR.getMsg()); } + //������ + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + UserLog userLog = new UserLog(); + userLog.setType(Constants.LOGIN_OPERTATE_TYPE); + userLog.setIp(WebUtils.getIpAddr(request)); + userLog.setOperateId(userBo.getId()); + userLog.setOrganizationId(userBo.getOrganizationId()); + userLog.setContent("������������������" + userBo.getAccount()); + userLogMapper.insert(userLog); return result; } @@ -206,7 +229,10 @@ @Override @Transactional - public Map<String, Object> addUser(User user, String token) { + public Map<String, Object> addUser(User user) { + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String token = request.getHeader("token"); + Map<String, Object> result = new HashMap<>(); Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); @@ -261,8 +287,15 @@ } else { user.setExpireTime(userExpireTime); } + } else { + if (orgExpireTime != null) { + user.setExpireTime(orgExpireTime); + } } userMapper.insert(user); + //������ + String content = "������������������" + user.getAccount(); + OperationLogUtils.insertLog(request, content, Constants.INSERT_OPERATE_TYPE); return result; } @@ -273,23 +306,34 @@ //������������user user.setIsDelete(Constants.DELETE); userMapper.updateById(user); - //������������user_group + //������user_group UpdateWrapper<UserGroup> deleteWrapper = new UpdateWrapper<>(); - deleteWrapper.set("is_delete", Constants.DELETE).eq("user_id", userId); + deleteWrapper.eq("user_id", userId); + userGroupMapper.delete(deleteWrapper); //������redis if (TokenUtils.hHasKey(userId)) { String token = TokenUtils.hget(userId).toString(); TokenUtils.destoryToken(userId, token); } - userGroupMapper.update(null, deleteWrapper); + //������ + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String content = "������������������" + user.getAccount(); + OperationLogUtils.insertLog(request, content, Constants.DELETE_OPERATE_TYPE); } @Override @Transactional - public Map<String, Object> updateUser(User user, String token) { + public Map<String, Object> updateUser(User user) { + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String token = request.getHeader("token"); + + //��������������� + Map<String, Object> update = JSONObject.parseObject(JSON.toJSONString(user), Map.class); Map<String, Object> result = new HashMap<>(); Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); - String account = userMapper.selectById(user.getId()).getAccount(); + User beforeUser = userMapper.selectById(user.getId()); + Map<String, Object> before = JSONObject.parseObject(JSON.toJSONString(beforeUser), Map.class); + String account = beforeUser.getAccount(); //account������������ user.setAccount(account); @@ -301,12 +345,14 @@ } //������������ String password = user.getPassword(); - //������������ - password = AESUtils.decrypt(password, AESKey); - if (!RegexUtils.checkPassword(password)) { - result.put("code", ResponseCodeEnum.PASSWORD_INVALID.getCode()); - result.put("msg", ResponseCodeEnum.PASSWORD_INVALID.getMsg()); - return result; + if (password != null) { + //������������ + password = AESUtils.decrypt(password, AESKey); + if (!RegexUtils.checkPassword(password)) { + result.put("code", ResponseCodeEnum.PASSWORD_INVALID.getCode()); + result.put("msg", ResponseCodeEnum.PASSWORD_INVALID.getMsg()); + return result; + } } //��������������������� @@ -331,6 +377,10 @@ } else { user.setExpireTime(userExpireTime); } + } else { + if (orgExpireTime != null) { + user.setExpireTime(orgExpireTime); + } } //������redis String userId = user.getId().toString(); @@ -339,12 +389,28 @@ TokenUtils.destoryToken(userId, deleteToken); } userMapper.updateById(user); + + //������ + StringBuilder content = new StringBuilder("������������������" + user.getAccount() + "->"); + for (String key : update.keySet()) { + Object afterValue = update.get(key); + if (!key.equals("id") && afterValue != null) { + //������������������ + Object beforeValue = before.get(key); + content.append(key).append(":").append(beforeValue).append("=>").append(afterValue).append(";"); + } + } + OperationLogUtils.insertLog(request, content.toString(), Constants.UPDATE_OPERATE_TYPE); + return result; } @Override public Page<User> selectUsers(Map<String, Object> parameters) { - Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(parameters.get("token").toString()); + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String token = request.getHeader("token"); + + Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("organization_id", orgInfo.get("id")) @@ -387,7 +453,6 @@ queryWrapper.orderByDesc("create_time"); } userMapper.selectPage(pageData, queryWrapper); - return pageData; } diff --git a/screen-api/src/main/java/com/moral/api/utils/OperationLogUtils.java b/screen-api/src/main/java/com/moral/api/utils/OperationLogUtils.java index 88afde3..19c9cf4 100644 --- a/screen-api/src/main/java/com/moral/api/utils/OperationLogUtils.java +++ b/screen-api/src/main/java/com/moral/api/utils/OperationLogUtils.java @@ -25,10 +25,11 @@ this.userLogService = userLogService; } - public static void insertLog(HttpServletRequest request, String content) { + public static void insertLog(HttpServletRequest request, String content, String type) { String token = request.getHeader("token"); Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); UserLog userLog = new UserLog(); + userLog.setType(type); userLog.setIp(WebUtils.getIpAddr(request)); userLog.setOperateId((Integer) currentUserInfo.get("userId")); Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); diff --git a/screen-api/src/main/resources/mapper/ManageLogMapper.xml b/screen-api/src/main/resources/mapper/ManageLogMapper.xml index caccc42..a688e65 100644 --- a/screen-api/src/main/resources/mapper/ManageLogMapper.xml +++ b/screen-api/src/main/resources/mapper/ManageLogMapper.xml @@ -5,9 +5,11 @@ <!-- ������������������������ --> <resultMap id="BaseResultMap" type="com.moral.api.entity.ManageLog"> <id column="id" property="id" /> + <result column="account_id" property="accountId" /> + <result column="account" property="account" /> + <result column="user_name" property="userName" /> + <result column="type" property="type" /> <result column="content" property="content" /> - <result column="organization_id" property="organizationId" /> - <result column="operate_id" property="operateId" /> <result column="ip" property="ip" /> <result column="create_time" property="createTime" /> </resultMap> diff --git a/screen-api/src/main/resources/mapper/MenuMapper.xml b/screen-api/src/main/resources/mapper/MenuMapper.xml index 261a915..28df161 100644 --- a/screen-api/src/main/resources/mapper/MenuMapper.xml +++ b/screen-api/src/main/resources/mapper/MenuMapper.xml @@ -15,17 +15,13 @@ <result column="is_delete" property="isDelete"/> </resultMap> - <resultMap id="MenuResultMap" type="com.moral.api.entity.Menu"> - <id column="id" property="id"/> - <result column="name" property="name"/> - <result column="url" property="url"/> - <result column="icon" property="icon"/> - <result column="parent_id" property="parentId"/> - <result column="order" property="order" jdbcType="INTEGER"/> - </resultMap> + <sql id="Base_Column_List"> + m.id, m.name, m.url, m.icon, m.parent_id, m.order, m.create_time, m.update_time + </sql> - <select id="selectUserMenu" resultMap="MenuResultMap"> - SELECT DISTINCT m.id,m.name,m.url,m.icon,m.parent_id,m.order + <select id="selectUserMenu" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"></include> FROM `user_group` ug,`group_menu` gm,`menu` m WHERE ug.user_id = #{userId} AND ug.group_id = gm.group_id @@ -34,11 +30,11 @@ AND gm.is_delete = 0 AND gm.channel = 1 AND m.is_delete = 0 - ORDER by m.`order` </select> - <select id="selectOrganizationMenu" resultMap="MenuResultMap"> - SELECT m.id,m.name,m.url,m.icon,m.parent_id,m.order + <select id="selectOrganizationMenu" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"></include> FROM `menu` m, `organization_menu` om WHERE om.organization_id = #{orgId} AND m.id = om.menu_id @@ -46,6 +42,5 @@ AND om.menu_id = m.id AND om.is_delete = 0 AND m.is_delete = 0 - ORDER by m.`order` </select> </mapper> \ No newline at end of file diff --git a/screen-api/src/main/resources/mapper/UserLogMapper.xml b/screen-api/src/main/resources/mapper/UserLogMapper.xml index 52f730a..94e75cc 100644 --- a/screen-api/src/main/resources/mapper/UserLogMapper.xml +++ b/screen-api/src/main/resources/mapper/UserLogMapper.xml @@ -2,14 +2,15 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.moral.api.mapper.UserLogMapper"> - <!-- ������������������������ --> - <resultMap id="BaseResultMap" type="com.moral.api.entity.UserLog"> - <id column="id" property="id" /> - <result column="content" property="content" /> - <result column="organization_id" property="organizationId" /> - <result column="operate_id" property="operateId" /> - <result column="ip" property="ip" /> - <result column="create_time" property="createTime" /> - </resultMap> + <!-- ������������������������ --> + <resultMap id="BaseResultMap" type="com.moral.api.entity.UserLog"> + <id column="id" property="id" /> + <result column="type" property="type" /> + <result column="content" property="content" /> + <result column="organization_id" property="organizationId" /> + <result column="operate_id" property="operateId" /> + <result column="ip" property="ip" /> + <result column="create_time" property="createTime" /> + </resultMap> </mapper> \ No newline at end of file diff --git a/screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java b/screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java index c9d1342..c4f87db 100644 --- a/screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java +++ b/screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java @@ -14,6 +14,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @@ -45,13 +46,12 @@ @ApiImplicitParam(name = "order", value = "������������������", required = true, paramType = "query", dataType = "String") }) @RequestMapping(value = "insertOneManageMenu", method = RequestMethod.POST) - public ResultMessage insertOneManageMenu(HttpServletRequest request) { - Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + public ResultMessage insertOneManageMenu(@RequestBody Map<String, Object> parameters) { ManageMenu manageMenu = JSON.parseObject(JSON.toJSONString(parameters), ManageMenu.class); Map<String,Object> resultMap = manageMenuService.insertManageMenu(manageMenu); String msg = resultMap.get("msg").toString(); - boolean flag = Boolean.parseBoolean(resultMap.get("flag").toString()); - if (flag){ + int code = Integer.parseInt(resultMap.get("code").toString()); + if (code == 0){ return ResultMessage.ok(msg); } return ResultMessage.fail(msg); @@ -64,28 +64,27 @@ @ApiImplicitParam(name = "url", value = "url������", required = true, paramType = "query", dataType = "String") }) @RequestMapping(value = "updateManageMenuById", method = RequestMethod.POST) - public ResultMessage updateManageMenuById(HttpServletRequest request) { - Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + public ResultMessage updateManageMenuById(@RequestBody Map<String, Object> parameters) { + System.out.println("parameters:"+parameters); Map<String,Object> resultMap = manageMenuService.updateManageMenu(parameters); String msg = resultMap.get("msg").toString(); - boolean flag = Boolean.parseBoolean(resultMap.get("flag").toString()); - if (flag){ + int code = Integer.parseInt(resultMap.get("code").toString()); + if (code == 0){ return ResultMessage.ok(msg); } return ResultMessage.fail(msg); } - @ApiOperation(value = "������������", notes = "������������") + @ApiOperation(value = "������������", notes = "������������") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "������", required = true, paramType = "query", dataType = "int") }) @RequestMapping(value = "deleteManageMenu", method = RequestMethod.POST) - public ResultMessage deleteManageMenu(HttpServletRequest request) { - Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + public ResultMessage deleteManageMenu(@RequestBody Map<String, Object> parameters) { Map<String,Object> resultMap = manageMenuService.deleteManageMenu(parameters); String msg = resultMap.get("msg").toString(); - boolean flag = Boolean.parseBoolean(resultMap.get("flag").toString()); - if (flag){ + int code = Integer.parseInt(resultMap.get("code").toString()); + if (code == 0){ return ResultMessage.ok(msg); } return ResultMessage.fail(msg); @@ -93,8 +92,6 @@ @ApiOperation(value = "������������������", notes = "������������������") @ApiImplicitParams({ - /*@ApiImplicitParam(name = "current", value = "������", required = true, paramType = "query", dataType = "int"), - @ApiImplicitParam(name = "size", value = "������������", required = true, paramType = "query", dataType = "int")*/ }) @RequestMapping(value = "getAllManageMenu", method = RequestMethod.GET) public ResultMessage getAllManageMenu(HttpServletRequest request) { @@ -122,7 +119,7 @@ }) @RequestMapping(value = "getManageMenuByNameFuzzy", method = RequestMethod.GET) public ResultMessage getManageMenuByNameFuzzy(HttpServletRequest request) { - Map<String, Object> parameters = getParametersStartingWith(request, null); + Map<String,Object> parameters = getParametersStartingWith(request,null); Map<String,Object> resultMap = new HashMap<>(); if (parameters.get("name") == null || parameters.get("current") == null || parameters.get("size") == null){ resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); @@ -134,7 +131,54 @@ resultMap.put("msg",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getMsg()); return ResultMessage.fail(resultMap); } - List<ManageMenu> re = manageMenuService.getManageMenuByNameFuzzy(parameters); + List<Map<String,Object>> re = manageMenuService.getManageMenuByNameFuzzy(parameters); + return ResultMessage.ok(re); + } + + @ApiOperation(value = "������roleId������������", notes = "������roleId������������") + @ApiImplicitParams({ + @ApiImplicitParam(name = "roleId", value = "������id", required = true, paramType = "query", dataType = "int") + }) + @RequestMapping(value = "getManageMenuByRoleId", method = RequestMethod.GET) + public ResultMessage getManageMenuByRoleId(HttpServletRequest request) { + Map<String, Object> parameters = getParametersStartingWith(request, null); + List<ManageMenu> result = manageMenuService.getManageMenuByRoleId(Integer.parseInt(parameters.get("roleId").toString())); + return ResultMessage.ok(result); + } + + @ApiOperation(value = "������������������", notes = "������������������") + @ApiImplicitParams({ + @ApiImplicitParam(name = "current", value = "������", required = true, paramType = "query", dataType = "int"), + @ApiImplicitParam(name = "size", value = "������������", required = true, paramType = "query", dataType = "int") + }) + @RequestMapping(value = "getManageMenuList", method = RequestMethod.GET) + public ResultMessage getManageMenuList(HttpServletRequest request) { + Map<String, Object> parameters = getParametersStartingWith(request, null); + List<Map<String,Object>> result = manageMenuService.getAllWithPagingQuery(parameters); + return ResultMessage.ok(result); + } + + @ApiOperation(value = "������������������������������", notes = "������������������������������") + @ApiImplicitParams({ + @ApiImplicitParam(name = "parent_id", value = "���������id", required = true, paramType = "query", dataType = "int"), + @ApiImplicitParam(name = "current", value = "������", required = true, paramType = "query", dataType = "int"), + @ApiImplicitParam(name = "size", value = "������������", required = true, paramType = "query", dataType = "int") + }) + @RequestMapping(value = "getManageMenuByParentId", method = RequestMethod.GET) + public ResultMessage getManageMenuByParentId(HttpServletRequest request) { + Map<String,Object> parameters = getParametersStartingWith(request,null); + Map<String,Object> resultMap = new HashMap<>(); + if (parameters.get("parent_id") == null || parameters.get("current") == null || parameters.get("size") == null){ + resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); + resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + return ResultMessage.fail(resultMap); + } + if (Integer.parseInt(parameters.get("current").toString())<1 || Integer.parseInt(parameters.get("size").toString())<1){ + resultMap.put("code",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getCode()); + resultMap.put("msg",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getMsg()); + return ResultMessage.fail(resultMap); + } + List<Map<String,Object>> re = manageMenuService.getManageMenuByParentId(parameters); return ResultMessage.ok(re); } } diff --git a/screen-manage/src/main/java/com/moral/api/controller/ManageRoleController.java b/screen-manage/src/main/java/com/moral/api/controller/ManageRoleController.java index 0fb5f4a..e56cf48 100644 --- a/screen-manage/src/main/java/com/moral/api/controller/ManageRoleController.java +++ b/screen-manage/src/main/java/com/moral/api/controller/ManageRoleController.java @@ -1,12 +1,13 @@ package com.moral.api.controller; import com.alibaba.fastjson.JSON; -import com.moral.api.entity.ManageMenu; import com.moral.api.entity.ManageRole; -import com.moral.api.service.ManageMenuService; +import com.moral.api.pojo.dto.login.AccountInfoDTO; import com.moral.api.service.ManageRoleMenuService; import com.moral.api.service.ManageRoleService; +import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; +import com.moral.util.TokenUtils; import com.moral.util.WebUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -14,6 +15,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; @@ -36,6 +38,9 @@ @Autowired private ManageRoleMenuService manageRoleMenuService; + @Autowired + private RedisTemplate redisTemplate; + @ApiOperation(value = "������������������", notes = "������������������") @ApiImplicitParams({ @ApiImplicitParam(name = "current", value = "������", required = true, paramType = "query", dataType = "int"), @@ -56,7 +61,7 @@ }) @RequestMapping(value = "insertOneManageRole", method = RequestMethod.POST) @ResponseBody - public ResultMessage insertOneManageRole(@RequestBody Map<String, Object> parameters) { + public ResultMessage insertOneManageRole(@RequestBody Map<String, Object> parameters,HttpServletRequest request) { List list = new ArrayList(); if (parameters.get("menuIds") != null){ String menuIdsStr = parameters.get("menuIds").toString(); diff --git a/screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java index 93155b2..5d9b771 100644 --- a/screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java +++ b/screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java @@ -34,4 +34,8 @@ List<ManageMenu> getManageRoleByNameFuzzy(Map map); + List<ManageMenu> getManageMenuByCondition(Map map); + + List<ManageMenu> getManageMenuByRoleId(int roleId); + } diff --git a/screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java b/screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java index 3915f76..4c08837 100644 --- a/screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java +++ b/screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java @@ -28,11 +28,15 @@ @Transactional Map<String,Object> deleteManageMenu(Map map); - List<ManageMenu> getAllWithPagingQuery(Map map); + List<Map<String,Object>> getAllWithPagingQuery(Map map); List<ManageMenu> getAllMenus(); - List<ManageMenu> getManageMenuByNameFuzzy(Map map); + List getManageMenuByRoleId(int roleId); + + List<Map<String,Object>> getManageMenuByNameFuzzy(Map map); + + List<Map<String,Object>> getManageMenuByParentId(Map map); List<ManageMenu> getParentChildrenMenusByRoles(List<ManageRole> roles); } diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java index 35b3607..e64de85 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java @@ -1,5 +1,6 @@ package com.moral.api.service.impl; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.moral.api.entity.ManageMenu; @@ -8,13 +9,19 @@ import com.moral.api.mapper.ManageRoleMenuMapper; import com.moral.api.service.ManageMenuService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.util.LogUtils; +import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -38,6 +45,9 @@ @Autowired(required = false) private ManageRoleMenuMapper manageRoleMenuMapper; + @Autowired + LogUtils logUtils; + @Override @Transactional public Map<String, Object> insertManageMenu(ManageMenu manageMenu) { @@ -52,6 +62,10 @@ resultMap.put("msg", ResponseCodeEnum.MENU_IS_EXPIRE.getMsg()); } else { manageMenuMapper.insertOne(manageMenu); + //������������������ + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String content = "������������:"+manageMenu.getName()+";"; + logUtils.saveOperationForManage(request,content,Constants.INSERT_OPERATE_TYPE); resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg()); } @@ -71,7 +85,30 @@ resultMap.put("code", ResponseCodeEnum.MENU_IS_NULL.getCode()); resultMap.put("msg", ResponseCodeEnum.MENU_IS_NULL.getMsg()); } else { + //��������������������������������������� + ManageMenu manageMenuOld = manageMenuMapper.getManageMenuById(Integer.parseInt(map.get("id").toString())); manageMenuMapper.updateManageMenuById(map); + //������������������ + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String content = "���������������:"+manageMenuOld.getName()+";"; + for (Object key:map.keySet()) { + if (key.toString().equals("name")){ + content = content+"���������:"+manageMenuOld.getName()+"->"+map.get(key)+";"; + } + if (key.toString().equals("url")){ + content = content+"url������:"+manageMenuOld.getUrl()+"->"+map.get(key)+";"; + } + if (key.toString().equals("icon")){ + content = content+"������������:"+manageMenuOld.getIcon()+"->"+map.get(key)+";"; + } + if (key.toString().equals("parent_id")){ + content = content+"���������:"+manageMenuMapper.getManageMenuById(manageMenuOld.getId()).getName()+"->"+manageMenuMapper.getManageMenuById(Integer.parseInt(map.get(key).toString())).getName()+";"; + } + if (key.toString().equals("order")){ + content = content+"������������������������:"+manageMenuOld.getOrder()+"->"+map.get(key)+";"; + } + } + logUtils.saveOperationForManage(request,content,Constants.UPDATE_OPERATE_TYPE); resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg()); } @@ -91,6 +128,8 @@ resultMap.put("code", ResponseCodeEnum.MENU_IS_NULL.getCode()); resultMap.put("msg", ResponseCodeEnum.MENU_IS_NULL.getMsg()); } else { + //������������������������������ + ManageMenu manageMenuDelete = manageMenuMapper.getManageMenuById(Integer.parseInt(map.get("id").toString())); Map deleteMap = new HashMap(); int id = Integer.parseInt(map.get("id").toString()); deleteMap.put("id", id); @@ -99,6 +138,10 @@ Map role_menuDeleteMap = new HashMap(); role_menuDeleteMap.put("menu_id", id); manageRoleMenuMapper.updateDeleteStateByMenu_id(role_menuDeleteMap); + //������������������ + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String content = "������������:"+manageMenuDelete.getName()+";"; + logUtils.saveOperationForManage(request,content,Constants.DELETE_OPERATE_TYPE); resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg()); } @@ -106,12 +149,33 @@ } @Override - public List<ManageMenu> getAllWithPagingQuery(Map map) { + public List<Map<String,Object>> getAllWithPagingQuery(Map map) { Map limitMap = new HashMap(); limitMap.put("start", (Integer.parseInt(map.get("current").toString()) - 1) * Integer.parseInt(map.get("size").toString())); limitMap.put("number", Integer.parseInt(map.get("size").toString())); List<ManageMenu> manageMenus = manageMenuMapper.getDataWithPage(limitMap); - return manageMenus; + SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + List<Map<String,Object>> resultList = new ArrayList<>(); + for (ManageMenu manageMenu:manageMenus) { + Map manegeMenuMap = JSON.parseObject(JSON.toJSONString(manageMenu)); + if (manageMenu.getParentId().equals(0)){ + manegeMenuMap.put("parent_name",""); + }else { + ManageMenu parentMenu = manageMenuMapper.getManageMenuById(manageMenu.getParentId()); + if (ObjectUtils.isEmpty(parentMenu)){ + manegeMenuMap.put("parent_name",""); + }else { + String parent_name = parentMenu.getName(); + manegeMenuMap.put("parent_name",parent_name); + } + } + String createTime = SDF.format(manageMenu.getCreateTime()); + String updateTime = SDF.format(manageMenu.getUpdateTime()); + manegeMenuMap.put("createTime",createTime); + manegeMenuMap.put("updateTime",updateTime); + resultList.add(manegeMenuMap); + } + return resultList; } @Override @@ -141,13 +205,75 @@ } @Override - public List<ManageMenu> getManageMenuByNameFuzzy(Map map) { + public List getManageMenuByRoleId(int roleId) { + List<ManageMenu> manageMenus = manageMenuMapper.getManageMenuByRoleId(roleId); + List menuIdList = new ArrayList(); + for (ManageMenu manageMenu:manageMenus) { + menuIdList.add(manageMenu.getId()); + } + return menuIdList; + } + + @Override + public List<Map<String,Object>> getManageMenuByNameFuzzy(Map map) { Map limitMap = new HashMap(); limitMap.put("name", map.get("name")); limitMap.put("start", (Integer.parseInt(map.get("current").toString()) - 1) * Integer.parseInt(map.get("size").toString())); limitMap.put("number", Integer.parseInt(map.get("size").toString())); List<ManageMenu> manageMenus = manageMenuMapper.getManageRoleByNameFuzzy(limitMap); - return manageMenus; + SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + List<Map<String,Object>> resultList = new ArrayList<>(); + for (ManageMenu manageMenu:manageMenus) { + Map manegeMenuMap = JSON.parseObject(JSON.toJSONString(manageMenu)); + if (manageMenu.getParentId().equals(0)){ + manegeMenuMap.put("parent_name",""); + }else { + ManageMenu parentMenu = manageMenuMapper.getManageMenuById(manageMenu.getParentId()); + if (ObjectUtils.isEmpty(parentMenu)){ + manegeMenuMap.put("parent_name",""); + }else { + String parent_name = parentMenu.getName(); + manegeMenuMap.put("parent_name",parent_name); + } + } + String createTime = SDF.format(manageMenu.getCreateTime()); + String updateTime = SDF.format(manageMenu.getUpdateTime()); + manegeMenuMap.put("createTime",createTime); + manegeMenuMap.put("updateTime",updateTime); + resultList.add(manegeMenuMap); + } + return resultList; + } + + @Override + public List<Map<String, Object>> getManageMenuByParentId(Map map) { + Map limitMap = new HashMap(); + limitMap.put("parent_id", map.get("parent_id")); + limitMap.put("start", (Integer.parseInt(map.get("current").toString()) - 1) * Integer.parseInt(map.get("size").toString())); + limitMap.put("number", Integer.parseInt(map.get("size").toString())); + List<ManageMenu> manageMenus = manageMenuMapper.getManageMenuByCondition(limitMap); + SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + List<Map<String,Object>> resultList = new ArrayList<>(); + for (ManageMenu manageMenu:manageMenus) { + Map manegeMenuMap = JSON.parseObject(JSON.toJSONString(manageMenu)); + if (manageMenu.getParentId().equals(0)){ + manegeMenuMap.put("parent_name",""); + }else { + ManageMenu parentMenu = manageMenuMapper.getManageMenuById(manageMenu.getParentId()); + if (ObjectUtils.isEmpty(parentMenu)){ + manegeMenuMap.put("parent_name",""); + }else { + String parent_name = parentMenu.getName(); + manegeMenuMap.put("parent_name",parent_name); + } + } + String createTime = SDF.format(manageMenu.getCreateTime()); + String updateTime = SDF.format(manageMenu.getUpdateTime()); + manegeMenuMap.put("createTime",createTime); + manegeMenuMap.put("updateTime",updateTime); + resultList.add(manegeMenuMap); + } + return resultList; } @Override diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java index 2c7e1fc..5450a72 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java @@ -2,15 +2,24 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.moral.api.entity.ManageMenu; +import com.moral.api.entity.ManageRole; import com.moral.api.entity.ManageRoleMenu; +import com.moral.api.mapper.ManageMenuMapper; +import com.moral.api.mapper.ManageRoleMapper; import com.moral.api.mapper.ManageRoleMenuMapper; import com.moral.api.service.ManageRoleMenuService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.util.LogUtils; +import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -30,10 +39,20 @@ @Autowired(required = false) private ManageRoleMenuMapper manageRoleMenuMapper; + @Autowired(required = false) + private ManageMenuMapper manageMenuMapper; + + @Autowired(required = false) + private ManageRoleMapper manageRoleMapper; + + @Autowired + LogUtils logUtils; + @Override @Transactional public Map<String, Object> updateRoleMenu(List list, int id) { Map<String,Object> resultMap = new HashMap<>(); + List<ManageMenu> manageMenusOld = manageMenuMapper.getManageMenuByRoleId(id); if (list.size()==0){ resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); @@ -95,6 +114,28 @@ } manageRoleMenuMapper.insertBatch(mapList); } + List<ManageMenu> manageMenusNew = manageMenuMapper.getManageMenuByRoleId(id); + List manageMenuOldList = new ArrayList(); + List manageMenuNewList = new ArrayList(); + for (ManageMenu manageMenu:manageMenusOld) { + manageMenuOldList.add(manageMenu.getName()); + } + for (ManageMenu manageMenu:manageMenusNew) { + manageMenuNewList.add(manageMenu.getName()); + } + //������������������ + ManageRole manageRole = manageRoleMapper.selectById(id); + //������������������ + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String content = "���������������:"+manageRole.getName()+";"; + if (manageMenuOldList.size()==0){ + manageMenuOldList.add("���"); + } + if (manageMenuNewList.size()==0){ + manageMenuNewList.add("���"); + } + content = content+"������:"+manageMenuOldList+"->"+manageMenuNewList+";"; + logUtils.saveOperationForManage(request,content,Constants.UPDATE_OPERATE_TYPE); resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg()); return resultMap; diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java index b0bf07e..bccc23d 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java @@ -2,13 +2,18 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.moral.api.entity.ManageAccount; import com.moral.api.entity.ManageAccountRole; +import com.moral.api.entity.ManageLog; import com.moral.api.entity.ManageRole; import com.moral.api.mapper.ManageAccountRoleMapper; +import com.moral.api.mapper.ManageLogMapper; import com.moral.api.mapper.ManageRoleMapper; import com.moral.api.mapper.ManageRoleMenuMapper; +import com.moral.api.pojo.dto.login.AccountInfoDTO; import com.moral.api.service.ManageRoleService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.util.LogUtils; import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; import org.springframework.beans.factory.annotation.Autowired; @@ -16,8 +21,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.*; @@ -49,6 +57,9 @@ @Autowired(required = false) private ManageAccountRoleMapper manageAccountRoleMapper; + + @Autowired + LogUtils logUtils; @Override public Map<String,Object> getAllWithPagingQuery(Map map) { @@ -86,7 +97,7 @@ @Override @Transactional - public Map<String,Object> insertOne(ManageRole manageRole,List list) { + public Map<String,Object> insertOne(ManageRole manageRole, List list) { Map<String,Object> resultMap = new HashMap<>(); if (manageRole.getName()==null){ resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); @@ -96,24 +107,28 @@ if (manageRoleMapper.getManageRoleByName(manageRole.getName()) != null){ resultMap.put("code",ResponseCodeEnum.ROLE_IS_EXPIRE.getCode()); resultMap.put("msg",ResponseCodeEnum.ROLE_IS_EXPIRE.getMsg()); - }else { - manageRoleMapper.insertOne(manageRole); - resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode()); - resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg()); + return resultMap; } - Integer code = Integer.parseInt(resultMap.get("code").toString()); - if (code.equals(ResponseCodeEnum.SUCCESS.getCode())){ - ManageRole manageRoleIns = manageRoleMapper.getManageRoleByName(manageRole.getName()); - int role_id = manageRoleIns.getId(); - List insertList = new ArrayList(); - for (Object temp: list) { - Map<String,Integer> insertMap = new HashMap<>(); - insertMap.put("role_id",role_id); - insertMap.put("menu_id",Integer.parseInt(temp.toString())); - insertList.add(insertMap); - } + manageRoleMapper.insertOne(manageRole); + ManageRole manageRoleIns = manageRoleMapper.getManageRoleByName(manageRole.getName()); + int role_id = manageRoleIns.getId(); + List insertList = new ArrayList(); + for (Object temp: list) { + Map<String,Integer> insertMap = new HashMap<>(); + insertMap.put("role_id",role_id); + insertMap.put("menu_id",Integer.parseInt(temp.toString())); + insertList.add(insertMap); + } + //��������������������������������������������� + if (insertList.size()>0){ manageRoleMenuMapper.insertBatch(insertList); } + //������������������ + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String content = "������������:"+manageRole.getName()+";"; + logUtils.saveOperationForManage(request,content,Constants.INSERT_OPERATE_TYPE); + resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode()); + resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg()); return resultMap; } @@ -130,7 +145,21 @@ resultMap.put("code",ResponseCodeEnum.ROLE_IS_NULL.getCode()); resultMap.put("msg",ResponseCodeEnum.ROLE_IS_NULL.getMsg()); }else { + //��������������������������������� + ManageRole manageRoleOld = manageRoleMapper.selectById(Integer.parseInt(map.get("id").toString())); manageRoleMapper.updateManageRoleById(map); + //������������������ + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String content = "���������������:"+manageRoleOld.getName()+";"; + for (Object key:map.keySet()) { + if (key.toString().equals("name")){ + content = content+"���������:"+manageRoleOld.getName()+"->"+map.get(key)+";"; + } + if (key.toString().equals("desc")){ + content = content+"������:"+manageRoleOld.getDesc()+"->"+map.get(key)+";"; + } + } + logUtils.saveOperationForManage(request,content,Constants.UPDATE_OPERATE_TYPE); resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg()); } @@ -194,6 +223,11 @@ QueryWrapper<ManageAccountRole> wrapper = new QueryWrapper(); wrapper.eq("role_id",Integer.parseInt(map.get("id").toString())); manageAccountRoleMapper.update(manageAccountRole,wrapper); + //������������������ + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + ManageRole manageRole1 = manageRoleMapper.selectById(Integer.parseInt(map.get("id").toString())); + String content = "������������:"+manageRole1.getName()+";"; + logUtils.saveOperationForManage(request,content,Constants.DELETE_OPERATE_TYPE); resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg()); } diff --git a/screen-manage/src/main/resources/application-dev.yml b/screen-manage/src/main/resources/application-dev.yml index bccfc4f..18804a4 100644 --- a/screen-manage/src/main/resources/application-dev.yml +++ b/screen-manage/src/main/resources/application-dev.yml @@ -125,14 +125,8 @@ - /verificationCode/** - /manageLog/** - - /role/getAllManageRole - - /role/getManageRoleByNameFuzzy - - /role/insertOneManageRole - - /role/updateManageRole - - /role/updateRoleMenu - - /role/deleteManageRole - - /menu/getAllManageMenu - - /menu/getManageMenuByNameFuzzy + - /role/** + - /menu/** - /api/** AES: KEY: diff --git a/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml b/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml index 2906290..3deaf39 100644 --- a/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml +++ b/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml @@ -68,7 +68,7 @@ <if test="icon != null"> icon, </if> - <if test="parent_id != null"> + <if test="parentId != null"> parent_id, </if> <if test="order != null"> @@ -85,8 +85,8 @@ <if test="icon != null"> #{icon}, </if> - <if test="parent_id != null"> - #{parent_id}, + <if test="parentId != null"> + #{parentId}, </if> <if test="order != null"> #{order}, @@ -124,6 +124,7 @@ <include refid="Base_Column_List"></include> from manage_menu mm where mm.is_delete = 0 + ORDER BY parent_id ASC,`order` ASC limit #{start},#{number} </select> @@ -143,4 +144,38 @@ limit #{start},#{number} </select> + <select id="getManageMenuByRoleId" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"></include> + FROM manage_menu mm + JOIN manage_role_menu mrm + ON mm.id = mrm.menu_id AND mrm.is_delete = 0 + JOIN manage_role mr + ON mr.id = mrm.role_id and mr.id = #{roleId} + WHERE mm.is_delete = 0 + </select> + + <select id="getManageMenuByCondition" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"></include> + from manage_menu mm + where mm.is_delete = 0 + <if test="name != null"> + and mm.name = #{name} + </if> + <if test="url != null"> + and mm.url = #{url} + </if> + <if test="icon != null"> + and mm.icon = #{icon} + </if> + <if test="parent_id != null"> + and mm.parent_id = #{parent_id} + </if> + <if test="order != null"> + and mm.order = #{order} + </if> + limit #{start},#{number} + </select> + </mapper> \ No newline at end of file -- Gitblit v1.8.0