1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- namespace App\Http\Controllers\Mobile\Ic;
- use App\Http\Controllers\Mobile\MobileBaseController;
- use App\Models\Presentation;
- use App\Models\PresentationAppoint;
- use App\Repositories\CategoryMajorRepository;
- use App\Repositories\CategoryRepository;
- use App\Services\Common\CategoryService;
- use App\Validators\PresentationAppointValidatorRequest;
- 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 index()
- {
- $district = $this->categoryService->getDefaultDistrict();
- $presentation_list = Presentation::where('status', 1)->get();
- return view('mobile.app.ic.teach.index', [
- 'presentation_list' => $presentation_list,
- 'defaultCity' => $district->defaultCity,
- ]);
- }
- public function save(PresentationAppointValidatorRequest $request)
- {
- $data = $request->only('pid', 'avatar', 'realname', 'sex', 'mobile', 'birthday', 'native_place', 'fresh', 'education', 'school', 'dep', 'pro_type', 'pro_text', 'attachment');
- $check = PresentationAppoint::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'] ?? '';
- PresentationAppoint::create($data);
- return response()->json(['status' => 1]);
- }
- }
|