diff --git a/backend/data/market_news_api.go b/backend/data/market_news_api.go index ce48c6f..2ca9ca5 100644 --- a/backend/data/market_news_api.go +++ b/backend/data/market_news_api.go @@ -365,6 +365,15 @@ func (m MarketNewsApi) LongTiger(date string) *[]models.LongTigerRankData { logger.SugaredLogger.Error(err) return ranks } - db.Dao.Create(*ranks) + for _, rankData := range *ranks { + temp := &models.LongTigerRankData{} + db.Dao.Model(temp).Where(&models.LongTigerRankData{ + TRADEDATE: rankData.TRADEDATE, + SECUCODE: rankData.SECUCODE, + }).First(temp) + if temp.SECURITYTYPECODE == "" { + db.Dao.Model(temp).Create(&rankData) + } + } return ranks } diff --git a/backend/models/models.go b/backend/models/models.go index 55598a1..b30312b 100644 --- a/backend/models/models.go +++ b/backend/models/models.go @@ -291,11 +291,11 @@ type LongTigerRankData struct { EXPLAIN string `json:"EXPLAIN"` EXPLANATION string `json:"EXPLANATION"` FREEMARKETCAP float64 `json:"FREE_MARKET_CAP"` - SECUCODE string `json:"SECUCODE"` + SECUCODE string `json:"SECUCODE" gorm:"index"` SECURITYCODE string `json:"SECURITY_CODE"` SECURITYNAMEABBR string `json:"SECURITY_NAME_ABBR"` SECURITYTYPECODE string `json:"SECURITY_TYPE_CODE"` - TRADEDATE string `json:"TRADE_DATE"` + TRADEDATE string `json:"TRADE_DATE" gorm:"index"` TURNOVERRATE float64 `json:"TURNOVERRATE"` } diff --git a/frontend/src/components/market.vue b/frontend/src/components/market.vue index 23cba7e..565b6bb 100644 --- a/frontend/src/components/market.vue +++ b/frontend/src/components/market.vue @@ -65,6 +65,7 @@ const nowTab = ref("市场快讯") const indexInterval = ref(null) const indexIndustryRank = ref(null) const drawerShow= ref(false) +const EXPLANATIONs = ref([]) const today = new Date(); const year = today.getFullYear(); @@ -76,6 +77,7 @@ const formattedDate = `${year}-${month}-${day}`; const SearchForm= ref({ dateValue: formattedDate, + EXPLANATION:null, }) function getIndex() { @@ -102,9 +104,29 @@ function longTiger(date) { if (res.length === 0) { message.info("暂无数据,请切换日期") } + EXPLANATIONs.value=_.uniqBy(_.map(lhbList.value,function (item){ + return { + label: item['EXPLANATION'], + value: item['EXPLANATION'], + } + }),'label'); }) } +function handleEXPLANATION(value, option){ + SearchForm.value.EXPLANATION = value + if(value){ + LongTigerRank(SearchForm.value.dateValue).then(res => { + lhbList.value=_.filter(res, function(o) { return o['EXPLANATION']===value; }); + if (res.length === 0) { + message.info("暂无数据,请切换日期") + } + }) + }else{ + longTiger(SearchForm.value.dateValue) + } +} + function sortLongTigerRank(e){ console.log(e.target.dataset) // let field= e.target.dataset.field; @@ -580,11 +602,16 @@ function ReFlesh(source) { - - + + - + + + + +