| | |
| | | package com.moral.api.service.impl; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | 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.User; |
| | | 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.mapper.UserMapper; |
| | | import com.moral.api.service.GroupService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.moral.constant.Constants; |
| | | import com.moral.constant.ResponseCodeEnum; |
| | | import com.moral.util.RegexUtils; |
| | | import com.moral.util.TokenUtils; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | |
| | | @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, String token) { |
| | | Map<String, Object> result = new HashMap<>(); |
| | | Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); |
| | | Integer orgId = (int) currentUserInfo.get("organizationId"); |
| | | 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); |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | public void deleteGroup(Group group) { |
| | | //逻辑删除group |
| | | group.setIsDelete(Constants.DELETE); |
| | | groupMapper.updateById(group); |
| | | //逻辑删除group_menu |
| | | UpdateWrapper<GroupMenu> deleteGroupWrapper = new UpdateWrapper<>(); |
| | | deleteGroupWrapper.set("is_delete", Constants.DELETE).eq("group_id", group.getId()); |
| | | groupMenuMapper.update(null, deleteGroupWrapper); |
| | | //逻辑删除user_group |
| | | UpdateWrapper<UserGroup> deleteUserGroupWrapper = new UpdateWrapper<>(); |
| | | deleteUserGroupWrapper.set("is_delete", Constants.DELETE).eq("group_id", group.getId()); |
| | | userGroupMapper.update(null, deleteUserGroupWrapper); |
| | | } |
| | | |
| | | @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"); |
| | | 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); |
| | | 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); |
| | | groupMapper.updateById(group); |
| | | 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"); |
| | | QueryWrapper<Group> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("organization_id", organizationId) |
| | | .eq("is_delete", Constants.NOT_DELETE); |
| | | Object order = parameters.get("order"); |
| | | 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升序 |
| | | if (order == null) { |
| | | queryWrapper.orderByAsc("id"); |
| | | } else { |
| | | queryWrapper.orderByAsc(order.toString(), "id"); |
| | | } |
| | | Page<Group> groupPage = groupMapper.selectPage(pageData, queryWrapper); |
| | | |
| | | pageData.setRecords(groupPage.getRecords()); |
| | | return groupPage; |
| | | } |
| | | |
| | | } |