| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377 | 
							- <?php
 
- namespace App\Services\Organization;
 
- use App\Repositories\ServiceRepository;
 
- use Illuminate\Support\Facades\DB;
 
- use Exception;
 
- class ServiceService
 
- {
 
-     protected $serviceRepository;
 
-     public function __construct(ServiceRepository $serviceRepository)
 
-     {
 
-         $this->serviceRepository = $serviceRepository;
 
-     }
 
-     /**
 
-      * 保存一个服务
 
-      * @param $data
 
-      * @param $user
 
-      */
 
-     public function save($data,$user)
 
-     {
 
-         if(array_key_exists('id',$data)){
 
-             $where['id'] = $data['id'];
 
-             $where['uid'] = $user->id;
 
-             $info = $this->serviceInfo($where);
 
-             if(!$info){
 
-                 return response()->json(['status' => 0, 'msg' => "无权编辑"]);
 
-             }
 
-             unset($data['id']);
 
-             switch ($info['service_type'])
 
-             {
 
-                 case '1':
 
-                     $detail = [
 
-                         'training_ctontents'    =>  $data['training_ctontents'],
 
-                         'training_duration'     =>  $data['training_duration'],
 
-                         'training_expenses'     =>  $data['training_expenses']
 
-                     ];
 
-                     unset($data['training_expenses']);
 
-                     unset($data['training_duration']);
 
-                     unset($data['training_ctontents']);
 
-                     $data['detail'] = serialize($detail);
 
-                     break;
 
-                 case '2':
 
-                     if(intval($data['iscustomize']) == '1'){
 
-                         $detail['job'] = $data['other_job'];
 
-                     }else{
 
-                         switch (intval($data['job']))
 
-                         {
 
-                             case 1:
 
-                                 $detail['job'] = '总经理/副总经理';
 
-                                 break;
 
-                             case 2:
 
-                                 $detail['job'] = '人事经理';
 
-                                 break;
 
-                             case 3:
 
-                                 $detail['job'] = '财务经理';
 
-                                 break;
 
-                             case 4:
 
-                                 $detail['job'] = '市场经理';
 
-                                 break;
 
-                             case 5:
 
-                                 $detail['job'] = '营销经理';
 
-                                 break;
 
-                             case 6:
 
-                                 $detail['job'] = '产品经理';
 
-                                 break;
 
-                             case 7:
 
-                                 $detail['job'] = '技术经理';
 
-                                 break;
 
-                             case 8:
 
-                                 $detail['job'] = '厂长';
 
-                                 break;
 
-                             case 9:
 
-                                 $detail['job'] = '生产经理';
 
-                                 break;
 
-                             case 10:
 
-                                 $detail['job'] = '高级工程师';
 
-                                 break;
 
-                             case 11:
 
-                                 $detail['job'] = '博士后/博士';
 
-                                 break;
 
-                             case 12:
 
-                                 $detail['job'] = '工商管理高级人才';
 
-                                 break;
 
-                         }
 
-                     }
 
-                     $detail['iscustomize'] = $data['iscustomize'];
 
-                     $detail['check'] = $data['check'];
 
-                     $detail['desc'] = $data['desc'];
 
-                     $detail['job_value'] = $data['job'];
 
-                     unset($data['iscustomize']);
 
-                     unset($data['check']);
 
-                     unset($data['desc']);
 
-                     unset($data['job']);
 
-                     unset($data['other_job']);
 
-                     $data['detail'] = serialize($detail);
 
-                     break;
 
-                 case '3':
 
-                     $detail = [];
 
-                     foreach ($data['trade'] as $k => $v){
 
-                         $item = [
 
-                             'trade'     =>  $v,
 
-                             'job_type'  =>  $data['job_type'][$k],
 
-                             'district'  =>  $data['district'][$k],
 
-                             'time'      =>  $data['time'][$k],
 
-                             'salary'    =>  $data['salary'][$k],
 
-                             'number'    =>  $data['number'][$k],
 
-                             'sharetype' =>  $data['sharetype'][$k],
 
-                             'check'     =>  $data['check'][$k],
 
-                             'remark'    =>  $data['remark'][$k]
 
-                         ];
 
-                         array_push($detail,$item);
 
-                     }
 
-                     unset($data['job_type']);
 
-                     unset($data['trade']);
 
-                     unset($data['district']);
 
-                     unset($data['time']);
 
-                     unset($data['salary']);
 
-                     unset($data['number']);
 
-                     unset($data['sharetype']);
 
-                     unset($data['check']);
 
-                     unset($data['remark']);
 
-                     $data['detail'] = serialize($detail);
 
-                     break;
 
-                 case '4':
 
-                     $detail['other_service'] = $data['other_service'];
 
-                     unset($data['other_service']);
 
-                     $data['detail'] = serialize($detail);
 
-                     break;
 
-             }
 
-             DB::beginTransaction();
 
-             try {
 
-                 if (!$this->serviceRepository->update($data, $info['id'])) {
 
-                     throw new Exception('修改服务失败');
 
-                 }
 
-                 DB::commit();
 
-                 return response()->json(['status' => 1, 'msg' => "修改服务成功"]);
 
-             } catch (Exception $e) {
 
-                 DB::rollback();
 
-                 return response()->json(['status' => 0, 'msg' => $e->getMessage()]);
 
-             }
 
-         }else{
 
-             switch ($data['service_type'])
 
-             {
 
-                 case '1':
 
-                     $detail = [
 
-                         'training_ctontents'    =>  $data['training_ctontents'],
 
-                         'training_duration'     =>  $data['training_duration'],
 
-                         'training_expenses'     =>  $data['training_expenses']
 
-                     ];
 
-                     unset($data['training_expenses']);
 
-                     unset($data['training_duration']);
 
-                     unset($data['training_ctontents']);
 
-                     $data['detail'] = serialize($detail);
 
-                     break;
 
-                 case '2':
 
-                     if(intval($data['iscustomize']) == '1'){
 
-                         $detail['job'] = $data['other_job'];
 
-                     }else{
 
-                         switch (intval($data['job']))
 
-                         {
 
-                             case 1:
 
-                                 $detail['job'] = '总经理/副总经理';
 
-                                 break;
 
-                             case 2:
 
-                                 $detail['job'] = '人事经理';
 
-                                 break;
 
-                             case 3:
 
-                                 $detail['job'] = '财务经理';
 
-                                 break;
 
-                             case 4:
 
-                                 $detail['job'] = '市场经理';
 
-                                 break;
 
-                             case 5:
 
-                                 $detail['job'] = '营销经理';
 
-                                 break;
 
-                             case 6:
 
-                                 $detail['job'] = '产品经理';
 
-                                 break;
 
-                             case 7:
 
-                                 $detail['job'] = '技术经理';
 
-                                 break;
 
-                             case 8:
 
-                                 $detail['job'] = '厂长';
 
-                                 break;
 
-                             case 9:
 
-                                 $detail['job'] = '生产经理';
 
-                                 break;
 
-                             case 10:
 
-                                 $detail['job'] = '高级工程师';
 
-                                 break;
 
-                             case 11:
 
-                                 $detail['job'] = '博士后/博士';
 
-                                 break;
 
-                             case 12:
 
-                                 $detail['job'] = '工商管理高级人才';
 
-                                 break;
 
-                         }
 
-                     }
 
-                     $detail['iscustomize'] = $data['iscustomize'];
 
-                     $detail['check'] = $data['check'];
 
-                     $detail['desc'] = $data['desc'];
 
-                     $detail['job_value'] = $data['job'];
 
-                     unset($data['iscustomize']);
 
-                     unset($data['check']);
 
-                     unset($data['desc']);
 
-                     unset($data['job']);
 
-                     unset($data['other_job']);
 
-                     $data['detail'] = serialize($detail);
 
-                     break;
 
-                 case '3':
 
-                     $detail = [];
 
-                     foreach ($data['trade'] as $k => $v){
 
-                         $item = [
 
-                             'trade'     =>  $v,
 
-                             'job_type'  =>  $data['job_type'][$k],
 
-                             'district'  =>  $data['district'][$k],
 
-                             'time'      =>  $data['time'][$k],
 
-                             'salary'    =>  $data['salary'][$k],
 
-                             'number'    =>  $data['number'][$k],
 
-                             'sharetype' =>  $data['sharetype'][$k],
 
-                             'check'     =>  $data['check'][$k],
 
-                             'remark'    =>  $data['remark'][$k]
 
-                         ];
 
-                         array_push($detail,$item);
 
-                     }
 
-                     unset($data['job_type']);
 
-                     unset($data['trade']);
 
-                     unset($data['district']);
 
-                     unset($data['time']);
 
-                     unset($data['salary']);
 
-                     unset($data['number']);
 
-                     unset($data['sharetype']);
 
-                     unset($data['check']);
 
-                     unset($data['remark']);
 
-                     $data['detail'] = serialize($detail);
 
-                     break;
 
-                 case '4':
 
-                     $detail['other_service'] = $data['other_service'];
 
-                     unset($data['other_service']);
 
-                     $data['detail'] = serialize($detail);
 
-                     break;
 
-             }
 
-             $data['utype'] = $user->utype;
 
-             $data['uid'] = $user->id;
 
-             $data['status'] = 1;
 
-             DB::beginTransaction();
 
-             try {
 
-                 if(!$this->serviceRepository->create($data))
 
-                 {
 
-                     throw new Exception('发布服务失败');
 
-                 }
 
-                 DB::commit();
 
-                 return response()->json(['status' => 1, 'msg' => "发布服务成功"]);
 
-             }catch (Exception $e){
 
-                 DB::rollback();
 
-                 return response()->json(['status' => 0, 'msg' => $e->getMessage()]);
 
-             }
 
-         }
 
-     }
 
-     public function list($user = null)
 
-     {
 
-         if(!$user){
 
-             $where = [
 
-                 'status'    =>  1
 
-             ];
 
-         }else{
 
-             $where = [
 
-                 'status'    =>  1,
 
-                 'uid'       =>  $user->id
 
-             ];
 
-         }
 
-         $page = 5;
 
-         $list = $this->serviceRepository->list($page, $where);
 
-         $res = [];
 
-         $org_list = [];
 
-         foreach ($list as $k => $v){
 
-             if(!array_key_exists($v->uid,$org_list)){
 
-                 $org = DB::table('organization')->whereRaw('id='.$v->uid)->get();
 
-                 $org_list[$v->uid] = $org[0];
 
-             }
 
-             $list[$k]->orgname = $org_list[$v->uid]->orgname;
 
-             $list[$k]->email = $org_list[$v->uid]->email;
 
-             $list[$k]->mobile = $org_list[$v->uid]->mobile;
 
-             $list[$k]->tel = $org_list[$v->uid]->landline_tel;
 
-             switch(intval($v->service_type))
 
-             {
 
-                 case 1:
 
-                     $list[$k]->type = '管理培训';
 
-                     break;
 
-                 case 2:
 
-                     $list[$k]->type = '猎头服务';
 
-                     break;
 
-                 case 3:
 
-                     $list[$k]->type = '人力资源供应';
 
-                     break;
 
-                 case 4:
 
-                     $list[$k]->type = '其它';
 
-                     break;
 
-             }
 
-             $list[$k]->detail = unserialize($v->detail);
 
-         }
 
-         return $list;
 
-     }
 
-     public function total($id){
 
-         $where['uid'] = $id;
 
-         $where['status'] = 1;
 
-         return $this->serviceRepository->total($where);
 
-     }
 
-     public function serviceDel($id, $user)
 
-     {
 
-         $where['id'] = $id;
 
-         $where['uid'] = $user->id;
 
-         DB::beginTransaction();
 
-         try {
 
-             if (!$this->serviceRepository->delService($where)) {
 
-                 throw new Exception('删除服务成功');
 
-             }
 
-             DB::commit();
 
-             return response()->json(['status' => 1, 'msg' => '服务删除成功', 'data' => '']);
 
-         }catch (Exception $e){
 
-             DB::rollback();
 
-             return response()->json(['status' => 0, 'msg' =>$e->getMessage(), 'data' => '']);
 
-         }
 
-     }
 
-     public function serviceInfo($where){
 
-         $info = $this->serviceRepository->getService($where);
 
-         if($info){
 
-             $detail = unserialize($info->detail);
 
-             foreach($detail as $k => $v){
 
-                 $types = explode(',',$v['sharetype']);
 
-                 foreach ($types as $kk => $vv){
 
-                     switch (intval($vv)){
 
-                         case 1:
 
-                             $types[$kk] = '小时工';
 
-                             break;
 
-                         case 2:
 
-                             $types[$kk] = '劳务派遣';
 
-                             break;
 
-                         case 3:
 
-                             $types[$kk] = '委托招聘';
 
-                             break;
 
-                         case 4:
 
-                             $types[$kk] = '服务外包';
 
-                             break;
 
-                         case 5:
 
-                             $types[$kk] = '其它';
 
-                             break;
 
-                     }
 
-                 }
 
-                 $detail[$k]['sharetype'] = implode(',',$types);
 
-             }
 
-             $info->detail = $detail;
 
-             return $info;
 
-         }else{
 
-            return false;
 
-         }
 
-     }
 
- }
 
 
  |