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