balance_promotion.rb 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. class BalancePromotion < ActiveRecord::Base
  2. has_paper_trail
  3. self.table_name = "balance_promotions"
  4. belongs_to :depart_record, :foreign_key => :depart
  5. validates :begin_time,:end_time,:name,:min_total,:max_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. DEPART_ENUM = []
  53. def get_depart_enum
  54. DEPART_ENUM.clear
  55. if DEPART_ENUM.length ==0
  56. departAttrs = DepartRecord.where("1 ").order("id desc")
  57. departAttrs.each do |attr|
  58. a=[attr.name,attr.id]
  59. DEPART_ENUM.push(a)
  60. end
  61. end
  62. return DEPART_ENUM
  63. end
  64. rails_admin do
  65. navigation_label '促销管理'
  66. weight -100
  67. list do
  68. filters [:id,:name,:begin_time,:end_time]
  69. field :id
  70. field :name
  71. field :begin_time
  72. field :end_time
  73. field :min_total do
  74. label "最小金额(元)"
  75. formatted_value do # used in form views
  76. value.to_f / 100
  77. end
  78. end
  79. field :max_total do
  80. label "最大金额(元)"
  81. formatted_value do # used in form views
  82. value.to_f / 100
  83. end
  84. end
  85. field :is_more
  86. field :depart_record
  87. field :send_prodcut1
  88. field :send_prodcut1
  89. field :send_prodcut2
  90. field :send_prodcut3
  91. field :cash do
  92. label "代办金(元)"
  93. formatted_value do # used in form views
  94. value.to_f / 100
  95. end
  96. end
  97. field :cent do
  98. label "积分(元)"
  99. formatted_value do # used in form views
  100. value.to_f / 100
  101. end
  102. end
  103. field :is_enable
  104. field :created_at
  105. end
  106. show do
  107. field :id
  108. field :name
  109. field :begin_time
  110. field :end_time
  111. field :min_total do
  112. label "最小金额(元)"
  113. formatted_value do # used in form views
  114. value.to_f / 100
  115. end
  116. end
  117. field :max_total do
  118. label "最大金额(元)"
  119. formatted_value do # used in form views
  120. value.to_f / 100
  121. end
  122. end
  123. field :is_more
  124. field :depart_record
  125. field :send_prodcut1
  126. field :send_prodcut2
  127. field :send_prodcut3
  128. field :is_enable
  129. field :cash
  130. field :cent
  131. field :created_at
  132. field :created_at
  133. field :updated_at
  134. end
  135. edit do
  136. field :name
  137. field :begin_time
  138. field :end_time
  139. field :min_total
  140. field :max_total
  141. field :is_more
  142. =begin
  143. field :depart, :enum do
  144. enum do
  145. bindings[:object].get_depart_enum
  146. end
  147. end
  148. =end
  149. field :depart_record
  150. field :send_prod1
  151. field :send_nums1
  152. field :send_prod2
  153. field :send_nums2
  154. field :send_prod3
  155. field :send_nums3
  156. field :cash
  157. field :cent
  158. field :is_enable
  159. end
  160. end
  161. end