feat(referral): 添加推荐客户功能及相关接口
- 新增小程序端推荐客户页面,实现客户信息报备功能 - 添加推荐客户统计与推荐记录展示,支持分页加载更多 - 实现手机号格式校验及报备表单提交逻辑 - 新增拨打客户电话功能 - 在分销商首页添加“推荐客户”入口菜单项 - 新增推荐客户相关API接口,包括报备、查询列表、统计及状态更新 - 完善推荐客户页面样式,提升用户体验
This commit is contained in:
135
src/api/shop/referral.ts
Normal file
135
src/api/shop/referral.ts
Normal file
@@ -0,0 +1,135 @@
|
||||
/**
|
||||
* 客资推荐人 API
|
||||
* 小程序端调用
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 推荐人报备参数
|
||||
*/
|
||||
export interface ReferralParam {
|
||||
customerName: string
|
||||
customerPhone: string
|
||||
customerCompany?: string
|
||||
requirement?: string
|
||||
appointmentTime?: string
|
||||
remarks?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 推荐人报备结果
|
||||
*/
|
||||
export interface ReferralResult {
|
||||
referralId: number
|
||||
referralCode: string
|
||||
customerName: string
|
||||
customerPhone: string
|
||||
referralFee?: number
|
||||
referralStatus: number
|
||||
referralStatusText: string
|
||||
createTime: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 推荐人统计
|
||||
*/
|
||||
export interface ReferralStats {
|
||||
totalCount: number
|
||||
pendingCount: number
|
||||
validCount: number
|
||||
settledCount: number
|
||||
pendingAmount: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 推荐人记录
|
||||
*/
|
||||
export interface ReferralRecord {
|
||||
referralId: number
|
||||
referredLeadId: number
|
||||
customerName: string
|
||||
customerPhone: string
|
||||
referralFee: number
|
||||
referralStatus: number
|
||||
referralStatusText: string
|
||||
leadStatus?: number
|
||||
leadStatusText?: string
|
||||
dealAmount?: number
|
||||
createTime: string
|
||||
settlementTime?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册用户报备客户
|
||||
*/
|
||||
export function addReferral(data: ReferralParam) {
|
||||
return request.post<{ code: number; message: string; data: ReferralResult }>(
|
||||
'/lead/referral/user',
|
||||
data
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取推荐人的推荐记录
|
||||
*/
|
||||
export function getReferralList(params: { pageNum?: number; pageSize?: number }) {
|
||||
return request.get<{ code: number; message: string; data: { list: ReferralRecord[]; total: number } }>(
|
||||
'/lead/referral/page',
|
||||
{ params }
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取推荐人统计
|
||||
*/
|
||||
export function getReferralStats(userId: number) {
|
||||
return request.get<{ code: number; message: string; data: ReferralStats }>(
|
||||
`/lead/referral/stats/${userId}`
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成推荐码
|
||||
*/
|
||||
export function generateReferralCode() {
|
||||
return request.get<{ code: number; message: string; data: string }>(
|
||||
'/lead/referral/generateCode'
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前用户的推荐码
|
||||
*/
|
||||
export function getMyReferralCode() {
|
||||
return request.get<{ code: number; message: string; data: { referralCode: string } }>(
|
||||
'/lead/referral/my/code'
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* 确认推荐有效(管理员)
|
||||
*/
|
||||
export function confirmReferral(referralId: number) {
|
||||
return request.put<{ code: number; message: string }>(
|
||||
`/lead/referral/confirm/${referralId}`
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* 作废推荐(管理员)
|
||||
*/
|
||||
export function invalidateReferral(referralId: number, reason?: string) {
|
||||
return request.put<{ code: number; message: string }>(
|
||||
`/lead/referral/invalidate/${referralId}`,
|
||||
{ reason }
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* 结算推荐费(管理员)
|
||||
*/
|
||||
export function settleReferral(referralId: number) {
|
||||
return request.put<{ code: number; message: string }>(
|
||||
`/lead/referral/settle/${referralId}`
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user