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;
|
|
/**
|
* <p>
|
* 资源表 前端控制器
|
* </p>
|
*
|
* @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<String> importAllSources1(@RequestBody SysSourcesListDTO dto) {
|
return secResourcesService.importAllSources(dto);
|
}
|
|
@ApiOperation(value = "获取所有资源(菜单及功能)", notes = "获取所有资源(菜单及功能)")
|
@GetMapping(value = "dist")
|
public ApiResult<List<SecResourceVO>> listAll() {
|
List<SecResourceVO> sysResourceVos = secResourcesService.selectResources();
|
return ApiResult.success(sysResourceVos);
|
}
|
|
@ApiOperation(value = "获取菜单集合(不包含结构)", notes = "获取菜单集合(不包含结构)")
|
@GetMapping(value = "list")
|
public ApiResult<List<SecResources>> menus() {
|
List<SecResources> sysResources = secResourcesService.list(Wrappers.lambdaQuery(SecResources.class));
|
return ApiResult.success(sysResources);
|
}
|
|
@ApiOperation(value = "新增或修改资源", notes = "新增或修改资源")
|
@PostMapping(value = "addOrUpdate")
|
public ApiResult<String> 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<String> delete(@PathVariable Long id) {
|
secResourcesService.removeById(id);
|
return ApiResult.success();
|
}
|
|
}
|