mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-03 03:40:49 +08:00
init project
This commit is contained in:
122
app/controllers/admins/unit_applies_controller.rb
Normal file
122
app/controllers/admins/unit_applies_controller.rb
Normal file
@@ -0,0 +1,122 @@
|
||||
class Admins::UnitAppliesController < Admins::BaseController
|
||||
before_action :get_apply,only: [:agree,:destroy,:edit,:update]
|
||||
|
||||
def index
|
||||
params[:sort_by] ||= 'created_at'
|
||||
params[:sort_direction] ||= 'desc'
|
||||
unit_applies = Admins::UnitApplyQuery.call(params)
|
||||
@unit_applies = paginate unit_applies.preload(:school, :user)
|
||||
end
|
||||
|
||||
def agree
|
||||
ActiveRecord::Base.transaction do
|
||||
begin
|
||||
@unit_apply.update_attribute("status",1)
|
||||
@unit_apply&.applied_messages&.update_all(status:1)
|
||||
@unit_apply&.school&.update_attribute("province",@unit_apply.province)
|
||||
|
||||
# #申请信息的创建
|
||||
apply_message_params = {
|
||||
user_id: @unit_apply&.user_id,
|
||||
status: 1,
|
||||
viewed: 0,
|
||||
applied_id: @unit_apply.school_id,
|
||||
applied_type: "ApplyAddSchools",
|
||||
name: @unit_apply.name,
|
||||
}
|
||||
AppliedMessage.new(apply_message_params).save(validate: false)
|
||||
|
||||
Tiding.where(user_id: 1, trigger_user_id: @unit_apply.user_id, container_id: @unit_apply.id,
|
||||
container_type: 'ApplyAddSchools', status: 0, tiding_type: "Apply").update_all(status: 1)
|
||||
#消息的创建
|
||||
tiding_params = {
|
||||
user_id: @unit_apply.user_id,
|
||||
trigger_user_id: 0,
|
||||
container_id: @unit_apply.id,
|
||||
container_type: 'ApplyAddSchools',
|
||||
belong_container_id: @unit_apply.school_id,
|
||||
belong_container_type: "School",
|
||||
tiding_type: "System",
|
||||
status: 1
|
||||
}
|
||||
Tiding.create(tiding_params)
|
||||
render_success_js
|
||||
rescue Exception => e
|
||||
Rails.logger.info("############_________________#########{e}")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
Admins::DeleteUnitApplyService.call(@unit_apply, params)
|
||||
render_success_js
|
||||
end
|
||||
|
||||
def edit
|
||||
@all_schools = School.where.not(id: @unit_apply.school_id).pluck("name","id")
|
||||
|
||||
end
|
||||
|
||||
def update
|
||||
school = School.find_by(id: params[:school_id])
|
||||
ActiveRecord::Base.transaction do
|
||||
@unit_apply&.applied_messages&.update_all(status:4)
|
||||
Tiding.where(user_id: 1, trigger_user_id: @unit_apply.user_id, container_id: @unit_apply.id,
|
||||
container_type: 'ApplyAddSchools', status: 0, tiding_type: "Apply").update_all(status: 1)
|
||||
|
||||
#消息的创建
|
||||
tiding_params = {
|
||||
user_id: @unit_apply.user_id,
|
||||
trigger_user_id: 0,
|
||||
container_id: @unit_apply.id,
|
||||
container_type: 'ApplyAddSchools',
|
||||
belong_container_id: params[:school_id],
|
||||
belong_container_type: "School",
|
||||
tiding_type: "System",
|
||||
status: 3,
|
||||
extra: school.try(:name).to_s
|
||||
}
|
||||
Tiding.create(tiding_params)
|
||||
|
||||
UserExtension.where(school_id: @unit_apply.school_id).update_all(school_id: params[:school_id].to_i)
|
||||
ApplyAddDepartment.where(:school_id => @unit_apply.school_id).update_all(school_id: params[:school_id].to_i)
|
||||
|
||||
# 判断重复
|
||||
before_apply_departments = Department.where(school_id: @unit_apply.school_id)
|
||||
before_apply_departments.each do |department|
|
||||
after_dep = Department.where(school_id: params[:school_id].to_i, name: department.name)&.first
|
||||
if after_dep.present?
|
||||
UserExtension.where(school_id: @unit_apply.school_id, department_id: department.id).update_all(department_id: after_dep.id)
|
||||
department.destroy
|
||||
department.apply_add_departments.destroy_all
|
||||
else
|
||||
department.apply_add_departments.update_all(school_id: school.id)
|
||||
department.update_attribute(:school_id, school.id)
|
||||
end
|
||||
end
|
||||
|
||||
@unit_apply&.school&.destroy
|
||||
apply_params = {
|
||||
status: 2,
|
||||
name: school&.name.to_s,
|
||||
school_id: params[:school_id],
|
||||
province: params[:province],
|
||||
city: params[:city],
|
||||
address: params[:address]
|
||||
}
|
||||
@unit_apply.update_attributes(apply_params)
|
||||
# render_success_js
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def get_apply
|
||||
@unit_apply = ApplyAddSchool.find_by(id:params[:id])
|
||||
end
|
||||
|
||||
def disk_auth_filename(source_type, source_id, type)
|
||||
File.join(storage_path, "#{source_type}", "#{source_id}#{type}")
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user