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.

110 lines
3.2 KiB

package service
import (
"context"
"matchmaking-system/internal/pkg/flags"
"matchmaking-system/internal/service/order"
v1 "matchmaking-system/api/matchmaking/v1/order"
)
// SharePreTrade
//
// @Description: 新股申购下单-开盘服务(美股|泰股|印尼股|马股|印度股|新加坡|港股)
// @receiver s
// @param ctx
// @param req
// @return *v1.SharePreReply
// @return error
func (s *ConduitService) SharePreTrade(ctx context.Context, req *v1.SharePreRequest) (*v1.SharePreReply, error) {
if !order.VerificationSharePreTrade(req) {
return order.SharePreReply(false, flags.ErrIsParameter.Error()), nil
}
err := s.uo.SharePreTrade(ctx, req.Id, req.Code, req.Stock)
if err != nil {
return order.SharePreReply(false, err.Error()), nil
}
return order.SharePreReply(true, flags.SetNull), nil
}
// SharePreTradeByOrderNo
//
// @Description: 新股申购下单-开盘服务(--->订单号)(美股|泰股|印尼股|马股|印度股|新加坡|港股)
// @receiver s
// @param ctx
// @param req
// @return *v1.SharePreReply
// @return error
func (s *ConduitService) SharePreTradeByOrderNo(ctx context.Context, req *v1.SharePreRequest) (*v1.SharePreReply, error) {
if !order.VerificationSharePreTrade(req) {
return order.SharePreReply(false, flags.ErrIsParameter.Error()), nil
}
err := s.uo.SharePreTradeByOrderOn(ctx, req.Id, req.Code, req.Stock)
if err != nil {
return order.SharePreReply(false, err.Error()), nil
}
return order.SharePreReply(true, flags.SetNull), nil
}
// UpdateShareTradeStockId
//
// @Description: 更新股票代码(美股|泰股|印尼股|马股|印度股|新加坡|港股)
// @receiver s
// @param ctx
// @param req
// @return *v1.SharePreReply
// @return error
func (s *ConduitService) UpdateShareTradeStockId(ctx context.Context, req *v1.ShareTradeStockIdRequest) (*v1.SharePreReply, error) {
if !order.VerificationUpdateShareTrade(req) {
return order.SharePreReply(false, flags.ErrIsParameter.Error()), nil
}
err := s.uo.UpdateShareTradeStockId(ctx, req.Code, req.CodeOld, req.Stock)
if err != nil {
return order.SharePreReply(false, err.Error()), nil
}
return order.SharePreReply(true, flags.SetNull), nil
}
// ShareGiveaways
//
// @Description: 股票赠送-(美股|泰股|马股|印尼股|印度股|新加坡股|港股)
// @receiver s
// @param ctx
// @param req
// @return *v1.SharePreReply
// @return error
func (s *ConduitService) ShareGiveaways(ctx context.Context, req *v1.SharePreRequest) (*v1.SharePreReply, error) {
if !order.VerificationSharePreTrade(req) {
return order.SharePreReply(false, flags.ErrIsParameter.Error()), nil
}
err := s.uo.ShareGiveaways(ctx, req.Id, req.Code, req.Stock)
if err != nil {
return order.SharePreReply(false, err.Error()), nil
}
return order.SharePreReply(true, flags.SetNull), nil
}
// UpdateShareAllStockId
//
// @Description: 更新全局股票StockId-[交易所名称:股票代码(BSE:AHINDCOPPER)]
// @receiver s
// @param ctx
// @param req
// @return *v1.SharePreReply
// @return error
func (s *ConduitService) UpdateShareAllStockId(ctx context.Context, req *v1.ShareNullRequest) (*v1.SharePreReply, error) {
err := s.uo.UpdateShareTradeStockIdByList(ctx)
if err != nil {
return order.SharePreReply(false, err.Error()), nil
}
return order.SharePreReply(true, flags.SetNull), nil
}