| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667 | 
							- <?php
 
- namespace App\Services\Person;
 
- use App\Exceptions\ResponseException;
 
- use App\Models\Company;
 
- use App\Models\Feedback;
 
- use App\Models\MemberInfo;
 
- use App\Models\Msg;
 
- use App\Models\Pms;
 
- use App\Models\Resume;
 
- use App\Models\Thirdlogin;
 
- use App\Repositories\CategoryDistrictRepository;
 
- use App\Repositories\MemberInfoRepository;
 
- use App\Repositories\CategoryRepository;
 
- use App\Repositories\CategoryMajorRepository;
 
- use App\Repositories\MemberLogRepository;
 
- use App\Repositories\MemberMsgtipRepository;
 
- use App\Repositories\MemberRepository;
 
- use App\Repositories\MsgRepository;
 
- use App\Repositories\OauthRepository;
 
- use App\Repositories\PmsRepository;
 
- use App\Repositories\ResumeRepository;
 
- use App\Repositories\ThirdloginRepository;
 
- use App\Services\Common\TaskService;
 
- use App\Services\Person\ResumeService;
 
- use Exception;
 
- use Illuminate\Support\Facades\Cache;
 
- use Illuminate\Support\Facades\DB;
 
- use Illuminate\Support\Facades\Hash;
 
- use Illuminate\Support\Facades\Storage;
 
- class MemberInfoService
 
