You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.5 KiB

package service
import (
"context"
"matchmaking-system/internal/pkg/flags"
"matchmaking-system/internal/service/virtual"
v1 "matchmaking-system/api/matchmaking/v1/virtually"
)
// SecondGetBotContractTrade
//
// @Description: 秒合约订单列表
// @receiver s
// @param ctx
// @param req
// @return *v1.GetBotSecondTradeReply
// @return error
func (s *ConduitService) SecondGetBotContractTrade(ctx context.Context, req *v1.GetBotSecondTradeRequest) (*v1.GetBotSecondTradeReply, error) {
if !virtual.VerificationBotSecondTrade(req) {
return virtual.BotSecondTradeReply(false, flags.ErrIsParameter.Error(), req, nil, 0), nil
}
contractTradeList, totalCount, err := s.so.SecondTradeList(ctx, req.PageSize, req.PageCount, req.Status)
if err != nil {
return virtual.BotSecondTradeReply(false, err.Error(), req, nil, 0), nil
}
return virtual.BotSecondTradeReply(true, flags.SetNull, req, contractTradeList, totalCount), nil
}
// SecondOrder
//
// @Description: 秒合约下单
// @receiver s
// @param ctx
// @param req
// @return *v1.SecondOrderReply
// @return error
func (s *ConduitService) SecondOrder(ctx context.Context, req *v1.SecondOrderRequest) (*v1.SecondOrderReply, error) {
if !virtual.VerificationSecondOrder(req) {
return virtual.SecondPlaceOrderReply(false, flags.ErrIsParameter.Error(), flags.SetNull), nil
}
orderId, err := s.so.SecondOrder(ctx, virtual.SecondQuery(req))
if err != nil {
return virtual.SecondPlaceOrderReply(false, err.Error(), flags.SetNull), nil
}
return virtual.SecondPlaceOrderReply(true, flags.SetNull, orderId), nil
}