package com.kidgrow.usercenter.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.kidgrow.common.constant.CommonConstant; import com.kidgrow.common.context.ClientContextHolder; import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.model.SysMenu; import com.kidgrow.common.service.impl.SuperServiceImpl; import com.kidgrow.usercenter.mapper.SysMenuMapper; import com.kidgrow.usercenter.model.SysRoleMenu; import com.kidgrow.usercenter.service.ISysMenuService; import com.kidgrow.usercenter.service.ISysRoleMenuService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.*; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020
* * @Description:
* @Project:
* @CreateDate: Created in 2020/2/13 16:33
* @Author: liuke */ @Slf4j @Service public class SysMenuServiceImpl extends SuperServiceImpl implements ISysMenuService { @Resource private ISysRoleMenuService roleMenuService; @Transactional(rollbackFor = Exception.class) @Override public void setMenuToRole(Long roleId, Set menuIds) { roleMenuService.delete(roleId, null); if (!CollectionUtils.isEmpty(menuIds)) { List roleMenus = new ArrayList<>(menuIds.size()); menuIds.forEach(menuId -> roleMenus.add(new SysRoleMenu(roleId, menuId))); roleMenuService.saveBatch(roleMenus); } } /** * 角色菜单列表 * @param roleIds * @return */ @Override public List findByRoles(Set roleIds) { return roleMenuService.findMenusByRoleIds(roleIds, null); } /** * 角色菜单列表 * @param roleIds 角色ids * @param roleIds 是否菜单 * @return */ @Override public List findByRoles(Set roleIds, Integer type) { return roleMenuService.findMenusByRoleIds(roleIds, type); } @Override public List findByRoleCodes(Set roleCodes, Integer type) { String tentid=ClientContextHolder.getClient(); if (roleCodes.contains(CommonConstant.SYSTEM_ADMIN_ROLE_CODE)) { tentid=""; } return roleMenuService.findMenusByRoleCodes(roleCodes, type,tentid); } /** * 查询所有菜单 */ @Override public List findAll(Map params) { // return baseMapper.selectList( // new QueryWrapper().orderByAsc("sort") // ); return baseMapper.findAll(params); } /** * 查询所有一级菜单 */ @Override public List findOnes(String tenantId) { return baseMapper.selectList( new QueryWrapper() .eq("type", 1).eq("tenant_id",tenantId) .orderByAsc("sort") ); } @Override public ResultBody updateEnabled(Map params) { Long id = MapUtils.getLong(params, "id"); Boolean enabled = MapUtils.getBoolean(params, "enabled"); SysMenu sysMenu = baseMapper.selectById(id); if (sysMenu == null) { return ResultBody.failed("菜单不存在"); } sysMenu.setEnabled(enabled); sysMenu.setUpdateTime(new Date()); int i = baseMapper.updateById(sysMenu); log.info("修改菜单:{}", sysMenu); return i > 0 ? ResultBody.ok().data(sysMenu).msg("更新成功") : ResultBody.failed("更新失败"); } }