- {
 
-     /**
 
-      * @var MemberInfoRepository
 
-      */
 
-     protected $MemberInfoRepository;
 
-     protected $CategoryRepository;
 
-     protected $CategoryMajorRepository;
 
-     protected $MemberRepository;
 
-     protected $CategoryDistrictRepository;
 
-     protected $TaskService;
 
-     protected $memberLogRepository;
 
-     protected $pmsRepository;
 
-     protected $memberMsgtipRepository;
 
-     protected $msgRepository;
 
-     protected $resumeRepository;
 
-     protected $oauthRepository;
 
-     protected $thirdloginRepository;
 
-     protected $resumeService;
 
-     /**
 
-      * MemberInfoService constructor.
 
-      * @param MemberInfoRepository $MemberInfoRepository
 
-      * @param CategoryRepository $CategoryRepository
 
-      * @param CategoryMajorRepository $CategoryMajorRepository
 
-      * @param MemberRepository $MemberRepository
 
-      * @param CategoryDistrictRepository $CategoryDistrictRepository
 
-      * @param TaskService $TaskService
 
-      * @param MemberLogRepository $memberLogRepository
 
-      * @param PmsRepository $pmsRepository
 
-      * @param MemberMsgtipRepository $memberMsgtipRepository
 
-      * @param MsgRepository $msgRepository
 
-      * @param resumeRepository $resumeRepository
 
-      * @param oauthRepository $oauthRepository
 
-      * @param thirdloginRepository $thirdloginRepository
 
-      */
 
-     public function __construct(MemberInfoRepository $MemberInfoRepository, CategoryRepository $CategoryRepository, CategoryMajorRepository $CategoryMajorRepository, MemberRepository $MemberRepository, CategoryDistrictRepository $CategoryDistrictRepository, TaskService $TaskService, MemberLogRepository $memberLogRepository, PmsRepository $pmsRepository, MemberMsgtipRepository $memberMsgtipRepository, MsgRepository $msgRepository, ResumeRepository $resumeRepository, OauthRepository $oauthRepository, ThirdloginRepository $thirdloginRepository, ResumeService $resumeService)
 
-     {
 
-         $this->MemberInfoRepository = $MemberInfoRepository;
 
-         $this->CategoryRepository = $CategoryRepository;
 
-         $this->CategoryMajorRepository = $CategoryMajorRepository;
 
-         $this->MemberRepository = $MemberRepository;
 
-         $this->CategoryDistrictRepository = $CategoryDistrictRepository;
 
-         $this->TaskService = $TaskService;
 
-         $this->memberLogRepository = $memberLogRepository;
 
-         $this->pmsRepository = $pmsRepository;
 
-         $this->memberMsgtipRepository = $memberMsgtipRepository;
 
-         $this->msgRepository = $msgRepository;
 
-         $this->resumeRepository = $resumeRepository;
 
-         $this->oauthRepository = $oauthRepository;
 
-         $this->thirdloginRepository = $thirdloginRepository;
 
-         $this->resumeService = $resumeService;
 
-     }
 
-     public function memberInfo($user)
 
-     {
 
-         $content = $this->MemberInfoRepository->getMemberInfo($user->id);
 
-         return ['content'=>$content];
 
-     }
 
-     public function updateInfo($date, $user)
 
-     {
 
-         if ($date['card_t_cn']==306) {
 
-             if (!isCreditNo($date['id_card'])) {
 
-                 throw new ResponseException('身份证格式错误!');
 
-             }
 
-         }
 
-         if (isset($date['qq']) && !empty($date['qq'])) {
 
-             if (!preg_match('/^\d*$/', $date['qq'])) {
 
-                 throw new ResponseException('qq号只能是数字!');
 
-             }
 
-         }
 
-         if (isset($date['weixin']) && !empty($date['weixin'])) {
 
-             if (preg_match('/[\x7f-\xff]/', $date['weixin'])) {
 
-                 throw new ResponseException('微信号不能含有中文!');
 
-             }
 
-         }
 
-         $memberInfo = $this->MemberInfoRepository->getMemberInfo($user->id);
 
-         if ($date['sex']==1) {
 
-             $date['sex_cn'] = '男';
 
-         } else {
 
-             $date['sex_cn'] = '女';
 
-         }
 
-         if ($date['marriage']==1) {
 
-             $date['marriage_cn'] = '未婚';
 
-         } elseif ($date['marriage']==2) {
 
-             $date['marriage_cn'] = '已婚';
 
-         } else {
 
-             $date['marriage_cn'] = '保密';
 
-         }
 
-         $educationArr = $this->CategoryRepository->getCategory($date['education']);
 
-         $date['education_cn'] = $educationArr['demand'];
 
-         $experienceArr = $this->CategoryRepository->getCategory($date['experience']);
 
-         $date['experience_cn'] = $experienceArr['demand'];
 
-         if (!empty($date['major'])) {
 
-             $majorArr = $this->CategoryMajorRepository->getCategoryMajor($date['major']);
 
-             $date['major_cn'] = $majorArr['name'];
 
-         }
 
-         $residenseArr = explode(',', $date['residence']);
 
-         $residenseArrId = [];
 
-         foreach ($residenseArr as $key => $val) {
 
-             $residenseArrId[] = explode('.', $val)[2] ? explode('.', $val)[2] : explode('.', $val)[1];
 
-         }
 
-         $residenseRes = $this->CategoryDistrictRepository->getManydistrict($residenseArrId);
 
-         $date['residence_cn'] = '';
 
-         foreach ($residenseRes as $key => $val) {
 
-             $nm = $this->CategoryDistrictRepository->getCategoryDistrict($val->parent_id);
 
-             $date['residence_cn'].=$nm->name.'-'.$val->name.'+';
 
-         }
 
-         $date['residence_cn'] = rtrim($date['residence_cn'], '+');
 
-         $date['householdaddress_cn'] = '';
 
-         if (!empty($date['householdaddress'])) {
 
-             $houseArr = explode(',', $date['householdaddress']);
 
-             $houseArrId = [];
 
-             foreach ($houseArr as $key => $val) {
 
-                 $houseArrId[] = explode('.', $val)[2] ? explode('.', $val)[2] : explode('.', $val)[1];
 
-             }
 
-             $houseRes = $this->CategoryDistrictRepository->getManydistrict($houseArrId);
 
-             foreach ($houseRes as $key => $val) {
 
-                 $nm = $this->CategoryDistrictRepository->getCategoryDistrict($val->parent_id);
 
-                 $date['householdaddress_cn'].=$nm->name.'-'.$val->name.'+';
 
-             }
 
-             $date['householdaddress_cn'] = rtrim($date['householdaddress_cn'], '+');
 
-         }
 
-         if ($date['card_t_cn']==306) {
 
-             $card = strlen($date['id_card'])==15 ? ('19' . substr($date['id_card'], 6, 2)) : substr($date['id_card'], 6, 4);
 
-             if ($date['birthday']!=$card) {
 
-                 throw new ResponseException('出生年月和身份证不符合!');
 
-             }
 
-         }
 
-         $resume = $this->resumeRepository->getResumes(['uid'=>$user->id]);
 
-         $resume_id = array_column($resume->toArray(), 'id');
 
-         if(isset($date['display_name'])){
 
-             $resume_arr['display_name'] = $date['display_name'];
 
-         }
 
-         $resume_arr['fullname'] = $date['realname'];
 
-         $resume_arr['sex'] = $date['sex'];
 
-         $resume_arr['sex_cn'] = $date['sex_cn'];
 
-         $resume_arr['birthdate'] = $date['birthday'];
 
-         $resume_arr['residence'] = $date['residence_cn'];
 
-         $resume_arr['height'] = $date['height'];
 
-         $resume_arr['marriage'] = $date['marriage'];
 
-         $resume_arr['marriage_cn'] = $date['marriage_cn'];
 
-         $resume_arr['experience'] = $date['experience'];
 
-         $resume_arr['experience_cn'] = $date['experience_cn'];
 
-         $resume_arr['householdaddress'] = $date['householdaddress_cn'];
 
-         $resume_arr['education'] = $date['education'];
 
-         $resume_arr['education_cn'] = $date['education_cn'];
 
-         $resume_arr['major'] = $date['major'];
 
-         $resume_arr['major_cn'] = isset($date['major_cn']) ? $date['major_cn'] : '';
 
-         $resume_arr['telephone'] = $date['phone'];
 
-         $resume_arr['email'] = $date['email'];
 
-         $resume_arr['qq'] = $date['qq'];
 
-         $resume_arr['weixin'] = $date['weixin'];
 
-         $resume_arr['idcard'] = $date['id_card'];
 
-         $member = $this->MemberRepository->getMemberById($user->id);
 
-         $memData = [];
 
-         if (!$member->mobile_audit) {
 
-             $memData['mobile'] = $date['phone'];
 
-         }
 
-         if (!$member->email_audit) {
 
-             $memData['email'] = $date['email'];
 
-         }
 
-         DB::beginTransaction();
 
-             if ($memData) {
 
-                 $this->MemberRepository->updateInfo($user->id, $memData);
 
-             }
 
-             if (!$memberInfo) {
 
-                 $date['uid'] = $user->id;
 
-                 $this->MemberInfoRepository->createInfo($date);
 
-             } else {
 
-                 $this->MemberInfoRepository->updateInfo($date, $user->id);
 
-             }
 
-             $this->resumeRepository->updateAllResume($resume_id, $resume_arr);
 
-             //通过学历判断人才类别前置操作
 
-             $this->resumeService->edu_mate($resume_arr['education'],$user->id);
 
-             event_search_update(Resume::class, implode(',', $resume_id), 'update');
 
-             DB::commit();
 
-             if(!$this->memberLogRepository->createLog(auth('web-member')->user(),2043,"")){
 
-                 throw new \Exception("日志记失败!");
 
-             }
 
-             return ['code'=>1,'info'=>$date];
 
-     }
 
-     public function updateHead($image_data, $user)
 
-     {
 
-         $saveName = 'person/images/'.uniqid().'.jpg';
 
-         $data= base64_decode($image_data);
 
-         if (!empty($data)) {
 
-             $res = Storage::disk('public')->put($saveName, $data);
 
-             if ($res) {
 
-                 $this->TaskService->doTask(5);
 
-                 DB::beginTransaction();
 
-                 try {
 
-                     $info = MemberInfo::where(['uid'=>$user->id])->first();
 
-                     MemberInfo::where(['uid'=>$user->id])->update(['images'=>$saveName,'photo'=>1,'photo_audit'=>1]);
 
-                     if (!$info->images) {
 
-                         $resInfo = Resume::where(['uid'=>$user->id])->get();
 
-                         foreach ($resInfo as $key => $val) {
 
-                             if ($val->complete_percent+5<=100) {
 
-                                 if ($val->complete_percent+5>=70 &&  $val->complete_percent+5<90) {
 
-                                     Resume::where(['id'=>$val->id])->update(['complete_percent'=>$val->complete_percent+5,'level'=>2]);
 
-                                 } elseif ($val->complete_percent+5>=90 &&  $val->complete_percent+5<=100) {
 
-                                     Resume::where(['id'=>$val->id])->update(['complete_percent'=>$val->complete_percent+5,'level'=>1]);
 
-                                 } else {
 
-                                     Resume::where(['id'=>$val->id])->update(['complete_percent'=>$val->complete_percent+5,'level'=>0]);
 
-                                 }
 
-                             }
 
-                         }
 
-                     }
 
-                     event_search_update(Resume::class, [['where','uid', $user->id]], 'update');
 
-                     DB::commit();
 
-                     if(!$this->memberLogRepository->createLog(auth('web-member')->user(),2044,"")){
 
-                          throw new \Exception("日志记失败!");
 
-                      }
 
-                     return ['status'=>1,'info'=>'success','data'=>$saveName];
 
-                 } catch (Exception $e) {
 
-                     DB::rollback();
 
-                     return ['status'=>0,'info'=>'error'];
 
-                 }
 
-             } else {
 
-                 return ['status'=>0,'info'=>'error'];
 
-             }
 
-         } else {
 
-             return '请上传图片 ';
 
-         }
 
-     }
 
-     public function memberSafe($user)
 
-     {
 
-         return $this->MemberInfoRepository->getMemberInfo($user->id);
 
-     }
 
-     public function unbind($user, $type)
 
-     {
 
-         if ($type=='qq') {
 
-             $type = [1];
 
-         } elseif ($type=='weixin') {
 
-             $type = [2,3,4];
 
-         }else{
 
-             throw new ResponseException('数据错误');
 
-         }
 
-         return $this->thirdloginRepository->unBind($type, $user);
 
-     }
 
-     public function oauths()
 
-     {
 
-         return $this->oauthRepository->getOauth();
 
-     }
 
-     public function qq($user, $type)
 
-     {
 
-         return $this->thirdloginRepository->checkBind($user, $type);
 
-     }
 
-     public function weixin($user, $type)
 
-     {
 
-         return $this->thirdloginRepository->checkBind($user, $type);
 
-     }
 
-     /**
 
-      * 更新密码。
 
-      */
 
-     public function updatePassword($oldpassword, $password, $password1, $user)
 
-     {
 
-         $member = $this->MemberRepository->getMemberById($user->id);
 
-         if (!Hash::check($oldpassword, $member->password)) {
 
-             return ['status'=>0,'info'=>'原密码错误'];
 
-         }
 
-         if ($password!=$password1) {
 
-             return ['status'=>0,'info'=>'俩次密码不一致'];
 
-         }
 
-         if (Hash::check($password, $member->password)) {
 
-             return ['status'=>0,'info'=>'新密码不能与旧密码一致!'];
 
-         }
 
-         $res = $this->MemberRepository->updatePasswordById(bcrypt($password), $user->id);
 
-         if ($res) {
 
-             if(!$this->memberLogRepository->createLog(auth('web-member')->user(),2045,"")){
 
-                 throw new \Exception("日志记失败!");
 
-             }
 
-             return ['status'=>1,'info'=>'修改成功'];
 
-         } else {
 
-             return ['status'=>0,'info'=>'修改失败'];
 
-         }
 
-     }
 
-     public function mobileAuditCode($mobile)
 
-     {
 
-         $id = auth('web-member')->user()->id;
 
-         DB::beginTransaction();
 
-         try {
 
-             $this->MemberRepository->updateInfo($id, ['mobile'=>$mobile,'mobile_audit'=>1]);
 
-             $this->MemberInfoRepository->updateInfo(['phone'=>$mobile], $id);
 
-             DB::commit();
 
-         } catch (Exception $e) {
 
-             DB::rollback();
 
-             return ['code'=>0,'points'=>0];
 
-         }
 
-         $task = $this->TaskService->doTask(7);
 
-         if ($task['code']==1) {
 
-             return ['code'=>1,'points'=>$task['data']['points']];
 
-         } else {
 
-             return ['code'=>1,'points'=>0];
 
-         }
 
-     }
 
-     public function updateUsername($username)
 
-     {
 
-         $id = auth('web-member')->user()->id;
 
-         return $this->MemberRepository->updateInfo($id, ['username'=>$username]);
 
-     }
 
-     public function getMemberLog($user, $url)
 
-     {
 
-         $loginLog = $this->memberLogRepository->getMemberLog(
 
-             $user->id,
 
-             $user->utype,
 
-             1001
 
-         );
 
-         if(strpos($url->uri,'mobile')!==false){
 
-             $loginLog = $loginLog->toArray();
 
-             if ($loginLog['total']) {
 
-                 $list = [];
 
-                 foreach ($loginLog['data'] as $key => $val) {
 
-                     $t = strtotime(date('Y-m-d', strtotime($val['created_at'])));
 
-                     $list[$t][] = $val;
 
-                 }
 
-                 $loginLog['data'] = $list;
 
-             }
 
-         }
 
-         return $loginLog;
 
-     }
 
-     public function pms($user)
 
-     {
 
-         $data[] = ['msgtouid','=',$user->id];
 
-         $data[] = ['utype','=',$user->utype];
 
-         if (request()->status) {
 
-             switch (request()->status) {
 
-                 case 1:
 
-                     $data[] = ['new','=',1];
 
-                     break;
 
-                 case 2:
 
-                     $data[] = ['new','=',2];
 
-                     break;
 
-                 default:
 
-                     $data[] = ['new','=',1];
 
-                     break;
 
-             }
 
-         }
 
-         if (request()->settr) {
 
-             switch (request()->settr) {
 
-                 case '3':
 
-                     $data[] = ['created_at' ,'>=' ,date('Y-m-d H:i:s', strtotime("-3 day"))];
 
-                     break;
 
-                 case '7':
 
-                     $data[] = ['created_at' ,'>=' ,date('Y-m-d H:i:s', strtotime("-7 day"))];
 
-                     break;
 
-                 case '15':
 
-                     $data[] = ['created_at' ,'>=' ,date('Y-m-d H:i:s', strtotime("-15 day"))];
 
-                     break;
 
-                 default:
 
-                     $data[] = ['created_at' ,'>=' ,date('Y-m-d H:i:s', strtotime("-3 day"))];
 
-                     break;
 
-             }
 
-         }
 
-         $res = $this->pmsRepository->getPms($data);
 
-         return $res;
 
-     }
 
-     public function checkPms($id,$user)
 
-     {
 
-         $res_m = Pms::where(['utype'=>$user->utype])->where(function ($query) use ($user) {
 
-             $query->where(['msgfromuid'=>$user->id])->orWhere(['msgtouid'=>$user->id]);
 
-         })->get()->toArray();
 
-         $array_id = array_column($res_m,'id');
 
-         if(!in_array($id,$array_id)){
 
-             return ['code'=>0,'info'=>(object)['message'=>'消息不存在']];
 
-         }
 
-         $res = $this->pmsRepository->updateNewById($id, ['new'=>2]);
 
-         if ($res) {
 
-             return ['code'=>1,'info'=>$this->pmsRepository->getPmsById($id)];
 
-         } else {
 
-             return ['code'=>0,'info'=>(object)['message'=>'数据异常,稍后再试!']];
 
-         }
 
-     }
 
-     public function sendAuthEmailHook($newEmail, $personal)
 
-     {
 
-         Cache::put($newEmail, $personal, 24*60);
 
-     }
 
-     /**
 
-      * 邮箱验证
 
-      * @param $newEmail
 
-      * @return bool
 
-      */
 
-     public function verifyEmail($newEmail)
 
-     {
 
-         $personal=Cache::pull($newEmail, null);
 
-         if ($personal) {
 
-             DB::beginTransaction();
 
-             try {
 
-                 $this->MemberRepository->updateInfo($personal->id, ['email'=>$newEmail,'email_audit'=>1]);
 
-                 $this->MemberInfoRepository->updateInfo(['email'=>$newEmail], $personal->id);
 
-                 DB::commit();
 
-             } catch (Exception $e) {
 
-                 DB::rollback();
 
-                 return false;
 
-             }
 
-             return true;
 
-         }
 
-         return false;
 
-     }
 
-     public function deletePms($arrId,$user)
 
-     {
 
-         if (empty($arrId)) {
 
-             throw new ResponseException('请选择消息!');
 
-         }
 
-         $res = Pms::where(['utype'=>$user->utype])->where(function ($query) use ($user) {
 
-             $query->where(['msgfromuid'=>$user->id])->orWhere(['msgtouid'=>$user->id]);
 
-         })->get()->toArray();
 
-         $array_id = array_column($res,'id');
 
-         $res_k = string_to_array(',',$arrId);
 
-         foreach ($res_k as $key=>$val){
 
-             if(!in_array($val,$array_id)){
 
-                 throw new ResponseException('消息不存在!', '', '400');
 
-             }
 
-         }
 
-         return $this->pmsRepository->deleteAll(string_to_array(',', $arrId));
 
-     }
 
-     public function newPms($arrId, $user)
 
-     {
 
-         if (empty($arrId)) {
 
-             throw new ResponseException('请选择消息!');
 
-         }
 
-         $id = explode(',', $arrId);
 
-         $res_m = Pms::where(['utype'=>$user->utype])->where(function ($query) use ($user) {
 
-             $query->where(['msgfromuid'=>$user->id])->orWhere(['msgtouid'=>$user->id]);
 
-         })->get()->toArray();
 
-         $array_id = array_column($res_m,'id');
 
-         foreach ($id as $key=>$val){
 
-             if(!in_array($val,$array_id)){
 
-                 throw new ResponseException('消息不存在!');
 
-             }
 
-         }
 
-         $condition['uid'] = $user->id;
 
-         $condition['utype'] = $user->utype;
 
-         $count = $this->memberMsgtipRepository->getTipCount($condition);
 
-         DB::beginTransaction();
 
-         try {
 
-             $result = $this->pmsRepository->updateNew($id, ['msgtouid'=>$user->id, 'utype'=>$user->utype], ['new'=>2]);
 
-             if ($count>=$result) {
 
-                 $this->memberMsgtipRepository->updateTip($condition, $result);
 
-             }
 
-             DB::commit();
 
-             return true;
 
-         } catch (\Exception $e) {
 
-             DB::rollback();
 
-             return false;
 
-         }
 
-     }
 
-     public function msg($user)
 
-     {
 
-         $res = $this->msgRepository->msg($user->utype, $user->id);
 
-         if ($res->total()) {
 
-             foreach ($res as $key => $val) {
 
-                 $utype = explode(',', $val->result);
 
-                 foreach ($utype as $key1 => $val1) {
 
-                     $utype1 = explode(':', $val1);
 
-                     if ($utype1[0]==1) {
 
-                         $company = Company::where(['id'=>$utype1[1]])->select('companyname')->first();
 
-                         $member = MemberInfo::where(['uid'=>$utype1[2]])->select('images')->first();
 
-                         if ($company) {
 
-                             $res[$key]->companyName  = $company->companyname;
 
-                         } else {
 
-                             $res[$key]->companyName  = '';
 
-                         }
 
-                         if ($member) {
 
-                             $res[$key]->images  = $member->images;
 
-                         } else {
 
-                             $res[$key]->images  = '';
 
-                         }
 
-                         break;
 
-                     } else {
 
-                         $company = Company::where(['id'=>$utype1[2]])->select('companyname')->first();
 
-                         $member = MemberInfo::where(['uid'=>$utype1[1]])->select('images')->first();
 
-                         if ($company) {
 
-                             $res[$key]->companyName  = $company->companyname;
 
-                         } else {
 
-                             $res[$key]->companyName  = '';
 
-                         }
 
-                         if ($member) {
 
-                             $res[$key]->images  = $member->images;
 
-                         } else {
 
-                             $res[$key]->images  = '';
 
-                         }
 
-                         break;
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-         return $res;
 
-     }
 
-     public function mobileMsg($user)
 
-     {
 
-         return $this->msgRepository->mobileMsg($user->utype, $user->id);
 
-     }
 
-     public function mobileMsgShow($user, $parent_id)
 
-     {
 
-         $company = [];
 
-         if ($user->utype == 1) {
 
-             $res = $this->msgRepository->mobileMsgShows($parent_id);
 
-             $msg = Msg::where(['parent_id'=>$parent_id, 'utype'=>2])->first();
 
-             if ($msg) {
 
-                 $company = MemberInfo::where('uid', $msg->from_uid)->first();
 
-                 $company->to_uid = $msg->from_uid;
 
-                 $company->parent_id = $msg->parent_id;
 
-                 $company->resumes = Resume::where(['uid'=> $msg->from_uid,'def'=>1])->first();
 
-             }
 
-         } else {
 
-             $res = $this->msgRepository->mobileMsgShow($parent_id);
 
-             $msg = Msg::where(['parent_id'=>$parent_id, 'utype'=>1])->first();
 
-             if ($msg) {
 
-                 $company =  Company::findOrFail($msg->from_uid);
 
-                 $company->to_uid = $msg->from_uid;
 
-                 $company->parent_id = $msg->parent_id;
 
-             }
 
-         }
 
-         foreach ($res as $key => $val){
 
-             if ($val->utype==1) {
 
-                 $res[$key]->company = Company::findOrFail($val->from_uid);
 
-             } else {
 
-                 $res[$key]->memberInfo = MemberInfo::where('uid', $val->from_uid)->first();
 
-             }
 
-         }
 
-          return ['res'=>$res,'company'=>$company];
 
-     }
 
-     public function msgSend($user, $input)
 
-     {
 
-         $data = [];
 
-         $input['parent_id'] = array_get($input,'parent_id');
 
-         if (empty($input['parent_id'])) {
 
-             throw new ResponseException('数据异常!');
 
-         }
 
-         if (empty($input['to_uid'])) {
 
-             throw new ResponseException('企业信息不存在!');
 
-         }
 
-         if (empty($input['message'])) {
 
-             throw new ResponseException('回复信息不能为空!');
 
-         }
 
-         if (mb_strlen($input['message'], 'utf-8')>200) {
 
-             throw new ResponseException('回复信息不能超过200个字。');
 
-         }
 
-         $res_k = Msg::where(function ($query) use($user) {
 
-             $query->where('from_uid',$user->id)->orWhere('to_uid',$user->id);
 
-         })->get()->toArray();
 
-         $array_id = array_column($res_k,'parent_id');
 
-         if(!in_array($input['parent_id'],$array_id)){
 
-             throw new ResponseException('消息不存在!');
 
-         }
 
-         $data['parent_id'] = $input['parent_id'];
 
-         $data['utype'] = $user->utype;
 
-         $data['from_uid'] = $user->id;
 
-         $data['to_uid'] = $input['to_uid'];
 
-         $data['message'] = $input['message'];
 
-         $res = $this->msgRepository->msgSend($data);
 
-         if ($res) {
 
-             $company = Company::where(['id'=>$data['to_uid']])->select('companyname')->first();
 
-             if ($company) {
 
-                 $res->companyName  = $company->companyname;
 
-             } else {
 
-                 $res->companyName  = '';
 
-             }
 
-         }
 
-         return $res;
 
-     }
 
-     public function msgDelete($input)
 
-     {
 
-         if (empty($input['parent_id'])) {
 
-             throw new ResponseException('请选择要删除的咨询消息!');
 
-         }
 
-         return $this->msgRepository->msgDelete($input['parent_id']);
 
-     }
 
-     public function feedbackCreate($input)
 
-     {
 
-         if(!$input['type'] || !$input['content'] || !$input['contact']){
 
-             throw new ResponseException('请把资料信息填写完整!');
 
-         }
 
-         $input['audit'] = 0;
 
-         $input['subsite_id'] = get_subsite_id();
 
-         return Feedback::create($input);
 
-     }
 
-     /**
 
-      * 根据条件获取信息
 
-      * @param $where
 
-      * @return mixed
 
-      */
 
-     public function getInfo($where){
 
-         return $MemberInfo = $this->MemberInfoRepository->findMemberInfo($where);
 
-     }
 
-     public function isOwn($id,$user)
 
-     {
 
-         $info = $this->MemberInfoRepository->find($id);
 
-         if(!$info)
 
-         {
 
-             throw new ResponseException('参数错误!');
 
-         }
 
-         if($info->uid != $user->id) {
 
-             throw new ResponseException('对不起,您只能操作自己的信息!');
 
-         }
 
-     }
 
- }
 
 
  |