ソースを参照

scale device 2

abiao 2 年 前
コミット
f082a78bca
共有4 個のファイルを変更した186 個の追加0 個の削除を含む
  1. 42 0
      app/models/scale_result.rb
  2. 112 0
      app/models/scale_user.rb
  3. 14 0
      config/locales/models/scale_result.yml
  4. 18 0
      config/locales/models/scale_user.yml

+ 42 - 0
app/models/scale_result.rb

@@ -0,0 +1,42 @@
+# encoding:utf-8
+class ScaleResult < ActiveRecord::Base
+  has_paper_trail
+  self.table_name = "scale_result"
+  belongs_to :wx_user
+  #after_create :update_paied_time
+
+  rails_admin do
+    navigation_label '体脂秤测量记录'
+    parent ScaleDevice
+    weight -921
+
+    list do
+      filters [:wx_user,:created_at]
+      field :id
+      field :wx_user_id
+      field :wx_user
+      field :user_id
+      field :result
+      field :created_at
+      field :updated_at
+    end
+
+    show do
+      field :wx_user_id
+      field :wx_user
+      field :user_id
+      field :result
+      field :created_at
+      field :updated_at
+    end
+
+    edit do
+      field :wx_user_id
+      field :wx_user
+      field :user_id
+      field :result
+      field :created_at
+      field :updated_at
+    end
+  end
+end

+ 112 - 0
app/models/scale_user.rb

@@ -0,0 +1,112 @@
+# encoding:utf-8
+class ScaleUser < ActiveRecord::Base
+  has_paper_trail
+  self.table_name = "scale_users"
+  belongs_to :wx_user
+  attr_accessor :v_head
+
+  #after_create :update_paied_time
+  SEX_ENUM = [["男",0],["女",1]]
+
+  def get_avatar_img
+    url = "http://#{Ali::Oss::CDN_URL_FOR_HOST}/#{self.avatar}"
+    return url
+  end
+  rails_admin do
+    navigation_label '体脂秤用户'
+    parent ScaleDevice
+    weight -921
+
+    list do
+      filters [:wx_user,:created_at]
+      field :id
+      field :wx_user_id
+      field :wx_user
+      field :nick_name
+      field :avatar do
+        formatted_value do
+          bindings[:view].tag(:img,{:src => bindings[:object].get_avatar_img,
+                    :style => 'width: 100px;height: 100px;cursor: pointer;display: block;max-width: 100px',
+                    :onClick => "javascript:window.open('#{bindings[:object].get_avatar_img}')"})
+        end
+      end
+      field :sex, :enum do
+        filterable true
+        enum do
+          SEX_ENUM
+        end
+      end
+      field :height
+      field :age
+      field :target_weight
+      field :birthday
+      field :created_at
+      field :updated_at
+    end
+
+    show do
+      field :wx_user_id
+      field :wx_user
+      field :nick_name
+      field :avatar do
+        formatted_value do
+          bindings[:view].tag(:img,{:src => bindings[:object].get_avatar_img,
+            :style => 'width: 100px;height: 100px;cursor: pointer;display: block;max-width: 100px',
+            :onClick => "javascript:window.open('#{bindings[:object].get_avatar_img}')"})
+        end
+      end
+      field :sex, :enum do
+        filterable true
+        enum do
+          SEX_ENUM
+        end
+      end
+      field :height
+      field :age
+      field :target_weight
+      field :birthday
+      field :created_at
+      field :updated_at
+    end
+
+    edit do
+      field :wx_user_id
+      field :wx_user
+      field :nick_name
+      field :v_avatar, :file_upload do
+        pretty_value do
+          bindings[:view].tag(:img, {:src => bindings[:object].get_avatar_img, :class => 'preview'})
+        end
+      end
+      field :sex, :enum do
+        filterable true
+        enum do
+          SEX_ENUM
+        end
+      end
+      field :height
+      field :age
+      field :target_weight
+      field :birthday
+      field :created_at
+      field :updated_at
+    end
+  end
+
+  def v_avatar=file
+    unless file.blank?
+      clear_avatar_img
+      file_name = "#{UUID.new.generate[0...8].downcase}.jpg"
+      file_path = "#{IMG_STORE_PATH}/#{file_name}"
+      Ali::Oss.store(Ali::Oss::BUCKET_NAME_PUBLIC_READ, file_path, file.read)
+      self.head = file_path
+      self.save
+    end
+  end
+
+  def clear_avatar_img
+    file_path = "#{self.head}"
+    Ali::Oss.delete_object(Ali::Oss::BUCKET_NAME_PUBLIC_READ, file_path)
+  end
+
+end

+ 14 - 0
config/locales/models/scale_result.yml

@@ -0,0 +1,14 @@
+zh-CN:
+  activerecord:
+    models:
+      scale_result: 体脂秤测量记录
+    attributes:
+      scale_result:
+        id: ID
+        wx_user: 微信用户
+        wx_user_id: 微信用户ID
+        user: 称用户
+        user_id: 称用户ID
+        result: 结果记录
+        created_at: 创建时间
+        updated_at: 更新时间

+ 18 - 0
config/locales/models/scale_user.yml

@@ -0,0 +1,18 @@
+zh-CN:
+  activerecord:
+    models:
+      scale_device: 体脂秤用户
+    attributes:
+      scale_device:
+        id: ID
+        wx_user: 微信用户
+        wx_user_id: 微信用户ID
+        sex: 性别
+        avatar: 头像
+        nick_name: 姓名
+        height: 身高
+        age: 年龄
+        birthday: 生日
+        target_weight: 目标体重
+        created_at: 创建时间
+        updated_at: 更新时间