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/service/impl/GroupServiceImpl.java | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 151 insertions(+), 0 deletions(-) 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 ac9d7c7..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 @@ -1,10 +1,33 @@ package com.moral.api.service.impl; + +import java.util.HashMap; +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.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.moral.api.entity.Group; +import com.moral.api.entity.GroupMenu; +import com.moral.api.entity.UserGroup; import com.moral.api.mapper.GroupMapper; +import com.moral.api.mapper.GroupMenuMapper; +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; +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 javax.servlet.http.HttpServletRequest; /** * <p> @@ -17,4 +40,132 @@ @Service public class GroupServiceImpl extends ServiceImpl<GroupMapper, Group> implements GroupService { + @Autowired + private GroupMapper groupMapper; + + @Autowired + private GroupMenuMapper groupMenuMapper; + + @Autowired + private UserGroupMapper userGroupMapper; + + @Override + 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"); + Integer orgId = (Integer) orgInfo.get("id"); + QueryWrapper<Group> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("group_name", group.getGroupName()) + .eq("organization_id", orgId) + .eq("is_delete", Constants.NOT_DELETE); + if (groupMapper.selectOne(queryWrapper) != null) { + result.put("code", ResponseCodeEnum.GROUP_EXIST.getCode()); + result.put("msg", ResponseCodeEnum.GROUP_EXIST.getMsg()); + return result; + } + group.setOrganizationId(orgId); + groupMapper.insert(group); + + //������ + String content = "���������������" + group.getGroupName(); + OperationLogUtils.insertLog(request, content, Constants.INSERT_OPERATE_TYPE); + return result; + } + + @Override + public void deleteGroup(Group group) { + //������������group + group.setIsDelete(Constants.DELETE); + groupMapper.updateById(group); + //������group_menu + UpdateWrapper<GroupMenu> deleteGroupWrapper = new UpdateWrapper<>(); + deleteGroupWrapper.eq("group_id", group.getId()); + groupMenuMapper.delete(deleteGroupWrapper); + //������user_group + UpdateWrapper<UserGroup> deleteUserGroupWrapper = new UpdateWrapper<>(); + deleteUserGroupWrapper.eq("group_id", group.getId()); + userGroupMapper.delete(deleteUserGroupWrapper); + //������ + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String content = "���������������" + group.getGroupName(); + OperationLogUtils.insertLog(request, content, Constants.DELETE_OPERATE_TYPE); + } + + @Override + public Map<String, Object> updateGroup(Group group) { + 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"); + 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", orgId); + if (groupMapper.selectOne(queryWrapper) != null) { + result.put("code", ResponseCodeEnum.GROUP_EXIST.getCode()); + result.put("msg", ResponseCodeEnum.GROUP_EXIST.getMsg()); + return result; + } + group.setOrganizationId(orgId); + groupMapper.updateById(group); + //������ + String content = "���������������" + before + "=>" + group.getGroupName(); + OperationLogUtils.insertLog(request, content, Constants.UPDATE_OPERATE_TYPE); + return result; + } + + @Override + public Page<Group> selectGroups(Map<String, Object> parameters) { + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String token = request.getHeader("token"); + + Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); + Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); + Integer orgId = (Integer) orgInfo.get("id"); + QueryWrapper<Group> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("organization_id", orgId) + .eq("is_delete", Constants.NOT_DELETE); + Object order = parameters.get("order"); + Object orderType = parameters.get("orderType"); + Object groupName = parameters.get("groupName"); + //������������������ + if (groupName != null) { + queryWrapper.like("group_name", groupName); + } + + //������������ + if (!parameters.containsKey("page")) { + parameters.put("page", 0); + } + if (!parameters.containsKey("size")) { + parameters.put("size", 10); + } + + int page = Integer.parseInt(parameters.get("page").toString()); + int size = Integer.parseInt(parameters.get("size").toString()); + Page<Group> pageData = new Page<>(page, size); + //������������,������id������ + //������������,������create_time������ + if (order != null && orderType != null) { + if (Constants.ORDER_ASC.equals(orderType)) { + queryWrapper.orderByAsc(ConvertUtils.toLine(order.toString())); + } else { + queryWrapper.orderByDesc(ConvertUtils.toLine(order.toString())); + } + } else { + queryWrapper.orderByDesc("create_time"); + } + groupMapper.selectPage(pageData, queryWrapper); + return pageData; + } + } -- Gitblit v1.8.0