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 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> list(VisualDb db, Query query) { IPage 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 dbTest(@RequestBody VisualDb db) { return R.status(this.visualDbService.dbTest(db).booleanValue()); } @ApiOperationSupport(order = 9) @GetResource({"/db-list"}) @ApiOperation(value = "下拉数据源", notes = "数据源列表") public R> 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> linkedHashMaps = this.visualDbService.dynamicQuery(model.getId(), model.getSql()); return R.data(linkedHashMaps); } }