package com.qianwen.smartman.modules.visual.controller;
|
|
import java.io.FileNotFoundException;
|
import java.util.List;
|
|
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 org.springframework.web.multipart.MultipartFile;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
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.oss.model.BladeFile;
|
import com.qianwen.core.scanner.modular.annotation.GetResource;
|
import com.qianwen.core.scanner.modular.annotation.PostResource;
|
import com.qianwen.core.scanner.modular.stereotype.ApiResource;
|
import com.qianwen.core.tool.api.R;
|
import com.qianwen.core.tool.support.Kv;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.smartman.common.cache.RegionCache;
|
import com.qianwen.smartman.modules.resource.builder.oss.OssBuilder;
|
import com.qianwen.smartman.modules.system.constant.SystemFieldConstant;
|
import com.qianwen.smartman.modules.visual.dto.VisualDTO;
|
import com.qianwen.smartman.modules.visual.entity.Visual;
|
import com.qianwen.smartman.modules.visual.entity.VisualCategory;
|
import com.qianwen.smartman.modules.visual.service.IVisualCategoryService;
|
import com.qianwen.smartman.modules.visual.service.IVisualCompService;
|
import com.qianwen.smartman.modules.visual.service.IVisualService;
|
import com.qianwen.smartman.modules.visual.vo.VisualInfoVO;
|
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
|
@ApiResource({"blade-visual/visual"})
|
@Api(value = "可视化表", tags = {"可视化数据接口"})
|
@RestController
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/visual/controller/VisualController.class */
|
public class VisualController extends BladeController {
|
private final IVisualService visualService;
|
private final IVisualCategoryService categoryService;
|
private final OssBuilder ossBuilder;
|
private final IVisualCompService compService;
|
|
public VisualController(final IVisualService visualService, final IVisualCategoryService categoryService, final OssBuilder ossBuilder, final IVisualCompService compService) {
|
this.visualService = visualService;
|
this.categoryService = categoryService;
|
this.ossBuilder = ossBuilder;
|
this.compService = compService;
|
}
|
|
@ApiOperationSupport(order = 1)
|
@GetResource({"/detail"})
|
@ApiOperation(value = "详情", notes = "传入visual")
|
public R<VisualDTO> detail(@RequestParam Long id) {
|
VisualDTO detail = this.visualService.detail(id);
|
return R.data(detail);
|
}
|
|
@GetResource({"/detail/catalog/{catalogId}"})
|
@ApiOperation(value = "详情", notes = "传入visual")
|
public R<List<VisualInfoVO>> configList(@PathVariable int catalogId) {
|
return R.data(this.visualService.detailsByCatalog(Integer.valueOf(catalogId)));
|
}
|
|
@ApiOperationSupport(order = 2)
|
@GetResource({"/list"})
|
@ApiOperation(value = "分页", notes = "传入visual")
|
public R<IPage<Visual>> list(Visual visual, Query query) {
|
IPage<Visual> pages = this.visualService.page(Condition.getPage(query), Condition.getQueryWrapper(visual).lambda().eq(StringUtils.isNotBlank(visual.getGroupName()), (v0) -> {
|
return v0.getGroupName();
|
}, visual.getGroupName()));
|
return R.data(pages);
|
}
|
|
@ApiOperationSupport(order = 3)
|
@PostResource({"/save"})
|
@ApiOperation(value = "新增", notes = "传入visual")
|
public R save(@Valid @RequestBody VisualDTO visual) {
|
boolean temp = this.visualService.saveVisual(visual);
|
if (temp) {
|
Long id = visual.getVisual().getId();
|
return R.data(Kv.create().set("id", String.valueOf(id)));
|
}
|
return R.status(false);
|
}
|
|
@ApiOperationSupport(order = 4)
|
@PostResource({"/update"})
|
@ApiOperation(value = "修改", notes = "传入visual")
|
public R update(@Valid @RequestBody VisualDTO visual) {
|
return R.status(this.visualService.updateVisual(visual));
|
}
|
|
@ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
|
@PostResource({"/remove"})
|
@ApiOperation(value = "逻辑删除", notes = "传入ids")
|
public R remove(@RequestParam @ApiParam(value = "主键集合", required = true) String ids) {
|
return R.status(this.visualService.deleteLogic(Func.toLongList(ids)));
|
}
|
|
@ApiOperationSupport(order = 6)
|
@PostResource({"/copy"})
|
@ApiOperation(value = "复制", notes = "传入id")
|
public R<Long> copy(@RequestParam @ApiParam(value = "主键集合", required = true) Long id) {
|
return R.data(this.visualService.copyVisual(id));
|
}
|
|
@ApiOperationSupport(order = 6)
|
@PostResource({"/copyImport"})
|
@ApiOperation(value = "从import复制", notes = "传入import对象")
|
public R<Long> copyImport(@RequestBody VisualDTO visualDTO) {
|
return R.data(this.visualService.visualImport(visualDTO));
|
}
|
|
@ApiOperationSupport(order = 7)
|
@GetResource({SystemFieldConstant.CATEGORY})
|
@ApiOperation("获取类型")
|
public R category() {
|
List<VisualCategory> list = this.categoryService.list();
|
return R.data(list);
|
}
|
|
@PostResource({"/put-file"})
|
public R<BladeFile> putFie(@RequestParam MultipartFile file) {
|
BladeFile bladeFile = this.ossBuilder.visualTemplate().putFile(file.getOriginalFilename(), file);
|
return R.data(bladeFile);
|
}
|
|
@PostResource({"/zip/download"})
|
@ApiOperation(value = "批量导出大屏,返回zip文件信息", notes = "传入大屏ID列表")
|
public R<BladeFile> visualZipDownload(@RequestBody @ApiParam("需要导出的大屏ID列表") List<Long> visualIds) throws FileNotFoundException {
|
BladeFile file = this.visualService.visualZipDownload(visualIds);
|
return R.data(file);
|
}
|
|
@PostResource({"/zip/import"})
|
@ApiOperation(value = "批量导入大屏", notes = "大屏zip文件")
|
public R<?> visualZipImport(@RequestParam("file") MultipartFile file, @RequestParam("category") @ApiParam("分类") String category) {
|
this.visualService.visualZipImport(file, Integer.valueOf(Integer.parseInt(category)));
|
return R.status(true);
|
}
|
}
|