Files
kami_scripts/order/internal/interfaces/interfaces.go
danial e245ab8d47 feat(order): 优化订单处理逻辑并添加新功能
- 更新 .gitignore 文件,添加日志和IDE相关目录
- 修改 config.yaml,更新提交URL和商户配置- 在 interfaces.go 中添加新方法并修改现有方法
- 优化 logger_adapter.go 中的日志记录功能
- 调整 main.go 中的定时任务间隔
- 在 order.go 中实现新的 FindRandomFailedOrders 方法
- 更新 order_service.go,添加 CSV 文件处理逻辑
- 新增 road.go 文件,实现 FindRoadByRoadUid 方法
- 修改 submit_order.go,更新订单提交逻辑
2025-06-09 23:42:06 +08:00

45 lines
1.6 KiB
Go

package interfaces
import (
"context"
"order/internal/model"
)
// OrderRepository 订单仓储接口
type OrderRepository interface {
// FindPendingOrders 查询待处理订单
FindPendingOrders(ctx context.Context) ([]model.OrderInfo, error)
// FindOrdersByRoadID 根据通道ID查询订单
FindOrdersByRoadID(ctx context.Context, roadID string) ([]model.OrderInfo, error)
// FindOrdersByRoadIdAndAboveBankOrderId 根据通道ID和银行订单ID查询订单
FindOrdersByRoadIdAndAboveBankOrderId(ctx context.Context, roadID string, bankOrderID string) ([]*model.OrderInfo, error)
// FindOrderByBankOrderID 根据银行订单ID查询订单
FindOrderByBankOrderID(ctx context.Context, bankOrderID string) (model.OrderInfo, error)
// FindRandomFailedOrders 寻找失败的订单
FindRandomFailedOrders(ctx context.Context, roadUid string) (*model.OrderInfo, error)
// FindMerchantByRoadID 寻找 merchant
FindMerchantByRoadID(ctx context.Context, merchantUid string) (*model.MerchantInfo, error)
// FindRoadByRoadUid 根据 roadUid 查找对应的通道信息
FindRoadByRoadUid(ctx context.Context, roadUid string) (*model.RoadInfo, error)
}
// OrderSender 订单发送接口
type OrderSender interface {
Send(ctx context.Context, order *model.OrderInfo, merchant *model.MerchantInfo, roadInfo *model.RoadInfo, submitURL string) error
}
// Logger 日志接口
type Logger interface {
Info(msg string, fields ...any)
Error(msg string, fields ...any)
Fatal(msg string, fields ...any)
}
// OrderService 订单服务接口
type OrderService interface {
ProcessOrders(ctx context.Context) error
}