|  |  | 
 |  |  |  | 
 |  |  | 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 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> | 
 |  |  | 
 |  |  |  | 
 |  |  |     @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> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfo(); | 
 |  |  |         Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); | 
 |  |  |         Integer orgId = (Integer) orgInfo.get("id"); | 
 |  |  |         QueryWrapper<Group> queryWrapper = new QueryWrapper<>(); | 
 |  |  | 
 |  |  |  | 
 |  |  |         //日志 | 
 |  |  |         String content = "添加了组:" + group.getGroupName(); | 
 |  |  |         operationLogUtils.insertLog(request, content, Constants.INSERT_OPERATE_TYPE); | 
 |  |  |         operationLogUtils.insertLog(content, Constants.INSERT_OPERATE_TYPE); | 
 |  |  |         return result; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public void deleteGroup(Group group) { | 
 |  |  |     public void deleteGroup(Integer id) { | 
 |  |  |         //逻辑删除group | 
 |  |  |         group.setIsDelete(Constants.DELETE); | 
 |  |  |         groupMapper.updateById(group); | 
 |  |  |         UpdateWrapper<Group> updateWrapper = new UpdateWrapper<>(); | 
 |  |  |         updateWrapper.eq("id", id).set("is_delete", Constants.DELETE); | 
 |  |  |         groupMapper.update(null, updateWrapper); | 
 |  |  |         //删除group_menu | 
 |  |  |         UpdateWrapper<GroupMenu> deleteGroupWrapper = new UpdateWrapper<>(); | 
 |  |  |         deleteGroupWrapper.eq("group_id", group.getId()); | 
 |  |  |         deleteGroupWrapper.eq("group_id", id); | 
 |  |  |         groupMenuMapper.delete(deleteGroupWrapper); | 
 |  |  |         //删除user_group | 
 |  |  |         UpdateWrapper<UserGroup> deleteUserGroupWrapper = new UpdateWrapper<>(); | 
 |  |  |         deleteUserGroupWrapper.eq("group_id", group.getId()); | 
 |  |  |         deleteUserGroupWrapper.eq("group_id", id); | 
 |  |  |         userGroupMapper.delete(deleteUserGroupWrapper); | 
 |  |  |         //日志 | 
 |  |  |         HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); | 
 |  |  |         String content = "删除了组:" + group.getGroupName(); | 
 |  |  |         operationLogUtils.insertLog(request, content, Constants.DELETE_OPERATE_TYPE); | 
 |  |  |         String content = "删除了组:" + groupMapper.selectById(id).getGroupName(); | 
 |  |  |         operationLogUtils.insertLog(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> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfo(); | 
 |  |  |         Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); | 
 |  |  |         Integer orgId = (Integer) orgInfo.get("id"); | 
 |  |  |         QueryWrapper<Group> queryWrapper = new QueryWrapper<>(); | 
 |  |  | 
 |  |  |         groupMapper.updateById(group); | 
 |  |  |         //日志 | 
 |  |  |         String content = "修改了组:" + before + "=>" + group.getGroupName(); | 
 |  |  |         operationLogUtils.insertLog(request, content, Constants.UPDATE_OPERATE_TYPE); | 
 |  |  |         operationLogUtils.insertLog(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> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfo(); | 
 |  |  |         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); | 
 |  |  |                 .eq("is_delete", Constants.NOT_DELETE) | 
 |  |  |                 .ne("group_name", "admin"); | 
 |  |  |         Object order = parameters.get("order"); | 
 |  |  |         Object orderType = parameters.get("orderType"); | 
 |  |  |         Object groupName = parameters.get("groupName"); | 
 |  |  | 
 |  |  |             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)) { | 
 |  |  | 
 |  |  |         return pageData; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Map<String, Object> getGroup(Integer userId) { | 
 |  |  |         return groupMapper.selectUserGroup(userId); | 
 |  |  |     } | 
 |  |  | } |