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.

90 lines
3.9 KiB

package data
import (
"context"
"matchmaking-system/internal/pkg/flags"
models "matchmaking-system/internal/pkg/model"
)
// GetBotStockBlockTradeList
//
// @Description: 大宗交易股订单列表查询
// @receiver uo
// @param ctx
// @param pageSize
// @param pageCount
// @param userId
// @param status
// @return []*models.BotStockBlockTrade
// @return int64
// @return error
func (uo *userOrderRepo) GetBotStockBlockTradeList(ctx context.Context, pageSize, pageCount, userId, typeStatus, status int64) ([]*models.BotStockBlockTrade, int64, error) {
totalCount, err := uo.data.mysqlDB.Table(flags.BotStockBlockTrade).
Where("user_id = ?", userId).
Where("status = ?", status).
Where("type = ?", typeStatus).
Count()
if err != nil {
return nil, 0, flags.ErrMySqlDB
}
if totalCount == 0 {
return nil, 0, nil
}
var stockList []*models.BotStockBlockTrade
if err = uo.data.mysqlDB.Table(flags.BotStockBlockTrade).
Where("user_id = ?", userId).
Where("status = ?", status).
Where("type = ?", typeStatus).
Limit(int(pageSize), int(pageCount)).
Desc(GetOrderByStatusSort(status)).
Find(&stockList); err != nil {
return nil, 0, flags.ErrMySqlDB
}
// 市场类型:3美股、4印尼股、5马股、6泰股、7印度股、9新加坡股、12港股
var stockUpdateList []*models.BotStockBlockTrade
for _, value := range stockList {
switch value.Type {
case flags.ShareUsMarketType: // 美股
value.KeepDecimal = GetKeepDecimal(flags.StockUsSystemSetUpKey, value.StockId)
value.StockName = GetStockName(flags.StockUsSystemSetUpKey, value.StockId)
case flags.ShareThaMarketType: // 泰股
value.KeepDecimal = GetKeepDecimal(flags.StockTGSystemSetUpKey, value.StockId)
value.StockName = GetStockName(flags.StockTGSystemSetUpKey, value.StockId)
case flags.ShareMysMarketType: // 马股
value.KeepDecimal = GetKeepDecimal(flags.StockMGSystemSetUpKey, value.StockId)
value.StockName = GetStockName(flags.StockMGSystemSetUpKey, value.StockId)
case flags.ShareIdnMarketType: // 印尼股
value.KeepDecimal = GetKeepDecimal(flags.StockYNSystemSetUpKey, value.StockId)
value.StockName = GetStockName(flags.StockYNSystemSetUpKey, value.StockId)
case flags.ShareInrMarketType: // 印度股
value.KeepDecimal = GetKeepDecimal(flags.StockYDSystemSetUpKey, value.StockId)
value.StockName = GetStockName(flags.StockYDSystemSetUpKey, value.StockId)
case flags.ShareSgdMarketType: // 新加坡股
value.KeepDecimal = GetKeepDecimal(flags.StockSGDSystemSetUpKey, value.StockId)
value.StockName = GetStockName(flags.StockSGDSystemSetUpKey, value.StockId)
case flags.ShareHkdMarketType: // 港股
value.KeepDecimal = GetKeepDecimal(flags.StockHKDSystemSetUpKey, value.StockId)
value.StockName = GetStockName(flags.StockHKDSystemSetUpKey, value.StockId)
case flags.ShareGbxMarketType: // 英股
value.KeepDecimal = GetKeepDecimal(flags.StockUkSystemSetUpKey, value.StockId)
value.StockName = GetStockName(flags.StockUkSystemSetUpKey, value.StockId)
case flags.ShareEurMarketType: // 德股
value.KeepDecimal = GetKeepDecimal(flags.StockEURSystemSetUpKey, value.StockId)
value.StockName = GetStockName(flags.StockEURSystemSetUpKey, value.StockId)
case flags.ShareFurMarketType: // 法股
value.KeepDecimal = GetKeepDecimal(flags.StockFURSystemSetUpKey, value.StockId)
value.StockName = GetStockName(flags.StockFURSystemSetUpKey, value.StockId)
case flags.ShareBrlMarketType: // 巴西股
value.KeepDecimal = GetKeepDecimal(flags.StockBRLSystemSetUpKey, value.StockId)
value.StockName = GetStockName(flags.StockBRLSystemSetUpKey, value.StockId)
case flags.ShareJpyMarketType: // 日本股
value.KeepDecimal = GetKeepDecimal(flags.StockJPYSystemSetUpKey, value.StockId)
value.StockName = GetStockName(flags.StockJPYSystemSetUpKey, value.StockId)
default:
}
stockUpdateList = append(stockUpdateList, value)
}
return stockUpdateList, totalCount, nil
}