package factors

import (
	"gitee.com/quant1x/exchange"
	"gitee.com/quant1x/gotdx/quotes"
	"gitee.com/quant1x/gox/api"
)

const (
	SubNewStockYears = 1 // 次新股几年内
)

// 检查在date之前是否存在除权除息
func checkXdxr(list []quotes.XdxrInfo, date string) *quotes.XdxrInfo {
	for _, v := range list {
		if v.Category == 1 && date >= v.Date {
			return &v
		}
	}
	return nil
}

//// IsSubNewStock 检查是否次新股
//func IsSubNewStock(securityCode, date string) bool {
//	date = trading.FixTradeDate(date)
//	securityCode = proto.CorrectSecurityCode(securityCode)
//	f10 := flash.GetL5F10(securityCode, date)
//	if f10 == nil {
//		return false
//	}
//	return IsSubNewStockByIpoDate(securityCode, f10.IpoDate, date)
//}

// IsSubNewStockByIpoDate 检查是否次新股
func IsSubNewStockByIpoDate(securityCode, ipoDate, date string) bool {
	ipoDate = exchange.FixTradeDate(ipoDate)
	date = exchange.FixTradeDate(date)
	listingDate, err := api.ParseTime(ipoDate)
	if err != nil {
		return false
	}
	tm := listingDate.AddDate(SubNewStockYears, 0, 0)
	after := tm.Format(exchange.TradingDayDateFormat)
	if date >= after {
		return false
	}
	//xdxrs := base.GetCacheXdxrList(securityCode)
	//if len(xdxrs) == 0 {
	//	return false
	//}
	//api.SliceSort(xdxrs, func(a, b quotes.XdxrInfo) bool {
	//	return a.Date > b.Date
	//})
	//xdxrInfo := checkXdxr(xdxrs, after)
	//if xdxrInfo == nil {
	//	return true
	//}

	return true
}