yangys
2024-04-04 ed4a5236bab800094be4a8378f5098eebe3de6ac
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package com.qianwen.smartman.modules.visual.controller;
 
import java.util.List;
import java.util.Map;
 
import javax.validation.Valid;
 
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.qianwen.core.boot.ctrl.BladeController;
import com.qianwen.core.mp.support.Condition;
import com.qianwen.core.mp.support.Query;
import com.qianwen.core.scanner.modular.annotation.DeleteResource;
import com.qianwen.core.scanner.modular.annotation.GetResource;
import com.qianwen.core.scanner.modular.annotation.PostResource;
import com.qianwen.core.scanner.modular.annotation.PutResource;
import com.qianwen.core.scanner.modular.stereotype.ApiResource;
import com.qianwen.core.secure.annotation.PreAuth;
import com.qianwen.core.tool.api.R;
import com.qianwen.core.tool.node.ForestNodeMerger;
import com.qianwen.smartman.common.cache.RegionCache;
import com.qianwen.smartman.modules.visual.convert.VisualCompTypeConvert;
import com.qianwen.smartman.modules.visual.entity.VisualCompType;
import com.qianwen.smartman.modules.visual.service.IVisualCompTypeService;
import com.qianwen.smartman.modules.visual.vo.VisualCompMenuDetailVO;
import com.qianwen.smartman.modules.visual.vo.VisualCompTypeVO;
 
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import springfox.documentation.annotations.ApiIgnore;
 
@Api(value = "大屏组件分类管理", tags = {"大屏组件分类管理"})
@ApiResource({"blade-visual/visual-comp-type"})
@RestController
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/visual/controller/VisualCompTypeController.class */
public class VisualCompTypeController extends BladeController {
    private IVisualCompTypeService visualCompTypeService;
 
 
    public VisualCompTypeController(final IVisualCompTypeService visualCompTypeService) {
        this.visualCompTypeService = visualCompTypeService;
    }
 
    @ApiOperationSupport(order = 1)
    @GetResource({"/get/{id}"})
    @ApiOperation(value = "大屏组件分类详情", notes = "传入visualCompType")
    @PreAuth
    public R<VisualCompTypeVO> detail(@PathVariable String id) {
        VisualCompType visualCompType = (VisualCompType) this.visualCompTypeService.getById(id);
        return R.data(VisualCompTypeConvert.INSTANCE.convert(visualCompType));
    }
 
    @ApiOperationSupport(order = 2)
    @ApiImplicitParams({@ApiImplicitParam(name = "status", value = "分类状态", paramType = "query", dataType = "string")})
    @GetResource({"/list"})
    @ApiOperation(value = "大屏组件分类列表,树结构", notes = "传入map")
    @PreAuth
    public R<List<VisualCompTypeVO>> list(@RequestParam @ApiIgnore Map<String, Object> params) {
        List<VisualCompType> list = this.visualCompTypeService.list(Condition.getQueryWrapper(params, VisualCompType.class).lambda().orderByAsc((v0) -> {
            return v0.getOrderNum();
        }));
        List<VisualCompTypeVO> vos = VisualCompTypeConvert.INSTANCE.convert(list);
        List<VisualCompTypeVO> tree = ForestNodeMerger.merge(vos);
        return R.data(tree);
    }
 
    @ApiOperationSupport(order = 2)
    @GetResource({"/menus"})
    @ApiOperation(value = "大屏组件 分类 + 组件信息 树", notes = "传入map")
    public R<List<VisualCompMenuDetailVO>> treeMenu(@RequestParam @ApiIgnore Map<String, Object> params) {
        List<VisualCompMenuDetailVO> tree = this.visualCompTypeService.treeMenu(params);
        return R.data(tree);
    }
 
    @ApiOperationSupport(order = 2)
    @GetResource({"/count"})
    @ApiOperation(value = "大屏组件分类统计值", notes = "传入map")
    public R<Long> count(@RequestParam @ApiIgnore Map<String, Object> params) {
        Long count = Long.valueOf(this.visualCompTypeService.count(Condition.getQueryWrapper(params, VisualCompType.class)));
        return R.data(count);
    }
 
    @ApiOperationSupport(order = 3)
    @GetResource({"/page"})
    @ApiOperation(value = "大屏组件分类分页", notes = "传入map")
    public R<IPage<VisualCompTypeVO>> page(@RequestParam @ApiIgnore Map<String, Object> params, Query query) {
        IPage<VisualCompType> pages = this.visualCompTypeService.page(Condition.getPage(query), Condition.getQueryWrapper(params, VisualCompType.class));
        return R.data(VisualCompTypeConvert.INSTANCE.convert(pages));
    }
 
    @ApiOperationSupport(order = 4)
    @PostResource({"/insert"})
    @ApiOperation(value = "大屏组件分类新增", notes = "传入visualCompTypeVO")
    @PreAuth
    public R<VisualCompTypeVO> insert(@Valid @RequestBody VisualCompTypeVO visualCompTypeVO) {
        VisualCompType visualCompType = VisualCompTypeConvert.INSTANCE.convert(visualCompTypeVO);
        this.visualCompTypeService.save(visualCompType);
        return R.data(VisualCompTypeConvert.INSTANCE.convert(visualCompType));
    }
 
    @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
    @PutResource({"/update"})
    @ApiOperation(value = "大屏组件分类修改", notes = "传入visualCompTypeVO")
    @PreAuth
    public R<VisualCompTypeVO> update(@Valid @RequestBody VisualCompTypeVO visualCompTypeVO) {
        VisualCompType visualCompType = VisualCompTypeConvert.INSTANCE.convert(visualCompTypeVO);
        this.visualCompTypeService.updateById(visualCompType);
        return R.data(VisualCompTypeConvert.INSTANCE.convert(visualCompType));
    }
 
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "大屏组件分类删除", notes = "传入ids")
    @PreAuth
    @DeleteResource({"/remove"})
    public R remove(@ApiParam(value = "主键", required = true) @RequestBody List<Long> ids) {
        if (ids.isEmpty()) {
            return R.status(false);
        }
        return R.status(this.visualCompTypeService.remove(ids));
    }
}