collectionInfo.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package model
  2. import (
  3. MC "app.yhyue.com/moapp/jybase/common"
  4. ME "app.yhyue.com/moapp/jybase/encrypt"
  5. "bp.jydev.jianyu360.cn/BaseService/jyMicroservices/jyBXBase/rpc/bxbase"
  6. IC "bp.jydev.jianyu360.cn/BaseService/jyMicroservices/jyBXBase/rpc/init"
  7. "strings"
  8. )
  9. // 标题判重
  10. func DuplicatedByTitle(list []*bxbase.NewestList) (res []*bxbase.NewestList) {
  11. var (
  12. i int64 = 0
  13. duplicateMap = map[string]bool{}
  14. )
  15. for _, v := range list {
  16. //判重
  17. if i >= IC.C.NewsLimitNum {
  18. break
  19. }
  20. if duplicateMap[v.Title] {
  21. continue
  22. }
  23. duplicateMap[v.Title] = true
  24. i++
  25. res = append(res, v)
  26. }
  27. return
  28. }
  29. // 是否收藏
  30. func MakeCollection(userId string, list []*bxbase.NewestList) {
  31. var (
  32. param = []interface{}{userId}
  33. wh = []string{}
  34. )
  35. for _, v := range list {
  36. array := ME.DecodeArticleId2ByCheck(v.Id)
  37. if len(array) == 1 && array[0] != "" {
  38. param = append(param, array[0])
  39. wh = append(wh, "?")
  40. }
  41. }
  42. if len(wh) > 0 {
  43. result := IC.MainMysql.SelectBySql(`select bid from bdcollection where userid=? and bid in (`+strings.Join(wh, ",")+`)`, param...)
  44. bid_map := map[string]bool{}
  45. if result != nil {
  46. for _, v := range *result {
  47. bid_map[ME.EncodeArticleId2ByCheck(MC.ObjToString(v["bid"]))] = true
  48. }
  49. }
  50. for _, v := range list {
  51. if !IC.C.FileSignBool {
  52. v.FileExists = false
  53. }
  54. if bid_map[v.Id] {
  55. v.IsCol = true
  56. }
  57. }
  58. }
  59. }