wangchuanjin 9 сар өмнө
parent
commit
2960bd8d4d

+ 32 - 18
api/internal/service/CoopHistoryService.go

@@ -413,31 +413,45 @@ func LastTimeCoopBath(positionId int64, buyerId string, winners, agencys []strin
 		}
 	}
 	if len(winners) > 0 {
-		sql := `SELECT winner_one,max(zbtime) FROM information.transaction_info ARRAY JOIN winner AS winner_one WHERE buyer_id=? AND hasAny(winner,[%s])) group by winner_one`
-		wns := []string{}
-		for _, v := range winners {
-			wns = append(wns, v)
-			if len(wns) == 50 {
+		key := fmt.Sprintf("networkManage_lastTimeCoop_winner_%s", common.GetMd5String(buyerId+"_"+strings.Join(winners, ",")))
+		wb, err := redis.GetBytes("newother", key)
+		if err == nil {
+			json.Unmarshal(*wb, &adiffb)
+		} else {
+			sql := `SELECT winner_one,max(zbtime) FROM information.transaction_info ARRAY JOIN winner AS winner_one WHERE buyer_id=? AND hasAny(winner,[%s])) group by winner_one`
+			wns := []string{}
+			for _, v := range winners {
+				wns = append(wns, v)
+				if len(wns) == 50 {
+					toSearch(1, sql, wns)
+					wns = []string{}
+				}
+			}
+			if len(wns) > 0 {
 				toSearch(1, sql, wns)
-				wns = []string{}
 			}
-		}
-		if len(wns) > 0 {
-			toSearch(1, sql, wns)
+			redis.Put("newother", key, adiffb, T.C.CacheTimeOut)
 		}
 	}
 	if len(agencys) > 0 {
-		sql := `SELECT agency,max(zbtime) FROM information.transaction_info WHERE buyer_id=? AND agency in (%s) group by agency`
-		acs := []string{}
-		for _, v := range agencys {
-			acs = append(acs, v)
-			if len(acs) == 50 {
+		key := fmt.Sprintf("networkManage_lastTimeCoop_agency_%s", common.GetMd5String(buyerId+"_"+strings.Join(agencys, ",")))
+		wb, err := redis.GetBytes("newother", key)
+		if err == nil {
+			json.Unmarshal(*wb, &agency)
+		} else {
+			sql := `SELECT agency,max(zbtime) FROM information.transaction_info WHERE buyer_id=? AND agency in (%s) group by agency`
+			acs := []string{}
+			for _, v := range agencys {
+				acs = append(acs, v)
+				if len(acs) == 50 {
+					toSearch(2, sql, acs)
+					acs = []string{}
+				}
+			}
+			if len(acs) > 0 {
 				toSearch(2, sql, acs)
-				acs = []string{}
 			}
-		}
-		if len(acs) > 0 {
-			toSearch(2, sql, acs)
+			redis.Put("newother", key, agency, T.C.CacheTimeOut)
 		}
 	}
 	return adiffb, agency