|
|
@@ -0,0 +1,253 @@
|
|
|
+<?php
|
|
|
+/**
|
|
|
+ * ----------------------------------------------------------------------------
|
|
|
+ * 行到水穷处,坐看云起时
|
|
|
+ * 开发软件,找贵阳云起信息科技,官网地址:https://www.56q7.com/
|
|
|
+ * ----------------------------------------------------------------------------
|
|
|
+ * Author: 老成
|
|
|
+ * email:85556713@qq.com
|
|
|
+ */
|
|
|
+declare(strict_types=1);
|
|
|
+
|
|
|
+namespace app\admin\command;
|
|
|
+
|
|
|
+use app\common\model\FengsuShip;
|
|
|
+
|
|
|
+use think\console\Command;
|
|
|
+use think\console\Input;
|
|
|
+use think\console\Output;
|
|
|
+use GuzzleHttp\Client;
|
|
|
+use app\common\model\CrontabLog;
|
|
|
+use app\common\model\FengsuSku;
|
|
|
+use app\common\model\ShopList;
|
|
|
+use app\common\model\ProductConfig;
|
|
|
+use app\common\model\ShopDelivery;
|
|
|
+use app\common\model\CustomerSpec;
|
|
|
+use app\admin\service\FengsuService;
|
|
|
+
|
|
|
+use GuzzleHttp\Psr7\Request;
|
|
|
+
|
|
|
+//拼多多
|
|
|
+class TaskPdd extends Command
|
|
|
+{
|
|
|
+ // 指令配置
|
|
|
+ protected function configure()
|
|
|
+ {
|
|
|
+ $this->setName('task:pdd')->setDescription('the task command');
|
|
|
+ }
|
|
|
+
|
|
|
+ //根据shop_id
|
|
|
+ protected function execute(Input $input, Output $output)
|
|
|
+ {
|
|
|
+ $client = new Client([ 'verify' => false]);
|
|
|
+ $last_time = CrontabLog::getLastRunTime(0);
|
|
|
+ $body = '{
|
|
|
+ "goodType": 2,
|
|
|
+ "goodsFlag": 1,
|
|
|
+ "current": 1,
|
|
|
+ "size": 25,
|
|
|
+ "startTime": "'.$last_time.'",
|
|
|
+ "endTime": "'.date('Y-m-d H:i:s').'",
|
|
|
+ "skuOuterIdExact": false,
|
|
|
+ "skuPropExact": false,
|
|
|
+ "sort": "CONSIGN_TIME",
|
|
|
+ "sortAsc": false,
|
|
|
+ "timeType": 2,
|
|
|
+ "tradeStatus": 2
|
|
|
+ }';
|
|
|
+ $request = new Request('POST', $this->getUrl('dy'), $this->getHeaders('dy'), $body);
|
|
|
+ $res = $client->sendAsync($request)->wait();
|
|
|
+ if($res->getStatusCode() == 200) {
|
|
|
+ $data = json_decode($res->getBody()->getContents(), true);
|
|
|
+ $list = $data['data']['list'];
|
|
|
+ if(empty($list)) {
|
|
|
+ $output->writeln('无数据');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $queue = [];
|
|
|
+ $shopList = new ShopList();
|
|
|
+ $fengsuSku = new FengsuSku();
|
|
|
+ $productConfig = new ProductConfig();
|
|
|
+ $shopDelivery = new ShopDelivery();
|
|
|
+ $customerSpec = new CustomerSpec();
|
|
|
+ foreach($list as $item) {
|
|
|
+ $status = FengsuService::getAdditionalPrice( $shopList, $fengsuSku, $productConfig, $shopDelivery, $customerSpec, $item);
|
|
|
+ $queue[] = [
|
|
|
+ 'shop_id' => $item['shopId'],
|
|
|
+ 'trade_from' => $item['tradeFrom'],
|
|
|
+ 'province' => $item['receiverProvince'],
|
|
|
+ 'city' => $item['receiverCity'],
|
|
|
+ 'company_name' => $item['tradeOrderPrintVos'][0]['companyName'],
|
|
|
+ 'waybill_no' => $item['waybillNo'],
|
|
|
+ 'consign_time' => $item['consignTime'],
|
|
|
+ 'goods_id' => $item['tradeOrderPrintVos'][0]['goodsId'],
|
|
|
+ 'sku_id' => $item['tradeOrderPrintVos'][0]['skuId'],
|
|
|
+ 'num' => $item['tradeOrderPrintVos'][0]['total'],
|
|
|
+ 'goods_title' => $item['tradeOrderPrintVos'][0]['goodsTitle'],
|
|
|
+ 'weigh' => $item['tradeOrderPrintVos'][0]['weight'],
|
|
|
+ 'price' => bcdiv((string)$item['payment'], '100', 2),
|
|
|
+ 'status' => $status,
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
+ // 保存到数据库
|
|
|
+ (new FengsuShip())->saveAll($queue);
|
|
|
+ // 更新最后执行时间
|
|
|
+ CrontabLog::create([
|
|
|
+ 'type_id' => 0,
|
|
|
+ 'last_time' => date('Y-m-d H:i:s'),
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 指令输出
|
|
|
+ $output->writeln('ok');
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //获取请求url
|
|
|
+ protected function getUrl(string $key):string
|
|
|
+ {
|
|
|
+ $url = [
|
|
|
+ 'tb' => 'https://fszntb.zhifeiyun.cn/amount/ship-list-new', //淘宝
|
|
|
+ 'pdd' => 'https://fsfxpdd.fengsutb.com/amount/ship-list-new', //拼多多
|
|
|
+ 'dy' => 'https://fsdy2.fengsutb.com/amount/ship-list-new', //抖音
|
|
|
+ 'ks' => 'https://fsks.fengsutb.com/amount/ship-list-new', //快手
|
|
|
+ 'jd' => 'https://fsjd.fengsutb.com/amount/ship-list-new', //京东
|
|
|
+ 'xhs' => 'https://fsxpt.fengsutb.com/amount/ship-list-new', //小红书
|
|
|
+ ];
|
|
|
+ return $url[$key] ?? $url['tb'];
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取头部
|
|
|
+ protected function getHeaders(string $key):array{
|
|
|
+ $header = [
|
|
|
+ 'tb' =>[
|
|
|
+ 'Accept'=> "application/json, text/plain, */*",
|
|
|
+ 'Accept-Encoding'=> "gzip, deflate, br, zstd",
|
|
|
+ 'Accept-Language'=> "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
|
|
|
+ "Authorization"=> "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZmEiLCJuaWtlIjoi6Zi_5Y-R5rWL6YCfIiwiY3JlYXRlZCI6MTc1ODc5MDI4NDU3OSwiZHBJZCI6MTkxOTQwLCJleHAiOjE3NTkwNDk0ODQsImVuYWJsZWQiOnRydWUsImF1dGhvcml0aWVzIjpbInpodXlvbmdodSJdLCJkcEFjY291bnRJZCI6MTc4MzU3fQ.TuHvPz7Jf0vuYsbrxX9VpyZ2oOrtZ0YzLQJafoX_RV8up1PmtPLfPATBE93_v_1Ig39nODadaTb4aePy3b0hsA",
|
|
|
+ "Cache-Control"=> "no-cache",
|
|
|
+ "Content-Type"=> "application/json",
|
|
|
+ "Origin"=> "https://fx.fengsutb.com",
|
|
|
+ "platform" => "tb",
|
|
|
+ "Pragma"=> "no-cache",
|
|
|
+ "priority" => "u=1, i",
|
|
|
+ "Referer"=> "https://fx.fengsutb.com/",
|
|
|
+ "Sec-ch-ua" => '"Chromium";v="140", "Not=A?Brand";v="24", "Microsoft Edge";v="140"',
|
|
|
+ "Sec-ch-ua-Mobile"=> "?0",
|
|
|
+ "Sec-ch-ua-platform"=> "Windows",
|
|
|
+ "Sec-Fetch-Dest" => "empty",
|
|
|
+ "Sec-Fetch-Mode" => "cors",
|
|
|
+ "Sec-Fetch-Site" => "same-site",
|
|
|
+ "User-Agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"
|
|
|
+ ],
|
|
|
+ 'pdd' =>[
|
|
|
+ 'Accept'=> "application/json, text/plain, */*",
|
|
|
+ 'Accept-Encoding'=> "gzip, deflate, br, zstd",
|
|
|
+ 'Accept-Language'=> "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
|
|
|
+ "Authorization"=> "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZmEiLCJuaWtlIjoi6Zi_5Y-R5rWL6YCfIiwiY3JlYXRlZCI6MTc1ODc5MDI4NDU3OSwiZHBJZCI6MTkxOTQwLCJleHAiOjE3NTkwNDk0ODQsImVuYWJsZWQiOnRydWUsImF1dGhvcml0aWVzIjpbInpodXlvbmdodSJdLCJkcEFjY291bnRJZCI6MTc4MzU3fQ.TuHvPz7Jf0vuYsbrxX9VpyZ2oOrtZ0YzLQJafoX_RV8up1PmtPLfPATBE93_v_1Ig39nODadaTb4aePy3b0hsA",
|
|
|
+ "Cache-Control"=> "no-cache",
|
|
|
+ "Content-Type"=> "application/json",
|
|
|
+ "Origin"=> "https://fx.fengsutb.com",
|
|
|
+ "platform" => "pdd",
|
|
|
+ "Pragma"=> "no-cache",
|
|
|
+ "priority" => "u=1, i",
|
|
|
+ "Referer"=> "https://fx.fengsutb.com/",
|
|
|
+ "Sec-ch-ua" => '"Chromium";v="140", "Not=A?Brand";v="24", "Microsoft Edge";v="140"',
|
|
|
+ "Sec-ch-ua-Mobile"=> "?0",
|
|
|
+ "Sec-ch-ua-platform"=> "Windows",
|
|
|
+ "Sec-Fetch-Dest" => "empty",
|
|
|
+ "Sec-Fetch-Mode" => "cors",
|
|
|
+ "Sec-Fetch-Site" => "same-site",
|
|
|
+ "User-Agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0",
|
|
|
+ 'X-Pdd-Pagecode' => '62f9d7a661b14717564e309aebbb4d47f8988f758f91',
|
|
|
+ 'X-Pdd-Pati' => 'D08NxRGxLLD5hYKZU1nqgE2b9IVrGjdv',
|
|
|
+ ],
|
|
|
+ 'dy'=> [
|
|
|
+ 'Host' => 'fsdy2.fengsutb.com',
|
|
|
+ 'Connection' => 'keep-alive',
|
|
|
+ 'sec-ch-ua-platform' => 'Windows',
|
|
|
+ 'Authorization' => 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZmEiLCJuaWtlIjoi6Zi_5Y-R5rWL6YCfIiwiY3JlYXRlZCI6MTc1ODcwMzg4MzMyMSwiZHBJZCI6MTkxOTQwLCJleHAiOjE3NTg5NjMwODMsImVuYWJsZWQiOnRydWUsImF1dGhvcml0aWVzIjpbInpodXlvbmdodSJdLCJkcEFjY291bnRJZCI6MTc4MzU3fQ.ZXaztcUDDlZDgepOqFwaQfzd4RcINNiIv54or0r-b7DJw9aKw7zjH8RmUIE7yqTcyQ_g6r7aGdpn9hf-hIukBg',
|
|
|
+ 'sec-ch-ua' => '"Chromium";v="140", "Not=A?Brand";v="24", "Microsoft Edge";v="140"',
|
|
|
+ 'sec-ch-ua-mobile' => '?0',
|
|
|
+ 'doudian-event-id' => '1757940551000163',
|
|
|
+ 'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0',
|
|
|
+ 'Accept' => 'application/json, text/plain, */*',
|
|
|
+ 'platform' => 'dy',
|
|
|
+ 'Origin' => 'https://fx.fengsutb.com',
|
|
|
+ 'Sec-Fetch-Site' => 'same-site',
|
|
|
+ 'Sec-Fetch-Mode' => 'cors',
|
|
|
+ 'Sec-Fetch-Dest' => 'empty',
|
|
|
+ 'Referer' => 'https://fx.fengsutb.com/',
|
|
|
+ 'Accept-Language' => 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
|
|
|
+ 'Content-Type' => 'application/json',
|
|
|
+ ],
|
|
|
+ 'ks'=> [
|
|
|
+ 'Accept'=> "application/json, text/plain, */*",
|
|
|
+ 'Accept-Encoding'=> "gzip, deflate, br, zstd",
|
|
|
+ 'Accept-Language'=> "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
|
|
|
+ "Authorization"=> "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZmEiLCJuaWtlIjoi6Zi_5Y-R5rWL6YCfIiwiY3JlYXRlZCI6MTc1ODc5MDI4NDU3OSwiZHBJZCI6MTkxOTQwLCJleHAiOjE3NTkwNDk0ODQsImVuYWJsZWQiOnRydWUsImF1dGhvcml0aWVzIjpbInpodXlvbmdodSJdLCJkcEFjY291bnRJZCI6MTc4MzU3fQ.TuHvPz7Jf0vuYsbrxX9VpyZ2oOrtZ0YzLQJafoX_RV8up1PmtPLfPATBE93_v_1Ig39nODadaTb4aePy3b0hsA",
|
|
|
+ "Cache-Control"=> "no-cache",
|
|
|
+ 'Connection' => 'keep-alive',
|
|
|
+ "Content-Type"=> "application/json",
|
|
|
+ "Host" => "fsks.fengsutb.com",
|
|
|
+ "Origin" => "https://fx.fengsutb.com",
|
|
|
+ "platform" => "ks",
|
|
|
+ "Pragma"=> "no-cache",
|
|
|
+ "Referer"=> "https://fx.fengsutb.com/",
|
|
|
+ "Sec-ch-ua" => '"Chromium";v="140", "Not=A?Brand";v="24", "Microsoft Edge";v="140"',
|
|
|
+ "Sec-ch-ua-Mobile"=> "?0",
|
|
|
+ "Sec-ch-ua-platform"=> "Windows",
|
|
|
+ "Sec-Fetch-Dest" => "empty",
|
|
|
+ "Sec-Fetch-Mode" => "cors",
|
|
|
+ "Sec-Fetch-Site" => "same-site",
|
|
|
+ "User-Agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"
|
|
|
+ ],
|
|
|
+ 'jd' => [
|
|
|
+ 'Accept'=> "application/json, text/plain, */*",
|
|
|
+ 'Accept-Encoding'=> "gzip, deflate, br, zstd",
|
|
|
+ 'Accept-Language'=> "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
|
|
|
+ "Authorization"=> "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZmEiLCJuaWtlIjoi6Zi_5Y-R5rWL6YCfIiwiY3JlYXRlZCI6MTc1ODc5MDI4NDU3OSwiZHBJZCI6MTkxOTQwLCJleHAiOjE3NTkwNDk0ODQsImVuYWJsZWQiOnRydWUsImF1dGhvcml0aWVzIjpbInpodXlvbmdodSJdLCJkcEFjY291bnRJZCI6MTc4MzU3fQ.TuHvPz7Jf0vuYsbrxX9VpyZ2oOrtZ0YzLQJafoX_RV8up1PmtPLfPATBE93_v_1Ig39nODadaTb4aePy3b0hsA",
|
|
|
+ "Cache-Control"=> "no-cache",
|
|
|
+ 'Connection' => 'keep-alive',
|
|
|
+ "Content-Type"=> "application/json",
|
|
|
+ "Host" => "fsjd.fengsutb.com",
|
|
|
+ "Origin" => "https://fx.fengsutb.com",
|
|
|
+ "platform" => "jd",
|
|
|
+ "Pragma"=> "no-cache",
|
|
|
+ "Referer"=> "https://fx.fengsutb.com/",
|
|
|
+ "Sec-ch-ua" => '"Chromium";v="140", "Not=A?Brand";v="24", "Microsoft Edge";v="140"',
|
|
|
+ "Sec-ch-ua-Mobile"=> "?0",
|
|
|
+ "Sec-ch-ua-platform"=> "Windows",
|
|
|
+ "Sec-Fetch-Dest" => "empty",
|
|
|
+ "Sec-Fetch-Mode" => "cors",
|
|
|
+ "Sec-Fetch-Site" => "same-site",
|
|
|
+ "User-Agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"
|
|
|
+ ],
|
|
|
+ 'xhs' => [
|
|
|
+ 'Accept'=> "application/json, text/plain, */*",
|
|
|
+ 'Accept-Encoding'=> "gzip, deflate, br, zstd",
|
|
|
+ 'Accept-Language'=> "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
|
|
|
+ "Authorization"=> "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZmEiLCJuaWtlIjoi6Zi_5Y-R5rWL6YCfIiwiY3JlYXRlZCI6MTc1ODc5MDI4NDU3OSwiZHBJZCI6MTkxOTQwLCJleHAiOjE3NTkwNDk0ODQsImVuYWJsZWQiOnRydWUsImF1dGhvcml0aWVzIjpbInpodXlvbmdodSJdLCJkcEFjY291bnRJZCI6MTc4MzU3fQ.TuHvPz7Jf0vuYsbrxX9VpyZ2oOrtZ0YzLQJafoX_RV8up1PmtPLfPATBE93_v_1Ig39nODadaTb4aePy3b0hsA",
|
|
|
+ "Cache-Control"=> "no-cache",
|
|
|
+ 'Connection' => 'keep-alive',
|
|
|
+ "Content-Type"=> "application/json",
|
|
|
+ "Host" => "fsxpt.fengsutb.com",
|
|
|
+ "Origin" => "https://fx.fengsutb.com",
|
|
|
+ "platform" => "xhs",
|
|
|
+ "Pragma" => "no-cache",
|
|
|
+ "Referer" => "https://fx.fengsutb.com/",
|
|
|
+ "Sec-ch-ua" => '"Chromium";v="140", "Not=A?Brand";v="24", "Microsoft Edge";v="140"',
|
|
|
+ "Sec-ch-ua-Mobile"=> "?0",
|
|
|
+ "Sec-ch-ua-platform"=> "Windows",
|
|
|
+ "Sec-Fetch-Dest" => "empty",
|
|
|
+ "Sec-Fetch-Mode" => "cors",
|
|
|
+ "Sec-Fetch-Site" => "same-site",
|
|
|
+ "User-Agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"
|
|
|
+ ]
|
|
|
+ ];
|
|
|
+ return $header[$key] ?? [];
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|