merchant_user_relation.rb 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. class MerchantUserRelation < ActiveRecord::Base
  2. has_paper_trail
  3. self.table_name = "merchant_user_relations"
  4. belongs_to :user, :foreign_key => :user_id
  5. belongs_to :merchant, :foreign_key => :merchant_id
  6. validates :user_id, :merchant_id, :manage_product_ids, presence: true
  7. validate :check_user_no_more_merchant, :on => :create
  8. validate :check_merchant_is_exist
  9. def check_user_no_more_merchant
  10. sql = "select * from merchant_user_relations where user_id = #{self.user_id} and is_effect = 1"
  11. cs = MerchantUserRelation.find_by_sql(sql).first
  12. if !cs.blank?
  13. self.errors.add(:user_id,"暂不支持一个用户对应多个商家")
  14. end
  15. end
  16. def check_merchant_is_exist
  17. sql = "select * from merchants where id = #{self.merchant_id}"
  18. merchant = Merchant.find_by_sql(sql).first
  19. if merchant.blank?
  20. self.errors.add(:merchant_id,"该商家信息不存在")
  21. end
  22. end
  23. def wx_user
  24. wxUser = WxUser.where("user_id = ?", self.user_id).first
  25. if !wxUser.blank?
  26. return wxUser.nickname
  27. else
  28. return "不存在"
  29. end
  30. end
  31. rails_admin do
  32. navigation_label '商品管理'
  33. weight -100
  34. list do
  35. filters [:id,:user,:merchant]
  36. field :id
  37. field :user_id
  38. field :user
  39. field :wx_user
  40. field :merchant_id
  41. field :merchant
  42. field :is_effect
  43. field :is_super_admin
  44. field :manage_product_ids
  45. field :created_at
  46. end
  47. show do
  48. field :id
  49. field :user_id
  50. field :user
  51. field :wx_user
  52. field :merchant_id
  53. field :merchant
  54. field :is_effect
  55. field :is_super_admin
  56. field :manage_product_ids
  57. field :created_at
  58. field :updated_at
  59. end
  60. edit do
  61. field :user_id
  62. field :merchant_id
  63. field :is_effect
  64. field :is_super_admin
  65. field :manage_product_ids do
  66. label "管理的商品ids(0表示所有商品,不填0则商品id之间用逗号隔开)"
  67. end
  68. end
  69. end
  70. end