| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 | <?phpnamespace App\Http\Controllers\Mobile\Ic;use App\Http\Controllers\Mobile\MobileBaseController;use App\Models\Company;use App\Models\JobfairsIc;use App\Models\JobFairsIcAppoint;use App\Models\PresentationAppoint;use App\Repositories\CategoryMajorRepository;use App\Repositories\CategoryRepository;use App\Services\Common\CategoryService;use App\Validators\PresentationAppointValidatorRequest;use Illuminate\Http\Request;use Illuminate\Support\Facades\Storage;use App\Repositories\CategoryDistrictRepository;class TeachController extends MobileBaseController{    protected $categoryService;    protected $CategoryDistrictRepository;    protected $CategoryMajorRepository;    protected $CategoryRepository;    public function __construct(CategoryService $categoryService, CategoryDistrictRepository $categoryDistrictRepository, CategoryMajorRepository $CategoryMajorRepository, CategoryRepository $CategoryRepository)    {        $this->categoryService            = $categoryService;        $this->CategoryDistrictRepository = $categoryDistrictRepository;        $this->CategoryMajorRepository    = $CategoryMajorRepository;        $this->CategoryRepository         = $CategoryRepository;    }    public function uploadHead()    {        $image_data = request()->pic1;        $saveName   = 'person/images/' . uniqid() . '.jpg';        $data       = base64_decode($image_data);        if (!empty($data)) {            $res = Storage::disk('public')->put($saveName, $data);            return response()->json(['status' => 1, 'info' => 'success', 'data' => $saveName]);        } else {            return response()->json(['status' => 0, 'info' => '请上传图片']);        }    }    public function list(Request $request)    {        $size = 5;        $list = JobfairsIc::where('display', 1)->orderBy('ordid', 'desc')->orderBy('id', 'desc')->paginate($size);        if ($list->total() > 0) {            foreach ($list as $v) {                $v['holddate_start_date'] = date('Y-m-d', strtotime($v['holddate_start']));                $v['holddate_start_time'] = date('H:i:s', strtotime($v['holddate_start']));                $v['holddate_end_date']   = date('Y-m-d', strtotime($v['holddate_end']));                $v['holddate_end_time']   = date('H:i:s', strtotime($v['holddate_end']));                $v['companys_arr']        = explode(',', $v['companys']);            }        }        $mobile_dropload = false;        if ($list->total() > $size) {            $mobile_dropload = true;        }        if ($request->ajax()) {            if ($list->lastPage() < $list->currentPage()) {                return response()->json(['status' => 0]);            }            return response()->json(['status' => 1, 'data' => view('mobile.app.ic.teach.ajax_list', ['list' => $list])->render()]);        }        $return_data = [            'list'            => $list,            'mobile_dropload' => $mobile_dropload,            'current_url'     => \Illuminate\Support\Facades\Request::getRequestUri(),        ];        return view('mobile.app.ic.teach.list', $return_data);    }    public function detail(Request $request)    {        $info = JobfairsIc::find($request->get('id'));        if (empty($info) || $info->display != 1) {            $back_url = \Illuminate\Support\Facades\URL::previous();            return $this->showMessage('招聘会不存在或已结束', $back_url, true, '上一页', '3');        }        $companys_arr = [];        if (!empty($info['companys'])) {            $companys = Company::whereIn('id', explode(',', $info['companys']))->get();            foreach ($companys as $company) {                $companys_arr[] = ['id' => $company->id, 'name' => $company->companyname];            }        }        $info['companys_arr'] = $companys_arr;        return view('mobile.app.ic.teach.detail', ['info' => $info]);    }    public function index(Request $request)    {        $district = $this->categoryService->getDefaultDistrict();        return view('mobile.app.ic.teach.index', [            'defaultCity' => $district->defaultCity,            'id' => $request->get('id'),        ]);    }    public function save(PresentationAppointValidatorRequest $request)    {        $field = [            'pid'=>'招聘会场次',            'realname'=>'姓名',            'sex'=> '性别',            'mobile'=>'手机号',            'birthday'=>'出生年月',            'native_place'=>'籍贯',            'fresh'=>'是否应届',            'education'=>'学历',            'school'=>'学校',            'dep'=>'院系',            'pro_type'=>'专业',            'pro_text'=>'具体专业'        ];        $data  = $request->post();        foreach ($field as $k => $v) {            if (empty($data[$k])) {                dd($data,$k);                return response()->json(['status' => 0, 'msg' => $v . '不能为空']);            }        }        $check = JobFairsIcAppoint::where('pid', $data['pid'])->where('mobile', $data['mobile'])->first();        if (!empty($check)) {            return response()->json(['status' => 0, 'msg' => '您已提交过,请勿重复提交']);        }        //籍贯        $native_place_arr = explode('.', $data['native_place']);        $houseRes         = $this->CategoryDistrictRepository->getManydistrict($native_place_arr);        $native_place_cn  = '';        foreach ($houseRes as $k => $v) {            $native_place_cn .= $v['name'];        }        $data['native_place'] = $native_place_cn;        //专业类别        $majorArr         = $this->CategoryMajorRepository->getCategoryMajor($data['pro_type']);        $data['pro_type'] = $majorArr['name'];        //学历        $educationArr      = $this->CategoryRepository->getCategory($data['education']);        $data['education'] = $educationArr['demand'];        //其他处理        $data['avatar']     = $data['avatar'] ?? '';        $data['attachment'] = $data['attachment'] ?? '';        JobFairsIcAppoint::create($data);        return response()->json(['status' => 1]);    }}
 |