|
@@ -135,7 +135,7 @@ type LatestReportBanner struct {
|
|
|
|
|
|
|
|
|
|
func GetRecommendListV2(reportId, reportType, firstId, secondId, thirdId int) (items []*Report, err error) {
|
|
func GetRecommendListV2(reportId, reportType, firstId, secondId, thirdId int) (items []*Report, err error) {
|
|
- sql := `SELECT * FROM report WHERE state=2 AND id<> ? AND classify_id_first=? AND classify_id_second=? AND classify_id_third=? `
|
|
+ sql := `SELECT id,title,classify_name_first,classify_name_second, stage FROM report WHERE state=2 AND id<> ? AND classify_id_first=? AND classify_id_second=? AND classify_id_third=? `
|
|
if reportType == 1 {
|
|
if reportType == 1 {
|
|
sql += ` AND classify_name_first = ? `
|
|
sql += ` AND classify_name_first = ? `
|
|
} else {
|
|
} else {
|
|
@@ -145,3 +145,32 @@ func GetRecommendListV2(reportId, reportType, firstId, secondId, thirdId int) (i
|
|
err = global.MYSQL["rddp"].Raw(sql, reportId, firstId, secondId, thirdId, "权益研报").Scan(&items).Error
|
|
err = global.MYSQL["rddp"].Raw(sql, reportId, firstId, secondId, thirdId, "权益研报").Scan(&items).Error
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+func GetRaiRecommendList(reportId, firstId, secondId, thirdId int, publishTime time.Time) (items []*Report, err error) {
|
|
|
|
+
|
|
|
|
+ var beforeItems []*Report
|
|
|
|
+ beforeSql := `SELECT id,title,classify_name_first,classify_name_second, stage FROM report WHERE state=2 AND id<>? AND classify_id_first=? AND classify_id_second=? AND classify_id_third=?
|
|
|
|
+ AND publish_time <= ? ORDER BY publish_time DESC, id DESC LIMIT 3`
|
|
|
|
+ err = global.MYSQL["rddp"].Raw(beforeSql, reportId, firstId, secondId, thirdId, publishTime).Find(&beforeItems).Error
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ items = append(items, beforeItems...)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if len(beforeItems) < 3 {
|
|
|
|
+ var afterItems []*Report
|
|
|
|
+ remainCount := 3 - len(beforeItems)
|
|
|
|
+ afterSql := `SELECT id,title,classify_name_first,classify_name_second, state FROM report WHERE state=2 AND id<>? AND classify_id_first=? AND classify_id_second=? AND classify_id_third=?
|
|
|
|
+ AND publish_time > ? ORDER BY publish_time ASC, id ASC LIMIT ?`
|
|
|
|
+ err = global.MYSQL["rddp"].Raw(afterSql, reportId, firstId, secondId, thirdId, publishTime, remainCount).Find(&afterItems).Error
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ items = append(items, afterItems...)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return
|
|
|
|
+}
|