yangys
2024-03-27 e48aa2ac8dea1be5db11c63edf0b912c4ad5ce65
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
130
131
package com.qianwen.smartman.modules.visual.controller;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.google.common.collect.Lists;
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 java.util.List;
import java.util.Map;
import javax.validation.Valid;
import com.qianwen.smartman.common.cache.RegionCache;
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.oss.model.BladeFile;
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.smartman.modules.visual.convert.VisualCompConvert;
import com.qianwen.smartman.modules.visual.entity.VisualComp;
import com.qianwen.smartman.modules.visual.service.IVisualCompService;
import com.qianwen.smartman.modules.visual.vo.VisualCompVO;
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 org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
 
@Api(value = "大屏组件管理", tags = {"大屏组件管理"})
@ApiResource({"blade-visual/visual-comp"})
@RestController
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/visual/controller/VisualCompController.class */
public class VisualCompController extends BladeController {
    private IVisualCompService visualCompService;
 
    public VisualCompController(final IVisualCompService visualCompService) {
        this.visualCompService = visualCompService;
    }
 
    @ApiOperationSupport(order = 1)
    @GetResource({"/get/{id}"})
    @ApiOperation(value = "大屏组件详情", notes = "传入visualComp")
    public R<VisualCompVO> detail(@PathVariable String id) {
        VisualComp visualComp = (VisualComp) this.visualCompService.getById(id);
        VisualCompVO convert = VisualCompConvert.INSTANCE.convert(visualComp);
        this.visualCompService.wrapper(Lists.newArrayList(new VisualCompVO[]{convert}));
        return R.data(convert);
    }
 
    @ApiOperationSupport(order = 2)
    @GetResource({"/list"})
    @ApiOperation(value = "大屏组件列表", notes = "传入map")
    @PreAuth
    public R<List<VisualCompVO>> list(@RequestParam @ApiIgnore Map<String, Object> params) {
        List<VisualComp> list = this.visualCompService.list(Condition.getQueryWrapper(params, VisualComp.class));
        return R.data(VisualCompConvert.INSTANCE.convert(list));
    }
 
    @ApiOperationSupport(order = 2)
    @GetResource({"/count"})
    @ApiOperation(value = "大屏组件统计值", notes = "传入map")
    public R<Long> count(@RequestParam @ApiIgnore Map<String, Object> params) {
        Long count = Long.valueOf(this.visualCompService.count(Condition.getQueryWrapper(params, VisualComp.class)));
        return R.data(count);
    }
 
    @ApiOperationSupport(order = 3)
    @ApiImplicitParams({@ApiImplicitParam(name = "name", value = "组件名称", paramType = "query", dataType = "string"), @ApiImplicitParam(name = "type", value = "组件类型", paramType = "query", dataType = "string")})
    @GetResource({"/page"})
    @ApiOperation(value = "大屏组件分页", notes = "传入map")
    @PreAuth
    public R<IPage<VisualCompVO>> page(@RequestParam @ApiIgnore Map<String, Object> params, Query query) {
        IPage<VisualCompVO> pages = this.visualCompService.pageVO(Condition.getPage(query), params);
        return R.data(pages);
    }
 
    @ApiOperationSupport(order = 4)
    @PostResource({"/insert"})
    @ApiOperation(value = "大屏组件新增", notes = "传入visualCompVO")
    @PreAuth
    public R<VisualCompVO> insert(@Valid @RequestBody VisualCompVO visualCompVO) {
        VisualComp visualComp = VisualCompConvert.INSTANCE.convert(visualCompVO);
        this.visualCompService.save(visualComp);
        return R.data(VisualCompConvert.INSTANCE.convert(visualComp));
    }
 
    @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
    @PutResource({"/update"})
    @ApiOperation(value = "大屏组件修改", notes = "传入visualCompVO")
    @PreAuth
    public R<VisualCompVO> update(@Valid @RequestBody VisualCompVO visualCompVO) {
        VisualComp visualComp = VisualCompConvert.INSTANCE.convert(visualCompVO);
        this.visualCompService.updateById(visualComp);
        return R.data(VisualCompConvert.INSTANCE.convert(visualComp));
    }
 
    @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.visualCompService.removeByIds(ids));
    }
 
    @PreAuth
    @PostResource({"/zip/download"})
    @ApiOperation(value = "组件导出", notes = "传入组件ids")
    public R<BladeFile> componentDownload(@RequestBody @ApiParam("需要导出的组件ID列表") List<Long> componentIds) {
        BladeFile bladeFile = this.visualCompService.componentZipDownload(componentIds);
        return R.data(bladeFile);
    }
 
    @PreAuth
    @PostResource({"/zip/import"})
    @ApiOperation(value = "组件导入", notes = "传入导入zip文件")
    public R<?> componentImport(@RequestBody @ApiParam("导入的zip文件") MultipartFile file) throws Exception {
        this.visualCompService.componentZipImport(file);
        return R.data(true);
    }
}