diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 262efb00..8bb217cc 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -65,15 +65,62 @@ class ApplicationController < ActionController::Base include Redmine::MenuManager::MenuController helper Redmine::MenuManager::MenuHelper - def ecloud_auth ucloud_user_id - euser = EcloudUser.where("id =? and opttype not in(3, 5)", ucloud_user_id).first - if euser.present? # 开通过业务 - # - else - false - end + # 云启训练场(EduCoder)个人版 产品编码(appId) 9200108 + # 产品名称 计费类型 套餐编码 + # 云启训练场(EduCoder)个人版 固定包月 9200108001 + # 固定包月 9200108002 + # 固定包月 9200108003 + # --------------------------------------------------- + # 产品名称 计费类型 套餐编码 + # 云启训练场(EduCoder))院校版 包月+按license 9200109001 + # 包月+按license 9200109002 + + # 云启训练场(EduCoder))院校版 产品编码(appId) 9200109 + def ecloud_auth subject_id + # euser = EcloudUser.where("userid =? and opttype not in(3, 5)", User.current.id).first + # if euser.present? # 开通过业务 + # # 获取用户的套餐信息 + # e_service = euser.ecloud_services.where("opttype != 1") + # # 如果用户开通过服务 + # if e_service.present? + # if e_service.count >1 # 说明有重复开通过业务 + # else + # code = e_service.first.try(:code) + # + # end + # end + # else + # false # 没开通过服务,或者服务被禁用则不允许访问 + # end + # + # + # + # + # if e_service.count > 1 # 说明有重复订购过套餐 + # else + # code = e_service.try(:code) + # end + # service_count = euser.ecloud_services.where("opttype != 1").try(:code) + # + # end + # 如果不是Ecloud过来的用户,则不改变用户的使用状态及权限,按现有模式即可 + end + + # 根据业务确定权限 + def ecloud_services_auth code, subject_id + subject = Subject.find(subject_id) + subject_level = subject.subject_level_system.try(:level) + # case code + # when "9200108001" + # subject_level.to_i == 1 ? true : false + # when "9200108002" + # + # end + # end + end + def ec_public_auth major_school unless User.current.admin? || major_school.template_major || major_school.school.users.where(:id => User.current.id).count > 0 || major_school.ec_major_school_users.where(:user_id => User.current.id).count > 0 || diff --git a/app/controllers/ecloud_controller.rb b/app/controllers/ecloud_controller.rb index edf568a9..89a240c4 100644 --- a/app/controllers/ecloud_controller.rb +++ b/app/controllers/ecloud_controller.rb @@ -33,10 +33,18 @@ class EcloudController < ApplicationController def trustie_login end - CLIENT_ID = '1022' - CLIENT_SECRET = '2112037a-6d7a-432b-9081-feb1153d8668' - ROOT_URl = 'http://localhost:3000' - SERVER_URL = "https://221.176.54.92:9081/restful/services/" + # 测试环境 + # CLIENT_ID = '1022' + # CLIENT_SECRET = '2112037a-6d7a-432b-9081-feb1153d8668' + # SERVER_URL = "https://221.176.54.92:9081/restful/services/" + # + + # 正式环境 + CLIENT_ID = '1056' + CLIENT_SECRET = '2e84256a-3de4-4713-9e02-10ee88a14592' + SERVER_URL = "https://221.176.53.130:44390/services/" + + ## 签名 def sign(timestamp) @@ -55,12 +63,12 @@ class EcloudController < ApplicationController begin if params['opttype'] == 0 # 开通企业/个人业务 ecloud = Ecloud.create!(eloud_params) - create_service(params['services'], ecloud.try(:id)) + create_service(params['services'], ecloud.try(:id)) if params['services'].present? create_product_params(params['productparas'], ecloud.try(:id)) if params['productparas'].present? # 为管理员添加一条记录 # 开通的时候都是用户的opttype也是0 # 如果管理员已经存在,则不用重复开通 - euser = EcloudUser.where(id: params['userid'], custid: params['custid']).first + euser = EcloudUser.where(userid: params['userid'], custid: params['custid']).first unless euser EcloudUser.create!(custid: params['custid'], opttype: params['opttype'], userid: params['userid'], username: params['username'], useralias: params['useralias'], @@ -88,7 +96,8 @@ class EcloudController < ApplicationController elsif params['opttype'] == 1 # 业务变更 ecloud = Ecloud.where(custid: params['custid'], custcode: params['custcode'], productcode: params['productcode']).first # 套餐变更 - # 新增业务 + # 操作代码 0:新增业务,1:注销业务2:修改业务 + # # 新增服务 add_service = params['services'].select{|s| s['opttype'] == 0} create_service(add_service, ecloud.try(:id)) if add_service.present? @@ -106,8 +115,8 @@ class EcloudController < ApplicationController if edt_services.present? edt_services.each do |es| ese = EcloudService.where(ecloud_id: ecloud.try(:id), code: es['code']).first - ese.update_attributes!(opttype: es['opttype'], begintime: es['begintime'], endtime: es['endtime']) - create_serviceparas es['serviceparas'].first, ese.id + ese.update_attributes!(opttype: es['opttype'], begintime: es['begintime'], endtime: es['endtime']) if ese.present? + create_serviceparas(es['serviceparas'].first, ese.id) if ese.present? end end @@ -120,6 +129,7 @@ class EcloudController < ApplicationController # ecloud_id = ecloud.try(:id) elsif params['opttype'] == 4 # 再次重复开通 + # 再次申请开通,这种情况就是累加时间 ecloud = Ecloud.where(custid: params['custid'], custcode: params['custcode'], productcode: params['productcode']).first create_service(params['services'], ecloud.try(:id)) create_product_params(params['productparas'], ecloud.try(:id)) if params['productparas'].present? diff --git a/app/models/ecloud_service.rb b/app/models/ecloud_service.rb index 4a388ed4..dba4a7b2 100644 --- a/app/models/ecloud_service.rb +++ b/app/models/ecloud_service.rb @@ -1,3 +1,4 @@ +# 操作代码 0:新增业务,1:注销业务2:修改业务 class EcloudService < ActiveRecord::Base attr_accessible :begintime, :code, :endtime, :opttype, :ecloud_id, :packagecode, :bossorderid belongs_to :ecloud diff --git a/public/images/educoder/path.jpg b/public/images/educoder/path.jpg index a1d70644..71e01c25 100644 Binary files a/public/images/educoder/path.jpg and b/public/images/educoder/path.jpg differ