Przeglądaj źródła

add live awards function

abiao 5 lat temu
rodzic
commit
94e7a25219

+ 8 - 1
config/initializers/rails_admin.rb

@@ -18,6 +18,8 @@ require Rails.root.join('lib', 'product', 'copy_product')
 require Rails.root.join('lib', 'rails_admin', 'update_shop_application')
 require Rails.root.join('lib', 'rails_admin', 'audit_order_refund')
 require Rails.root.join('lib', 'rails_admin', 'generate_user_perfomance')
+require Rails.root.join('lib', 'rails_admin', 'generate_live_award')
+
 
 
 
@@ -40,6 +42,8 @@ RailsAdmin::Config::Actions.register(RailsAdmin::Config::Actions::GenerateOrderS
 RailsAdmin::Config::Actions.register(RailsAdmin::Config::Actions::UpdateShopApplication)
 RailsAdmin::Config::Actions.register(RailsAdmin::Config::Actions::AuditOrderRefund)
 RailsAdmin::Config::Actions.register(RailsAdmin::Config::Actions::GenerateUserPerfomance)
+RailsAdmin::Config::Actions.register(RailsAdmin::Config::Actions::GenerateLiveAward)
+
 
 
 
@@ -160,9 +164,12 @@ RailsAdmin.config do |config|
     generate_order_static do
       only ["OrderStatic"]
     end
+    generate_live_award do
+      only ["OrderStatic"]
+    end
 
     generate_user_perfomance do
-      only ["UserPerfomance"]
+      only ["LiveAward"]
     end
 
     add_wxku_commodity do

+ 2 - 0
config/locales/rails_admin.zh-CN.yml

@@ -129,6 +129,8 @@ zh-CN:
         menu: "复制"
       generate_order_static:
         menu: "订单统计"
+      generate_live_award:
+        menu: "直播奖励发放"
       generate_user_perfomance:
          menu: "业绩统计"
       update_shop_application:

+ 1 - 1
db/migrate/20210118116666_create_live_awards.rb

@@ -30,7 +30,7 @@ class CreateLiveAwards < ActiveRecord::Migration
       #收货地址
       t.column :address, :string,:limit => 256
       # 发放状态
-      t.column :status, :boolean, :default=>1
+      t.column :status, :boolean, :default=>0
       t.timestamps
     end
     add_index :live_awards, :wx_user_id

+ 42 - 0
lib/rails_admin/generate_live_award.rb

@@ -0,0 +1,42 @@
+#encoding
+module RailsAdmin
+  module Config
+    module Actions
+        class GenerateLiveAward < RailsAdmin::Config::Actions::Base
+            register_instance_option :visible?  do
+                authorized?
+            end
+
+            register_instance_option :member do
+                true
+            end
+
+            register_instance_option :link_icon do
+                'icon-star'
+            end
+
+            register_instance_option :pjax? do
+                false
+            end
+
+            register_instance_option :controller do
+                Proc.new do
+                    require 'rest-client'
+                    live_award = LiveAward.where("id = ? and status = ? ",@object.id,0).first
+                    n = "发放成功"
+                    if not live_award.blank?
+                        n = "已成功发放"
+                        url = "#{CONFIG_FILE["api_host"]}/railsadmin/live/award/#{@object.id}"
+                        begin
+                            ret = RestClient.get url, {} #per_page: 5
+                        rescue Exception => e
+                            n = "发放失败!"
+                        end
+                    end
+                    redirect_to :back, notice: "#{n}"
+                end
+            end
+        end
+    end
+  end
+end