Преглед изворни кода

热门商品查询加上现货数字交易商品

deng.yinping пре 1 недеља
родитељ
комит
313f297fdd
1 измењених фајлова са 19 додато и 10 уклоњено
  1. 19 10
      models/common.go

+ 19 - 10
models/common.go

@@ -1707,19 +1707,28 @@ func GetUserScoreDetail(userID int) (datas []QueryUserScoreDetailRsp, err error)
 }
 
 func GetHotGoodses() (rsp []ErmcpGoods, err error) {
+	// 合约交易根据”RECKON_DAYGOODSCOUNT“表
+	// 现货数字交易根据表”DIGITALTRADE_TRADEDETAIL“(7*24小时,无结算)
 	rspdatas := make([]ErmcpGoods, 0)
 	sql := `
-		SELECT 
-		G.GOODSID, G.GOODSCODE, G.GOODSNAME, G.MARKETID, G.GOODUNITID, G.AGREEUNIT,
-		G.CURRENCYID, G.GOODSCURRENCYID, G.DECIMALPLACE, G.QUOTEMINUNIT, G.OUTGOODSCODE, 
-		G.PICTUREURL, G.THUMURLS, G.BANNERURLS, M.TRADEMODE, GE.GOODSNAMEEN,
-		GE.GOODSNAMETW, GE.GOODSNAMETH, GE.GOODSNAMEVI
-		FROM RECKON_DAYGOODSCOUNT T
-		INNER JOIN GOODS G ON G.GOODSID = T.GOODSID
-		INNER JOIN GOODSEX GE ON GE.GOODSID = T.GOODSID
+		SELECT
+			G.GOODSID, G.GOODSCODE, G.GOODSNAME, G.MARKETID, G.GOODUNITID, G.AGREEUNIT,
+			G.CURRENCYID, G.GOODSCURRENCYID, G.DECIMALPLACE, G.QUOTEMINUNIT, G.OUTGOODSCODE, 
+			G.PICTUREURL, G.THUMURLS, G.BANNERURLS, M.TRADEMODE, GE.GOODSNAMEEN,
+			GE.GOODSNAMETW, GE.GOODSNAMETH, GE.GOODSNAMEVI
+		FROM 
+		(SELECT T.GOODSID, NVL(T.TRADEAMOUNT, 0) TRADEAMOUNT, NVL(T.TRADEQTY, 0) TRADEQTY
+				FROM RECKON_DAYGOODSCOUNT T
+				WHERE T.RECKONDATE IN (SELECT T.PRETRADEDATE FROM MARKETRUN T WHERE T.MARKETID = 0)
+				UNION
+				SELECT T.GOODSID, SUM(NVL(T.TRADEVALUE, 0)) TRADEAMOUNT, SUM(NVL(T.TRADEVOLUME, 0)) TRADEQTY
+				FROM DIGITALTRADE_TRADEDETAIL T
+				WHERE T.TRADEDATE IN  (SELECT TO_CHAR(TRUNC(TO_DATE(MAX(T.TRADEDATE), 'yyyyMMdd')) - 1,  'YYYYMMDD') AS PREVIOUS_DAY FROM DIGITALTRADE_TRADEDETAIL T)
+				GROUP BY T.GOODSID) TT
+		INNER JOIN GOODS G ON G.GOODSID = TT.GOODSID
+		INNER JOIN GOODSEX GE ON GE.GOODSID = G.GOODSID
 		INNER JOIN MARKET M ON M.MARKETID = G.MARKETID
-		WHERE T.RECKONDATE IN (SELECT T.PRETRADEDATE FROM MARKETRUN T WHERE T.MARKETID = 0) 
-		ORDER BY T.TRADEAMOUNT DESC, (T.CURBUYHOLDAMOUNT + T.CURSELLHODAMOUNT) DESC
+		ORDER BY TT.TRADEAMOUNT DESC, G.GOODSCODE
 	`
 
 	if err := db.GetEngine().SQL(sql).Find(&rspdatas); err != nil {