recDoc.go 1.2 KB

123456789101112131415161718192021222324252627282930
  1. package public
  2. import (
  3. "fmt"
  4. )
  5. // 获取
  6. func GetRecDoc(regionState int, docClassCode string) (recList []map[string]interface{}) {
  7. query := ""
  8. values := []interface{}{regionState}
  9. if regionState == RegionStatePremium {
  10. query = `SELECT dr.doc_id,dr.create_date,d.docName,d.docPageSize,d.docFileSize,ds.downTimes,ds.viewTimes,d.uploadDate,d.docSummary,d.docFileType,d.previewImgId,d.productType,d.source,d.docTags FROM jydocs.doc_recommend dr left join doc_statistics ds on(dr.doc_id=ds.docId) left join doc d on dr.doc_id=d.id where dr.region_state=? order by ds.viewTimes desc;`
  11. } else {
  12. qBase := `SELECT dr.create_date,dr.doc_id,dr.create_date,d.docName,d.docPageSize,d.docFileSize,d.uploadDate,d.docSummary,d.docFileType,d.previewImgId,d.productType,d.source,d.docTags FROM jydocs.doc_recommend dr left join doc d on dr.doc_id=d.id where dr.region_state==? %s order by dr.create_date desc`
  13. and := ""
  14. if regionState == RegionStateHot {
  15. and = " and dr.doc_class_code=?"
  16. values = append(values, docClassCode)
  17. }
  18. query = fmt.Sprintf(qBase, and)
  19. }
  20. // 精选文档
  21. // 热门文档和会员免费文档
  22. rs := BaseMysql.SelectBySql(query, values...)
  23. if rs != nil || len(*rs) == 0 {
  24. return []map[string]interface{}{}
  25. }
  26. return *rs
  27. }