From f05a7d377838ba6b809329829aff058a8c455736 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Wed, 14 Apr 2021 17:26:36 +0800 Subject: [PATCH] 日志接口重构 --- 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/impl/GroupServiceImpl.java | 39 +++-- screen-api/src/main/java/com/moral/api/service/GroupMenuService.java | 2 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 | 46 +++-- screen-api/src/main/java/com/moral/api/controller/GroupController.java | 26 +-- 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 | 40 ++++- screen-api/src/main/java/com/moral/api/mapper/ManageLogMapper.java | 2 screen-api/src/main/java/com/moral/api/controller/MenuController.java | 16 - screen-api/src/main/java/com/moral/api/entity/Menu.java | 3 screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java | 41 ++++- screen-api/src/main/java/com/moral/api/controller/LoginController.java | 5 screen-api/src/main/java/com/moral/api/service/ManageLogService.java | 2 screen-api/src/main/java/com/moral/api/controller/UserController.java | 15 - 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-api/src/main/java/com/moral/api/service/impl/UserLogServiceImpl.java | 35 +++++ screen-api/src/main/java/com/moral/api/entity/Group.java | 4 screen-api/src/main/resources/mapper/UserLogMapper.xml | 19 +- screen-api/src/main/java/com/moral/api/service/impl/ManageLogServiceImpl.java | 2 26 files changed, 281 insertions(+), 134 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 1e758d0..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,8 +22,6 @@ import com.moral.api.entity.Group; import com.moral.api.service.GroupService; import com.moral.api.service.UserGroupService; -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; @@ -40,21 +38,17 @@ @Autowired private UserGroupService userGroupService; - @Autowired - private UserService userService; - @ApiOperation(value = "���������", notes = "���������") @ApiImplicitParams({ @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()); } @@ -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()); @@ -88,7 +82,7 @@ @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()); } @@ -105,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() @@ -129,17 +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); - - String account = userService.getById((Integer) parameters.get("userId")).getAccount(); - String content = "������������" + account + "���������������"; - OperationLogUtils.insertLog(request, content); + 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 0f85b4d..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 @@ -42,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()); 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 3d62c7b..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 @@ -19,9 +19,7 @@ import com.moral.api.entity.Menu; import com.moral.api.service.GroupMenuService; -import com.moral.api.service.GroupService; import com.moral.api.service.MenuService; -import com.moral.api.utils.OperationLogUtils; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.util.TokenUtils; @@ -38,25 +36,17 @@ @Autowired private MenuService menuService; - @Autowired - private GroupService groupService; - @ApiOperation(value = "���������������", notes = "���������������") @ApiImplicitParams({ @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); - - String groupName = groupService.getById((Integer) parameters.get("groupId")).getGroupName(); - String content = "������<" + groupName + ">���������������"; - OperationLogUtils.insertLog(request, content); + groupMenuService.allotMenus(parameters); return ResultMessage.ok(); } @@ -91,7 +81,7 @@ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) @RequestMapping(value = "get-menu-ids", method = RequestMethod.GET) - public ResultMessage getMenuIds(Integer groupId){ + 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 1056854..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 @@ -39,13 +39,12 @@ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) @RequestMapping(value = "insert", method = RequestMethod.POST) - public ResultMessage insert(@RequestBody User user, HttpServletRequest request) { + 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()); } @@ -57,7 +56,7 @@ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) @RequestMapping(value = "delete", method = RequestMethod.POST) - public ResultMessage delete(@RequestBody User user, HttpServletRequest request) { + public ResultMessage delete(@RequestBody User user) { if (user.getId() == null) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); @@ -78,13 +77,12 @@ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) @RequestMapping(value = "update", method = RequestMethod.POST) - public ResultMessage update(@RequestBody User user, HttpServletRequest request) { + 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()); } @@ -106,8 +104,7 @@ }) @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<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 e16aa30..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,6 +1,7 @@ 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; @@ -34,6 +35,7 @@ /** * ��������� */ + @TableField(value = "`name`") private String name; /** @@ -54,6 +56,7 @@ /** * ��������������������������� */ + @TableField(value = "`order`") private Integer order; /** 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 22db147..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 @@ -16,7 +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/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 a96953c..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,19 +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> @@ -31,28 +39,43 @@ @Autowired private GroupMenuMapper groupMenuMapper; + @Autowired + private GroupMapper groupMapper; + + @Autowired + private MenuMapper menuMapper; + @Override @Transactional - public void allotMenus(Map<String, Object> parameters, String token) { + 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); + deleteWrapper.eq("group_id", groupId).eq("channel", Constants.WEB_CHANNEL); + groupMenuMapper.delete(deleteWrapper); + List<String> menus = new ArrayList<>(); if (menuIds != null && !menuIds.isEmpty()) { - for (Integer menuId : menuIds) { + 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) 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 @@ -61,9 +84,7 @@ queryWrapper.eq("group_id", groupId).eq("is_delete", Constants.NOT_DELETE); List<GroupMenu> groupMenus = groupMenuMapper.selectList(queryWrapper); List<Integer> menuIds = new ArrayList<>(); - for (GroupMenu groupMenu : groupMenus) { - menuIds.add(groupMenu.getMenuId()); - } + 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 f37282e..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 @@ -50,7 +50,10 @@ 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); Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); @@ -66,10 +69,10 @@ } group.setOrganizationId(orgId); groupMapper.insert(group); + //������ - HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); String content = "���������������" + group.getGroupName(); - OperationLogUtils.insertLog(request, content); + OperationLogUtils.insertLog(request, content, Constants.INSERT_OPERATE_TYPE); return result; } @@ -78,22 +81,26 @@ //������������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); + 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); Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); @@ -111,15 +118,17 @@ group.setOrganizationId(orgId); groupMapper.updateById(group); //������ - HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); - String content = "���������������" + group.getGroupName(); - OperationLogUtils.insertLog(request, content); + 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()); + 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<>(); 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/UserGroupServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java index 15a3e70..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,19 +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> @@ -31,25 +39,41 @@ @Autowired private UserGroupMapper userGroupMapper; + @Autowired + private UserMapper userMapper; + + @Autowired + private GroupMapper groupMapper; + @Override @Transactional - public void allotGroups(Map<String, Object> parameters, String token) { + 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) 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 @@ -58,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 6ccef8c..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; @@ -9,13 +16,6 @@ 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 org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; @@ -30,7 +30,6 @@ 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; @@ -163,6 +162,7 @@ //������ 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()); @@ -229,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); @@ -291,9 +294,8 @@ } userMapper.insert(user); //������ - HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); String content = "������������������" + user.getAccount(); - OperationLogUtils.insertLog(request, content); + OperationLogUtils.insertLog(request, content, Constants.INSERT_OPERATE_TYPE); return result; } @@ -304,24 +306,27 @@ //������������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); + 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<>(); @@ -386,7 +391,6 @@ userMapper.updateById(user); //������ - HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); StringBuilder content = new StringBuilder("������������������" + user.getAccount() + "->"); for (String key : update.keySet()) { Object afterValue = update.get(key); @@ -396,14 +400,17 @@ content.append(key).append(":").append(beforeValue).append("=>").append(afterValue).append(";"); } } - OperationLogUtils.insertLog(request, content.toString()); + 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")) @@ -446,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/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 -- Gitblit v1.8.0