rwadurian/frontend/admin-web/src/services/treePricingService.ts

73 lines
2.0 KiB
TypeScript

/**
* 认种树定价配置服务
* 总部运营成本压力涨价管理:手动调价 + 自动涨价 + 审计日志
* [2026-02-26] 新增
*/
import apiClient from '@/infrastructure/api/client';
import { API_ENDPOINTS } from '@/infrastructure/api/endpoints';
/** 定价配置响应 */
export interface TreePricingConfig {
basePrice: number;
basePortionPrice: number;
currentSupplement: number;
totalPrice: number;
totalPortionPrice: number;
autoIncreaseEnabled: boolean;
autoIncreaseAmount: number;
autoIncreaseIntervalDays: number;
lastAutoIncreaseAt: string | null;
nextAutoIncreaseAt: string | null;
updatedAt: string;
}
/** 变更日志项 */
export interface TreePriceChangeLogItem {
id: string;
changeType: 'MANUAL' | 'AUTO';
previousSupplement: number;
newSupplement: number;
changeAmount: number;
reason: string | null;
operatorId: string | null;
createdAt: string;
}
/** 变更日志分页响应 */
export interface TreePriceChangeLogResponse {
items: TreePriceChangeLogItem[];
total: number;
}
/**
* 认种树定价配置服务
*/
export const treePricingService = {
/** 获取当前定价配置 */
async getConfig(): Promise<TreePricingConfig> {
return apiClient.get(API_ENDPOINTS.TREE_PRICING.CONFIG);
},
/** 手动修改加价金额(总部运营成本压力涨价) */
async updateSupplement(newSupplement: number, reason: string): Promise<TreePricingConfig> {
return apiClient.post(API_ENDPOINTS.TREE_PRICING.SUPPLEMENT, { newSupplement, reason });
},
/** 更新自动涨价设置 */
async updateAutoIncrease(params: {
enabled: boolean;
amount?: number;
intervalDays?: number;
}): Promise<TreePricingConfig> {
return apiClient.put(API_ENDPOINTS.TREE_PRICING.AUTO_INCREASE, params);
},
/** 获取变更审计日志 */
async getChangeLog(page: number = 1, pageSize: number = 20): Promise<TreePriceChangeLogResponse> {
return apiClient.get(API_ENDPOINTS.TREE_PRICING.CHANGE_LOG, {
params: { page, pageSize },
});
},
};