package com.qianwen.smartman.modules.visual.controller;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
import java.io.FileNotFoundException;
|
import java.lang.invoke.SerializedLambda;
|
import java.util.List;
|
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.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.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 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;
|
|
@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;
|
|
private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) {
|
String implMethodName = lambda.getImplMethodName();
|
boolean z = true;
|
switch (implMethodName.hashCode()) {
|
case -1492779276:
|
if (implMethodName.equals("getGroupName")) {
|
z = false;
|
break;
|
}
|
break;
|
}
|
switch (z) {
|
case false:
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/visual/entity/Visual") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
|
return (v0) -> {
|
return v0.getGroupName();
|
};
|
}
|
break;
|
}
|
throw new IllegalArgumentException("Invalid lambda deserialization");
|
}
|
|
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);
|
}
|
}
|