share_info.rb 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. # encoding:utf-8
  2. class ShareInfo < ActiveRecord::Base
  3. has_paper_trail
  4. self.table_name = "share_infos"
  5. validates_presence_of :share_code, :relate_id, :relate_parent, :wx_user, :share_to, :ip
  6. belongs_to :wx_user, :foreign_key => :wx_user_id
  7. attr_accessor :relate_title
  8. def relate_title
  9. return "-" if self.share_code != "article" && self.share_code != "product_sale" && self.share_code != "xcx_product" && share_code != "xcx_project"
  10. if self.share_code == "article"
  11. item = Article.where(" id = ?" , self.relate_id).first
  12. return "-" if item.blank?
  13. return item.title
  14. elsif self.share_code == "product_sale"
  15. item = ProductSaleSubject.where(" id = ?" , self.relate_id).first
  16. return "-" if item.blank?
  17. return item.subject_title
  18. elsif self.share_code == "xcx_product"
  19. item = Product.where(" id = ?" , self.relate_id).first
  20. return "-" if item.blank?
  21. return item.name
  22. elsif self.share_code == "xcx_project"
  23. item = Project.where(" id = ?" , self.relate_id).first
  24. return "-" if item.blank?
  25. return item.title
  26. end
  27. end
  28. SHARE_CODE_ENUM = [
  29. ["文章分享","article"],
  30. ["商品销售专题","product_sale"],
  31. ["小程序首页","xcx_home"],
  32. ["我的推广页面","xcx_invite"],
  33. ["我的推广正确转发页面","xcx_invite_detail"],
  34. ["小程序商品","xcx_product"],
  35. ["小程序项目","xcx_project"],
  36. ["小程序排行榜","xcx_rank"]
  37. ]
  38. SHARE_TO_ENUM = [
  39. ["朋友圈","timeline"],
  40. ["群","group"],
  41. ]
  42. rails_admin do
  43. navigation_label '分享管理'
  44. weight -750
  45. list do
  46. filters [:id, :wx_user, :relate_id, :ip]
  47. field :id
  48. # field :wx_user_id
  49. field :wx_user
  50. field :relate_title
  51. field :relate_id
  52. field :relate_parent
  53. field :share_code, :enum do
  54. enum do
  55. SHARE_CODE_ENUM
  56. end
  57. end
  58. field :share_to, :enum do
  59. enum do
  60. SHARE_TO_ENUM
  61. end
  62. end
  63. field :ip
  64. field :share_times
  65. field :share_latest_time
  66. field :created_at
  67. field :updated_at
  68. end
  69. show do
  70. field :id
  71. field :wx_user
  72. field :relate_id
  73. field :relate_title
  74. field :relate_parent
  75. field :share_code, :enum do
  76. enum do
  77. SHARE_CODE_ENUM
  78. end
  79. end
  80. field :share_to, :enum do
  81. enum do
  82. SHARE_TO_ENUM
  83. end
  84. end
  85. field :ip
  86. field :share_times
  87. field :share_latest_time
  88. field :created_at
  89. field :updated_at
  90. end
  91. edit do
  92. field :wx_user
  93. field :relate_id
  94. field :relate_parent
  95. field :share_code, :enum do
  96. enum do
  97. SHARE_CODE_ENUM
  98. end
  99. end
  100. field :share_to, :enum do
  101. enum do
  102. SHARE_TO_ENUM
  103. end
  104. end
  105. field :ip
  106. field :share_times
  107. field :share_latest_time
  108. end
  109. end
  110. end