'操作人', "op_phone"=>'操作人手机号', "accept_name"=>'所属者昵称', "accept_phone"=>'所属者手机号', "level"=>'等级', "note"=>'备注', "created_at"=>'发货时间', ]; // $a=Trace::where("i") $re=\DB::table('sendgood_log') ->join('se_code','se_code.id','=','sendgood_log.select_id') ->whereBetween('sendgood_log.created_at',['2021-03-16 00:00:00','2021-03-17 00:00:00']) // ->where('') ->where('sendgood_log.type',0) ->select('sendgood_log.*','se_code.level','se_code.is_lowest') ->get(); $arr=[]; foreach ($re as $k=>$v){ $arr[$k]['op_name']=$v->op_name; $arr[$k]['op_phone']=$v->op_phone; $arr[$k]['accept_name']=$v->accept_name; $arr[$k]['accept_phone']=$v->accept_phone; if ($v->is_lowest==1){ $arr[$k]['level']='小码'; }else{ if ($v->level==1){ $arr[$k]['level']='大码'; }else{ $arr[$k]['level']='中码'; } } $arr[$k]['note']=$v->note; $arr[$k]['created_at']=$v->created_at; // $arr[$k]['level']= } $filename=date("YmdHi").Str_random(6).'-'.'.csv'; header('Content-Description: File Transfer'); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment; filename="'. $filename .'"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); $fp = fopen('php://output', 'a');//打开output流 mb_convert_variables('GBK', 'UTF-8', $rows); fputcsv($fp, $rows); foreach ($arr as $db){ $data=[$db['op_name'],$db['op_phone'],$db['accept_name'],$db['accept_phone'],$db['level'],$db['note'],$db['created_at']]; // $data=[env('APP_TRACE').$db['code'],$db['security_code'],$db['pid'],$db['sort'],$db['model'],$db['level']]; mb_convert_variables('GBK', 'UTF-8', $data); fputcsv($fp, $data); } unset($dbs); ob_flush(); flush(); fclose($fp); exit(); } public function GetCache(){ $data=Goodtest::where('is_show',2)->get(); foreach ($data as $k=>$v){ dump(Cache::get('dwbs_good_num'.$v->id)); } } //获取app版本信息列表 public function getVersionList(Request $request){ $input=$request->all(); $page_size=$input['page_size']; $page_index=$input['page_index']; $num = ($page_index - 1) * $page_size; $type=$input['type']; $search_name=$input['search_name']; $data=Version::query(); if($search_name){ $data->where('version', 'like', '%' . $search_name . '%'); } if($type!='all'){ $data->where('type',$type); } $count=$data->count(); if($count==0){ $this->error('400001','没有数据'); } $list=$data->orderBy('id', 'desc') ->skip($num)->take($page_size)->get(); if(empty($list)){ return $this->error('400002','没有获取到数据'); } return $this->success_list($list,'success',$count); } //上传安装包 // public function uploadAppVersion(Request $request){ // $path = $request->file('file')->store('/app/versions'); // $url = Storage::url($path); // if($url){ // return $this->success($url); // } // return $this->error(); // } public function uploadAppVersion(Request $request) { //上传文件 if (!$request->hasFile('file')) { return $this->error('450001','请上传文件'); } //设置文件后缀白名单 $allowExt = ["apk"]; //设置存储目录 $tmpPath = '/storage/version/'; Log::info($tmpPath); // 绝对路径 $dirPath = public_path($tmpPath); Log::info($dirPath); //如果目标目录不能创建 if (!is_dir($dirPath) && !mkdir($dirPath, 0777, true)) { return $this->error('450001','上传目录没有创建文件夹权限'); } //如果目标目录没有写入权限 if (is_dir($dirPath) && !is_writable($dirPath)) { return $this->error('450001','上传目录没有写入权限'); } //获取文件 $file = $request->file('file'); //校验文件 if (!isset($file) || !$file->isValid()) { return $this->error('450001','上传失败'); } $ext = $file->getClientOriginalExtension(); //上传文件的后缀 //判断是否是Excel if (empty($ext) || !in_array(strtolower($ext), $allowExt)) { return $this->error('450001','不允许的文件类型'); } //生成文件名 $fileName = uniqid(mt_rand('100','999')) . '.' . $ext; Log::info($fileName); try { //存储文件 $file->move($dirPath, $fileName); // 获取文件路径 $filename = $dirPath . '/' . $fileName; if (!is_file($filename)) { return $this->error('450001','未找到该文件'); } $url = Storage::url('/version/' . $fileName); return $this->success($url); } catch (\Exception $ex) { return $this->error('450001',$ex->getMessage()); } } //添加app版本信息 public function uploadVersion(Request $request){ $input=$request->all(); if($input['type']==1){ $ver='安卓系统'; }else{ $ver='IOS系统'; } if(Version::where('version',$input['version'])->where('type',$input['type'])->exists()){ return $this->error('450001',$ver.'已存在该版本号'); } if(Version::where('code',$input['code'])->where('type',$input['type'])->exists()){ return $this->error('450001',$ver.'已存在该版本code'); } $data['version']=$input['version']; $data['status']=1; $data['code']=$input['code']; $data['type']=$input['type']; $data['is_force']=$input['is_force']; $data['url']=$input['url']; $data['message']=$input['message']; $data['md5']=md5_file($input['url']); $row=Version::create($data); if($row){ Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')添加app版本成功,app版本id:'.$row->id); return $this->success([]); } return $this->error(); } //修改app版本信息 public function updateVersion(Request $request){ $input=$request->all(); if($input['type']==1){ $ver='安卓系统'; }else{ $ver='IOS系统'; } if(Version::where('id','!=',$input['id'])->where('version',$input['version'])->where('type',$input['type'])->exists()){ return $this->error('450001',$ver.'已存在该版本号'); } if(Version::where('id','!=',$input['id'])->where('code',$input['code'])->where('type',$input['type'])->exists()){ return $this->error('450001',$ver.'已存在该版本code'); } $data['version']=$input['version']; $data['url']=$input['url']; $data['code']=$input['code']; $data['type']=$input['type']; $data['is_force']=$input['is_force']; $data['message']=$input['message']; $data['md5']=md5_file($input['url']); $row=Version::where('id',$input['id'])->update($data); if($row){ Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')修改app版本成功,app版本id:'.$input['id']); return $this->success([]); } return $this->error(); } /* app版本上线 */ public function setVersionTop(Request $request){ $input=$request->all(); $version=Version::find($input['id']); Version::where('status',0)->where('type',$version->type)->update(['status'=>'1']); $row=Version::where('id',$input['id'])->update(['status'=>'0']); if($version->type==1){ $ver='安卓系统'; }else{ $ver='IOS系统'; } if($row){ $message['title']=$ver.'APP新版更新'; $message['type']='1'; $message['data']=$ver.'APP新版更新,最新版本号:'.$version->version; $message['status']='0'; Message::create($message); Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')操作'.$ver.'app版本('.$version->version.')上线成功,app版本id:'.$input['id']); return $this->success([]); } else { return $this->error(); } } //删除app版本信息 public function destoryVersion(Request $request){ $input=$request->all(); $info=Version::find($input['id']); $row=$info->delete(); if($row){ Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')删除app版本成功,app版本id:'.$input['id']); return $this->success([]); } return $this->error(); } public function send_orders(Request $request){ $file = $request->file('file'); if ( !$file->isValid()) { //判断文件是否有效 return redirect() ->back() ->withErrors('文件上传失败,请重新上传'); } $array = Excel::toArray(new ExpressImport, request()->file('file')); if(count($array)>10001){ return $this->error('450001',"单次最多导入10000条数据"); } $one = array_shift($array[0]); $express_num_keys=array_search('快递单号',$one); if(!$express_num_keys && !is_numeric($express_num_keys)){ return $this->error('450001',"表头无'快递单号'字段"); } $arr=array_column($array[0],$express_num_keys); $time=Carbon::now()->toDateTimeString(); $time1=Carbon::now()->timestamp; $file = $request->file('file'); if ( !$file->isValid()) { //判断文件是否有效 return redirect() ->back() ->withErrors('文件上传失败,请重新上传'); } // if( $file->getClientOriginalExtension() != 'xlsx' && $file->getClientOriginalExtension() != 'xls' ) { // return $this->error( 450001 , '上传文件类型错误,文件后缀为 xlsx 或 xls' ); // } // $aa=Excel::import(new ExpressImport, request()->file('file')); $array = Excel::toArray(new ExpressImport, request()->file('file')); if(count($array)>5001){ return $this->error('450001',"单次最多导入5000条数据"); } $newArr=[]; $one = array_shift($array[0]); $express_num_keys=array_search('快递单号',$one); if(!$express_num_keys){ return $this->error('450001',"表头无'快递单号'字段"); } $order_num_keys=array_search('订单编号',$one); if(!$express_num_keys){ return $this->error('450001',"表头无'订单编号'字段"); } $express_total=array_search('数据求和',$one); if(!$express_total){ return $this->error('450001',"表头无'数据求和'字段"); } $express_com_keys=array_search('快递公司',$one); if(!$express_num_keys){ return $this->error('450001',"表头无'快递公司'字段"); } $express_status_keys=array_search('发货状态',$one); if(!$express_status_keys){ return $this->error('450001',"表头无'发货状态'字段"); } $remark_keys=array_search('备注',$one); if(!$remark_keys){ return $this->error('450001',"表头无'备注'字段"); } $F_XL_SIZE=array_search('女4XL',$one); if(!$F_XL_SIZE){ $l_keys=array_search('L',$one); $xl_keys=array_search('XL',$one); $xxl_keys=array_search('XXL',$one); $xxxl_keys=array_search('XXXL',$one); $vm_keys=array_search('女M',$one); $vl_keys=array_search('女L',$one); $vxl_keys=array_search('女XL',$one); $vxxl_keys=array_search('女XXL',$one); $vxxxl_keys=array_search('女XXXL',$one); $wxl_keys=array_search('5XL',$one); $keys=[$l_keys,$xl_keys,$xxl_keys,$xxxl_keys,$vm_keys,$vl_keys,$vxl_keys,$vxxl_keys,$vxxxl_keys,$wxl_keys]; }else{ $vxxxl_keys=array_search('4XL',$one); $wxl_keys=array_search('5XL',$one); $vxl_keys=array_search('女3XL',$one); $vxxl_keys=array_search('女4XL',$one); $keys=[$vxxxl_keys,$wxl_keys,$vxl_keys,$vxxl_keys]; } $express_code=['中通快递'=>'ZTO','中通快运'=>'ZTOKY','德邦快递'=>'DBL','德邦物流'=>'DBL','邮政'=>'EMS','韵达快递'=>'YD']; $arres=[]; $o=0; $new_arr=[]; $z=0; foreach ($array[0] as $k=>$v){ $st=''; if ($v[$express_com_keys]!='中通快运'){ $arres[$o]=$v; if ($v[$express_com_keys]=='中通快递'){ $patterns = "/\d+/"; preg_match_all($patterns,$v[$express_num_keys],$aa); foreach ($aa[0] as $kee=>$vaa){ $st.=$vaa; } $new_arr[$z]=$st; }else{ $new_arr[$z]=$v[$express_num_keys]; } $z++; } } $res=Express::whereIn('express_number',$new_arr)->pluck('express_number')->toArray(); if (count($res)>0){ $ar_r=array_intersect($new_arr,$res); $que_express_str=implode(',',$ar_r); // return $this->error('450001','快递单号:'.$que_express_str.'已经上传',$ar_r); } // foreach ($array[0] as $k=>$v){ // if ($v[$express_com_keys]!='中通快运'){ // $new_arr[$z]=$v[$express_num_keys]; // $z++; // } // } $express_nums=array_column($arres,$express_num_keys); $unique_express_nums=array_unique($express_nums); $que_express_nums=array_diff_assoc($express_nums,$unique_express_nums); if(count($que_express_nums)>0){ $que_express_str=implode(',',$que_express_nums); return $this->error('450001','快递单号'.$que_express_str.'重复出现'); } $statusArr=[];$arr=[]; $area_list=[]; $order_num=[]; foreach ($array[0] as $key => $value) { $order_num[]=$value[0]; $area_list[$value[0]][] = $value; } $order_num=array_values(array_unique($order_num)); $order=Ordertest::whereIn('order_num',$order_num)->whereNotIn('status',[0,1])->pluck('order_num')->toArray(); if (count($order_num)!=count($order)){ $arrss=array_values(array_diff($order_num,$order)); if ($arrss){ return $this->error(200154,'订单编号为:'.implode(',',$arrss).'的订单状态不正确'); } } $is=0; //将表格中的数据以订单号为键值生成对应的数组 foreach ($area_list as $k=>$v){ $arr_order[$is]['order_num']=$k; $arr_order[$is]['express_code']=$v[0][$express_num_keys]; $arr_order[$is]['express_com']=$v[0][$express_com_keys]; $is++; } DB::beginTransaction(); try { foreach ($array[0] as $key => $val) { $statusArr[$val[$order_num_keys]][] = $val[$express_status_keys]; $arr[$val[$order_num_keys]] = array_unique($statusArr[$val[$order_num_keys]]); if (count($arr[$val[$order_num_keys]]) > 1) { return $this->error('450001', '第' . ($key + 2) . '行附近,订单编号:' . $val[$order_num_keys] . '发货状态不一致'); } if (empty($val[$order_num_keys])) { return $this->error('450001', '第' . ($key + 2) . '行附近,订单编号为空'); } // $order = Ordertest::where('order_num', $val[$order_num_keys])->first(); // if (empty($order)) { // return $this->error('450001', '第' . ($key + 2) . '行附近,订单编号:' . $val[$order_num_keys] . '订单信息不存在'); // } // if ($order->status == 0 || $order->status == 1) { // return $this->error(450001, '第' . ($key + 2) . '行附近,订单编号:' . $val[$order_num_keys] . '的订单处于待订单审核或者待财务审核状态中'); // } if (empty($val[$express_total])) { return $this->error('450001', '第' . ($key + 2) . '行附近,数据求和为空'); } if (empty($val[$express_num_keys])) { return $this->error('450001', '第' . ($key + 2) . '行附近,快递单号为空'); } if (empty($val[$express_com_keys])) { return $this->error('450001', '第' . ($key + 2) . '行附近,快递公司为空'); } if (empty($express_code[$val[$express_com_keys]])) { return $this->error('450001', '第' . ($key + 2) . '行附近,快递公司名称有误'); } if ($express_com_keys=='中通快运'){ $express = Express::where('express_number', $val[$express_num_keys])->where('created_at','<',$time)->first(); if ($express) { return $this->error('450001', '第' . ($key + 2) . '行附近,快递单号:' . $val[$express_num_keys] . '物流信息已存在'); } }else{ $express = Express::where('express_number', $val[$express_num_keys])->first(); if ($express) { return $this->error('450001', '第' . ($key + 2) . '行附近,快递单号:' . $val[$express_num_keys] . '物流信息已存在'); } } } // return $this->success((Carbon::now()->timestamp)-$time1); $i=0; $ks=0; $d=[]; foreach ($area_list as $ke=>$va){ $time2=Carbon::now()->timestamp; $order=Ordertest::where('order_num',$ke)->first(); // $number=Express::where('order_id',$order->id)->where('is_gift',0)->groupBy('number')->get()->count(); // $count=Express::where('order_id',$order->id)->where('is_gift',0)->count(); $total=Express::where('order_id',$order->id)->where('is_gift',0)->sum('total'); // foreach ($va as $key=>$val){ // $total_new=0; // $exp=new Express(); // if (!empty($newArr[$i]['note'])) { // $exp->note = $newArr[$i]['note'] . ','; // } else { // $exp->note = ''; // } // $exp->order_id = $order->id; // $exp->user_id = $order->user_id; // if ($val[$express_com_keys]=='中通快递'){ // $patterns = "/\d+/"; // $st=''; // preg_match_all($patterns,$val[$express_num_keys],$aa); // foreach ($aa[0] as $kee=>$vaa){ // $st.=$vaa; // } // $exp->express_number=$st; // }else{ // $exp->express_number = $val[$express_num_keys]; // } // // if ($val[$express_com_keys]=='邮政'){ // $exp->express_com = $val[$express_com_keys].'EMS'; // }else{ // $exp->express_com = $val[$express_com_keys]; // } // // $exp->express_code = $express_code[$val[$express_com_keys]]; // $exp->remark = $val[$remark_keys]; // $data = ''; // $datas=[]; // $l=0; //// foreach ($keys as $k => $v) { //// if (!empty($val[$v])) { //// if (empty($data)) { //// $data .= $one[$v] . ':' . $val[$v]; //// } else { //// $data .= '+' . $one[$v] . ':' . $val[$v]; //// } //// $nums=mb_strlen($val[$v]); //// if ($nums==2){ //// $re=mb_strstr($val[$v],'精'); //// if ($re){ //// $n=mb_strlen($val[$v]); //// $num=mb_substr($val[$v],0,$n-1); //// $kuan='精装版'; //// $ku=0; //// }else{ //// $re=mb_strstr($val[$v],'简'); //// if ($re){ //// $n=mb_strlen($val[$v]); //// $num=mb_substr($val[$v],0,$n-1); //// $kuan='简约版'; //// $ku=1; //// }else{ //// $re=mb_strstr($val[$v],'棉'); //// if ($re){ //// $n=mb_strlen($val[$v]); //// $num=mb_substr($val[$v],0,$n-1); //// $kuan='棉老版'; //// $ku=3; //// }else{ //// $re=mb_strstr($val[$v],'老'); //// if ($re){ //// $n=mb_strlen($val[$v]); //// $num=mb_substr($val[$v],0,$n-1); //// $kuan='老人版'; //// $ku=2; //// }else{ //// return $this->error(50021,'尺码不对',''); //// } //// } //// } //// } //// if (!$F_XL_SIZE){ //// if ($k<=3){ //// $datas[$l]=['sex'=>'男款','sexs'=>1,'size'=>$one[$v],'num'=>$num,'kuan'=>$kuan,'ku'=>$ku]; //// $total+=$num; //// $total_new+=$num; //// }else{ //// $datas[$l]=['sex'=>'女款','sexs'=>0,'size'=>mb_substr($one[$v],1),'num'=>$num,'kuna'=>$kuan,'ku'=>$ku]; //// $total+=$num; //// $total_new+=$num; //// } //// }else{ //// if ($k<=1){ //// $datas[$l]=['sex'=>'男款','sexs'=>1,'size'=>$one[$v],'num'=>$num,'kuan'=>$kuan,'ku'=>$ku]; //// $total+=$num; //// $total_new+=$num; //// }else{ //// $datas[$l]=['sex'=>'女款','sexs'=>0,'size'=>mb_substr($one[$v],1),'num'=>$num,'kuna'=>$kuan,'ku'=>$ku]; //// $total+=$num; //// $total_new+=$num; //// } //// } //// //// $l++; //// $count++; //// }else{ //// if ($nums%2!=0){ //// $re_1=mb_strstr($val[$v],'精'); //// if ($re_1){ //// $numss=mb_strlen($re_1); //// $aa=mb_substr($val[$v],$nums-$numss-2,2); //// if (!is_numeric($aa)){ //// return $this->error(500024,'尺码对应的数量不对,请核对数量0',[$val[$v]]); //// } //// if (!$F_XL_SIZE){ //// if ($k<=3){ //// $datas[$l]=['sex'=>'男款','sexs'=>1,'size'=>$one[$v],'num'=>$aa,'kuan'=>'精装版','ku'=>0]; //// $total+=$aa; //// $total_new+=$aa; //// }else{ //// $datas[$l]=['sex'=>'女款','sexs'=>0,'size'=>mb_substr($one[$v],1),'num'=>$aa,'kuna'=>'精装版','ku'=>0]; //// $total+=$aa; //// $total_new+=$aa; //// } //// }else{ //// if ($k<=1){ //// $datas[$l]=['sex'=>'男款','sexs'=>1,'size'=>$one[$v],'num'=>$aa,'kuan'=>'精装版','ku'=>0]; //// $total+=$aa; //// $total_new+=$aa; //// }else{ //// $datas[$l]=['sex'=>'女款','sexs'=>0,'size'=>mb_substr($one[$v],1),'num'=>$aa,'kuna'=>'精装版','ku'=>0]; //// $total+=$aa; //// $total_new+=$aa; //// } //// } //// //// $l++; //// $count++; //// } //// }else{ //// $re_1=mb_strstr($val[$v],'精'); //// if ($re_1){ //// $numss=mb_strlen($re_1); //// $aa=mb_substr($val[$v],$nums-$numss-1,1); //// if (!is_numeric($aa)){ //// return $this->error(500024,'尺码对应的数量不对,请核对数量1'); //// } //// if (!$F_XL_SIZE){ //// if ($k<=3){ //// $datas[$l]=['sex'=>'男款','sexs'=>1,'size'=>$one[$v],'num'=>$aa,'kuan'=>'精装版','ku'=>0]; //// $total+=$aa; //// $total_new+=$aa; //// }else{ //// $datas[$l]=['sex'=>'女款','sexs'=>0,'size'=>mb_substr($one[$v],1),'num'=>$aa,'kuna'=>'精装版','ku'=>0]; //// $total+=$aa; //// $total_new+=$aa; //// } //// }else{ //// if ($k<=1){ //// $datas[$l]=['sex'=>'男款','sexs'=>1,'size'=>$one[$v],'num'=>$aa,'kuan'=>'精装版','ku'=>0]; //// $total+=$aa; //// $total_new+=$aa; //// }else{ //// $datas[$l]=['sex'=>'女款','sexs'=>0,'size'=>mb_substr($one[$v],1),'num'=>$aa,'kuna'=>'精装版','ku'=>0]; //// $total+=$aa; //// $total_new+=$aa; //// } //// } //// //// $l++; //// $count++; //// } //// } //// //// $re_2=mb_strstr($val[$v],'简'); //// if ($re_2){ //// $numss=mb_strlen($re_2); //// $aa=mb_substr($val[$v],$nums-$numss-1,1); //// if (!is_numeric($aa)){ //// return $this->error(500024,'尺码对应的数量不对,请核对数量2'.$aa); //// } //// if (!$F_XL_SIZE){ //// if ($k<=3){ //// $datas[$l]=['sex'=>'男款','sexs'=>1,'size'=>$one[$v],'num'=>$aa,'kuan'=>'简约版','ku'=>1]; //// $total+=$aa; //// $total_new+=$aa; //// }else{ //// $datas[$l]=['sex'=>'女款','sexs'=>0,'size'=>mb_substr($one[$v],1),'num'=>$aa,'kuna'=>'简约版','ku'=>1]; //// $total+=$aa; //// $total_new+=$aa; //// } //// }else{ //// if ($k<=1){ //// $datas[$l]=['sex'=>'男款','sexs'=>1,'size'=>$one[$v],'num'=>$aa,'kuan'=>'简约版','ku'=>1]; //// $total+=$aa; //// $total_new+=$aa; //// }else{ //// $datas[$l]=['sex'=>'女款','sexs'=>0,'size'=>mb_substr($one[$v],1),'num'=>$aa,'kuna'=>'简约版','ku'=>1]; //// $total+=$aa; //// $total_new+=$aa; //// } //// } //// //// $l++; //// $count++; //// } //// $re_3=mb_strstr($val[$v],'老'); //// if ($re_3){ //// $numss=mb_strlen($re_3); //// $aa=mb_substr($val[$v],$nums-$numss-1,1); //// if (!is_numeric($aa)){ //// return $this->error(500024,'尺码对应的数量不对,请核对数量3'.$val[$v]); //// } //// if (!$F_XL_SIZE){ //// if ($k<=3){ //// $datas[$l]=['sex'=>'男款','sexs'=>1,'size'=>$one[$v],'num'=>$aa,'kuan'=>'老人版','ku'=>2]; //// $total+=$aa; //// $total_new+=$aa; //// }else{ //// $datas[$l]=['sex'=>'女款','sexs'=>0,'size'=>mb_substr($one[$v],1),'num'=>$aa,'kuna'=>'老人版','ku'=>2]; //// $total+=$aa; //// $total_new+=$aa; //// } //// }else{ //// if ($k<=1){ //// $datas[$l]=['sex'=>'男款','sexs'=>1,'size'=>$one[$v],'num'=>$aa,'kuan'=>'老人版','ku'=>2]; //// $total+=$aa; //// $total_new+=$aa; //// }else{ //// $datas[$l]=['sex'=>'女款','sexs'=>0,'size'=>mb_substr($one[$v],1),'num'=>$aa,'kuna'=>'老人版','ku'=>2]; //// $total+=$aa; //// $total_new+=$aa; //// } //// } //// //// $l++; //// $count++; //// } //// $re_4=mb_strstr($val[$v],'棉'); //// if ($re_4){ //// $numss=mb_strlen($re_4); //// $aa=mb_substr($val[$v],$nums-$numss-1,1); //// if (!is_numeric($aa)){ //// return $this->error(500024,'尺码对应的数量不对,请核对数量4'); //// } //// if (!$F_XL_SIZE){ //// if ($k<=3){ //// $datas[$l]=['sex'=>'男款','sexs'=>1,'size'=>$one[$v],'num'=>$aa,'kuan'=>'棉老版','ku'=>3]; //// $total+=$aa; //// $total_new+=$aa; //// }else{ //// $datas[$l]=['sex'=>'女款','sexs'=>0,'size'=>mb_substr($one[$v],1),'num'=>$aa,'kuna'=>'棉老版','ku'=>3]; //// $total+=$aa; //// $total_new+=$aa; //// } //// }else{ //// if ($k<=1){ //// $datas[$l]=['sex'=>'男款','sexs'=>1,'size'=>$one[$v],'num'=>$aa,'kuan'=>'棉老版','ku'=>3]; //// $total+=$aa; //// $total_new+=$aa; //// }else{ //// $datas[$l]=['sex'=>'女款','sexs'=>0,'size'=>mb_substr($one[$v],1),'num'=>$aa,'kuna'=>'棉老版','ku'=>3]; //// $total+=$aa; //// $total_new+=$aa; //// } //// } //// //// $l++; //// $count++; //// } //// //// if (!$re_1&&!$re_2&&!$re_3&&!$re_4){ //// return $this->error(522201,'尺码对应的数量信息不正确'.$val[$v],[$v]); //// } //// } //// //// } //// } // // $exp->note .= $data; // $exp->notes = json_encode($datas); // $exp->status = 0; // $exp->number = $number+1; // $exp->count = $key+1; // $exp->total = $total_new; // if (!$exp->save()){ // throw new \Exception(1); // } // foreach ($datas as $kes=>$vals){ // $es=new ExpressStorage(); // $str_count=substr_count($vals['size'],'X'); // if ($str_count>=2){ // $vals['size']=$str_count.'XL'; // } // $es->user_id=$order->good_user_id; // $es->express_id=$exp->id; // $es->sex=$vals['sexs']; // $es->size=$vals['size']; // $es->num=$vals['num']; // $es->type=$vals['ku']; // if (!$es->save()){ // throw new \Exception(1); // } // } // } $totals=0; $str=''; foreach ($va as $k=>$v){ foreach ($keys as $key=>$val){ $str.=$v[$val]; } } $patterns = "/\d+/"; preg_match_all($patterns,$str,$aa); foreach ($aa[0] as $k=>$v){ $totals+=$v; } $total+=$totals; if ($total==$order->total){ $order->track_status=2; }elseif ($total<$order->total){ $order->track_status=1; }else{ return $this->error(52201,$ke.'数量出错了'); } // $order->number+=$count; // $order->save(); } // Log::error($newArr); // Express::insert($newArr); DB::commit(); return $this->success([]); }catch(\Exception $e){ DB::rollBack(); Log::error($e); return $this->error(5001,$e->getMessage()); } } }