/* * Copyright (c) 2018-2025, ztt All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the pig4cloud.com developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: ztt */ package com.chinaztt.mes.aps.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaztt.mes.aps.dto.ResourceDTO; import com.chinaztt.mes.aps.entity.Resource; import com.chinaztt.mes.aps.mapper.JoinResGroupMapper; import com.chinaztt.mes.common.wrapper.QueryWrapperUtil; import com.chinaztt.ztt.common.core.util.R; import com.chinaztt.ztt.common.log.annotation.SysLog; import com.chinaztt.mes.aps.entity.JoinResGroup; import com.chinaztt.mes.aps.service.JoinResGroupService; import org.springframework.security.access.prepost.PreAuthorize; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 资源分组 * * @author sunxl * @date 2020-09-23 09:25:20 */ @RestController @AllArgsConstructor @RequestMapping("/joinResGroup" ) @Api(value = "joinResGroup", tags = "资源分组管理") public class JoinResGroupController { private final JoinResGroupService joinResGroupService; private final JoinResGroupMapper joinResGroupMapper; /** * 根据id获取关联的资源信息 * @param page 分页对象 * @param resource 资源分组 * @return */ @ApiOperation(value = "根据id获取关联的资源信息", notes = "根据id获取关联的资源信息") @GetMapping("/page/{id}" ) @PreAuthorize("@pms.hasPermission('aps_joinresgroup_view')" ) public R getJoinResGroupPage(Page page, Resource resource, @PathVariable("id") Long id) { resource.setId(null); return R.ok(joinResGroupService.getResourceGroupPage(page, QueryWrapperUtil.gen(resource),id)); } /** * 根据id获取未关联的资源信息 * @param page 分页对象 * @param resource 资源分组 * @return */ @ApiOperation(value = "根据id获取未关联的资源信息", notes = "根据id获取未关联的资源信息") @GetMapping("/page/res/{id}" ) public R getResourcePage(Page page, Resource resource, @PathVariable("id") Long id) { return R.ok(joinResGroupService.getNoRepetitivePage(page, QueryWrapperUtil.gen(resource),id)); } /** * 获取所有关联的资源信息 * @param page 分页对象 * @param resource 资源分组 * @return */ @ApiOperation(value = "获取所有关联的资源信息", notes = "获取所有关联的资源信息") @GetMapping("/page" ) public R getAllResourcePage(Page page, ResourceDTO resourceDTO) { return R.ok(joinResGroupService.getAllResourcePage(page, QueryWrapperUtil.gen(resourceDTO))); } /** * 通过id查询资源分组 * @param id id * @return R */ @ApiOperation(value = "通过id查询", notes = "通过id查询") @GetMapping("/{id}" ) @PreAuthorize("@pms.hasPermission('aps_joinresgroup_view')" ) public R getById(@PathVariable("id" ) Long id) { return R.ok(joinResGroupService.getById(id)); } /** * 新增资源分组 * @param joinResGroup 资源分组 * @return R */ @ApiOperation(value = "新增资源分组", notes = "新增资源分组") @SysLog("新增资源分组" ) @PostMapping @PreAuthorize("@pms.hasPermission('aps_joinresgroup_add')" ) public R save(@RequestBody JoinResGroup joinResGroup) { return R.ok(joinResGroupService.save(joinResGroup)); } /** * 修改资源分组 * @param joinResGroup 资源分组 * @return R */ @ApiOperation(value = "修改资源分组", notes = "修改资源分组") @SysLog("修改资源分组" ) @PutMapping @PreAuthorize("@pms.hasPermission('aps_joinresgroup_edit')" ) public R updateById(@RequestBody JoinResGroup joinResGroup) { return R.ok(joinResGroupService.updateById(joinResGroup)); } /** * 通过id删除资源分组 * @param id id * @return R */ @ApiOperation(value = "通过id删除资源分组", notes = "通过id删除资源分组") @SysLog("通过id删除资源分组" ) @DeleteMapping("/{id}" ) @PreAuthorize("@pms.hasPermission('aps_joinresgroup_del')" ) public R removeById(@PathVariable Long id) { return R.ok(joinResGroupService.removeById(id)); } @ApiOperation(value = "批量新增资源与资源分组映射", notes = "批量新增资源与资源分组映射") @SysLog("批量新增资源与资源分组映射" ) @PostMapping("/batchAddObj") public R batchAddObj(@RequestBody List resResGroupList) { return R.ok(joinResGroupService.batchAddObj(resResGroupList)); } /** * 通过id删除资源与资源分组映射 * @param id * @return R */ @ApiOperation(value = "通过id删除资源与资源分组映射", notes = "通过id删除资源与资源分组映射") @SysLog("通过id删除资源与资源分组映射" ) @DeleteMapping("/del/{id}" ) public void removeByResGroupId(@PathVariable("id") Long id) { joinResGroupMapper.deleteById(id); } }