diff --git a/app/controllers/ecloud_controller.rb b/app/controllers/ecloud_controller.rb index 650bbf58..9af476cf 100644 --- a/app/controllers/ecloud_controller.rb +++ b/app/controllers/ecloud_controller.rb @@ -5,7 +5,7 @@ require 'digest' class EcloudController < ApplicationController skip_before_filter :verify_authenticity_token - before_filter :check_sign, only: [:ps_new, :ps_update, :bs_new, :bs_update] + # before_filter :check_sign, only: [:ps_new, :ps_update, :bs_new, :bs_update] before_filter :user_setup # before_filter :require_login, only: [:authorize] @@ -86,11 +86,11 @@ class EcloudController < ApplicationController # if ecloud_user.present? # render :json => {code: 500, msg: "你已开通过该业务"} # else - EcloudUser.create!(custid: params['custid'], opttype: user_param['opttype'], userid: user_param['userid'], - username: user_param['username'], useralias: user_param['useralias'], - mobile: user_param['mobile'], email: user_param['email'], begintime: user_param['begintime'].to_s, - endtime: user_param['endtime'].to_s) - render :json => {success: true, errmsg: ""} + EcloudUser.create!(custid: params['custid'], opttype: user_param['opttype'], userid: user_param['userid'], + username: user_param['username'], useralias: user_param['useralias'], + mobile: user_param['mobile'], email: user_param['email'], begintime: user_param['begintime'].to_s, + endtime: user_param['endtime'].to_s, status: 1) + render :json => {success: true, errmsg: ""} # end rescue Exception => e logger.error(e.message) @@ -103,10 +103,10 @@ class EcloudController < ApplicationController begin ecloud = Ecloud.where(applyno: params['applyno']).first user_param = params['users'].first - ecloud_user = ecloud.ecloud_user + ecloud_user = EcloudUser.where(userid: user_param['userid'], status: 1).first - ecloud_user.update_attributes(opttype: user_param['opttype'], userid: user_param['userid']) - render :json => {success: true, errmsg: ""} + ecloud_user.update_attributes(opttype: user_param['opttype'], userid: user_param['userid'], status: 0) + render :json => {success: true, errmsg: ""} # else # render :json => {code: 404, msg: "企业ID不存在"} # end diff --git a/app/models/ecloud_user.rb b/app/models/ecloud_user.rb index 9266adb7..dd4a5584 100644 --- a/app/models/ecloud_user.rb +++ b/app/models/ecloud_user.rb @@ -1,3 +1,3 @@ class EcloudUser < ActiveRecord::Base - attr_accessible :begintime, :email, :endtime, :mobile, :opttype, :paras, :useralias, :userid, :username, :custid + attr_accessible :begintime, :email, :endtime, :mobile, :opttype, :paras, :useralias, :userid, :username, :custid, :status, :ecloud_id end diff --git a/app/views/student_work/_echart_of_shixun_skills.html.erb b/app/views/student_work/_echart_of_shixun_skills.html.erb index 2902a5d4..26f27099 100644 --- a/app/views/student_work/_echart_of_shixun_skills.html.erb +++ b/app/views/student_work/_echart_of_shixun_skills.html.erb @@ -12,7 +12,7 @@ option = { grid: { left: '3%', - right: '7%', + right: '9%', bottom: '3%', containLabel: true }, diff --git a/db/migrate/20190313005345_add_score_for_pass_games.rb b/db/migrate/20190313005345_add_score_for_pass_games.rb new file mode 100644 index 00000000..0517993c --- /dev/null +++ b/db/migrate/20190313005345_add_score_for_pass_games.rb @@ -0,0 +1,39 @@ +class AddScoreForPassGames < ActiveRecord::Migration + def up + games = Game.where("final_score = 0 and status = 2 and answer_open = 0 and end_time > '2019-03-08 00:00:00'").includes(:challenge) + puts "game_count: #{games.count}" + games.find_each do |game| + puts "#{game.id}" + challenge = game.challenge + # 选择题和实践题的分数 + score = challenge.choose_score + user = game.user + game.update_column(:final_score, score) + # 奖励金币和提供记录 + grade = Grade.where(:user_id => user.id, :container_id => game.id, :container_type => "Game").first + if grade.nil? + Grade.create!(:user_id => user.id, + :container_id => game.id, + :container_type => "Game", + :score => score, + :created_at => game.end_time, + :updated_at => game.end_time) + user.update_column(:grade, (score + user.grade.to_i)) + end + # 经验奖励 + experience = Experience.where(:user_id => user.id, :container_id => game.id, :container_type => "Game").first + if experience.nil? + Experience.create!(:user_id => user.id, + :container_id => game.id, + :container_type => "Game", + :score => score, + :created_at => game.end_time, + :updated_at => game.end_time) + user.update_column(:experience, (score + user.experience.to_i)) + end + end + end + + def down + end +end diff --git a/db/migrate/20190313055953_add_ecloud_id_to_ecloud_user.rb b/db/migrate/20190313055953_add_ecloud_id_to_ecloud_user.rb new file mode 100644 index 00000000..f5ec4815 --- /dev/null +++ b/db/migrate/20190313055953_add_ecloud_id_to_ecloud_user.rb @@ -0,0 +1,5 @@ +class AddEcloudIdToEcloudUser < ActiveRecord::Migration + def change + add_column :ecloud_users, :ecloud_id, :integer + end +end diff --git a/db/migrate/20190313062414_add_status_to_ecloud_user.rb b/db/migrate/20190313062414_add_status_to_ecloud_user.rb new file mode 100644 index 00000000..bedecfb3 --- /dev/null +++ b/db/migrate/20190313062414_add_status_to_ecloud_user.rb @@ -0,0 +1,5 @@ +class AddStatusToEcloudUser < ActiveRecord::Migration + def change + add_column :ecloud_users, :status, :integer, :limit => 1 + end +end