123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- <?php
- namespace App\Console\Commands;
- use App\Models\Activity;
- use App\Models\Address;
- use App\Models\DataInfo;
- use App\Models\Gifts;
- use App\Models\Goods;
- use App\Models\Order;
- use App\Models\OrderDetail;
- use App\Models\OrderGift;
- use App\Models\Store;
- use App\Models\TongBuList;
- use App\Models\UrlList;
- use App\Models\User;
- use Carbon\Carbon;
- use GuzzleHttp\Client;
- use Illuminate\Console\Command;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\Log;
- class SynOrderNewOneCommand extends Command
- {
- /**
- * The name and signature of the console command.
- *
- * @var string
- */
- protected $signature = 'SynOrderNewOneCommand';
- /**
- * The console command description.
- *
- * @var string
- */
- protected $description = 'Command description';
- /**
- * Create a new command instance.
- *
- * @return void
- */
- public function __construct()
- {
- parent::__construct();
- }
- /**
- * Execute the console command.
- *
- * @return mixed
- */
- public function handle()
- {
- // $TBarr=TongBuList::where('status',0)->orderByDesc('id')->first();
- // if (!$TBarr){
- // return ;
- // }
- $url_list=UrlList::where('id','=',16)->get();
- foreach ($url_list as $k=>$v){
- $token=$this->getToekn($v->url,$v->id);
- // $token=$v->token;
- $json = '{"QueryType":"0","Code":"","BrandIDS":[],"StartDate":"","EndDate":"","StartMoney":"","EndMoney":"","WarehouseIDS":[],"AccountMethod":"","CurrencyIDS":[],"AddrName":"","AddrPhone":"","Addr":"","IsChina":"","AddrID":"","Remark":"","SourceName":"","SourcePhone":"","ProductName":"","ProductCode":"","SourceAuthorizationCode":"","SalesRemark":"","SelectOrderIDs":[],"TeamID":"","PageNo":1,"PageSize":10,"DeliveryType":"","IsCreateOrderSales":null,"Sort":"","IsAsc":false,"PackagesType":[],"BrandLevels":[],"SelfDeliveryStoreName":"","BusinessContactName":"","StateIDs":[],"TeamIDs":[],"ExpressAccountMethod":"","CustomerOrderCategoryID":0,"EMSCompany":"","DateType":"","EMSCode":"","AccuracyQueryKey":[],"NotLikeQueryKey":[],"GratisOrReachedToPay":""}';
- $client=new Client();
- $url = $v->url.'/api/Admin/CompanyCustomerOrderList/GetMyCustomerOrderList';
- $data=json_decode($json,true);
- $data['PageSize']=50;
- $data['BrandIDS']=[1];
- $data['Code']='O2024110642943200094';
- $data['EndDate']=Carbon::tomorrow()->toDateTimeString();
- $data['StartDate']=Carbon::today()->addDays(-2)->toDateTimeString();
- $re=$client->post($url,[
- 'headers' => [
- 'Content-Type' => 'application/json', // 设置请求头
- 'Auth-AdminToken' => $token, // 如果需要身份验证令牌
- ],
- 'json'=>$data
- ]);
- // dump($re);
- $res=$re->getBody()->getContents();
- Log::error($v->url.$res);
- $info=json_decode($res,true);
- // if ($info['errcode']=='ExpiredAuthorization' || empty($info['errcode'])){
- // $this->getToekn($v->url,$v->id);
- // break;
- // }
- $arr=$info['data']['Models'];
- $arr_ss=new DataInfo();
- $arr_ss->data=json_encode($arr);
- $arr_ss->url=$v->url;
- $arr_ss->save();
- $n=ceil($info['data']['Total']/50);
- for ($i=2;$i<=$n;$i++){
- $data=[];
- $json = '{"QueryType":"0","Code":"","BrandIDS":[],"StartDate":"","EndDate":"","StartMoney":"","EndMoney":"","WarehouseIDS":[],"AccountMethod":"","CurrencyIDS":[],"AddrName":"","AddrPhone":"","Addr":"","IsChina":"","AddrID":"","Remark":"","SourceName":"","SourcePhone":"","ProductName":"","ProductCode":"","SourceAuthorizationCode":"","SalesRemark":"","SelectOrderIDs":[],"TeamID":"","PageNo":1,"PageSize":10,"DeliveryType":"","IsCreateOrderSales":null,"Sort":"","IsAsc":false,"PackagesType":[],"BrandLevels":[],"SelfDeliveryStoreName":"","BusinessContactName":"","StateIDs":[],"TeamIDs":[],"ExpressAccountMethod":"","CustomerOrderCategoryID":0,"EMSCompany":"","DateType":"","EMSCode":"","AccuracyQueryKey":[],"NotLikeQueryKey":[],"GratisOrReachedToPay":""}';
- $client=new Client();
- $url = $v->url.'/api/Admin/CompanyCustomerOrderList/GetMyCustomerOrderList';
- $data=json_decode($json,true);
- $data['PageSize']=50;
- $data['PageNo']=$i;
- $data['BrandIDS']=[1];
- // $data['Code']='A2024091470852300005';
- $data['EndDate']=Carbon::tomorrow()->toDateTimeString();
- $data['StartDate']=Carbon::today()->addDays(-1)->toDateTimeString();
- $re=$client->post($url,[
- 'headers' => [
- 'Content-Type' => 'application/json', // 设置请求头
- 'Auth-AdminToken' => $token, // 如果需要身份验证令牌
- ],
- 'json'=>$data
- ]);
- // dump($re);
- $res=$re->getBody()->getContents();
- // Log::error($v->url.$res);
- $info=json_decode($res,true);
- // if ($info['errcode']=='ExpiredAuthorization' || empty($info['errcode'])){
- // $this->getToekn($v->url,$v->id);
- // break;
- // }
- $arr=$info['data']['Models'];
- $arr_ss=new DataInfo();
- $arr_ss->data=json_encode($arr);
- $arr_ss->url=$v->url;
- $arr_ss->save();
- }
- // $this->DelOrder($arr,$v->url);
- }
- // $TBarr->status=1;
- // $TBarr->finish_at=Carbon::now()->toDateTimeString();
- // $TBarr->save();
- }
- protected function getToekn($url,$id){
- $client=new Client();
- $re=$client->post($url.'/api/Admin/System/MainSubLogin',[
- 'headers' => [
- 'Content-Type' => 'application/json', // 设置请求头
- // 'Auth-AdminToken' => 'SjI5Ym5US0xZVzZjSVd4V1FheHg4VG5hL1dpWDJwVi82RDdMY09WU3NTeENIdmJUdmxxTEFVOHZSZkRiaXM1c3RuYUlZTGVIcmI2NGlUdXJ4MXZ6dkREWmRoY283UG5TclQ2RnI5amV3UGYzYjBjNkZ0RTFzUElzRzRhV2F1d0M=', // 如果需要身份验证令牌
- ],
- 'json'=>['UserName'=>'dwadmin','Password'=>'zS76UMV9']
- ]);
- $res=$re->getBody()->getContents();
- $info=json_decode($res,true);
- $urlinfo=UrlList::find($id);
- // Log::error($res);
- Log::error($url);
- Log::error($info);
- if (!$info['errcode']){
- $token=$info['data']['accessToken'];
- $urlinfo->token=$token;
- $urlinfo->save();
- return $token;
- }else{
- Log::error($urlinfo->name.'生成token出错===='.$info['errcode']);
- return 0;
- }
- }
- protected function DelOrder($arr,$url){
- if (!$arr){
- return;
- }
- $activity_id=Activity::where('is_ing',1)->value('id');
- foreach ($arr as $k=>$v){
- //批发商
- $Sourcemobile=$v['SourceCustomerModel']['Telephone'];
- $Sourcenickname=$v['SourceCustomerModel']['CustomerName'];
- $Sourcecode=$v['SourceCustomerModel']['AuthorizationCode'];
- $user=User::where('auth_code',$Sourcecode)->first();
- if (!$user){
- $user=new User();
- $user->name=$Sourcenickname;
- $user->nickname=$Sourcenickname;
- $user->realname=$Sourcenickname;
- $user->remark_name=$Sourcenickname;
- $user->mobile=$Sourcemobile;
- $user->uuid=$Sourcemobile;
- $user->auth_code=$Sourcecode;
- $user->level=3;
- $user->url=$url;
- $user->save();
- }
- $TopCode=$v['TopCustomerModel']['AuthorizationCode'];
- $belongUser=User::where('auth_code',$TopCode)->first();
- if (!$belongUser){
- //经销商
- $belongUser=new User();
- $belongUser->name=$v['TopCustomerModel']['CustomerName'];
- $belongUser->nickname=$v['TopCustomerModel']['CustomerName'];
- $belongUser->realname=$v['TopCustomerModel']['CustomerName'];
- $belongUser->remark_name=$v['TopCustomerModel']['CustomerName'];
- $belongUser->mobile=$v['TopCustomerModel']['Telephone'];
- $belongUser->uuid=$v['TopCustomerModel']['Telephone'];
- $belongUser->auth_code=$TopCode;
- $belongUser->level=2;
- $belongUser->url=$url;
- $belongUser->save();
- }
- $order_num=$v['Code'];
- $order=Order::where('order_num',$order_num)->first();
- if ($order_num=='B2024082762185500002'){
- Log::error($order);
- }
- if ($order){
- if ($v['ReviewRemark']){
- if (!$order->is_deleted){
- $order->is_deleted=1;
- $order->wait_back_money+=$order->pay_money;
- $order->save();
- break;
- }
- }
- if ($order->is_deleted){
- break;
- }
- $address=Address::where('id',$order->address_id)->first();
- $address->user_id=$user->id;
- $address->username=$v['AddressDetail']['Name'];
- $address->mobile=$v['AddressDetail']['Phone'];
- $address->province=$v['AddressDetail']['Province'];
- $address->city=$v['AddressDetail']['City'];
- $address->town=$v['AddressDetail']['District'];
- $address->address=$v['AddressDetail']['Address'];
- $address->type=0;
- $address->save();
- if ($order->money!=$v['TotalCash']){
- OrderDetail::where('order_id',$order->id)->delete();
- }
- $order->money=$v['TotalCash'];
- if ($order->money==$order->pay_money){
- $order->no_pay_money=0;//未支付变为0
- $order->pay_status=2;//支付状态2,为全部支付
- $order->wait_back_money=0;//待退回金额为0
- }elseif ($order->money<$order->pay_money){//订单金额小于支付金额
- $order->no_pay_money=0;//未支付金额变为0
- $order->pay_status=3;//支付状态3,待退款状态
- $order->wait_back_money=$order->pay_money-$order->money;//待退款金额为支付金额减去订单金额
- }elseif ($order->money>$order->pay_money){//订单金额大于支付金额
- if ($order->pay_money==0){//如果支付金额为0
- $order->pay_status=0;//则支付状态0,未支付
- }else{
- $order->pay_status=1;//否则支付状态1,部分支付
- }
- $order->no_pay_money=$order->money-$order->pay_money;//未支付金额等于订单金额减去支付金额
- $order->wait_back_money=0;//待退款为0
- }
- $order->total=$v['TotalQty'];
- $order->save();
- $detail=$v['OrderDetailOutput'];
- $activity_status=false;
- $orderdrtail_id=[];
- foreach ($detail as $ke=>$va){
- if ($va['IsGift']){
- $activity_status=true;
- $gift_name=$va['ProductName'];
- $num=$va['Qty'];
- $gift=Gifts::where('name',$gift_name)->where('activity_id',$activity_id)->first();
- $ordergift=OrderGift::where('order_id',$order->id)
- ->where('gift_id',$gift->id)->first();
- if (!$ordergift){
- $ordergift=new OrderGift();
- }
- $order->total-=$num;
- $order->save();
- $ordergift->gift_id=$gift->id;
- $ordergift->order_id=$order->id;
- $ordergift->activity_id=$activity_id;
- $ordergift->num=$num;
- $ordergift->limit_num=1;
- $ordergift->save();
- }else{
- // Log::error($va);
- $size=$va['AttributesVales'][0]['AttributesValue'];
- $size1=$va['AttributesVales'][1]['AttributesValue'];
- $name=$va['ProductCode'];
- $num=$va['Qty'];
- $goods=Goods::where('summary',$name)->where('names',$size.'-'.$size1)->first();
- $orderDetail=OrderDetail::where('order_id',$order->id)
- ->where('goods_id',$goods->id)->first();
- if (!$orderDetail){
- $orderDetail=new OrderDetail();
- }
- $orderDetail->order_id=$order->id;
- $orderDetail->goods_id=$goods->id;
- $orderDetail->num=$num;
- $orderDetail->goods_price=$va['Price'];
- $orderDetail->money=$num*$va['Price'];
- $orderDetail->goods_name=$name;
- $orderDetail->goods_size=$goods->size;
- $orderDetail->goods_unit=$goods->unit;
- $orderDetail->goods_sku=$va['SKUCode'];
- $orderDetail->save();
- $order_id[]=$orderDetail->id;
- }
- }
- // $order->is_deleted=0;
- // $order->wait_back_money=$order->pay_money;
- // $order->save();
- }else{
- $address=new Address();
- $address->user_id=$user->id;
- $address->username=$v['AddressDetail']['Name'];
- $address->mobile=$v['AddressDetail']['Phone'];
- $address->province=$v['AddressDetail']['Province'];
- $address->city=$v['AddressDetail']['City'];
- $address->town=$v['AddressDetail']['District'];
- $address->address=$v['AddressDetail']['Address'];
- $address->type=0;
- $address->uid=$belongUser->id;
- $address->save();
- $order=new Order();
- $order->order_num=$order_num;
- $order->money=$v['TotalCash'];
- $order->no_pay_money=$v['TotalCash'];
- $order->user_id=$user->id;
- $order->total=$v['TotalQty'];
- $order->created_at=$v['CreateDate'];
- $order->ZDL_id=$v['CustomerOrderID'];
- $order->url=$url;
- $order->address_id=$address->id;
- $order->good_user_id=$belongUser->id;
- $order->save();
- $detail=$v['OrderDetailOutput'];
- $activity_status=false;
- foreach ($detail as $ke=>$va){
- if ($va['IsGift']){
- $activity_status=true;
- $gift_name=$va['ProductName'];
- $num=$va['Qty'];
- $gift=Gifts::where('name',$gift_name)->where('activity_id',$activity_id)->first();
- $ordergift=new OrderGift();
- $ordergift->gift_id=$gift->id;
- $ordergift->order_id=$order->id;
- $ordergift->activity_id=$activity_id;
- $ordergift->num=$num;
- $ordergift->limit_num=1;
- $ordergift->save();
- $order->total-=$num;
- $order->save();
- }else{
- // Log::error($va);
- $size=$va['AttributesVales'][0]['AttributesValue'];
- $size1=$va['AttributesVales'][1]['AttributesValue'];
- $name=$va['ProductCode'];
- $num=$va['Qty'];
- $goods=Goods::where('summary',$name)->where('names',$size.'-'.$size1)->first();
- Log::error($size.'==='.$size1);
- $orderDetail=new OrderDetail();
- $orderDetail->order_id=$order->id;
- $orderDetail->goods_id=$goods->id;
- $orderDetail->num=$num;
- $orderDetail->goods_price=$va['Price'];
- $orderDetail->money=$num*$va['Price'];
- $orderDetail->goods_name=$name;
- $orderDetail->goods_size=$goods->size;
- $orderDetail->goods_unit=$goods->unit;
- $orderDetail->goods_sku=$va['SKUCode'];
- $orderDetail->save();
- }
- }
- if ($activity_status){
- $order->activity_id=$activity_id;
- $order->save();
- }
- }
- }
- }
- /*获取体验店*/
- public function get_storename(){
- return $this->success_list(Store::where('type',2)->get());
- }
- }
|