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.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.cache.utils.CacheUtil; 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.tenant.annotation.NonDS; import com.qianwen.core.tool.api.R; import com.qianwen.smartman.common.cache.RegionCache; import com.qianwen.smartman.common.constant.ExtCacheConstant; import com.qianwen.smartman.modules.system.entity.DictBiz; import com.qianwen.smartman.modules.system.service.IDictBizService; import com.qianwen.smartman.modules.system.vo.DictBizVO; import com.qianwen.smartman.modules.system.wrapper.DictBizWrapper; 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 = {"业务字典"}) @RestController @ApiResource({"blade-system/dict-biz"}) @NonDS /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/system/controller/DictBizController.class */ public class DictBizController extends BladeController { private final IDictBizService dictService; public DictBizController(final IDictBizService dictService) { this.dictService = dictService; } @ApiOperationSupport(order = 1) @GetResource({"/detail"}) @ApiOperation(value = "详情", notes = "传入dict") public R detail(DictBiz dict) { DictBiz detail = (DictBiz) this.dictService.getOne(Condition.getQueryWrapper(dict)); return R.data(DictBizWrapper.build().entityVO(detail)); } @ApiOperationSupport(order = 2) @ApiImplicitParams({@ApiImplicitParam(name = "code", value = "字典编号", paramType = "query", dataType = "string"), @ApiImplicitParam(name = "dictValue", value = "字典名称", paramType = "query", dataType = "string")}) @GetResource({"/list"}) @ApiOperation(value = "列表", notes = "传入dict") public R> list(@RequestParam @ApiIgnore Map dict) { List list = this.dictService.list(Condition.getQueryWrapper(dict, DictBiz.class).lambda().orderByAsc(DictBiz::getSort)); /* List list = this.dictService.list((Wrapper) Condition.getQueryWrapper(dict, DictBiz.class).lambda().orderByAsc((v0) -> { return v0.getSort(); }));*/ return R.data(DictBizWrapper.build().listNodeVO(list)); } @ApiOperationSupport(order = 3) @ApiImplicitParams({@ApiImplicitParam(name = "code", value = "字典编号", paramType = "query", dataType = "string"), @ApiImplicitParam(name = "dictValue", value = "字典名称", paramType = "query", dataType = "string")}) @GetResource({"/parent-list"}) @ApiOperation(value = "列表", notes = "传入dict") public R> parentList(@RequestParam @ApiIgnore Map dict, Query query) { return R.data(this.dictService.parentList(dict, query)); } @ApiOperationSupport(order = 4) @ApiImplicitParams({@ApiImplicitParam(name = "code", value = "字典编号", paramType = "query", dataType = "string"), @ApiImplicitParam(name = "dictValue", value = "字典名称", paramType = "query", dataType = "string"), @ApiImplicitParam(name = "parentId", value = "字典名称", paramType = "query", dataType = "string")}) @GetResource({"/child-list"}) @ApiOperation(value = "列表", notes = "传入dict") public R> childList(@RequestParam @ApiIgnore Map dict, @RequestParam(required = false, defaultValue = "-1") Long parentId) { return R.data(this.dictService.childList(dict, parentId)); } @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL) @GetResource({"/tree"}) @ApiOperation(value = "树形结构", notes = "树形结构") public R> tree() { List tree = this.dictService.tree(); return R.data(tree); } @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL) @GetResource({"/parent-tree"}) @ApiOperation(value = "树形结构", notes = "树形结构") public R> parentTree() { List tree = this.dictService.parentTree(); return R.data(tree); } @ApiOperationSupport(order = 6) @PostResource({"/submit"}) @ApiOperation(value = "新增或修改", notes = "传入dict") public R submit(@Valid @RequestBody DictBiz dict) { CacheUtil.clear("blade:dict", ExtCacheConstant.TENANT_MODE); return R.status(this.dictService.submit(dict)); } @ApiOperationSupport(order = 7) @PostResource({"/remove"}) @ApiOperation(value = "删除", notes = "传入ids") public R remove(@RequestParam @ApiParam(value = "主键集合", required = true) String ids) { CacheUtil.clear("blade:dict", ExtCacheConstant.TENANT_MODE); return R.status(this.dictService.removeDict(ids)); } @ApiOperationSupport(order = 8) @GetResource({"/dictionary"}) @ApiOperation(value = "获取字典", notes = "获取字典") public R> dictionary(String code) { List tree = this.dictService.getList(code); return R.data(tree); } @ApiOperationSupport(order = 9) @GetResource({"/dictionary-tree"}) @ApiOperation(value = "获取字典树", notes = "获取字典树") public R> dictionaryTree(String code) { List tree = this.dictService.getList(code); return R.data(DictBizWrapper.build().listNodeVO(tree)); } }