dispensingRepository = $dispensingRepository; $this->companyService = $companyService; } public function save($data,$user) { if(array_key_exists('id',$data)){ $where['id'] = $data['id']; $where['uid'] = $user->id; $info = $this->dispensingInfo($where); if(!$info){ return response()->json(['status' => 0, 'msg' => "无权编辑"]); } DB::beginTransaction(); try { $item = [ 'job_name' => $data['job_name'], 'job_number' => $data['job_number'], 'share_type' => $data['sharetype'], 'fee' => $data['fee'], 'require' => $data['require'], 'period' => $data['period'], 'safe' => $data['safe'], 'remark' => $data['remark'], 'switch' => $data['switch'] ]; if (!$this->dispensingRepository->update($item, $data['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{ $list = []; foreach ($data['job_name'] as $k => $v){ $item = [ 'uid' => $user->id, 'job_name' => $data['job_name'][$k], 'job_number'=> $data['job_number'][$k], 'share_type'=> $data['sharetype'][$k], 'fee' => $data['fee'][$k], 'require' => $data['require'][$k], 'period' => $data['period'][$k], 'safe' => $data['safe'][$k], 'remark' => $data['remark'][$k], 'switch' => $data['switch'][$k], 'status' => 1 ]; array_push($list,$item); } DB::table('dispensing')->insert($list); return response()->json(['status' => 1, 'msg' => "发布需求成功"]); } } public function list($user = null) { if(!$user){ $where = [ 'status' => 1 ]; }else{ $where = [ 'status' => 1, 'uid' => $user->id ]; } $page = 5; $list = $this->dispensingRepository->list($page, $where); $res = []; $org_list = []; foreach ($list as $k => $v){ $types = explode(',',$v->share_type); 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; } } $list[$k]->share_type = implode(',',$types); $companyInfo = $this->companyService->getCompInfo($v->uid); $list[$k]->name = $companyInfo->companyname; $list[$k]->email = $companyInfo->email; $list[$k]->mobile = $companyInfo->mobile; $list[$k]->tel = $companyInfo->landline_tel; } return $list; } public function dispensingInfo($where){ $info = $this->dispensingRepository->getDispensing($where); if($info){ $types = explode(',',$info['share_type']); 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; } } $info['sharetype'] = implode(',',$types); return $info; }else{ return false; } } public function dispensingDel($id, $user) { $where['id'] = $id; $where['uid'] = $user->id; DB::beginTransaction(); try { if (!$this->dispensingRepository->delDispensing($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' => '']); } } }