- 新增订单变更类型 OrderChangeTypeJDOrderFailed 用于记录下单失败事件 - 调整订单创建逻辑,支持失败订单重试机制 - 新增 RecordOrderHistoryReq 结构体统一记录订单变更历史参数 - 修改数据库表结构,优化字段类型和索引 - 更新订单创建逻辑,分离本地订单与京东订单创建流程- 增加失败订单重新创建京东订单的处理逻辑 - 调整订单状态检查逻辑,支持更多状态处理 -优化订单历史记录方式,增加备注信息支持 - 更新数据库字符集为 utf8mb4_unicode_ci 提升兼容性
96 lines
5.6 KiB
Go
96 lines
5.6 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"
|
||
)
|
||
|
||
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, page int, size int) (list []*v1.OrderHistoryInfo, total int, err error)
|
||
// GetJdOrderHistoryByJdOrderId 根据京东订单ID获取京东订单历史
|
||
GetJdOrderHistoryByJdOrderId(ctx context.Context, jdOrderId string, page int, size int) (list []*v1.JdOrderHistoryInfo, total int, err error)
|
||
// CreateOrder 创建订单
|
||
CreateOrder(ctx context.Context, req *model.CreateOrderReq) (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
|
||
// CleanupExpiredOrders 清理过期订单(定时任务)
|
||
CleanupExpiredOrders(ctx context.Context) error
|
||
// ReleaseExpiredJdOrders 释放过期京东订单的关联(使其可以被复用)
|
||
ReleaseExpiredJdOrders(ctx context.Context) error
|
||
// ExportJdOrder 导出京东订单数据为Excel
|
||
ExportJdOrder(ctx context.Context, status consts.JdOrderStatus, startTime string, endTime string, orderId string) (fileName string, content []byte, err error)
|
||
// GetPaymentUrl 获取支付链接
|
||
GetPaymentUrl(ctx context.Context, userOrderId string, 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 consts.JdCookieStatus, failureCount int, remark string) (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 consts.JdOrderStatus, wxPayUrl string, remark string) (err error)
|
||
// RecordCookieHistory 记录Cookie变更历史
|
||
RecordCookieHistory(ctx context.Context, req *model.RecordCookieHistoryReq) (err error)
|
||
// RecordJdOrderHistory 记录京东订单变更历史
|
||
RecordJdOrderHistory(ctx context.Context, jdOrderId string, changeType consts.JdOrderChangeType, orderId string, wxPayUrl string, remark string) (err error)
|
||
// RecordOrderHistory 记录订单变更历史
|
||
RecordOrderHistory(ctx context.Context, req *model.RecordOrderHistoryReq) (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
|
||
}
|