zhibing.pu
2024-08-15 4a975cdf2406d6da3c3c3566b323f63fee85adec
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysConfigController.java
@@ -1,6 +1,7 @@
package com.ruoyi.system.controller;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.system.domain.SysConfig;
@@ -26,109 +27,98 @@
/**
 * 参数配置 信息操作处理
 *
 *
 * @author ruoyi
 */
@RestController
@RequestMapping("/config")
public class SysConfigController extends BaseController
{
    @Autowired
    private ISysConfigService configService;
    /**
     * 获取参数配置列表
     */
    @RequiresPermissions("system:config:list")
    @GetMapping("/list")
    public TableDataInfo list(SysConfig config)
    {
        startPage();
        List<SysConfig> list = configService.selectConfigList(config);
        return getDataTable(list);
    }
    @Log(title = "参数管理", businessType = BusinessType.EXPORT)
    @RequiresPermissions("system:config:export")
    @PostMapping("/export")
    public void export(HttpServletResponse response, SysConfig config)
    {
        List<SysConfig> list = configService.selectConfigList(config);
        ExcelUtil<SysConfig> util = new ExcelUtil<SysConfig>(SysConfig.class);
        util.exportExcel(response, list, "参数数据");
    }
    /**
     * 根据参数编号获取详细信息
     */
    @GetMapping(value = "/{configId}")
    public AjaxResult getInfo(@PathVariable Long configId)
    {
        return success(configService.selectConfigById(configId));
    }
    /**
     * 根据参数键名查询参数值
     */
    @GetMapping(value = "/configKey/{configKey}")
    public AjaxResult getConfigKey(@PathVariable String configKey)
    {
        return success(configService.selectConfigByKey(configKey));
    }
    /**
     * 新增参数配置
     */
    @RequiresPermissions("system:config:add")
    @Log(title = "参数管理", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@Validated @RequestBody SysConfig config)
    {
        if (!configService.checkConfigKeyUnique(config))
        {
            return error("新增参数'" + config.getConfigName() + "'失败,参数键名已存在");
        }
        config.setCreateBy(SecurityUtils.getUsername());
        return toAjax(configService.insertConfig(config));
    }
    /**
     * 修改参数配置
     */
    @RequiresPermissions("system:config:edit")
    @Log(title = "参数管理", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@Validated @RequestBody SysConfig config)
    {
        if (!configService.checkConfigKeyUnique(config))
        {
            return error("修改参数'" + config.getConfigName() + "'失败,参数键名已存在");
        }
        config.setUpdateBy(SecurityUtils.getUsername());
        return toAjax(configService.updateConfig(config));
    }
    /**
     * 删除参数配置
     */
    @RequiresPermissions("system:config:remove")
    @Log(title = "参数管理", businessType = BusinessType.DELETE)
    @DeleteMapping("/{configIds}")
    public AjaxResult remove(@PathVariable Long[] configIds)
    {
        configService.deleteConfigByIds(configIds);
        return success();
    }
    /**
     * 刷新参数缓存
     */
    @RequiresPermissions("system:config:remove")
    @Log(title = "参数管理", businessType = BusinessType.CLEAN)
    @DeleteMapping("/refreshCache")
    public AjaxResult refreshCache()
    {
        configService.resetConfigCache();
        return success();
    }
public class SysConfigController extends BaseController {
   @Resource
   private ISysConfigService configService;
   /**
    * 获取参数配置列表
    */
   @RequiresPermissions("system:config:list")
   @GetMapping("/list")
   public TableDataInfo list(SysConfig config) {
      startPage();
      List<SysConfig> list = configService.selectConfigList(config);
      return getDataTable(list);
   }
   @Log(title = "参数管理", businessType = BusinessType.EXPORT)
   @RequiresPermissions("system:config:export")
   @PostMapping("/export")
   public void export(HttpServletResponse response, SysConfig config) {
      List<SysConfig> list = configService.selectConfigList(config);
      ExcelUtil<SysConfig> util = new ExcelUtil<SysConfig>(SysConfig.class);
      util.exportExcel(response, list, "参数数据");
   }
   /**
    * 根据参数编号获取详细信息
    */
   @GetMapping(value = "/{configId}")
   public AjaxResult getInfo(@PathVariable Long configId) {
      return success(configService.selectConfigById(configId));
   }
   /**
    * 根据参数键名查询参数值
    */
   @GetMapping(value = "/configKey/{configKey}")
   public AjaxResult getConfigKey(@PathVariable String configKey) {
      return success(configService.selectConfigByKey(configKey));
   }
   /**
    * 新增参数配置
    */
   @RequiresPermissions("system:config:add")
   @Log(title = "参数管理", businessType = BusinessType.INSERT)
   @PostMapping
   public AjaxResult add(@Validated @RequestBody SysConfig config) {
      if (!configService.checkConfigKeyUnique(config)) {
         return error("新增参数'" + config.getConfigName() + "'失败,参数键名已存在");
      }
      config.setCreateBy(SecurityUtils.getUsername());
      return toAjax(configService.insertConfig(config));
   }
   /**
    * 修改参数配置
    */
   @RequiresPermissions("system:config:edit")
   @Log(title = "参数管理", businessType = BusinessType.UPDATE)
   @PutMapping
   public AjaxResult edit(@Validated @RequestBody SysConfig config) {
      if (!configService.checkConfigKeyUnique(config)) {
         return error("修改参数'" + config.getConfigName() + "'失败,参数键名已存在");
      }
      config.setUpdateBy(SecurityUtils.getUsername());
      return toAjax(configService.updateConfig(config));
   }
   /**
    * 删除参数配置
    */
   @RequiresPermissions("system:config:remove")
   @Log(title = "参数管理", businessType = BusinessType.DELETE)
   @DeleteMapping("/{configIds}")
   public AjaxResult remove(@PathVariable Long[] configIds) {
      configService.deleteConfigByIds(configIds);
      return success();
   }
   /**
    * 刷新参数缓存
    */
   @RequiresPermissions("system:config:remove")
   @Log(title = "参数管理", businessType = BusinessType.CLEAN)
   @DeleteMapping("/refreshCache")
   public AjaxResult refreshCache() {
      configService.resetConfigCache();
      return success();
   }
}