| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 | 
							- <?php
 
- namespace App\Services\Company;
 
- use App\Repositories\DispensingRepository;
 
- use Illuminate\Support\Facades\DB;
 
- use Exception;
 
- class DispensingService
 
- {
 
-     protected $dispensingRepository;
 
-     protected $companyService;
 
-     public function __construct(DispensingRepository $dispensingRepository,CompanyService $companyService)
 
-     {
 
-         $this->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' => '']);
 
-         }
 
-     }
 
- }
 
 
  |