feat: add Go backend

This commit is contained in:
richjohnrambo
2026-10-10 20:56:17 +08:00
parent 50fcfd2d3d
commit f6024f0964
1040 changed files with 107169 additions and 0 deletions
@@ -0,0 +1,54 @@
package sys
import (
"context"
"hotgo/api/admin/tradeorder"
"hotgo/internal/model/input/sysin"
"hotgo/internal/service"
)
var TradeOrder = cTradeOrder{}
type cTradeOrder struct{}
func (c *cTradeOrder) List(ctx context.Context, req *tradeorder.ListReq) (res *tradeorder.ListRes, err error) {
list, total, err := service.SysTradeOrder().List(ctx, &req.TradeOrderListInp)
if err != nil {
return nil, err
}
if list == nil {
list = []*sysin.TradeOrderListModel{}
}
res = new(tradeorder.ListRes)
res.List = list
res.PageRes.Pack(req, total)
return
}
func (c *cTradeOrder) View(ctx context.Context, req *tradeorder.ViewReq) (*tradeorder.ViewRes, error) {
v, err := service.SysTradeOrder().View(ctx, &req.TradeOrderViewInp)
return &tradeorder.ViewRes{TradeOrderViewModel: v}, err
}
func (c *cTradeOrder) MatchProducts(ctx context.Context, req *tradeorder.MatchProductsReq) (res *tradeorder.MatchProductsRes, err error) {
list, total, err := service.SysTradeOrder().MatchProducts(ctx, &req.TradeOrderMatchProductListInp)
if err != nil {
return nil, err
}
if list == nil {
list = []*sysin.TradeOrderMatchProductModel{}
}
res = new(tradeorder.MatchProductsRes)
res.List = list
res.PageRes.Pack(req, total)
return
}
func (c *cTradeOrder) Match(ctx context.Context, req *tradeorder.MatchReq) (*tradeorder.MatchRes, error) {
return &tradeorder.MatchRes{}, service.SysTradeOrder().Match(ctx, &req.TradeOrderMatchInp)
}
func (c *cTradeOrder) Apply(ctx context.Context, req *tradeorder.ApplyReq) (*tradeorder.ApplyRes, error) {
v, err := service.SysTradeOrder().Apply(ctx, &req.TradeOrderApplyInp)
return &tradeorder.ApplyRes{FinanceApprovalModel: v}, err
}
func (c *cTradeOrder) Execute(ctx context.Context, req *tradeorder.ExecuteReq) (*tradeorder.ExecuteRes, error) {
return &tradeorder.ExecuteRes{}, service.SysTradeOrder().Execute(ctx, &req.TradeOrderExecuteInp)
}