package com.zhongzheng.controller.system; import com.zhongzheng.common.annotation.Log; import com.zhongzheng.common.annotation.RepeatSubmit; import com.zhongzheng.common.constant.UserConstants; import com.zhongzheng.common.core.controller.BaseController; import com.zhongzheng.common.core.domain.AjaxResult; import com.zhongzheng.common.core.page.TableDataInfo; import com.zhongzheng.common.enums.BusinessType; import com.zhongzheng.common.utils.SecurityUtils; import com.zhongzheng.modules.bs.system.service.IBsSysConfigService; import com.zhongzheng.modules.bs.system.vo.BsSysConfigVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 参数配置 信息操作处理 * * @author zhongzheng */ @Api(tags ="系统配置") @RestController @RequestMapping("/bs/system/config") public class BsSysConfigController extends BaseController { @Autowired private IBsSysConfigService configService; /** * 获取参数配置列表 */ @ApiOperation("配置列表") @PreAuthorize("@ss.hasPermi('system:config:list')") @GetMapping("/list") public TableDataInfo list(BsSysConfigVo config) { startPage(); List list = configService.selectConfigList(config); return getDataTable(list); } /*@Log(title = "参数管理", businessType = BusinessType.EXPORT) @PreAuthorize("@ss.hasPermi('system:config:export')") @GetMapping("/export") public AjaxResult export(SysConfig config) { List list = configService.selectConfigList(config); ExcelUtil util = new ExcelUtil(SysConfig.class); return util.exportExcel(list, "参数数据"); }*/ /** * 根据参数编号获取详细信息 */ @ApiOperation("通过ID配置详情") @PreAuthorize("@ss.hasPermi('system:config:query')") @GetMapping(value = "/{configId}") public AjaxResult getInfo(@PathVariable Long configId) { return AjaxResult.success(configService.selectConfigById(configId)); } /** * 根据参数键名查询参数值 */ @ApiOperation("通过KEY获取配置详情") @GetMapping(value = "/configKey/{configKey}") public AjaxResult getConfigKey(@PathVariable String configKey) { return AjaxResult.success("配置内容",configService.selectConfigByKey(configKey)); } /** * 新增参数配置 */ @ApiOperation("新增配置") @PreAuthorize("@ss.hasPermi('system:config:add')") @Log(title = "参数管理", businessType = BusinessType.INSERT) @PostMapping @RepeatSubmit public AjaxResult add(@Validated @RequestBody BsSysConfigVo config) { if (UserConstants.NOT_UNIQUE.equals(configService.checkConfigKeyUnique(config))) { return AjaxResult.error("新增参数'" + config.getConfigName() + "'失败,参数键名已存在"); } config.setCreateBy(SecurityUtils.getUsername()); return toAjax(configService.insertConfig(config)); } /** * 修改参数配置 */ @ApiOperation("修改配置") @PreAuthorize("@ss.hasPermi('system:config:edit')") @Log(title = "参数管理", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@Validated @RequestBody BsSysConfigVo config) { if (UserConstants.NOT_UNIQUE.equals(configService.checkConfigKeyUnique(config))) { return AjaxResult.error("修改参数'" + config.getConfigName() + "'失败,参数键名已存在"); } config.setUpdateBy(SecurityUtils.getUsername()); return toAjax(configService.updateConfig(config)); } /** * 删除参数配置 */ @ApiOperation("删除配置") @PreAuthorize("@ss.hasPermi('system:config:remove')") @Log(title = "参数管理", businessType = BusinessType.DELETE) @DeleteMapping("/{configIds}") public AjaxResult remove(@PathVariable Long[] configIds) { return toAjax(configService.deleteConfigByIds(configIds)); } /** * 清空缓存 */ @ApiOperation("刷新配置缓存") @PreAuthorize("@ss.hasPermi('system:config:remove')") @Log(title = "参数管理", businessType = BusinessType.CLEAN) @DeleteMapping("/clearCache") public AjaxResult clearCache() { configService.clearCache(); return AjaxResult.success(); } }