无关风月
2024-12-09 2053b8fe0e98d4b4449bc756a93ced78f42277c4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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();
    }
 
}