package com.tourguide.api.admin;
|
|
import com.tourguide.common.api.ApiResponse;
|
import com.tourguide.modules.operation.dto.PlatformSettingsRequest;
|
import com.tourguide.modules.operation.dto.PlatformSettingsResponse;
|
import com.tourguide.modules.operation.service.PlatformSettingsService;
|
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 javax.validation.Valid;
|
|
/**
|
* 管理后台平台运营参数接口。
|
* 统一读取和保存平台抽成、结算周期等影响财务计算的全局配置。
|
*/
|
@RestController
|
@RequestMapping("/api/admin/platform-settings")
|
public class AdminPlatformSettingsController {
|
private final PlatformSettingsService settingsService;
|
|
public AdminPlatformSettingsController(PlatformSettingsService settingsService) {
|
this.settingsService = settingsService;
|
}
|
|
/**
|
* 查询当前生效的平台运营参数,供后台配置页面回显。
|
*
|
* @return 当前平台配置
|
*/
|
@GetMapping
|
public ApiResponse<PlatformSettingsResponse> getSettings() {
|
return ApiResponse.success(settingsService.getSettings());
|
}
|
|
/**
|
* 保存平台运营参数,参数范围和格式由请求模型及业务层校验。
|
*
|
* @param request 平台抽成、结算周期等配置参数
|
* @return 保存后实际生效的平台配置
|
*/
|
@PutMapping
|
public ApiResponse<PlatformSettingsResponse> save(@Valid @RequestBody PlatformSettingsRequest request) {
|
return ApiResponse.success(settingsService.save(request));
|
}
|
}
|