package com.jilongda.manage.authority.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.jilongda.manage.authority.dto.SecResDTO; import com.jilongda.common.basic.ApiResult; import com.jilongda.manage.authority.dto.SysSourcesListDTO; import com.jilongda.manage.authority.model.SecResources; import com.jilongda.manage.authority.service.SecResourcesService; import com.jilongda.manage.authority.vo.SecResourceVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; /** *

* 资源表 前端控制器 *

* * @author xiaochen * @since 2022-06-08 */ @Api(tags = "资源菜单") @RestController @RequestMapping("/sec-resources/") public class SecResourcesController { private final SecResourcesService secResourcesService; @Autowired public SecResourcesController(SecResourcesService secResourcesService) { this.secResourcesService = secResourcesService; } @Transactional(rollbackFor = Exception.class) @ApiOperation(value = "批量导入资源菜单(对象)", notes = "批量导入资源菜单(对象)") @PostMapping("import") public ApiResult importAllSources1(@RequestBody SysSourcesListDTO dto) { return secResourcesService.importAllSources(dto); } @ApiOperation(value = "获取所有资源(菜单及功能)", notes = "获取所有资源(菜单及功能)") @GetMapping(value = "dist") public ApiResult> listAll() { List sysResourceVos = secResourcesService.selectResources(); return ApiResult.success(sysResourceVos); } @ApiOperation(value = "获取菜单集合(不包含结构)", notes = "获取菜单集合(不包含结构)") @GetMapping(value = "list") public ApiResult> menus() { List sysResources = secResourcesService.list(Wrappers.lambdaQuery(SecResources.class)); return ApiResult.success(sysResources); } @ApiOperation(value = "新增或修改资源", notes = "新增或修改资源") @PostMapping(value = "addOrUpdate") public ApiResult addOrUpdate(@Validated @RequestBody SecResDTO dto) { SecResources secResources = secResourcesService.getOne(Wrappers.lambdaQuery(SecResources.class).eq(SecResources::getTitle, dto.getTitle())); if (Objects.nonNull(dto.getId())) { if (Objects.isNull(secResources) || (Objects.nonNull(secResources) && dto.getId().equals(secResources.getId()))) { secResourcesService.updateById(dto); } else { return ApiResult.failed("资源名已存在"); } } else { // 判断商品名称是否存在 if (Objects.nonNull(secResources)) { return ApiResult.failed("资源名已存在"); } secResourcesService.save(dto); } return ApiResult.success(); } @ApiOperation(value = "删除资源", notes = "删除资源") @GetMapping(value = "delete/{id}") public ApiResult delete(@PathVariable Long id) { secResourcesService.removeById(id); return ApiResult.success(); } }