id; return $str; } /* *获取代理信息 **/ public function GetUser(Request $request){ $search_name=$request->input('search_name'); $user=User::query(); $user=$user->withTrashed()->where('mobile','like',"%$search_name%") ->orwhere('nickname','like',"%$search_name%") ->orwhere('realname','like',"%$search_name%")->select('id','nickname','headimgurl','realname')->get(); return $this->success($user); } /** 获取用户的进货关系 **/ public function GetInfo(Request $request){ $id=$request->input('id'); $user=User::where('id',$id)->with(['agent'])->withTrashed()->first(); $jingli=[]; $crown=[]; if ($user->level==1){ if ($user->agent->level==2){ $jingli=['id'=>$user->agent->id,'mobile'=>$user->agent->mobile,'nickname'=>$user->agent->nickname,'avatar'=>$user->agent->headimgurl]; $users=User::where('id',$user->agent->agent_id)->first(); $crown=['id'=>$users->id,'mobile'=>$users->mobile,'nickname'=>$users->nickname,'avatar'=>$users->headimgurl]; $data['crown']=$crown; $data['jingli']=$jingli; }else{ $crown=['id'=>$user->agent->id,'mobile'=>$user->agent->mobile,'nickname'=>$user->agent->nickname,'avatar'=>$user->agent->headimgurl]; $data['crown']=$crown; $data['jingli']=$jingli; } }elseif ($user->level==2){ if ($user->agent->level==3){ $crown=['id'=>$user->agent->id,'mobile'=>$user->agent->mobile,'nickname'=>$user->agent->nickname,'avatar'=>$user->agent->headimgurl]; $data['crown']=$crown; $data['jingli']=$jingli; } }elseif($user->level==3){ $data['crown']=$crown; $data['jingli']=$jingli; } return $this->success($data); } /** * 代理退货登记 */ public function CheckIn(Request $request){ if (Auth::user()->id!='45' && Auth::user()->role_id ==23){ return $this->error(500214,'该功能暂停使用'); } $user_id=$request->input('user_id'); $user_name=$request->input('user_name'); $level=$request->input('level'); $crown_id=$request->input('crown_id'); $jingli_id=$request->input('jingli_id'); $return_log=$request->input('return_log'); $phone=$request->input('phone'); $express_number=$request->input('express_number')??null; $express_arr=$request->input('express_arr'); if ($express_number){ $status=1; }else{ $status=0; } $express_name=$request->input('express_name')??null; $express_code=$request->input('express_code')??null; $op_name=Auth::user()->name; $warea_id=Auth::user()->id; $dh_number=$this->DHNumber(); $apply=new DHApply(); $apply->user_id=$user_id; $apply->user_name=$user_name; $apply->level=$level; $apply->crown_id=$crown_id; $apply->jingli_id=$jingli_id; $apply->return_log=$return_log; $apply->phone=$phone; $apply->op_name=$op_name; $apply->warea_id=$warea_id; $apply->dh_number=$dh_number; $apply->express_num=$express_number; $apply->express_name=$express_name; $apply->express_code=$express_code; if (!is_null($express_arr)){ $apply->express_json=json_encode($express_arr); } $apply->status=$status; $apply->save(); // $data=[ // 'log'=>'', // 'op_name'=>'', // 'dh_id'=>$apply->id, // 'type'=>0 // ]; // event(new DHLogEvent($data)); return $this->success([]); } /* * 登记快递信息 **/ public function EditExpressInfo(Request $request){ $express_num=$request->input('express_number'); $express_name=$request->input('express_name'); $express_code=$request->input('express_code'); $express_arr=$request->input('express_arr'); $id=$request->input('id'); $apply=DHApply::find($id); $apply->express_num=$express_num; $apply->express_name=$express_name; $apply->express_code=$express_code; $apply->express_json=json_encode($express_arr); $apply->status=1; $apply->save(); return $this->success([]); } /* *快递公司简称 */ public function GetExpressInfo(){ $express_name=['顺丰速运', '百世快递', '中通快递', '申通快递', '圆通速递', '韵达速递', '邮政快递包裹', 'EMS', '京东快递', '优速快递', '德邦快递', '极兔速递', '众邮快递', '宅急送']; $express_code=['SF', 'HTKY', 'ZTO', 'STO', 'YTO', 'YD', 'YZPY', 'EMS', 'JD', 'UC', 'DBL', 'JTSD', 'ZYE', 'ZJS']; $data=[]; foreach ($express_name as $k=>$v){ $data[$express_code[$k]]=$v; } return $this->success($data); } /* *获取货物信息 **/ public function GetGoodInfo(Request $request){ $id=$request->input('id'); $good=DHGoodInfo::find($id); return $this->success(json_decode($good->depot_record_info)); } /* * 用户签字 * ***/ public function UserSign(Request $request){ $base64=$request->input('img'); $id=$request->input('id'); $status=5; $apply=DHApply::find($id); $apply->user_confirm_sign=$base64; $apply->status=$status; $apply->user_confirm_time=Carbon::now(); $apply->user_confirm_status=0; $apply->save(); $re=DHGoodInfo::where('dh_id',$id)->first(); $re->user_record_info=$re->depot_record_info; $re->save(); $data['id']=$re->id; ReckonDHMoneyInfoJob::dispatch($data); return $this->success([]); } /* *计算金额(当用户确认完成后,金额应该自动确认完成) * ****/ /* * 代理公司确认金额 * ***/ public function SureMoney(Request $request){ $id=$request->input('id'); $apply=DHApply::find($id); $money_log=DHMoney::where('dh_id',$id)->orderBy('id')->get(); return $this->success($money_log); } /* * 代理公司签字确认金额 * ***/ public function CrownMoneySign(Request $request){ $base64=$request->input('img'); $id=$request->input('id'); $status=7; $apply=DHApply::find($id); $apply->crown_confirm_money_sign=$base64; $apply->status=$status; $apply->crown_confirm_money_time=Carbon::now(); $apply->save(); return $this->success([]); } /* * 上传退款截图 * ***/ public function UploadImg(Request $request){ $img=$request->input('img'); $id=$request->input('id'); DHApply::where('id',$id)->update(['dh_money_img'=>$img,'status'=>8]); return $this->success([]); } /* * 代理公司查看退款截图 * ****/ public function CrownLookMoney(Request $request){ $id=$request->input('id'); $apply=DHApply::where('id',$id)->select('dh_money_img')->first(); return $this->success($apply); } /* * 代理公司签字确认收到退款 * ***/ public function CrownLookMoneySign(Request $request){ $base64=$request->input('img'); $id=$request->input('id'); $status=9; $apply=DHApply::find($id); $apply->crown_receive_money_sign=$base64; $apply->status=$status; $apply->crown_receive_money_time=Carbon::now(); $apply->save(); return $this->success([]); } /* * 代理签字确认收到钱,签字完成后,整个过程都已经完成 * ***/ public function UserConfirmMoneySign(Request $request){ $base64=$request->input('img'); $id=$request->input('id'); $apply=DHApply::find($id); $apply->user_cofirm_money_sign=$base64; $apply->status=10; $apply->user_confirm_money_time=Carbon::now(); $apply->save(); return $this->success([]); } /* *登记信息列表 * ***/ public function GetApplyList(Request $request){ $page_index=$request->input('page_index'); $page_size=$request->input('page_size'); $type=$request->input('status')??null; $num=($page_index-1)*$page_size; $query=DHApply::query(); if (Auth::user()->id!='45' && Auth::user()->role_id ==23){ return $this->error(500214,'该功能暂停使用'); } if (is_numeric($type)){ $query->where('status',$type); } $count=$query->count(); $list=$query->with(['user','jingli','crown'])->orderByDesc('id')->take($page_size)->skip($num)->get(); return $this->success_list($list,'',$count); } /* * 货物详情 * ***/ public function GoodDetail(Request $request) { $re=DHGoodInfo::where('dh_id',$request->input('id'))->first(); if (!$re){ return $this->error(40021,'暂无信息'); } if ($re->status>4){ $res=json_decode($re->user_record_info); }else{ $res=json_decode($re->depot_record_info); } $data['good_info']=$res; $data['wear_info']=json_decode($re->wear_info); $data['nowear_info']=json_decode($re->nowear_info); $data['lack_soap']=$re->lack_soap; $data['lack_tote']=$re->lack_tote; // $data=[ // [ // 'good_name'=>'精装版', // 'list'=>[ // ['time'=>'2021-01-11','sex'=>1,'size'=>'XL','num'=>2], // ['time'=>'2021-10-11','sex'=>0,'size'=>'XL','num'=>2], // ['time'=>'2021-01-11','sex'=>1,'size'=>'2XL','num'=>2], // ] // ], // [ // 'good_name'=>'简约版', // 'list'=>[ // ['time'=>'2021-01-11','sex'=>1,'size'=>'XL','num'=>2], // ['time'=>'2021-10-11','sex'=>0,'size'=>'XL','num'=>2], // ['time'=>'2021-01-11','sex'=>1,'size'=>'@XL','num'=>2], // ] // ] // ]; return $this->success($data); } /***修改货物信息**/ public function UpdateApplyInfo(Request $request){ $id=$request->input('id'); $info=$request->input('info'); $total=$request->input('total'); $remark=$request->input('remark'); $input=$request->all(); $info=json_encode($info); $dh=DHApply::find($id); $goodinfo=DHGoodInfo::where('dh_id',$dh->id)->first(); $data['good_info']=json_decode($goodinfo->depot_record_info,true); $data['wear_info']=json_decode($goodinfo->wear_info); $data['nowear_info']=json_decode($goodinfo->nowear_info); $data['lack_soap']=$goodinfo->lack_soap; $data['lack_tote']=$goodinfo->lack_tote; $goodinfo->update_info=json_encode($data); $goodinfo->depot_record_info=$info; $goodinfo->total=$total; $goodinfo->wear_info=json_encode($input['wear']); $goodinfo->nowear_info=json_encode($input['not_wear']); $goodinfo->lack_soap=$data['lack_soap']; $goodinfo->lack_tote=$data['lack_tote']; $goodinfo->remark=Auth::user()->name.'修改了商品的信息,原因是'.$remark; $goodinfo->save(); return $this->success([]); } // public function UploadMoneyImg(Request $request,ImageUploadHandler $imageUploadHandler){ //// return $this->error(50021,'','暂停使用,开放时间另行通知'); // if ($request->file('img')){ // $re=$imageUploadHandler->save($request->img,'ReturnGood',Auth::user()->id); // if ($re){ // return $this->success(['imgUrl'=>$re['path']]); // } // } // return $this->error(500236,'','上传失败'); // } public function UploadMoneyImg(Request $request){ // return $this->error(50021,'','暂停使用,开放时间另行通知'); $file= $request->file('img'); if($file){ $path_url='dh_apply/return_goods'; $upload= new UploadFilesHandler(); $result= $upload->save($file, $path_url, Auth::user()->id, 'image'); if($result){ return $this->success(['imgUrl'=>$result['path']]); } } return $this->error(500236,'','上传失败'); } public function GetStatus(Request $request){ $id=$request->input('id'); $re=DHApply::find($id); return $this->success($re); } /* * 获取信息 * **/ public function GetExpress(Request $request){ $express=$request->input('express_number'); $type=$request->input('type'); if (!$type){ // $re=DHApply::where('express_num',$express)->first(); $re=DHApply::where('express_json','like',"%$express%")->first(); }else{ $re=DHApply::where('phone',$express)->limit(1)->orderByDesc('id')->first(); } if ($re){ if ($re->status>=4){ return $this->error(500215,'当前快递信息已经登记!'); } return $this->success(['id'=>$re->id]); }else{ return $this->error(500215,'请还一个快递单号扫描'); } } /* * 获取信息 * ***/ public function GetCodeInfo(Request $request){ $code=$request->input('code'); // $nums=stripos($code,'daweiboshi'); $nums=stripos($code,'bid'); if (is_numeric($nums)){ $n=strripos($code,'bid'); $m=strripos($code,'&'); $id=mb_substr($code,$n+4,$m-$n-4); $number=mb_substr($code,$m+3); $client=new Client(); $re=$client->get($code); $res=$re->getBody()->getContents(); $data['name']=''; $data['num']=1; $data['type']=1; $numbers=stripos($res,'精装版'); if (!$numbers){ $numbers=stripos($res,'简约版'); if ($numbers){ $data['name']='简约版'; }else{ $numbers=stripos($res,'老人版'); if ($numbers){ $data['name']='高腰版'; }else{ $numbers=stripos($res,'纯棉版'); if ($numbers){ $data['name']='纯棉版'; } } } }else{ $data['name']='精装版'; } $client=new Client(); $array=[ 'form_params'=>[ 'action'=>'customergetcustomjson', 'ID'=>$id, 'parameter1'=>$number ] ]; $re=$client->post('http://fangwei.jiuweiyun.cn/ServiceAPI/usercenter/Manager.aspx',$array); $res=$re->getBody()->getContents(); $e=json_decode($res,true); $array=json_decode($e['messages'],true); $len=count($array[0]); if (isset($array[0][$len-1])){ if (isset($array[0][$len-1]['newtime'])){ $data['time']=$array[0][$len-1]['newtime']; } } }else{ // $nums=stripos($code,'auth'); // if (!is_numeric($nums)){ // return $this->error(); // } // $n=strripos($code,'/'); // $code=mb_substr($code,$n+1); $code=trim($code); $re=Trace::where('code',$code)->first(); $data=[]; if ($re){ $data['type']=0; $data['goods_id']=$re->good_select_id; if ($re->model=='1:10'){ if ($re->is_lowest==1){ $data['num']=1; }else{ $data['num']=10; } }elseif ($re->model=='1:12'){ if ($re->is_lowest==1){ $data['num']=1; }else{ $data['num']=12; } }elseif ($re->model=='1:6:24'){ if ($re->is_lowest==1){ $data['num']=1; }else{ if ($re->level==2){ $data['num']=4; }else{ $data['num']=24; } } }else{ if ($re->is_lowest==1){ $data['num']=1; }else{ if ($re->level==2){ $data['num']=6; }else{ $data['num']=36; } } } $res=SendGoodLog::where('select_id',$re->id)->limit(1)->orderBy('id')->first(); $data['time']=$res->created_at->toDateTimeString(); $name=\DB::table('good_select')->where('id',$re->good_select_id)->value('name'); $data['name']=$name; }else{ return $this->error(500214,'请手动输入'); } } Log::error($data); return $this->success($data); } /* * 提交信息 * **/ public function InsertGoodInfo(Request $request){ $data=$request->all(); $info=$request->input('info'); $dh_id=$request->input('id'); $total=$request->input('total'); $info=json_encode($info); $apply=DHApply::find($dh_id); $apply->status=4; $apply->save(); $goodinfo=new DHGoodInfo(); $goodinfo->depot_record_info=$info; $goodinfo->dh_id=$dh_id; $goodinfo->total=$total; $goodinfo->crown_id=$apply->crown_id; $goodinfo->wear_info=json_encode($data['wear']); $goodinfo->nowear_info=json_encode($data['not_wear']); $goodinfo->lack_soap=$data['lack_soap']; $goodinfo->lack_tote=$data['lack_tote']; $goodinfo->save(); return $this->success([]); } /* * 计算金额 * ***/ public function ReckonMoney(){ $id='11'; $data=DHGoodInfo::find($id); $data=json_decode($data->depot_record_info); $re=[]; foreach ($data as $k=>$v){ $good_name=$v->good_name; foreach ($v->list as $ke=>$va){ $time=DHActivityInfo::where('time_end','<',$va->time)->orderByDesc('time_end')->limit(1)->value('time_end'); if (is_null($time)){ $time=$va->time; } $price=DHGoodTime::where('good_name',$good_name) ->where('time_start','<',$time)->where('time_end','>',$time)->where('level',3)->value('price'); $data[$k]->list[$ke]->price=$price; } } dd($data); } /* * 修改退款明细 * ***/ public function UpdateReturnMoney(Request $request){ $id=$request->input('id'); $money=$request->input('money'); $remark=$request->input('remark'); $num=$request->input('num',null); $DHmoney=DHMoney::where('id',$id)->first(); $DHmoney->money_log='修改了物品单价,原价格为:'.$DHmoney->money; $DHmoney->money=$money; if ($num){ $DHmoney->good_num=$num; } $DHmoney->remark=$remark; $DHmoney->save(); return $this->success([]); } /* * 增加退款明细 * **/ public function AddReturnMoney(Request $request){ $money=$request->input('money'); $num=$request->input('num'); $good_name=$request->input('good_name'); $dh_id=$request->input('dh_id'); $dhmoney=new DHMoney(); $dhmoney->dh_id=$dh_id; $dhmoney->money=$money; $dhmoney->type=$request->input('type'); $dhmoney->good_num=$num; $dhmoney->good_name=$good_name; $dhmoney->is_recoup=$request->input('is_recoup'); $dhmoney->save(); return $this->success([]); } /**获取百度api的access_token**/ public function GetAccessToken(){ if (!Cache::get('BDaccesstoken')){ $appkey='ck4R4Ek4Zw6phprGg2GvwxuZ'; $secret='8tmI0IsPDFDAxlMmkGty70NFXGx2uA4g'; $url='https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='.$appkey.'&client_secret='.$secret; $client=new Client(); $result=$client->post($url); $re=$result->getBody()->getContents(); $re=json_decode($re,true); $minutes=30*24*60-1; Cache::put('BDaccesstoken',$re['access_token'],$minutes); } return Cache::get('BDaccesstoken'); } // public function UploadImage(Request $request,ImageUploadHandler $imageUploadHandler){ // if ($request->file('img')){ // $re=$imageUploadHandler->save($request->file('img'),'QrCode',time()); // return $this->success($re); // } // return $this->error(40012,'上传错误!'); // } public function UploadImage(Request $request){ $file= $request->file('img'); if($file){ $path_url='dh_apply/qr_code'; $upload= new UploadFilesHandler(); $result= $upload->save($file, $path_url, time(), 'image'); if($result){ return $this->success($result); } } return $this->error(40012,'上传错误!'); } /**获取信息**/ public function GetQrCode(Request $request){ Log::error($request->all()); $input=$request->input('arr'); $access_token=$this->GetAccessToken(); $data=[]; foreach ($input as $k=>$v){ $client=new Client(); $array=[ 'form_params'=>[ 'url'=>$v, ], 'headers'=>[ 'Content-Type'=>'application/x-www-form-urlencoded' ] ]; $url='https://aip.baidubce.com/rest/2.0/ocr/v1/qrcode?access_token='.$access_token; $res=$client->post($url,$array); $re=json_decode($res->getBody()->getContents(),true); if (isset($re['codes_result'])){ foreach ($re['codes_result'] as $ke=>$va){ if (isset($va['text'])){ $data[]=$va['text'][0]; } } } $link=mb_substr($v,35); unlink(public_path($link)); } return $this->success($data); } }