package com.moral.api.service.impl; import java.util.ArrayList; 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; import com.moral.api.service.GroupMenuService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.constant.Constants; import com.moral.util.TokenUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** *

* 用户角色菜单表 服务实现类 *

* * @author moral * @since 2021-03-09 */ @Service public class GroupMenuServiceImpl extends ServiceImpl implements GroupMenuService { @Autowired private GroupMenuMapper groupMenuMapper; @Override @Transactional public void allotMenus(Map parameters, String token) { Integer groupId = Integer.parseInt(parameters.get("groupId").toString()); List menuIds = (ArrayList) parameters.get("menuIds"); Map currentUserInfo = (Map) TokenUtils.getUserInfoByToken(token); Map orgInfo = (Map) currentUserInfo.get("organization"); UpdateWrapper deleteWrapper = new UpdateWrapper<>(); deleteWrapper.set("is_delete", Constants.DELETE) .eq("group_id", groupId) .eq("channel", Constants.WEB_CHANNEL); groupMenuMapper.update(null, deleteWrapper); 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) orgInfo.get("id")); groupMenuMapper.insert(groupMenu); } } } @Override public List getMenusIds(Integer groupId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("group_id", groupId).eq("is_delete", Constants.NOT_DELETE); List groupMenus = groupMenuMapper.selectList(queryWrapper); List menuIds = new ArrayList<>(); for (GroupMenu groupMenu : groupMenus) { menuIds.add(groupMenu.getMenuId()); } return menuIds; } }