package com.qianwen.smartman.modules.visual.controller;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
import java.util.LinkedHashMap;
|
import java.util.List;
|
import javax.validation.Valid;
|
import com.qianwen.smartman.common.cache.RegionCache;
|
import com.qianwen.core.api.crypto.annotation.decrypt.ApiDecryptAes;
|
import com.qianwen.core.mp.support.Condition;
|
import com.qianwen.core.mp.support.Query;
|
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.utils.Func;
|
import com.qianwen.smartman.modules.visual.dto.VisualDbDTO;
|
import com.qianwen.smartman.modules.visual.dynamic.DynamicModel;
|
import com.qianwen.smartman.modules.visual.entity.VisualDb;
|
import com.qianwen.smartman.modules.visual.service.IVisualDbService;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
@ApiResource({"blade-visual/db"})
|
@Api(value = "可视化数据源配置表", tags = {"可视化数据源配置接口"})
|
@RestController
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/visual/controller/VisualDbController.class */
|
public class VisualDbController {
|
private final IVisualDbService visualDbService;
|
|
public VisualDbController(final IVisualDbService visualDbService) {
|
this.visualDbService = visualDbService;
|
}
|
|
@ApiOperationSupport(order = 1)
|
@GetResource({"/detail"})
|
@ApiOperation(value = "详情", notes = "传入datasource")
|
public R<VisualDb> detail(VisualDb db) {
|
VisualDb detail = (VisualDb) this.visualDbService.getOne(Condition.getQueryWrapper(db));
|
return R.data(detail);
|
}
|
|
@ApiOperationSupport(order = 2)
|
@GetResource({"/list"})
|
@ApiOperation(value = "分页", notes = "传入datasource")
|
public R<IPage<VisualDb>> list(VisualDb db, Query query) {
|
IPage<VisualDb> pages = this.visualDbService.page(Condition.getPage(query), Condition.getQueryWrapper(db));
|
return R.data(pages);
|
}
|
|
@ApiOperationSupport(order = 4)
|
@PostResource({"/save"})
|
@ApiOperation(value = "新增", notes = "传入datasource")
|
public R save(@Valid @RequestBody VisualDb db) {
|
return R.status(this.visualDbService.save(db));
|
}
|
|
@ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
|
@PostResource({"/update"})
|
@ApiOperation(value = "修改", notes = "传入datasource")
|
public R update(@Valid @RequestBody VisualDb db) {
|
return R.status(this.visualDbService.updateById(db));
|
}
|
|
@ApiOperationSupport(order = 6)
|
@PostResource({"/submit"})
|
@ApiOperation(value = "新增或修改", notes = "传入datasource")
|
public R submit(@Valid @RequestBody VisualDb db) {
|
db.setUrl(db.getUrl().replace("&", "&"));
|
return R.status(this.visualDbService.saveOrUpdate(db));
|
}
|
|
@ApiOperationSupport(order = 7)
|
@PostResource({"/remove"})
|
@ApiOperation(value = "逻辑删除", notes = "传入ids")
|
public R remove(@RequestParam @ApiParam(value = "主键集合", required = true) String ids) {
|
return R.status(this.visualDbService.deleteLogic(Func.toLongList(ids)));
|
}
|
|
@ApiDecryptAes
|
@ApiOperationSupport(order = 8)
|
@PostResource({"/db-test"})
|
@ApiOperation(value = "数据源测试连接", notes = "数据源测试连接")
|
public R<Boolean> dbTest(@RequestBody VisualDb db) {
|
return R.status(this.visualDbService.dbTest(db).booleanValue());
|
}
|
|
@ApiOperationSupport(order = 9)
|
@GetResource({"/db-list"})
|
@ApiOperation(value = "下拉数据源", notes = "数据源列表")
|
public R<List<VisualDbDTO>> dbList() {
|
return R.data(this.visualDbService.dbList());
|
}
|
|
@ApiDecryptAes
|
@ApiOperationSupport(order = 10)
|
@PostResource({"dynamic-query"})
|
@ApiOperation(value = "动态执行SQL", notes = "动态执行SQL")
|
public R dynamicQuery(@RequestBody DynamicModel model) {
|
List<LinkedHashMap<String, Object>> linkedHashMaps = this.visualDbService.dynamicQuery(model.getId(), model.getSql());
|
return R.data(linkedHashMaps);
|
}
|
}
|