This commit is contained in:
2026-01-15 18:04:52 +08:00
commit a196280d68
1443 changed files with 125558 additions and 0 deletions

View File

@@ -0,0 +1,594 @@
import { requestClient } from '#/api/request';
export namespace AgentApi {
export interface AgentListItem {
id: number;
user_id: number;
agent_code: number;
level: number; // 1=普通2=黄金3=钻石
level_name: string;
region: string;
mobile: string;
wechat_id?: string;
team_leader_id?: number;
balance: number;
total_earnings: number;
frozen_balance: number;
withdrawn_amount: number;
is_real_name: boolean;
create_time: string;
}
export interface AgentList {
total: number;
items: AgentListItem[];
}
export interface GetAgentListParams {
page: number;
pageSize: number;
mobile?: string;
region?: string;
level?: number;
team_leader_id?: number;
id?: number;
create_time_start?: string;
create_time_end?: string;
order_by?: string;
order_type?: 'asc' | 'desc';
}
export interface AgentLinkListItem {
agent_id: number;
product_id: number;
product_name: string;
set_price: number;
actual_base_price: number;
link_identifier: string;
create_time: string;
}
export interface AgentLinkList {
total: number;
items: AgentLinkListItem[];
}
export interface GetAgentLinkListParams {
page: number;
pageSize: number;
agent_id?: number;
product_id?: number;
product_name?: string;
link_identifier?: string;
}
// 代理佣金相关接口
export interface AgentCommissionListItem {
id: number;
agent_id: number;
order_id: number;
amount: number;
product_name: string;
status: number;
create_time: string;
}
export interface AgentCommissionList {
total: number;
items: AgentCommissionListItem[];
}
export interface GetAgentCommissionListParams {
page: number;
pageSize: number;
agent_id?: number;
product_name?: string;
status?: number;
}
// 代理返佣相关接口
export interface AgentRebateListItem {
id: number;
agent_id: number;
source_agent_id: number;
order_id: number;
rebate_type: number; // 1=直接上级返佣2=钻石上级返佣3=黄金上级返佣
amount: number;
create_time: string;
}
export interface AgentRebateList {
total: number;
items: AgentRebateListItem[];
}
export interface GetAgentRebateListParams {
page: number;
pageSize: number;
agent_id?: number;
source_agent_id?: number;
rebate_type?: number;
}
// 代理提现相关接口
export interface AgentWithdrawalListItem {
id: number;
agent_id: number;
withdraw_no: string;
amount: number;
tax_amount: number;
actual_amount: number;
status: number; // 1=待审核2=审核通过3=审核拒绝4=提现中5=提现成功6=提现失败
payee_account: string;
payee_name: string;
remark: string;
create_time: string;
}
export interface AgentWithdrawalList {
total: number;
items: AgentWithdrawalListItem[];
}
export interface GetAgentWithdrawalListParams {
page: number;
pageSize: number;
agent_id?: number;
status?: number;
withdraw_no?: string;
}
export interface AuditWithdrawalParams {
withdrawal_id: number;
status: number; // 2=通过3=拒绝
remark: string;
}
// 代理产品配置列表项
export interface AgentProductionConfigItem {
id: number;
product_id: number;
product_name: string;
base_price: number;
price_range_min: number;
price_range_max: number;
price_threshold: number;
price_fee_rate: number;
create_time: string;
}
// 代理产品配置列表响应
export interface AgentProductionConfigList {
total: number;
items: AgentProductionConfigItem[];
}
// 获取代理产品配置列表参数
export interface GetAgentProductionConfigListParams {
page: number;
pageSize: number;
product_name?: string;
product_id?: number;
id?: number;
}
// 更新代理产品配置参数
export interface UpdateAgentProductionConfigParams {
id: number;
base_price: number;
price_range_max: number;
price_threshold?: number;
price_fee_rate?: number;
}
// 更新代理产品配置响应
export interface UpdateAgentProductionConfigResp {
success: boolean;
}
// 代理升级记录相关接口
export interface AgentUpgradeListItem {
id: number;
agent_id: number;
from_level: number;
to_level: number;
upgrade_type: number; // 1=自主付费2=钻石升级下级
upgrade_fee: number;
rebate_amount: number;
status: number; // 1=待处理2=已完成3=已失败
create_time: string;
}
export interface AgentUpgradeList {
total: number;
items: AgentUpgradeListItem[];
}
export interface GetAgentUpgradeListParams {
page: number;
pageSize: number;
agent_id?: number;
upgrade_type?: number;
status?: number;
}
// 代理订单相关接口
export interface AgentOrderListItem {
id: number;
agent_id: number;
order_id: number;
product_id: number;
product_name: string;
order_amount: number;
set_price: number;
actual_base_price: number;
price_cost: number;
agent_profit: number;
process_status: number; // 0=待处理1=处理成功2=处理失败
create_time: string;
}
export interface AgentOrderList {
total: number;
items: AgentOrderListItem[];
}
export interface GetAgentOrderListParams {
page: number;
pageSize: number;
agent_id?: number;
order_id?: number;
process_status?: number;
}
// 邀请码管理相关接口
export interface InviteCodeListItem {
id: number;
code: string;
agent_id: number; // 0表示平台发放
agent_mobile: string;
target_level: number;
status: number; // 0=未使用1=已使用2=已失效
used_user_id?: number;
used_agent_id?: number;
used_time?: string;
expire_time?: string;
remark?: string;
create_time: string;
}
export interface InviteCodeList {
total: number;
items: InviteCodeListItem[];
}
export interface GetInviteCodeListParams {
page: number;
pageSize: number;
code?: string;
agent_id?: number;
target_level?: number;
status?: number;
}
export interface GenerateDiamondInviteCodeParams {
count: number;
expire_days?: number; // 可选0表示不过期
remark?: string;
}
export interface GenerateDiamondInviteCodeResp {
codes: string[];
}
// 系统配置相关接口(价格配置已移除,改为产品配置表管理)
export interface AgentConfig {
level_bonus: {
diamond: number;
gold: number;
normal: number;
};
upgrade_fee: {
normal_to_gold: number;
normal_to_diamond: number;
gold_to_diamond: number;
};
upgrade_rebate: {
normal_to_gold_rebate: number;
to_diamond_rebate: number;
};
direct_parent_rebate: {
diamond: number; // 直接上级是钻石的返佣金额6元
gold: number; // 直接上级是黄金的返佣金额3元
normal: number; // 直接上级是普通的返佣金额2元
};
max_gold_rebate_amount: number; // 黄金代理最大返佣金额3元
commission_freeze: {
ratio: number; // 佣金冻结比例例如0.1表示10%
threshold: number; // 佣金冻结阈值(订单单价达到此金额才触发冻结,单位:元)
days: number; // 佣金冻结解冻天数单位例如30表示30天后解冻
};
tax_rate: number;
tax_exemption_amount: number;
gold_max_uplift_amount: number;
diamond_max_uplift_amount: number;
}
export interface UpdateAgentConfigParams {
level_bonus?: {
diamond?: number;
gold?: number;
normal?: number;
};
upgrade_fee?: {
normal_to_gold?: number;
normal_to_diamond?: number;
gold_to_diamond?: number;
};
upgrade_rebate?: {
normal_to_gold_rebate?: number;
to_diamond_rebate?: number;
};
direct_parent_rebate?: {
diamond?: number; // 直接上级是钻石的返佣金额6元
gold?: number; // 直接上级是黄金的返佣金额3元
normal?: number; // 直接上级是普通的返佣金额2元
};
max_gold_rebate_amount?: number; // 黄金代理最大返佣金额3元
commission_freeze?: {
ratio?: number; // 佣金冻结比例例如0.1表示10%
threshold?: number; // 佣金冻结阈值(订单单价达到此金额才触发冻结,单位:元)
days?: number; // 佣金冻结解冻天数单位例如30表示30天后解冻
};
tax_rate?: number;
tax_exemption_amount?: number;
gold_max_uplift_amount?: number;
diamond_max_uplift_amount?: number;
}
// 实名认证相关接口
export interface AgentRealNameListItem {
id: number;
agent_id: number;
name: string;
id_card: string; // 加密,需要脱敏显示
mobile: string; // 加密
status: number; // 1=未验证2=已通过
verify_time?: string;
create_time: string;
}
export interface AgentRealNameList {
total: number;
items: AgentRealNameListItem[];
}
export interface GetAgentRealNameListParams {
page: number;
pageSize: number;
agent_id?: number;
status?: number;
}
// 代理奖励相关接口
export interface AgentRewardListItem {
id: number;
agent_id: number;
type: string; // 奖励类型register=注册奖励first_order=首单奖励level_up=升级奖励
amount: number;
order_id?: number;
status: string; // pending=待发放paid=已发放failed=发放失败
create_time: string;
pay_time?: string;
}
export interface AgentRewardList {
total: number;
items: AgentRewardListItem[];
}
export interface GetAgentRewardListParams {
page: number;
pageSize: number;
agent_id?: number;
type?: string;
status?: string;
}
}
/**
* 获取代理列表数据
* @param params 查询参数
*/
async function getAgentList(params: AgentApi.GetAgentListParams) {
return requestClient.get<AgentApi.AgentList>('/agent/list', {
params,
});
}
/**
* 获取代理推广链接列表
*/
async function getAgentLinkList(params: AgentApi.GetAgentLinkListParams) {
return requestClient.get<AgentApi.AgentLinkList>('/agent/link/list', {
params,
});
}
/**
* 获取代理佣金列表
*/
async function getAgentCommissionList(
params: AgentApi.GetAgentCommissionListParams,
) {
return requestClient.get<AgentApi.AgentCommissionList>(
'/agent/commission/list',
{
params,
},
);
}
/**
* 获取代理提现列表
*/
async function getAgentWithdrawalList(
params: AgentApi.GetAgentWithdrawalListParams,
) {
return requestClient.get<AgentApi.AgentWithdrawalList>(
'/agent/withdrawal/list',
{
params,
},
);
}
/**
* 获取代理产品配置列表
*/
async function getAgentProductionConfigList(
params: AgentApi.GetAgentProductionConfigListParams,
) {
return requestClient.get<AgentApi.AgentProductionConfigList>(
'/agent/product_config/list',
{
params,
},
);
}
/**
* 更新代理产品配置
*/
async function updateAgentProductionConfig(
params: AgentApi.UpdateAgentProductionConfigParams,
) {
return requestClient.post<AgentApi.UpdateAgentProductionConfigResp>(
'/agent/product_config/update',
params,
);
}
/**
* 获取代理返佣记录列表
*/
async function getAgentRebateList(params: AgentApi.GetAgentRebateListParams) {
return requestClient.get<AgentApi.AgentRebateList>('/agent/rebate/list', {
params,
});
}
/**
* 获取代理升级记录列表
*/
async function getAgentUpgradeList(
params: AgentApi.GetAgentUpgradeListParams,
) {
return requestClient.get<AgentApi.AgentUpgradeList>('/agent/upgrade/list', {
params,
});
}
/**
* 获取代理订单列表
*/
async function getAgentOrderList(params: AgentApi.GetAgentOrderListParams) {
return requestClient.get<AgentApi.AgentOrderList>('/agent/order/list', {
params,
});
}
/**
* 获取邀请码列表
*/
async function getInviteCodeList(params: AgentApi.GetInviteCodeListParams) {
return requestClient.get<AgentApi.InviteCodeList>(
'/agent/invite_code/list',
{
params,
},
);
}
/**
* 生成钻石邀请码
*/
async function generateDiamondInviteCode(
params: AgentApi.GenerateDiamondInviteCodeParams,
) {
return requestClient.post<AgentApi.GenerateDiamondInviteCodeResp>(
'/agent/invite_code/diamond/generate',
params,
);
}
/**
* 获取系统配置
*/
async function getAgentConfig() {
return requestClient.get<AgentApi.AgentConfig>('/agent/config');
}
/**
* 更新系统配置
*/
async function updateAgentConfig(params: AgentApi.UpdateAgentConfigParams) {
return requestClient.post<{ success: boolean }>(
'/agent/config/update',
params,
);
}
/**
* 获取实名认证列表
*/
async function getAgentRealNameList(
params: AgentApi.GetAgentRealNameListParams,
) {
return requestClient.get<AgentApi.AgentRealNameList>(
'/agent/real_name/list',
{
params,
},
);
}
/**
* 审核提现
*/
async function auditWithdrawal(params: AgentApi.AuditWithdrawalParams) {
return requestClient.post<{ success: boolean }>(
'/agent/withdrawal/audit',
params,
);
}
/**
* 获取代理奖励列表
*/
async function getAgentRewardList(
params: AgentApi.GetAgentRewardListParams,
) {
return requestClient.get<AgentApi.AgentRewardList>('/agent/reward/list', {
params,
});
}
export {
auditWithdrawal,
generateDiamondInviteCode,
getAgentCommissionList,
getAgentConfig,
getAgentLinkList,
getAgentList,
getAgentOrderList,
getAgentProductionConfigList,
getAgentRebateList,
getAgentRealNameList,
getAgentRewardList,
getAgentUpgradeList,
getAgentWithdrawalList,
getInviteCodeList,
updateAgentConfig,
updateAgentProductionConfig,
};