balance_promotion.rb 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. class BalancePromotion < ActiveRecord::Base
  2. has_paper_trail
  3. self.table_name = "balance_promotions"
  4. validates :begin_time,:end_time,:name, presence: true
  5. validate :product_validation
  6. def product_validation
  7. if self.send_prod1 > 0
  8. prd1 = Product.where("id = ?", self.send_prod1).first
  9. if prd1.blank?
  10. self.errors.add(:send_prod1,"赠品1不存在,请重新填写。")
  11. end
  12. end
  13. if self.send_prod2 > 0
  14. prd2 = Product.where("id = ?", self.send_prod2).first
  15. if prd2.blank?
  16. self.errors.add(:send_prod2,"赠品2不存在,请重新填写。")
  17. end
  18. end
  19. if self.send_prod3 > 0
  20. prd3 = Product.where("id = ?", self.send_prod3).first
  21. if prd3.blank?
  22. self.errors.add(:send_prod3,"赠品3不存在,请重新填写。")
  23. end
  24. end
  25. end
  26. def send_prodcut1
  27. prd1 = Product.where("id = ?", self.send_prod1).first
  28. if !prd1.blank?
  29. return format("%s-%d",prd1.name,self.send_nums1)
  30. else
  31. return "--"
  32. end
  33. end
  34. def send_prodcut2
  35. prd1 = Product.where("id = ?", self.send_prod2).first
  36. if !prd1.blank?
  37. return format("%s-%d",prd1.name,self.send_nums2)
  38. else
  39. return "--"
  40. end
  41. end
  42. def send_prodcut3
  43. prd1 = Product.where("id = ?", self.send_prod3).first
  44. if !prd1.blank?
  45. return format("%s-%d",prd1.name,self.send_nums3)
  46. else
  47. return "--"
  48. end
  49. end
  50. rails_admin do
  51. navigation_label '系统配置'
  52. weight -100
  53. list do
  54. filters [:id,:name,:begin_time,:end_time]
  55. field :id
  56. field :name
  57. field :begin_time
  58. field :end_time
  59. field :min_total do
  60. label "充值最小金额(元)"
  61. formatted_value do # used in form views
  62. value.to_f / 100
  63. end
  64. end
  65. field :send_prodcut1
  66. field :send_prodcut2
  67. field :send_prodcut3
  68. field :cash do
  69. label "代办金(元)"
  70. formatted_value do # used in form views
  71. value.to_f / 100
  72. end
  73. end
  74. field :cent do
  75. label "积分(元)"
  76. formatted_value do # used in form views
  77. value.to_f / 100
  78. end
  79. end
  80. field :is_enable
  81. field :created_at
  82. end
  83. show do
  84. field :id
  85. field :name
  86. field :begin_time
  87. field :end_time
  88. field :min_total do
  89. label "订单最小金额(元)"
  90. formatted_value do # used in form views
  91. value.to_f / 100
  92. end
  93. end
  94. field :send_prodcut1
  95. field :send_prodcut2
  96. field :send_prodcut3
  97. field :is_enable
  98. field :cash
  99. field :cent
  100. field :created_at
  101. field :created_at
  102. field :updated_at
  103. end
  104. edit do
  105. field :name
  106. field :begin_time
  107. field :end_time
  108. field :min_total
  109. field :send_prod1
  110. field :send_nums1
  111. field :send_prod2
  112. field :send_nums2
  113. field :send_prod3
  114. field :send_nums3
  115. field :cash
  116. field :cent
  117. field :is_enable
  118. end
  119. end
  120. end