| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- package com.poyee.common.dict.controller;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.toolkit.Wrappers;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.poyee.base.dto.Result;
- import com.poyee.common.dict.domain.DictData;
- import com.poyee.common.dict.domain.DictType;
- import com.poyee.common.dict.query.DictQuery;
- import com.poyee.common.dict.service.IDictDataService;
- import com.poyee.common.dict.service.IDictTypeService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import javax.annotation.Resource;
- import java.util.List;
- import java.util.Map;
- /**
- * <p>
- * 字典表
- * </p>
- *
- * @author poyi
- * @since 2024-10-22
- */
- @RestController
- @RequestMapping("/dict")
- @Slf4j
- @Api(tags = "字典表管理")
- public class DictController {
- @Resource
- private IDictDataService dictDataService;
- @Resource
- private IDictTypeService dictTypeService;
- @ApiOperation(value = "字典表type列表")
- @PostMapping("/type/list")
- public Result listDictType(@RequestBody DictType dictType) {
- LambdaQueryWrapper<DictType> queryWrapper = Wrappers.lambdaQuery();
- queryWrapper.eq(StringUtils.isNotBlank(dictType.getDictType()), DictType::getDictType, dictType.getDictType());
- queryWrapper.eq(dictType.getStatus() != null, DictType::getStatus, dictType.getStatus());
- if(StringUtils.isNotBlank(dictType.getKeyword())) {
- queryWrapper.nested(q -> q.like(DictType::getDictType, dictType.getKeyword())
- .or()
- .like(DictType::getDictName, dictType.getKeyword()));
- }
- queryWrapper.orderByDesc(DictType::getSord);
- Page<DictType> dictTypePage = new Page<>(dictType.getPageNo(),dictType.getPageSize());
- Page<DictType> pageInfo = dictTypeService.page(dictTypePage,queryWrapper);
- return Result.success(pageInfo);
- }
- @ApiOperation(value = "字典表type新增")
- @PostMapping("/type/add")
- public Result addDictType(@RequestBody DictType dictType) {
- dictTypeService.save(dictType);
- return Result.success();
- }
- @ApiOperation(value = "字典表修改,删除即修改状态为0")
- @PostMapping("/type/update")
- public Result updateDictType(@RequestBody DictType dictType) {
- dictTypeService.updateById(dictType);
- return Result.success();
- }
- @ApiOperation(value = "字典表Data列表")
- @PostMapping("/data/list")
- public Result listDictData(@RequestBody DictData dictData) {
- Page<DictData> dictDataPage = new Page<>(dictData.getPageNo(), dictData.getPageSize());
- LambdaQueryWrapper<DictData> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(StringUtils.isNotBlank(dictData.getDictType()), DictData::getDictType, dictData.getDictType());
- queryWrapper.eq(dictData.getStatus() != null, DictData::getStatus, dictData.getStatus());
- queryWrapper.orderByAsc(DictData::getId);
- Page<DictData> pageInfo = dictDataService.page(dictDataPage,queryWrapper);
- return Result.success(pageInfo);
- }
- @ApiOperation(value = "字典表Data新增")
- @PostMapping("/data/add")
- public Result addDictData(@RequestBody DictData dictData) {
- dictDataService.save(dictData);
- dictDataService.delDataCache(dictData.getDictType());
- return Result.success();
- }
- @ApiOperation(value = "字典表data修改,删除即修改状态为0")
- @PostMapping("/data/update")
- public Result updateDictData(@RequestBody DictData dictData) {
- dictDataService.updateById(dictData);
- DictData data = dictDataService.getById(dictData.getId());
- dictDataService.delDataCache(data.getDictType());
- return Result.success();
- }
- @ApiOperation(value = "字典表Data查询")
- @PostMapping("/data/search")
- public Result getDictDataList(@RequestBody DictQuery dictQuery) {
- List<DictData> dictDataList = dictDataService.selectDictData(dictQuery.getDictType(), dictQuery.getDictLabel(), dictQuery.getStatus(), dictQuery.isUserCache());
- return Result.success(dictDataList);
- }
- @ApiOperation(value = "字典表Data查询,多type,用逗号拼接")
- @PostMapping("/data/search/types")
- public Result batchQueryData(@RequestBody DictQuery dictQuery) {
- Map<String, List<DictData>> typeData = dictDataService.selectByTypes(dictQuery.getDictType());
- return Result.success(typeData);
- }
- }
|