package com.ruoyi.system.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.domain.SysPlatformSetting; import com.ruoyi.system.service.ISysPlatformSettingService; /** * 平台设置 操作处理 * * 网关把 /system/platform 剥掉 /system 前缀转到这里,故外部路径是 /system/platform。 * 只有读与写两个接口:平台参数全平台只有一份(单行表),没有列表、没有新增、没有删除, * 甚至没有「按 id 查详情」——读这一行就是打开这个页面本身。 * * @author ruoyi */ @RestController @RequestMapping("/platform") public class SysPlatformSettingController extends BaseController { @Autowired private ISysPlatformSettingService platformSettingService; /** * 查询平台设置 * * 权限用 list 而不是另开 query:读这一行就是打开「平台设置」页面本身, * 菜单 2220 的 perms 已经是 system:platform:list,不值得为一个只能读一行的页面再建一个按钮。 */ @RequiresPermissions("system:platform:list") @GetMapping public AjaxResult getInfo() { return success(platformSettingService.selectPlatformSetting()); } /** * 保存平台设置(覆盖那一行) * * createBy 与 updateBy 都设成当前用户:行是首次保存时建出来的,那种情况下 create_by 才有值; * 行已存在时 upsert 不会碰 create_*(见 mapper),故这里两个都传不会覆盖掉原来的创建人。 * settingId 刻意不设:它是写死的 1,跟着前端传值走等于允许客户端造出第二行。 */ @RequiresPermissions("system:platform:edit") @Log(title = "平台设置", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult save(@Validated @RequestBody SysPlatformSetting setting) { String username = SecurityUtils.getUsername(); setting.setCreateBy(username); setting.setUpdateBy(username); return toAjax(platformSettingService.savePlatformSetting(setting)); } }