package com.qianwen.smartman.modules.system.controller;
|
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Optional;
|
import java.util.stream.Collectors;
|
|
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.tool.api.R;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.smartman.common.cache.RegionCache;
|
import com.qianwen.smartman.modules.system.convert.InterfaceConfigFieldConvert;
|
import com.qianwen.smartman.modules.system.entity.InterfaceConfigField;
|
import com.qianwen.smartman.modules.system.service.IInterfaceConfigFieldService;
|
import com.qianwen.smartman.modules.system.vo.InterfaceConfigFieldVO;
|
|
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-field"})
|
@RestController
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/system/controller/InterfaceConfigFieldController.class */
|
public class InterfaceConfigFieldController extends BladeController {
|
private IInterfaceConfigFieldService interfaceConfigFieldService;
|
|
public InterfaceConfigFieldController(final IInterfaceConfigFieldService interfaceConfigFieldService) {
|
this.interfaceConfigFieldService = interfaceConfigFieldService;
|
}
|
|
@ApiOperationSupport(order = 1)
|
@GetResource({"/get/{id}"})
|
@ApiOperation(value = "接口字段表详情", notes = "传入interfaceConfigField")
|
public R<InterfaceConfigFieldVO> detail(@PathVariable String id) {
|
InterfaceConfigField interfaceConfigField = (InterfaceConfigField) this.interfaceConfigFieldService.getById(id);
|
return R.data(InterfaceConfigFieldConvert.INSTANCE.convert(interfaceConfigField));
|
}
|
|
@ApiOperationSupport(order = 2)
|
@ApiImplicitParams({@ApiImplicitParam(name = "configId", value = "根据接口ID获取接口字段配置", paramType = "query", dataType = "string")})
|
@GetResource({"/list"})
|
@ApiOperation(value = "接口字段表列表", notes = "传入map")
|
public R<List<InterfaceConfigFieldVO>> list(@RequestParam @ApiIgnore Map<String, Object> params) {
|
String configId = (String) params.get("configId");
|
List<InterfaceConfigField> list = this.interfaceConfigFieldService.list(Condition.getQueryWrapper(params, InterfaceConfigField.class).lambda().eq(Func.isNotBlank(configId), (v0) -> {
|
return v0.getConfigId();
|
}, configId));
|
List<InterfaceConfigFieldVO> collect = list.stream().map(item -> {
|
InterfaceConfigFieldVO convert = InterfaceConfigFieldConvert.INSTANCE.convert(item);
|
convert.setRelationFieldNames(Optional.ofNullable(this.interfaceConfigFieldService.findRelation(item)).map(f -> {
|
return f.stream().map(field -> {
|
return field.getName();
|
}).collect(Collectors.toList());
|
}).orElse(null));
|
return convert;
|
}).collect(Collectors.toList());
|
return R.data(collect);
|
}
|
|
@ApiOperationSupport(order = 2)
|
@GetResource({"/count"})
|
@ApiOperation(value = "接口字段表统计值", notes = "传入map")
|
public R<Long> count(@RequestParam @ApiIgnore Map<String, Object> params) {
|
Long count = Long.valueOf(this.interfaceConfigFieldService.count(Condition.getQueryWrapper(params, InterfaceConfigField.class)));
|
return R.data(count);
|
}
|
|
@ApiOperationSupport(order = 3)
|
@GetResource({"/page"})
|
@ApiOperation(value = "接口字段表分页", notes = "传入map")
|
public R<IPage<InterfaceConfigFieldVO>> page(@RequestParam @ApiIgnore Map<String, Object> params, Query query) {
|
IPage<InterfaceConfigField> pages = this.interfaceConfigFieldService.page(Condition.getPage(query), Condition.getQueryWrapper(params, InterfaceConfigField.class));
|
return R.data(InterfaceConfigFieldConvert.INSTANCE.convert(pages));
|
}
|
|
@ApiOperationSupport(order = 4)
|
@PostResource({"/insert"})
|
@ApiOperation(value = "接口字段表新增", notes = "传入interfaceConfigFieldVO")
|
public R<InterfaceConfigFieldVO> insert(@Valid @RequestBody InterfaceConfigFieldVO interfaceConfigFieldVO) {
|
InterfaceConfigField interfaceConfigField = InterfaceConfigFieldConvert.INSTANCE.convert(interfaceConfigFieldVO);
|
this.interfaceConfigFieldService.save(interfaceConfigField);
|
return R.data(InterfaceConfigFieldConvert.INSTANCE.convert(interfaceConfigField));
|
}
|
|
@ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
|
@PutResource({"/update"})
|
@ApiOperation(value = "接口字段表修改", notes = "传入interfaceConfigFieldVO")
|
public R<InterfaceConfigFieldVO> update(@Valid @RequestBody InterfaceConfigFieldVO interfaceConfigFieldVO) {
|
InterfaceConfigField interfaceConfigField = InterfaceConfigFieldConvert.INSTANCE.convert(interfaceConfigFieldVO);
|
this.interfaceConfigFieldService.updateById(interfaceConfigField);
|
return R.data(InterfaceConfigFieldConvert.INSTANCE.convert(interfaceConfigField));
|
}
|
|
@ApiOperationSupport(order = 6)
|
@DeleteResource({"/remove"})
|
@ApiOperation(value = "接口字段表删除", notes = "传入ids")
|
public R remove(@ApiParam(value = "主键", required = true) @RequestBody List<String> ids) {
|
if (ids.isEmpty()) {
|
return R.status(false);
|
}
|
return R.status(this.interfaceConfigFieldService.removeByIds(Func.toLongList(ids)));
|
}
|
}
|