| New file |
| | |
| | | package com.vincent.rsf.server.system.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.vincent.rsf.framework.common.Cools; |
| | | import com.vincent.rsf.framework.common.R; |
| | | import com.vincent.rsf.framework.exception.CoolException; |
| | | import com.vincent.rsf.server.common.utils.ExcelUtil; |
| | | import com.vincent.rsf.server.common.annotation.OperationLog; |
| | | import com.vincent.rsf.server.common.domain.BaseParam; |
| | | import com.vincent.rsf.server.common.domain.KeyValVo; |
| | | import com.vincent.rsf.server.common.domain.PageParam; |
| | | import com.vincent.rsf.server.system.controller.param.RoleScopeParam; |
| | | import com.vincent.rsf.server.system.entity.PdaRoleMenu; |
| | | import com.vincent.rsf.server.system.entity.Role; |
| | | import com.vincent.rsf.server.system.entity.RoleMenu; |
| | | import com.vincent.rsf.server.system.service.PdaRoleMenuService; |
| | | import com.vincent.rsf.server.system.controller.BaseController; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.*; |
| | | |
| | | @RestController |
| | | public class PdaRoleMenuController extends BaseController { |
| | | |
| | | @Autowired |
| | | private PdaRoleMenuService pdaRoleMenuService; |
| | | |
| | | // @PreAuthorize("hasAuthority('system:role:list')") |
| | | @GetMapping("/rolePda/scope/list") |
| | | public R scopeList(@RequestParam Long roleId) { |
| | | return R.ok().add(pdaRoleMenuService.listStrictlyMenuByRoleId(roleId)); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('system:role:update')") |
| | | @OperationLog("Assign Permissions") |
| | | @PostMapping("/rolePda/scope/update") |
| | | @Transactional |
| | | public R scopeUpdate(@RequestBody RoleScopeParam param) { |
| | | Long roleId = param.getId(); |
| | | List<Long> menuIds = new ArrayList<>(param.getMenuIds().getChecked()); |
| | | menuIds.addAll(param.getMenuIds().getHalfChecked()); |
| | | pdaRoleMenuService.remove(new LambdaQueryWrapper<PdaRoleMenu>().eq(PdaRoleMenu::getRoleId, roleId)); |
| | | for (Long menuId : menuIds) { |
| | | if (!pdaRoleMenuService.save(new PdaRoleMenu(roleId, menuId))) { |
| | | throw new CoolException("Internal Server Error!"); |
| | | } |
| | | } |
| | | return R.ok("Assign Success"); |
| | | } |
| | | |
| | | |
| | | |
| | | } |