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
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
|
|
}
|
|
|