balance_promotion.rb 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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. end
  14. def send_prodcut1
  15. prd1 = Product.where("id = ?", self.send_prod1).first
  16. if !prd1.blank?
  17. return format("%s-%d",prd1.name,self.send_nums1)
  18. else
  19. return "--"
  20. end
  21. end
  22. def send_prodcut2
  23. prd1 = Product.where("id = ?", self.send_prod2).first
  24. if !prd1.blank?
  25. return format("%s-%d",prd1.name,self.send_nums2)
  26. else
  27. return "--"
  28. end
  29. end
  30. def send_prodcut3
  31. prd1 = Product.where("id = ?", self.send_prod3).first
  32. if !prd1.blank?
  33. return format("%s-%d",prd1.name,self.send_nums3)
  34. else
  35. return "--"
  36. end
  37. end
  38. rails_admin do
  39. navigation_label '系统配置'
  40. weight -100
  41. list do
  42. filters [:id,:name,:begin_time,:end_time]
  43. field :id
  44. field :name
  45. field :begin_time
  46. field :end_time
  47. field :min_total do
  48. label "充值最小金额(元)"
  49. formatted_value do # used in form views
  50. value.to_f / 100
  51. end
  52. end
  53. field :send_prodcut1
  54. field :send_prodcut2
  55. field :send_prodcut3
  56. field :cash do
  57. label "代办金(元)"
  58. formatted_value do # used in form views
  59. value.to_f / 100
  60. end
  61. end
  62. field :cent do
  63. label "积分(元)"
  64. formatted_value do # used in form views
  65. value.to_f / 100
  66. end
  67. end
  68. field :is_enable
  69. field :created_at
  70. end
  71. show do
  72. field :id
  73. field :name
  74. field :begin_time
  75. field :end_time
  76. field :min_total do
  77. label "订单最小金额(元)"
  78. formatted_value do # used in form views
  79. value.to_f / 100
  80. end
  81. end
  82. field :send_prodcut1
  83. field :send_prodcut2
  84. field :send_prodcut3
  85. field :is_enable
  86. field :cash
  87. field :cent
  88. field :created_at
  89. field :created_at
  90. field :updated_at
  91. end
  92. edit do
  93. field :name
  94. field :begin_time
  95. field :end_time
  96. field :min_total
  97. field :send_prod1
  98. field :send_nums1
  99. field :send_prod2
  100. field :send_nums2
  101. field :send_prod3
  102. field :send_nums3
  103. field :cash
  104. field :cent
  105. field :is_enable
  106. end
  107. end
  108. end