From 928cccb960dc1c0e354e3569ecd8e964f6d24deb Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Mon, 12 Apr 2021 17:41:25 +0800
Subject: [PATCH] 用户修改具体日志
---
screen-api/src/main/resources/mapper/MenuMapper.xml | 23 +--
screen-api/src/main/java/com/moral/api/controller/MenuController.java | 39 +++++++
screen-api/src/main/java/com/moral/api/entity/Menu.java | 4
screen-api/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java | 11 ++
screen-api/src/main/java/com/moral/api/service/MenuService.java | 3
screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java | 34 +++++-
screen-api/src/main/java/com/moral/api/service/GroupMenuService.java | 3
screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java | 20 +++
screen-api/src/main/java/com/moral/api/controller/LoginController.java | 11 --
screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java | 73 +++++++++++++-
screen-api/src/main/java/com/moral/api/controller/UserController.java | 30 +----
screen-api/src/main/java/com/moral/api/controller/GroupController.java | 24 ++--
screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java | 5
13 files changed, 200 insertions(+), 80 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..1e758d0 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,6 +22,7 @@
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;
@@ -39,6 +40,9 @@
@Autowired
private UserGroupService userGroupService;
+ @Autowired
+ private UserService userService;
+
@ApiOperation(value = "���������", notes = "���������")
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String")
@@ -54,10 +58,6 @@
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();
}
@@ -78,10 +78,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();
}
@@ -96,10 +92,6 @@
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();
}
@@ -122,12 +114,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);
}
@@ -144,6 +136,10 @@
}
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);
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 444fa13..0f85b4d 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 = {"������"})
@@ -59,15 +57,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..3d62c7b 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,8 +17,11 @@
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.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;
@@ -34,6 +38,9 @@
@Autowired
private MenuService menuService;
+ @Autowired
+ private GroupService groupService;
+
@ApiOperation(value = "���������������", notes = "���������������")
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String")
@@ -46,10 +53,27 @@
}
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);
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 +81,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..1056854 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,8 +38,8 @@
@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, HttpServletRequest request) {
if (user.getAccount().isEmpty() || user.getPassword().isEmpty()) {
return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
@@ -50,10 +49,6 @@
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 +56,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, HttpServletRequest request) {
if (user.getId() == null) {
return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
@@ -75,10 +70,6 @@
ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg());
}
userService.deleteUser(user);
-
- //������
- String content = "������������������" + user.getAccount();
- OperationLogUtils.insertLog(request, content);
return ResultMessage.ok();
}
@@ -86,8 +77,8 @@
@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, HttpServletRequest request) {
if (user.getId() == null) {
return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
@@ -97,10 +88,6 @@
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 +96,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,8 +105,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) {
+ @RequestMapping(value = "select", method = RequestMethod.POST)
+ public ResultMessage select(@RequestBody Map<String, Object> parameters, HttpServletRequest request) {
parameters.put("token", request.getHeader("token"));
Page<User> userPage = userService.selectUsers(parameters);
PageResult<User> pageResult = new PageResult<>(
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..e16aa30 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
@@ -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;
@@ -57,11 +59,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/service/GroupMenuService.java b/screen-api/src/main/java/com/moral/api/service/GroupMenuService.java
index a1bd398..22db147 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;
@@ -16,4 +17,6 @@
public interface GroupMenuService extends IService<GroupMenu> {
void allotMenus(Map<String, Object> parameters, String token);
+
+ List<Integer> getMenusIds(Integer groupId);
}
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/impl/GroupMenuServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java
index 651b199..a96953c 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
@@ -4,6 +4,7 @@
import java.util.List;
import java.util.Map;
+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.GroupMenuMapper;
@@ -14,6 +15,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
/**
* <p>
@@ -30,24 +32,38 @@
private GroupMenuMapper groupMenuMapper;
@Override
+ @Transactional
public void allotMenus(Map<String, Object> parameters, String 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()) {
+ if (menuIds != null && !menuIds.isEmpty()) {
for (Integer menuId : menuIds) {
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);
}
}
}
+
+ @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<>();
+ for (GroupMenu groupMenu : groupMenus) {
+ 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..f37282e 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>
@@ -48,7 +53,8 @@
public Map<String, Object> addGroup(Group group, String 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 +66,10 @@
}
group.setOrganizationId(orgId);
groupMapper.insert(group);
+ //������
+ HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
+ String content = "���������������" + group.getGroupName();
+ OperationLogUtils.insertLog(request, content);
return result;
}
@@ -76,34 +86,44 @@
UpdateWrapper<UserGroup> deleteUserGroupWrapper = new UpdateWrapper<>();
deleteUserGroupWrapper.set("is_delete", Constants.DELETE).eq("group_id", group.getId());
userGroupMapper.update(null, deleteUserGroupWrapper);
+ //������
+ HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
+ String content = "���������������" + group.getGroupName();
+ OperationLogUtils.insertLog(request, content);
}
@Override
public Map<String, Object> updateGroup(Group group, String token) {
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);
+ //������
+ HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
+ String content = "���������������" + group.getGroupName();
+ OperationLogUtils.insertLog(request, content);
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");
+ 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/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..15a3e70 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
@@ -15,6 +15,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
/**
* <p>
@@ -31,10 +32,12 @@
private UserGroupMapper userGroupMapper;
@Override
+ @Transactional
public void allotGroups(Map<String, Object> parameters, String 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);
@@ -43,7 +46,7 @@
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);
}
}
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..6ccef8c 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
@@ -7,13 +7,20 @@
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 org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+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;
@@ -24,11 +31,14 @@
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 +47,7 @@
import com.moral.util.MD5Utils;
import com.moral.util.RegexUtils;
import com.moral.util.TokenUtils;
+import com.moral.util.WebUtils;
/**
* <p>
@@ -58,8 +69,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 +160,14 @@
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.setIp(WebUtils.getIpAddr(request));
+ userLog.setOperateId(userBo.getId());
+ userLog.setOrganizationId(userBo.getOrganizationId());
+ userLog.setContent("������������������" + userBo.getAccount());
+ userLogMapper.insert(userLog);
return result;
}
@@ -261,8 +284,16 @@
} else {
user.setExpireTime(userExpireTime);
}
+ } else {
+ if (orgExpireTime != null) {
+ user.setExpireTime(orgExpireTime);
+ }
}
userMapper.insert(user);
+ //������
+ HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
+ String content = "������������������" + user.getAccount();
+ OperationLogUtils.insertLog(request, content);
return result;
}
@@ -282,14 +313,22 @@
TokenUtils.destoryToken(userId, token);
}
userGroupMapper.update(null, deleteWrapper);
+ //������
+ HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
+ String content = "������������������" + user.getAccount();
+ OperationLogUtils.insertLog(request, content);
}
@Override
@Transactional
public Map<String, Object> updateUser(User user, String 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 +340,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 +372,10 @@
} else {
user.setExpireTime(userExpireTime);
}
+ } else {
+ if (orgExpireTime != null) {
+ user.setExpireTime(orgExpireTime);
+ }
}
//������redis
String userId = user.getId().toString();
@@ -339,6 +384,20 @@
TokenUtils.destoryToken(userId, deleteToken);
}
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);
+ 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());
+
return result;
}
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
--
Gitblit v1.8.0