|
|
|
@ -23,24 +23,19 @@ class MyshixunsController < ApplicationController
|
|
|
|
|
begin
|
|
|
|
|
ActiveRecord::Base.transaction do
|
|
|
|
|
begin
|
|
|
|
|
@shixun = Shixun.select(:id, :identifier).find(@myshixun.shixun_id)
|
|
|
|
|
@shixun = Shixun.select(:id, :identifier, :challenges_count).find(@myshixun.shixun_id)
|
|
|
|
|
@myshixun.destroy!
|
|
|
|
|
|
|
|
|
|
StudentWork.where(:myshixun_id => @myshixun.id).update_all(:myshixun_id => 0, :work_status => 0)
|
|
|
|
|
|
|
|
|
|
# 实训在申请发布前,是否玩过实训,如果玩过需要更改记录,防止二次重置
|
|
|
|
|
shixun_mod = ShixunModify.where(:shixun_id => @shixun.id, :myshixun_id => @myshixun.id, :status => 1).take
|
|
|
|
|
shixun_mod.update_column(:status, 0) if shixun_mod
|
|
|
|
|
rescue Exception => e
|
|
|
|
|
logger.error("######reset_my_game_failed:#{e.message}")
|
|
|
|
|
raise("ActiveRecord::RecordInvalid")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
# 删除版本库
|
|
|
|
|
GitService.delete_repository(repo_path: @repo_path)
|
|
|
|
|
GitService.delete_repository(repo_path: @repo_path) unless @shixun.is_choice_type?
|
|
|
|
|
rescue Exception => e
|
|
|
|
|
if e.message != "ActiveRecord::RecordInvalid"
|
|
|
|
|
logger.error("######delete_repository_error:#{e.message}")
|
|
|
|
|
logger.error("######delete_repository_error-:#{e.message}")
|
|
|
|
|
end
|
|
|
|
|
raise "delete_repository_error:#{e.message}"
|
|
|
|
|
end
|
|
|
|
|