package shareData

import (
	"matchmaking-system/internal/data/socket/publicData"
	"matchmaking-system/internal/data/tradedeal/share"
	"matchmaking-system/internal/pkg/logging/applogger"
	"matchmaking-system/internal/pkg/logging/common"
	"matchmaking-system/internal/pkg/utils"
)

// ShareGbxOrderProcessing
//
//	@Description: 股票-英股订阅处理
//	@param topIc
//	@param msg
//	@return *public.OrderSub
func ShareGbxOrderProcessing(topIc string, msg share.ShareGbxTallyCache) *publicData.OrderSub {
	price, err := publicData.CheckSymbol(topIc, msg.Symbol)
	if err != nil {
		applogger.Warn("%v ShareGbxOrderProcessing.CheckSymbol.err:%v--%v", common.ErrShareGbx, msg.Symbol, err)
	}

	orderM := &publicData.OrderSub{
		OrderId:     msg.OrderId,
		Price:       utils.DecimalsPrice(price),
		Status:      msg.Status,
		Symbol:      topIc,
		Count:       0,
		OpenPrice:   msg.OpenPrice,
		Market:      msg.Symbol,
		OrderNumber: msg.Order.OrderNumber,
		TradeType:   msg.Order.TradeType,
		UserId:      msg.UserId,
	}

	return orderM
}