From d21ddc8444c22e5616052da5ab230b0e724b3985 Mon Sep 17 00:00:00 2001 From: anke1460 Date: Thu, 27 Feb 2020 22:33:12 +0800 Subject: [PATCH 01/13] fix rake --- lib/tasks/tfxy.rake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/tasks/tfxy.rake b/lib/tasks/tfxy.rake index a64b2a902..a11f09328 100644 --- a/lib/tasks/tfxy.rake +++ b/lib/tasks/tfxy.rake @@ -49,8 +49,8 @@ namespace :tfxy do department_id: departemnt.id ) - open_user = OpenUsers::Cas.find_or_initialize_by(uid: student_data.cell(r, 1)) do |u| - u.extra = {phone: student_data.cell(r, 8)} + open_user = OpenUsers::Cas.find_or_initialize_by(uid: teach_data.cell(r, 1)) do |u| + u.extra = {phone: teach_data.cell(r, 8)} u.user_id = user.id end From e9c2e2bf912de9e80cbbf94b117d718be186a5db Mon Sep 17 00:00:00 2001 From: anke1460 Date: Thu, 27 Feb 2020 23:18:03 +0800 Subject: [PATCH 02/13] change default laborary --- lib/tasks/tfxy.rake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/tasks/tfxy.rake b/lib/tasks/tfxy.rake index a11f09328..8bfe8635c 100644 --- a/lib/tasks/tfxy.rake +++ b/lib/tasks/tfxy.rake @@ -32,7 +32,7 @@ namespace :tfxy do profile_completed: true, professional_certification: 1, certification: 1, - laboratory_id: Laboratory.first.id + laboratory_id: Laboratory.find(1) ) @@ -82,7 +82,7 @@ namespace :tfxy do course = Course.find_or_initialize_by(school_id: school.id, name: course_data.cell(r, 2)) do |d| d.is_public = 0 d.tea_id = teach_user.id - d.laboratory_id = Laboratory.first.id + d.laboratory_id = Laboratory.find(1) end @@ -151,7 +151,7 @@ namespace :tfxy do profile_completed: true, professional_certification: 1, certification: 1, - laboratory_id: Laboratory.first.id + laboratory_id: Laboratory.find(1) ) if user.save! From ec21080e9132fc3e7dd707690f22ec525072c31a Mon Sep 17 00:00:00 2001 From: anke1460 Date: Thu, 27 Feb 2020 23:36:52 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E5=88=86=E7=8F=AD?= =?UTF-8?q?=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/user.rb | 4 ++-- lib/tasks/tfxy.rake | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index 6fac73416..5c22f46e7 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -118,8 +118,8 @@ class User < ApplicationRecord has_many :manage_courses, through: :manage_course_members, source: :course # 关注 - has_many :be_watchers, foreign_key: :user_id, dependent: :destroy # 我的关注 - has_many :be_watcher_users, through: :be_watchers, dependent: :destroy # 我关注的用户 + # has_many :be_watchers, foreign_key: :user_id, dependent: :destroy # 我的关注 + # has_many :be_watcher_users, through: :be_watchers, dependent: :destroy # 我关注的用户 # 认证 has_many :apply_user_authentication diff --git a/lib/tasks/tfxy.rake b/lib/tasks/tfxy.rake index 8bfe8635c..fb7aea644 100644 --- a/lib/tasks/tfxy.rake +++ b/lib/tasks/tfxy.rake @@ -103,7 +103,7 @@ namespace :tfxy do end course_group.position = course.course_groups_count + 1 - course_group.name = "#{course_data.cell(r, 2)}#{course_data.cell(r, 3)}" + course_group.name = course_data.cell(r, 4) course_group.course = course course_group.save! From fde80bc114d213d574607543581fe1debfed8879 Mon Sep 17 00:00:00 2001 From: anke1460 Date: Fri, 28 Feb 2020 01:07:50 +0800 Subject: [PATCH 04/13] =?UTF-8?q?fix=20=E5=AF=BC=E5=85=A5=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/tfxy.rake | 72 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 57 insertions(+), 15 deletions(-) diff --git a/lib/tasks/tfxy.rake b/lib/tasks/tfxy.rake index fb7aea644..f55f0b924 100644 --- a/lib/tasks/tfxy.rake +++ b/lib/tasks/tfxy.rake @@ -18,8 +18,9 @@ namespace :tfxy do teach_data_last_row = teach_data.last_row 2.upto(teach_data_last_row) do |r| + old_user = User.where("phone = '#{teach_data.cell(r, 5)}' OR mail = '#{teach_data.cell(r, 6)}' OR login = 'tfxy#{teach_data.cell(r, 1)}' " ) - if !User.where("phone = '#{teach_data.cell(r, 5)}' OR mail = '#{teach_data.cell(r, 6)}' OR login = 'tfxy#{teach_data.cell(r, 1)}' " ).exists? + if !old_user.present? user = User.new( phone: teach_data.cell(r, 5), login: "tfxy#{teach_data.cell(r, 1)}", @@ -32,8 +33,8 @@ namespace :tfxy do profile_completed: true, professional_certification: 1, certification: 1, - laboratory_id: Laboratory.find(1) - + authentication: true, + laboratory_id: Laboratory.find(1)&.id ) if user.save! @@ -54,8 +55,23 @@ namespace :tfxy do u.user_id = user.id end + p "-------user -----#{user.inspect}" open_user.save end + else + old_user.update( + lastname: teach_data.cell(r, 2), + nickname: teach_data.cell(r, 2), + certification: true, + professional_certification: true, + authentication: true, + profile_completed: true) + + + OpenUsers::Cas.find_or_create_by(uid: teach_data.cell(r, 1)) do |u| + u.extra = {phone: teach_data.cell(r, 5)} + u.user_id = old_user.id + end end end @@ -70,19 +86,22 @@ namespace :tfxy do d.city = '成都' end + course_info = {"C程序设计与实践"=>4, "数据库技术应用"=>2, "数据库应用"=>2, "数据库原理"=>2, "数据库实践"=>2, "面向对象程序设计与实践"=>2, "JavaSE程序设计及实践(辅修)"=>4, "编译原理"=>2, "电路与电子技术"=>3, "传感器原理与应用"=>3, "物联网技术与应用"=>2, "人工智能实践"=>3, "计算机组成原理"=>2, "移动应用开发实训"=>4, "面向对象程序课程设计"=>1, "Web程序设计"=>2, "数据仓库与数据挖掘"=>2, "定量分析技术"=>4, "Python程序设计"=>4, "信息系统分析与设计"=>3, "数据处理综合实训"=>2, "绘画基础Ⅱ(色彩构成)"=>2, "数字图像处理"=>4, "虚拟现实技术及应用"=>4, "三维建模技术"=>4, "游戏技术基础"=>4, "传感器与单片机实训"=>2, "数据库原理与实践"=>4, "高级程序设计(二)"=>4, "数据结构与算法分析"=>4, "实训"=>1, "Linux 操作系统"=>4, "Java Web程序设计与实践"=>8, "软件测试与项目管理"=>4, "Android程序设计"=>8, "移动应用开发"=>4, "商业智能案例分析"=>4, "数据分析与挖掘"=>4, "Oracle DBA"=>4, "信息网络安全测试与评估"=>4, "Android编程"=>8, "电子线路CAD设计"=>2, "ARM接口技术"=>4, "嵌入式Linux应用系统设计"=>4, "信息系统开发实训"=>2, "绘画基础I(平面构成)"=>2, "智能信息处理技术"=>3} + course_data = xlsx.sheet(4) course_data_last_row = course_data.last_row 2.upto(course_data_last_row) do |r| - course_group = CourseGroup.find_or_initialize_by(invite_code: "#{course_data.cell(r, 1)}#{course_data.cell(r, 3)}") + course_group = CourseGroup.find_or_initialize_by(invite_code: course_data.cell(r, 3)) - teach_user = User.find_by(login: "tfxy#{course_data.cell(r, 5)}") + teach_user = OpenUsers::Cas.find_by(uid: course_data.cell(r, 5))&.user if !course_group.persisted? course = Course.find_or_initialize_by(school_id: school.id, name: course_data.cell(r, 2)) do |d| d.is_public = 0 d.tea_id = teach_user.id - d.laboratory_id = Laboratory.find(1) + d.laboratory_id = Laboratory.find(1)&.id + d.credit = course_info[course_data.cell(r, 1)] end @@ -94,10 +113,10 @@ namespace :tfxy do end course.course_list = course_list + course.invite_code = course_data.cell(r, 1)[3..7] course.save! - course.generate_invite_code CourseInfo.create!(user_id: teach_user.id, course_id: course.id) course.create_course_modules(["shixun_homework", "common_homework", "group_homework", "exercise", "attachment", "course_group", "video"]) end @@ -108,9 +127,12 @@ namespace :tfxy do course_group.save! + + puts "---course_group----#{course_group.inspect}" + course_member = CourseMember.find_or_initialize_by(course_id: course.id, user_id: teach_user.id) do |d| d.role = 2 - d.course_group_id = course_group.id + d.course_group_id = 0 end course_member.save! if !course_member.persisted? @@ -151,9 +173,12 @@ namespace :tfxy do profile_completed: true, professional_certification: 1, certification: 1, - laboratory_id: Laboratory.find(1) + authentication: true, + laboratory_id: Laboratory.find(1)&.id ) + puts "----user #{user.inspect}" + if user.save! departemnt = school.departments.find_or_create_by!(name: student_data.cell(r, 4)) @@ -163,6 +188,7 @@ namespace :tfxy do location_city: school.city, gender: student_data.cell(r, 3) == '女' ? 1 : 0, identity: 1, + student_id: student_data.cell(r, 1), department_id: departemnt.id ) @@ -175,7 +201,14 @@ namespace :tfxy do else # 系统已有用户,关联sso认证用户 - old_user.update(login: "tfxy#{student_data.cell(r, 1)}") + old_user.update( + login: "tfxy#{student_data.cell(r, 1)}", + lastname: student_data.cell(r, 2), + nickname: student_data.cell(r, 2), + certification: true, + professional_certification: true, + authentication: true, + profile_completed: true) OpenUsers::Cas.find_or_create_by(uid: student_data.cell(r, 1)) do |u| u.extra = {phone: student_data.cell(r, 8)} @@ -198,12 +231,21 @@ namespace :tfxy do end 2.upto(course_member_data_last_row) do |r| - course_group = CourseGroup.find_by(invite_code: "#{course_member_data.cell(r, 3)}#{course_member_data.cell(r, 5)}") - student = User.find_by(login: "tfxy#{course_member_data.cell(r, 1)}") + course_group = CourseGroup.find_by(invite_code: course_member_data.cell(r, 5)) + + student = OpenUsers::Cas.find_by(uid: course_member_data.cell(r, 1))&.user + + puts "------student --- #{student.inspect}" - CourseMember.find_or_create_by!(course_id: course_group.course_id, user_id: student.id, course_group_id: course_group.id) do |d| - d.role = 4 - end if student.present? + if student.present? + + course_member = CourseMember.find_or_initialize_by(course_id: course_group.course_id, user_id: student.id) do |d| + d.role = 4 + d.course_group_id = course_group.id + end + puts "--------course_member #{course_member.inspect}" + course_member.save! if !course_member.persisted? + end end end From 16fde6a6511dca358171e18f4ce0622ffa981de4 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 28 Feb 2020 01:23:39 +0800 Subject: [PATCH 05/13] 1 --- app/controllers/weapps/challenges_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/weapps/challenges_controller.rb b/app/controllers/weapps/challenges_controller.rb index 21a7fdee9..39d3d5fcd 100644 --- a/app/controllers/weapps/challenges_controller.rb +++ b/app/controllers/weapps/challenges_controller.rb @@ -9,7 +9,7 @@ class Weapps::ChallengesController < Weapps::BaseController play = @shixun.is_jupyter? || @shixun.vnc || @shixun.hide_code? || (@shixun.small_mirror_name & ["Css", "Html", "Web"]).present? - if play + if play && @challenge.st != 1 normal_status(-5, "该关卡暂不支持小程序") else render_ok From f353cd5293c2c344e85c992893bc05a3196b5f66 Mon Sep 17 00:00:00 2001 From: anke1460 Date: Fri, 28 Feb 2020 01:48:06 +0800 Subject: [PATCH 06/13] fix --- lib/tasks/tfxy.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/tfxy.rake b/lib/tasks/tfxy.rake index f55f0b924..2ab352541 100644 --- a/lib/tasks/tfxy.rake +++ b/lib/tasks/tfxy.rake @@ -94,7 +94,7 @@ namespace :tfxy do 2.upto(course_data_last_row) do |r| course_group = CourseGroup.find_or_initialize_by(invite_code: course_data.cell(r, 3)) - teach_user = OpenUsers::Cas.find_by(uid: course_data.cell(r, 5))&.user + teach_user = OpenUsers::Cas.find_by(uid: course_data.cell(r, 4))&.user if !course_group.persisted? course = Course.find_or_initialize_by(school_id: school.id, name: course_data.cell(r, 2)) do |d| From f98a0062d75bb91dd0457f8c2c83ebab6374f28a Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 28 Feb 2020 01:48:14 +0800 Subject: [PATCH 07/13] 1 --- app/controllers/weapps/challenges_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/weapps/challenges_controller.rb b/app/controllers/weapps/challenges_controller.rb index 39d3d5fcd..ed1f8e033 100644 --- a/app/controllers/weapps/challenges_controller.rb +++ b/app/controllers/weapps/challenges_controller.rb @@ -9,7 +9,7 @@ class Weapps::ChallengesController < Weapps::BaseController play = @shixun.is_jupyter? || @shixun.vnc || @shixun.hide_code? || (@shixun.small_mirror_name & ["Css", "Html", "Web"]).present? - if play && @challenge.st != 1 + if play || @challenge.st != 1 normal_status(-5, "该关卡暂不支持小程序") else render_ok From a13823d1be2e3e9dc15bb26ce2cc1e2bfabf0659 Mon Sep 17 00:00:00 2001 From: anke1460 Date: Fri, 28 Feb 2020 01:52:00 +0800 Subject: [PATCH 08/13] fix --- lib/tasks/tfxy.rake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/tasks/tfxy.rake b/lib/tasks/tfxy.rake index 2ab352541..32eece867 100644 --- a/lib/tasks/tfxy.rake +++ b/lib/tasks/tfxy.rake @@ -94,9 +94,9 @@ namespace :tfxy do 2.upto(course_data_last_row) do |r| course_group = CourseGroup.find_or_initialize_by(invite_code: course_data.cell(r, 3)) - teach_user = OpenUsers::Cas.find_by(uid: course_data.cell(r, 4))&.user + teach_user = OpenUsers::Cas.find_by(uid: course_data.cell(r, 5))&.user - if !course_group.persisted? + if !course_group.persisted? && teach_user.present? course = Course.find_or_initialize_by(school_id: school.id, name: course_data.cell(r, 2)) do |d| d.is_public = 0 d.tea_id = teach_user.id From f483d20bda2de5cee948cf54c7761df45131606e Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 28 Feb 2020 01:53:17 +0800 Subject: [PATCH 09/13] 1 --- app/controllers/weapps/challenges_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/weapps/challenges_controller.rb b/app/controllers/weapps/challenges_controller.rb index ed1f8e033..24bd4baeb 100644 --- a/app/controllers/weapps/challenges_controller.rb +++ b/app/controllers/weapps/challenges_controller.rb @@ -9,7 +9,7 @@ class Weapps::ChallengesController < Weapps::BaseController play = @shixun.is_jupyter? || @shixun.vnc || @shixun.hide_code? || (@shixun.small_mirror_name & ["Css", "Html", "Web"]).present? - if play || @challenge.st != 1 + if @challenge.st != 1 && play normal_status(-5, "该关卡暂不支持小程序") else render_ok From e0e8155398b9d46a2c4034133bdca13cc543a6ea Mon Sep 17 00:00:00 2001 From: anke1460 Date: Fri, 28 Feb 2020 02:03:39 +0800 Subject: [PATCH 10/13] fix rake --- lib/tasks/tfxy.rake | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/tasks/tfxy.rake b/lib/tasks/tfxy.rake index 32eece867..bf535a3b7 100644 --- a/lib/tasks/tfxy.rake +++ b/lib/tasks/tfxy.rake @@ -96,6 +96,9 @@ namespace :tfxy do teach_user = OpenUsers::Cas.find_by(uid: course_data.cell(r, 5))&.user + + puts "----teach_user-----uid-----#{course_data.cell(r, 5)}------#{teach_user.inspect}---" + if !course_group.persisted? && teach_user.present? course = Course.find_or_initialize_by(school_id: school.id, name: course_data.cell(r, 2)) do |d| d.is_public = 0 @@ -235,9 +238,9 @@ namespace :tfxy do student = OpenUsers::Cas.find_by(uid: course_member_data.cell(r, 1))&.user - puts "------student --- #{student.inspect}" + puts "------student --- #{course_member_data.cell(r, 1)}--course group--#{course_member_data.cell(r, 5)}" - if student.present? + if student.present? && course_group.present? course_member = CourseMember.find_or_initialize_by(course_id: course_group.course_id, user_id: student.id) do |d| d.role = 4 From b0b725ebfbf9b202393c1ca1a57922f09989e64e Mon Sep 17 00:00:00 2001 From: anke1460 Date: Fri, 28 Feb 2020 02:42:46 +0800 Subject: [PATCH 11/13] fix --- lib/tasks/tfxy.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/tfxy.rake b/lib/tasks/tfxy.rake index bf535a3b7..6faa78ecf 100644 --- a/lib/tasks/tfxy.rake +++ b/lib/tasks/tfxy.rake @@ -18,7 +18,7 @@ namespace :tfxy do teach_data_last_row = teach_data.last_row 2.upto(teach_data_last_row) do |r| - old_user = User.where("phone = '#{teach_data.cell(r, 5)}' OR mail = '#{teach_data.cell(r, 6)}' OR login = 'tfxy#{teach_data.cell(r, 1)}' " ) + old_user = User.where("phone = '#{teach_data.cell(r, 5)}' OR mail = '#{teach_data.cell(r, 6)}' OR login = 'tfxy#{teach_data.cell(r, 1)}' " ).first if !old_user.present? user = User.new( From eef49ea6635350fe4e49f2ebadafac9e2f9f7460 Mon Sep 17 00:00:00 2001 From: anke1460 Date: Fri, 28 Feb 2020 02:48:49 +0800 Subject: [PATCH 12/13] fix --- lib/tasks/tfxy.rake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/tasks/tfxy.rake b/lib/tasks/tfxy.rake index 6faa78ecf..89e5e4367 100644 --- a/lib/tasks/tfxy.rake +++ b/lib/tasks/tfxy.rake @@ -157,8 +157,8 @@ namespace :tfxy do 2.upto(student_data_last_row) do |r| # 邮箱存在 - if student_data.cell(r, 9).present? - old_user = User.where("phone = '#{student_data.cell(r, 8)}' OR mail = '#{student_data.cell(r, 9)}' OR login = 'tfxy#{student_data.cell(r, 1)}' " ).first + if student_data.cell(r, 9).strip.present? + old_user = User.where("phone = '#{student_data.cell(r, 8)}' OR mail = '#{student_data.cell(r, 9).strip}' OR login = 'tfxy#{student_data.cell(r, 1)}' " ).first else old_user = User.where("phone = '#{student_data.cell(r, 8)}' OR login = 'tfxy#{student_data.cell(r, 1)}' " ).first end @@ -172,7 +172,7 @@ namespace :tfxy do lastname: student_data.cell(r, 2), nickname: student_data.cell(r, 2), password: "Edu#{student_data.cell(r, 1)}", - mail: student_data.cell(r, 9), + mail: student_data.cell(r, 9).strip, profile_completed: true, professional_certification: 1, certification: 1, From 99887bd8284b77d834d7e32b16eef98feb4048d2 Mon Sep 17 00:00:00 2001 From: anke1460 Date: Fri, 28 Feb 2020 03:19:48 +0800 Subject: [PATCH 13/13] fix --- lib/tasks/tfxy.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/tfxy.rake b/lib/tasks/tfxy.rake index 89e5e4367..db929127c 100644 --- a/lib/tasks/tfxy.rake +++ b/lib/tasks/tfxy.rake @@ -100,7 +100,7 @@ namespace :tfxy do puts "----teach_user-----uid-----#{course_data.cell(r, 5)}------#{teach_user.inspect}---" if !course_group.persisted? && teach_user.present? - course = Course.find_or_initialize_by(school_id: school.id, name: course_data.cell(r, 2)) do |d| + course = Course.find_or_initialize_by(school_id: school.id, name: course_data.cell(r, 2), invite_code: course_data.cell(r, 1)[3..7]) do |d| d.is_public = 0 d.tea_id = teach_user.id d.laboratory_id = Laboratory.find(1)&.id