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