shop_promotion.rb 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. class ShopPromotion < ActiveRecord::Base
  2. has_paper_trail
  3. self.table_name = "shop_promotions"
  4. belongs_to :depart_record, :foreign_key => :depart
  5. validates :begin_time,:end_time,:name,:total, presence: true
  6. validate :product_validation
  7. attr_accessor :get_depart_enum
  8. def product_validation
  9. if self.send_prod1 > 0
  10. prd1 = Product.where("id = ?", self.send_prod1).first
  11. if prd1.blank?
  12. self.errors.add(:send_prod1,"赠品1不存在,请重新填写。")
  13. end
  14. end
  15. if self.send_prod2 > 0
  16. prd2 = Product.where("id = ?", self.send_prod2).first
  17. if prd2.blank?
  18. self.errors.add(:send_prod2,"赠品2不存在,请重新填写。")
  19. end
  20. end
  21. if self.send_prod3 > 0
  22. prd3 = Product.where("id = ?", self.send_prod3).first
  23. if prd3.blank?
  24. self.errors.add(:send_prod3,"赠品3不存在,请重新填写。")
  25. end
  26. end
  27. end
  28. def send_prodcut1
  29. prd1 = Product.where("id = ?", self.send_prod1).first
  30. if !prd1.blank?
  31. return format("%s-%d",prd1.name,self.send_nums1)
  32. else
  33. return "--"
  34. end
  35. end
  36. def send_prodcut2
  37. prd1 = Product.where("id = ?", self.send_prod2).first
  38. if !prd1.blank?
  39. return format("%s-%d",prd1.name,self.send_nums2)
  40. else
  41. return "--"
  42. end
  43. end
  44. def send_prodcut3
  45. prd1 = Product.where("id = ?", self.send_prod3).first
  46. if !prd1.blank?
  47. return format("%s-%d",prd1.name,self.send_nums3)
  48. else
  49. return "--"
  50. end
  51. end
  52. def send_prodcut4
  53. prd1 = Product.where("id = ?", self.send_prod4).first
  54. if !prd1.blank?
  55. return format("%s-%d",prd1.name,self.send_nums4)
  56. else
  57. return "--"
  58. end
  59. end
  60. def send_prodcut5
  61. prd1 = Product.where("id = ?", self.send_prod5).first
  62. if !prd1.blank?
  63. return format("%s-%d",prd1.name,self.send_nums5)
  64. else
  65. return "--"
  66. end
  67. end
  68. DEPART_ENUM = []
  69. def get_depart_enum
  70. DEPART_ENUM.clear
  71. if DEPART_ENUM.length ==0
  72. departAttrs = DepartRecord.where("1 ").order("id desc")
  73. departAttrs.each do |attr|
  74. a=[attr.name,attr.id]
  75. DEPART_ENUM.push(a)
  76. end
  77. end
  78. return DEPART_ENUM
  79. end
  80. rails_admin do
  81. navigation_label '促销管理'
  82. weight -100
  83. list do
  84. filters [:id,:name,:begin_time,:end_time]
  85. field :id
  86. field :name
  87. field :begin_time
  88. field :end_time
  89. field :total do
  90. label "充值金额(元)"
  91. formatted_value do # used in form views
  92. value.to_f / 100
  93. end
  94. end
  95. field :depart_record
  96. field :send_prodcut1
  97. field :send_prodcut1
  98. field :send_prodcut2
  99. field :send_prodcut3
  100. field :send_prodcut4
  101. field :send_prodcut5
  102. field :cash do
  103. label "代办金(元)"
  104. formatted_value do # used in form views
  105. value.to_f / 100
  106. end
  107. end
  108. field :cent do
  109. label "积分(元)"
  110. formatted_value do # used in form views
  111. value.to_f / 100
  112. end
  113. end
  114. field :is_enable
  115. field :created_at
  116. end
  117. show do
  118. field :id
  119. field :name
  120. field :begin_time
  121. field :end_time
  122. field :total do
  123. label "充值金额(元)"
  124. formatted_value do # used in form views
  125. value.to_f / 100
  126. end
  127. end
  128. field :depart_record
  129. field :send_prodcut1
  130. field :send_prodcut2
  131. field :send_prodcut3
  132. field :send_prodcut4
  133. field :send_prodcut5
  134. field :is_enable
  135. field :cash
  136. field :cent
  137. field :created_at
  138. field :created_at
  139. field :updated_at
  140. end
  141. edit do
  142. field :name
  143. field :begin_time
  144. field :end_time
  145. field :total
  146. =begin
  147. field :depart, :enum do
  148. enum do
  149. bindings[:object].get_depart_enum
  150. end
  151. end
  152. =end
  153. field :depart_record
  154. field :send_prod1
  155. field :send_nums1
  156. field :send_prod2
  157. field :send_nums2
  158. field :send_prod3
  159. field :send_nums3
  160. field :send_prod4
  161. field :send_nums4
  162. field :send_prod5
  163. field :send_nums5
  164. field :cash
  165. field :cent
  166. field :is_enable
  167. end
  168. end
  169. end