package com.qianwen.smartman.modules.system.controller; import java.util.List; import java.util.Map; 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 com.baomidou.mybatisplus.core.metadata.IPage; 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.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.core.tool.utils.Func; import com.qianwen.smartman.common.cache.RegionCache; import com.qianwen.smartman.common.utils.Lambda; import com.qianwen.smartman.modules.system.convert.InterfaceConfigConvert; import com.qianwen.smartman.modules.system.entity.InterfaceConfig; import com.qianwen.smartman.modules.system.service.IInterfaceConfigService; import com.qianwen.smartman.modules.system.vo.InterfaceConfigVO; 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 springfox.documentation.annotations.ApiIgnore; @Api(value = "动态接口管理", tags = {"动态接口管理"}) @ApiResource({"blade-system/interface-config"}) @RestController /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/system/controller/InterfaceConfigController.class */ public class InterfaceConfigController extends BladeController { private IInterfaceConfigService interfaceConfigService; public InterfaceConfigController(final IInterfaceConfigService interfaceConfigService) { this.interfaceConfigService = interfaceConfigService; } @ApiOperationSupport(order = 1) @GetResource({"/get/{id}"}) @ApiOperation(value = "接口配置表详情", notes = "传入interfaceConfig") public R detail(@PathVariable String id) { InterfaceConfig interfaceConfig = (InterfaceConfig) this.interfaceConfigService.getById(id); return R.data(InterfaceConfigConvert.INSTANCE.convert(interfaceConfig)); } @ApiOperationSupport(order = 2) @ApiImplicitParams({@ApiImplicitParam(name = "owningChart", value = "根据", paramType = "query", dataType = "string")}) @GetResource({"/list"}) @ApiOperation(value = "接口配置表列表", notes = "传入map") public R> list(@RequestParam @ApiIgnore Map params) { String types = (String) params.get("type"); Integer owningChart = (Integer) params.get("owningChart"); Integer urlType = (Integer) params.get("urlType"); String urlName = (String) params.get("urlName"); String url = (String) params.get("url"); List list = this.interfaceConfigService.list( Lambda.eq((owningChart != null), InterfaceConfig::getOwningChart, owningChart) .eq((urlType != null), InterfaceConfig::getUrlType, urlType) .like(Func.isNotBlank(urlName), InterfaceConfig::getUrlName, urlName) .like(Func.isNotBlank(url), InterfaceConfig::getUrl, url) .in(Func.isNotBlank(types), InterfaceConfig::getOwningChart, (types == null) ? null : types.split(","))); /* List list = this.interfaceConfigService.list(Lambda.eq(owningChart != null, (v0) -> { return v0.getOwningChart(); }, owningChart).eq(urlType != null, (v0) -> { return v0.getUrlType(); }, urlType).like(Func.isNotBlank(urlName), (v0) -> { return v0.getUrlName(); }, urlName).like(Func.isNotBlank(url), (v0) -> { return v0.getUrl(); }, url).in(Func.isNotBlank(types), (v0) -> { return v0.getOwningChart(); }, types == null ? null : types.split(",")));*/ return R.data(InterfaceConfigConvert.INSTANCE.convert(list)); } @ApiOperationSupport(order = 2) @GetResource({"/count"}) @ApiOperation(value = "接口配置表统计值", notes = "传入map") public R count(@RequestParam @ApiIgnore Map params) { Long count = Long.valueOf(this.interfaceConfigService.count(Condition.getQueryWrapper(params, InterfaceConfig.class))); return R.data(count); } @ApiOperationSupport(order = 3) @GetResource({"/page"}) @ApiOperation(value = "接口配置表分页", notes = "传入map") @PreAuth public R> page(@RequestParam @ApiIgnore Map params, Query query) { IPage pages = this.interfaceConfigService.page(Condition.getPage(query), Condition.getQueryWrapper(params, InterfaceConfig.class)); return R.data(InterfaceConfigConvert.INSTANCE.convert(pages)); } @ApiOperationSupport(order = 4) @PostResource({"/insert"}) @ApiOperation(value = "接口配置表新增", notes = "传入interfaceConfigVO") @PreAuth public R insert(@Valid @RequestBody InterfaceConfigVO interfaceConfigVO) { InterfaceConfig interfaceConfig = InterfaceConfigConvert.INSTANCE.convert(interfaceConfigVO); this.interfaceConfigService.save(interfaceConfig); return R.data(InterfaceConfigConvert.INSTANCE.convert(interfaceConfig)); } @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL) @PutResource({"/update"}) @ApiOperation(value = "接口配置表修改", notes = "传入interfaceConfigVO") @PreAuth public R update(@Valid @RequestBody InterfaceConfigVO interfaceConfigVO) { InterfaceConfig interfaceConfig = InterfaceConfigConvert.INSTANCE.convert(interfaceConfigVO); this.interfaceConfigService.updateById(interfaceConfig); return R.data(InterfaceConfigConvert.INSTANCE.convert(interfaceConfig)); } @ApiOperationSupport(order = 6) @ApiOperation(value = "接口配置表删除", notes = "传入ids") @PreAuth @DeleteResource({"/remove"}) public R remove(@ApiParam(value = "主键", required = true) @RequestBody List ids) { if (ids.isEmpty()) { return R.status(false); } return R.status(this.interfaceConfigService.removeByIds(Func.toLongList(ids))); } }