- 新增用户订单号字段以区分内部订单号 - 修改订单表结构添加 user_order_id 字段及索引 - 更新 CreateOrder 接口支持用户订单号参数-重构 CreateOrder 和 GetPaymentUrl 方法返回统一结果对象 - 新增模型定义用于封装订单创建与支付结果 - 调整相关逻辑方法签名与调用方式适配新结构- 优化订单创建流程增加内部订单号生成逻辑 - 完善订单查询逻辑确保正确关联用户订单号- 更新控制器层对接新版服务接口- 升级 Cookie 状态及订单状态管理枚举类型使用
97 lines
5.7 KiB
Go
97 lines
5.7 KiB
Go
// ================================================================================
|
||
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||
// You can delete these comments if you wish manually maintain this interface file.
|
||
// ================================================================================
|
||
|
||
package service
|
||
|
||
import (
|
||
"context"
|
||
v1 "kami/api/jd_cookie/v1"
|
||
"kami/internal/consts"
|
||
"kami/internal/model"
|
||
"kami/internal/model/entity"
|
||
)
|
||
|
||
type (
|
||
IJdCookie interface {
|
||
// CreateAccount 创建Cookie账户
|
||
CreateAccount(ctx context.Context, cookieValue string, accountName string, remark string) (cookieId string, status int, err error)
|
||
// BatchCreateAccount 批量创建Cookie账户
|
||
BatchCreateAccount(ctx context.Context, cookies []*v1.CreateAccountReq) (successIds []string, failedCount int, err error)
|
||
// ListAccount 查询Cookie账户列表
|
||
ListAccount(ctx context.Context, page int, size int, status consts.JdCookieStatus, keyword string) (list []*v1.CookieAccountInfo, total int, err error)
|
||
// UpdateAccount 更新Cookie账户
|
||
UpdateAccount(ctx context.Context, cookieId string, cookieValue string, accountName string, status consts.JdCookieStatus, remark string) (err error)
|
||
// DeleteAccount 删除Cookie账户
|
||
DeleteAccount(ctx context.Context, cookieId string) (err error)
|
||
// BatchDeleteAccount 批量删除Cookie账户
|
||
BatchDeleteAccount(ctx context.Context, cookieIds []string) (successIds []string, failedCount int, err error)
|
||
// GetAccount 获取单个Cookie账户
|
||
GetAccount(ctx context.Context, cookieId string) (account *v1.CookieAccountInfo, err error)
|
||
// BatchCheckAccount 批量检测Cookie状态
|
||
BatchCheckAccount(ctx context.Context, cookieIds []string) (results []*v1.CookieCheckResult, err error)
|
||
// GetCookieHistory Cookie变更历史
|
||
GetCookieHistory(ctx context.Context, cookieId string, page int, size int, changeType consts.CookieChangeType) (list []*v1.CookieHistoryInfo, total int, err error)
|
||
// GetOrderHistory 订单变更历史
|
||
GetOrderHistory(ctx context.Context, orderId string, orderType string, page int, size int) (list []*v1.OrderHistoryInfo, total int, err error)
|
||
// GetJdOrderHistoryByOrderId 根据订单ID获取所有关联的京东订单历史
|
||
GetJdOrderHistoryByOrderId(ctx context.Context, orderId string, page int, size int) (list []*v1.JdOrderHistoryInfo, total int, err error)
|
||
// CreateOrder 创建订单
|
||
CreateOrder(ctx context.Context, userOrderId string, amount float64, category consts.RedeemOrderCardCategory) (result *model.CreateOrderResult, err error)
|
||
// GetJdOrder 获取单个京东订单
|
||
GetJdOrder(ctx context.Context, jdOrderId string) (order *v1.JdOrderInfo, err error)
|
||
// ListJdOrder 京东订单列表查询
|
||
ListJdOrder(ctx context.Context, page int, size int, status consts.JdOrderStatus, startTime string, endTime string, orderId string) (list []*v1.JdOrderInfo, total int, err error)
|
||
// CheckJdOrderPayment 检查京东订单支付状态
|
||
CheckJdOrderPayment(ctx context.Context, jdOrderId string) (isPaid bool, paymentStatus consts.JdOrderStatus, message string, canReuse bool, err error)
|
||
// BatchCheckPaymentStatus 批量检查京东订单支付状态(定时任务)
|
||
BatchCheckPaymentStatus(ctx context.Context) error
|
||
// ExtractCardInfo 提取卡密信息
|
||
ExtractCardInfo(ctx context.Context, jdOrderId string) error
|
||
// ShouldExtractCard 判断是否需要提取卡密
|
||
ShouldExtractCard(ctx context.Context, jdOrder *entity.V1JdCookieJdOrder) bool
|
||
// CleanupExpiredOrders 清理过期订单(定时任务)
|
||
CleanupExpiredOrders(ctx context.Context) error
|
||
// ReleaseExpiredJdOrders 释放过期京东订单的关联(使其可以被复用)
|
||
ReleaseExpiredJdOrders(ctx context.Context) error
|
||
// GetPaymentUrl 获取支付链接
|
||
GetPaymentUrl(ctx context.Context, orderId string) (result *model.PaymentResult, err error)
|
||
// GetOrder 获取单个订单
|
||
GetOrder(ctx context.Context, orderId string) (order *v1.OrderInfo, err error)
|
||
// GetOrderStatus 查询订单状态
|
||
GetOrderStatus(ctx context.Context, orderId string) (order *v1.OrderInfo, err error)
|
||
// ListOrder 订单列表查询
|
||
ListOrder(ctx context.Context, page int, size int, status consts.OrderStatus, startTime string, endTime string) (list []*v1.OrderInfo, total int, err error)
|
||
// GetAvailableCookie 获取可用的Cookie(轮询分配)
|
||
GetAvailableCookie(ctx context.Context) (cookieId string, err error)
|
||
// UpdateCookieStatus 更新Cookie状态
|
||
UpdateCookieStatus(ctx context.Context, cookieId string, status int, failureCount int) (err error)
|
||
// CreateJdOrder 创建京东订单
|
||
CreateJdOrder(ctx context.Context, jdOrderId string, payId string, cookieId string, category string, amount float64) (err error)
|
||
// UpdateJdOrderStatus 更新京东订单状态
|
||
UpdateJdOrderStatus(ctx context.Context, jdOrderId string, status int, wxPayUrl string) (err error)
|
||
// RecordCookieHistory 记录Cookie变更历史
|
||
RecordCookieHistory(ctx context.Context, cookieId string, changeType consts.CookieChangeType, statusBefore int, statusAfter int, userOrderId string, failureCount int) (err error)
|
||
// RecordJdOrderHistory 记录京东订单变更历史
|
||
RecordJdOrderHistory(ctx context.Context, jdOrderId string, changeType consts.JdOrderChangeType, orderId string, wxPayUrl string) (err error)
|
||
// RecordOrderHistory 记录订单变更历史
|
||
RecordOrderHistory(ctx context.Context, orderId string, changeType consts.OrderChangeType, jdOrderId string) (err error)
|
||
}
|
||
)
|
||
|
||
var (
|
||
localJdCookie IJdCookie
|
||
)
|
||
|
||
func JdCookie() IJdCookie {
|
||
if localJdCookie == nil {
|
||
panic("implement not found for interface IJdCookie, forgot register?")
|
||
}
|
||
return localJdCookie
|
||
}
|
||
|
||
func RegisterJdCookie(i IJdCookie) {
|
||
localJdCookie = i
|
||
}
|