package cn.iocoder.yudao.module.system.controller.admin.companyconfig;
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.module.system.controller.admin.companyconfig.vo.SystemCompanyConfigRespVO;
|
import cn.iocoder.yudao.module.system.controller.admin.companyconfig.vo.SystemCompanyConfigSaveReqVO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.companyconfig.SystemCompanyConfigDO;
|
import cn.iocoder.yudao.module.system.service.companyconfig.SystemCompanyConfigService;
|
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import jakarta.annotation.Resource;
|
import jakarta.annotation.security.PermitAll;
|
import jakarta.validation.Valid;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.validation.annotation.Validated;
|
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;
|
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
@Tag(name = "管理后台 - 公司品牌信息")
|
@RestController
|
@RequestMapping("/system/company-config")
|
@Validated
|
public class SystemCompanyConfigController {
|
|
@Resource
|
private SystemCompanyConfigService companyConfigService;
|
|
/**
|
* 获得公司品牌信息
|
*
|
* 免登录公开接口,供前端登录页 / 应用启动时读取公司名称、logo、登录页标题。
|
*/
|
@GetMapping("/get")
|
@Operation(summary = "获得公司品牌信息(免登录公开)")
|
@PermitAll
|
public CommonResult<SystemCompanyConfigRespVO> getCompanyConfig() {
|
SystemCompanyConfigDO config = companyConfigService.getCompanyConfig();
|
return success(BeanUtils.toBean(config, SystemCompanyConfigRespVO.class));
|
}
|
|
/**
|
* 保存公司品牌信息
|
*
|
* 单行 upsert,需登录且拥有 system:company-config:update 权限。
|
* 权限通过菜单「公司信息配置 - 修改」授权(见 sql/mysql/system_company_config_menu.sql)。
|
*/
|
@PostMapping("/save")
|
@Operation(summary = "保存公司品牌信息")
|
@PreAuthorize("@ss.hasPermission('system:company-config:update')")
|
public CommonResult<Long> saveCompanyConfig(@Valid @RequestBody SystemCompanyConfigSaveReqVO reqVO) {
|
return success(companyConfigService.saveCompanyConfig(reqVO));
|
}
|
|
}
|