From c90b6e135f2f609ba187e243e37ae37d3da6ddee Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Fri, 02 Apr 2021 17:32:41 +0800 Subject: [PATCH] 大屏web端操作日志功能 --- screen-api/src/main/java/com/moral/api/controller/GroupController.java | 22 ++++++++-- screen-api/src/main/java/com/moral/api/utils/OperationLogUtils.java | 38 +++++++++++++++++++ screen-api/src/main/java/com/moral/api/controller/LoginController.java | 19 ++++++++- screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java | 16 ++++---- screen-api/src/main/java/com/moral/api/controller/UserController.java | 23 +++++++++-- 5 files changed, 98 insertions(+), 20 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 d1aa64d..9e9faab 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 @@ -21,10 +21,10 @@ 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; -import com.moral.util.WebUtils; @Slf4j @Api(tags = {"���"}) @@ -53,6 +53,10 @@ 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(); } @@ -61,18 +65,22 @@ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) @RequestMapping(value = "deleteGroup", method = RequestMethod.POST) - public ResultMessage deleteGroup(@RequestBody Map<String, Object> parameters) { - if (!parameters.containsKey("groupId")) { + public ResultMessage deleteGroup(@RequestBody Group group, HttpServletRequest request) { + if (group.getId() == null) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } QueryWrapper<Group> queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("id", parameters.get("groupId")); - Group group = groupService.getOne(queryWrapper); + queryWrapper.eq("id", group.getId()); + group = groupService.getOne(queryWrapper); if (group == null) { 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(); } @@ -87,6 +95,10 @@ 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(); } 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 dfb403e..7fe1193 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,9 @@ 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; import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; @@ -29,6 +31,7 @@ import com.moral.pojo.VerificationCode; import com.moral.util.KaptchaUtils; import com.moral.util.TokenUtils; +import com.moral.util.WebUtils; @Slf4j @Api(tags = {"������"}) @@ -41,9 +44,12 @@ @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) { + public ResultMessage login(@RequestBody Map<String, Object> parameters, HttpServletRequest request) { if (!(parameters.containsKey("account") && parameters.containsKey("password"))) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); @@ -52,7 +58,16 @@ if (!result.containsKey("data")) { return ResultMessage.fail((int) result.get("code"), (String) result.get("msg")); } - return ResultMessage.ok(result.get("data")); + 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")); + userLog.setOrganizationId((Integer) userInfo.get("organizationId")); + userLog.setContent(userInfo.get("account") + "���������"); + userLogService.save(userLog); + return ResultMessage.ok(data); } @ApiOperation(value = "������", notes = "������") 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 ceffe70..8f582ab 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,6 +21,7 @@ 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; @@ -49,27 +50,35 @@ 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(); } @ApiOperation(value = "������������", notes = "������������") @ApiImplicitParams({ - @ApiImplicitParam(name = "userId", value = "������id", required = true, paramType = "query", dataType = "Integer") + @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) @RequestMapping(value = "deleteUser", method = RequestMethod.POST) - public ResultMessage deleteUser(@RequestBody Map<String, Object> parameters) { - if (!parameters.containsKey("uid")) { + public ResultMessage deleteUser(@RequestBody User user, HttpServletRequest request) { + if (user.getId() == null) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } QueryWrapper<User> queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("id", parameters.get("uid")); - User user = userService.getOne(queryWrapper); + queryWrapper.eq("id", user.getId()); + user = userService.getOne(queryWrapper); if (user == null) { return ResultMessage.fail(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getCode(), ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg()); } userService.deleteUser(user); + + //������ + String content = "������������������" + user.getAccount(); + OperationLogUtils.insertLog(request, content); return ResultMessage.ok(); } @@ -88,6 +97,10 @@ 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(); } 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 fe6e20a..755f741 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 @@ -291,15 +291,15 @@ } //������������������ String password = user.getPassword(); - 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; - } + + //������������ + //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 (user.getMobile() != null && !RegexUtils.checkMobile(user.getMobile())) { result.put("code", ResponseCodeEnum.MOBILE_INVALID.getCode()); 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 new file mode 100644 index 0000000..c217379 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/utils/OperationLogUtils.java @@ -0,0 +1,38 @@ +package com.moral.api.utils; + +import lombok.extern.slf4j.Slf4j; + +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import com.moral.api.entity.UserLog; +import com.moral.api.service.UserLogService; +import com.moral.util.TokenUtils; +import com.moral.util.WebUtils; + +@Slf4j +@Component +public class OperationLogUtils { + + private static UserLogService userLogService; + + @Autowired + public void setUserLogService(UserLogService userLogService) { + this.userLogService = userLogService; + } + + public static void insertLog(HttpServletRequest request, String content) { + String token = request.getHeader("token"); + Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); + UserLog userLog = new UserLog(); + userLog.setIp(WebUtils.getIpAddr(request)); + userLog.setOperateId((Integer) currentUserInfo.get("userId")); + userLog.setOrganizationId((Integer) currentUserInfo.get("organizationId")); + userLog.setContent(content); + userLogService.save(userLog); + } +} -- Gitblit v1.8.0