package com.ruoyi.web.controller.api; import com.ruoyi.common.basic.PageDTO; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.enums.ShowStatusEnum; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.BeanUtils; import com.ruoyi.system.domain.TbBasicDataCategory; import com.ruoyi.system.dto.BasicDataConfigDTO; import com.ruoyi.system.dto.ShowHideDTO; import com.ruoyi.system.dto.update.BasicDataConfigUpdateDTO; import com.ruoyi.system.query.BasicDataConfigQuery; import com.ruoyi.system.query.FieldQuery; import com.ruoyi.system.service.TbBasicDataCategoryService; import com.ruoyi.system.service.TbBasicDataConfigService; import com.ruoyi.system.service.TbFieldService; import com.ruoyi.system.vo.BasicDataCategoryVO; import com.ruoyi.system.vo.BasicDataConfigDetailVO; import com.ruoyi.system.vo.BasicDataConfigVO; import com.ruoyi.system.vo.FieldVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import java.util.List; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; 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; /** *

* 基础数据配置表 前端控制器 *

* * @author mitao * @since 2024-03-18 */ @Slf4j @RestController @RequiredArgsConstructor @Api(tags = {"基础数据配置相关接口"}) @RequestMapping("/basic-data-config") public class TbBasicDataConfigController { private final TbBasicDataConfigService tbBasicDataConfigService; private final TbBasicDataCategoryService tbBasicDataCategoryService; private final TbFieldService tbFieldService; /** * 获取分类列表 * * @return R> */ @GetMapping("/categories") @ApiOperation(value = "获取分类列表") public R> queryBasicDataCategories() { try { List list = tbBasicDataCategoryService.lambdaQuery() .eq(TbBasicDataCategory::getStatus, ShowStatusEnum.SHOW).list(); return R.ok(BeanUtils.copyList(list, BasicDataCategoryVO.class)); } catch (Exception e) { if (e instanceof ServiceException) { return R.fail(e.getMessage()); } log.error("获取分类列表异常", e); return R.fail(); } } /** * 分页条件查询字段 * * @param query 字段条件查询对象 * @return R> */ @PostMapping("/page-fields") @ApiOperation(value = "分页条件查询字段", notes = "基础数据配置、大屏数据配置") public R> page(@Validated @RequestBody FieldQuery query) { try { return R.ok(tbFieldService.queryShowPage(query)); } catch (Exception e) { if (e instanceof ServiceException) { return R.fail(e.getMessage()); } log.error("分页条件查询异常", e); return R.fail(); } } /** * @param type * @return */ @GetMapping("/list-fields") @ApiOperation(value = "查询状态为展示中的字段列表", notes = "基础数据配置、大屏数据配置") @ApiImplicitParam(name = "type", value = "数字、文本、百分比", required = false, dataType = "string", paramType = "query", dataTypeClass = String.class) public R> listFields(String type) { try { return R.ok(tbFieldService.listFields(type)); } catch (Exception e) { if (e instanceof ServiceException) { return R.fail(e.getMessage()); } log.error("查询状态为展示中字段列表异常", e); return R.fail(); } } /** * 添加 * * @param dto 基础数据配置数据传输对象 * @return R */ @PostMapping("/add") @ApiOperation("添加") public R add(@RequestBody @Validated BasicDataConfigDTO dto) { try { tbBasicDataConfigService.add(dto); } catch (Exception e) { if (e instanceof ServiceException) { return R.fail(e.getMessage()); } log.error("添加异常", e); return R.fail(); } return R.ok(); } /** * 编辑 * * @param dto 基础数据配置数据传输对象 * @return R */ @PostMapping("/edit") @ApiOperation("编辑") public R edit(@RequestBody @Validated BasicDataConfigUpdateDTO dto) { try { tbBasicDataConfigService.edit(dto); } catch (Exception e) { if (e instanceof ServiceException) { return R.fail(e.getMessage()); } log.error("编辑异常", e); return R.fail(); } return R.ok(); } /** * 获取详情 * * @param id id * @return R */ @GetMapping("/get-details") @ApiOperation("获取详情") public R getDetails(Long id) { try { BasicDataConfigDetailVO details = tbBasicDataConfigService.getDetails(id); return R.ok(details); } catch (Exception e) { if (e instanceof ServiceException) { return R.fail(e.getMessage()); } log.error("获取详情异常", e); return R.fail(); } } /** * 删除 * * @param id id * @return R */ @DeleteMapping("/delete") @ApiOperation("删除") public R delete(Long id) { try { tbBasicDataConfigService.delete(id); } catch (Exception e) { if (e instanceof ServiceException) { return R.fail(e.getMessage()); } log.error("删除异常", e); return R.fail(); } return R.ok(); } /** * 隐藏显示操作 * * @param dto 显示隐藏操作数据传输对象 * @return R */ @PostMapping("show-hide") @ApiOperation("隐藏显示操作") public R showHide(@RequestBody ShowHideDTO dto) { try { tbBasicDataConfigService.showHide(dto); } catch (Exception e) { if (e instanceof ServiceException) { return R.fail(e.getMessage()); } log.error("隐藏显示操作异常", e); return R.fail(); } return R.ok(); } /** * 分页条件查询 * * @param query 基础数据条件查询对象 * @return R> */ @PostMapping("/page") @ApiOperation("分页条件查询") public R> page(@Validated @RequestBody BasicDataConfigQuery query) { try { PageDTO basicDataConfigVOPageDTO = tbBasicDataConfigService.queryPage( query); return R.ok(basicDataConfigVOPageDTO); } catch (Exception e) { if (e instanceof ServiceException) { return R.fail(e.getMessage()); } log.error("分页条件查询异常", e); return R.fail(); } } }