push_tmpl.rb 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. # encoding:utf-8
  2. class PushTmpl < ActiveRecord::Base
  3. has_paper_trail
  4. belongs_to :wx_gongzhonghao
  5. self.table_name = "push_tmpls"
  6. MSG_TYPE_ENUM = [
  7. ["订单待支付提醒","0"],
  8. ["新项目提醒", "1"],
  9. ["提货通知","2"],
  10. ["订购成功通知","3"],
  11. ["一元购退款通知","4"]
  12. ]
  13. def get_push_count
  14. if self.push_count.to_i >0
  15. return self.push_count
  16. end
  17. if !self.user_id.blank?
  18. if self.user_id.start_with?("sql=select * ")
  19. sql = self.user_id.gsub("sql=select * ","select count(*) as sqlcount ")
  20. item = WxUser.find_by_sql(sql)
  21. if !item.blank?
  22. c = item[0].sqlcount
  23. if self.push_count == 0
  24. self.push_count = c
  25. self.save
  26. end
  27. return c
  28. end
  29. end
  30. end
  31. end
  32. def get_click_count
  33. if self.click_count.to_i >0
  34. return self.click_count
  35. end
  36. if self.url.blank?
  37. return
  38. end
  39. if self.url.start_with?("#{CONFIG_FILE["api_host"]}/v1/cfc/")
  40. size = "#{CONFIG_FILE["api_host"]}/v1/cfc/".size
  41. id = self.url[size..-1].to_i
  42. if id>0
  43. item = ClickFromChannel.where("id=?",id).first
  44. if !item.blank?
  45. if item.click_times !=self.click_count
  46. self.click_count = item.click_times
  47. self.save
  48. end
  49. return item.click_times
  50. end
  51. end
  52. end
  53. end
  54. rails_admin do
  55. navigation_label '推送管理'
  56. weight -220
  57. list do
  58. items_per_page 10
  59. filters [:id, :user_id, :first]
  60. field :id
  61. field :user_id
  62. field :get_push_count
  63. field :push_count
  64. field :msg_type, :enum do
  65. enum do
  66. MSG_TYPE_ENUM
  67. end
  68. end
  69. field :push_force
  70. field :first
  71. field :keyword1
  72. field :keyword2
  73. field :keyword3
  74. field :keyword4
  75. field :keyword5
  76. field :url
  77. field :last_updated_at
  78. field :times
  79. field :get_click_count
  80. field :click_count
  81. field :remark
  82. field :wx_gongzhonghao
  83. field :created_at
  84. end
  85. show do
  86. field :id
  87. field :user_id
  88. field :msg_type, :enum do
  89. enum do
  90. MSG_TYPE_ENUM
  91. end
  92. end
  93. field :push_force
  94. field :first
  95. field :keyword1
  96. field :keyword2
  97. field :keyword3
  98. field :keyword4
  99. field :keyword5
  100. field :url
  101. field :last_updated_at
  102. field :times
  103. field :remark
  104. field :wx_gongzhonghao
  105. field :created_at
  106. field :updated_at
  107. end
  108. edit do
  109. field :user_id do
  110. label "微信用户ID(注意:拉比兔公众号的openid记录在wx_user_gongzhonghaos表中的gzh_open_id)"
  111. end
  112. field :msg_type, :enum do
  113. enum do
  114. MSG_TYPE_ENUM
  115. end
  116. end
  117. field :push_force
  118. field :push_count
  119. field :click_count
  120. field :first
  121. field :keyword1
  122. field :keyword2
  123. field :keyword3
  124. field :keyword4
  125. field :keyword5
  126. field :url
  127. field :last_updated_at
  128. field :times
  129. field :remark
  130. field :wx_gongzhonghao
  131. end
  132. end
  133. end