123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <?php
- namespace App\Console\Commands;
- use App\Log;
- use App\Models\Order;
- use App\Models\VpOrder;
- use App\RedisModel;
- use Illuminate\Console\Command;
- class MaiBuOrderList extends Command
- {
- protected $signature = 'MaiBuOrderList';
- protected $description = '迈步订单数据处理';
- public function handle()
- {
- \DB::connection()->disableQueryLog();
- $this->info(date('m-d H:i:s') . ' 开始整理');
- $beginTime = time();
- while(true){
- $this->saveOrder();
- if (time() - $beginTime > 600) {
- break;
- }
- }
- $this->info(date('m-d H:i:s') . ' 整理结束');
- }
- private function saveOrder()
- {
- try {
- $rdsKey = Order::MAI_Bu_ORDER_LIST_RDS;
- $orderInfoJson = RedisModel::rPop($rdsKey);
- if(empty($orderInfoJson)) {
- sleep(3);
- return false;
- }
- $orderInfo = json_decode($orderInfoJson, true);
- $platformId = 4;
- $orderId = isset($orderInfo['orderId']) ? $orderInfo['orderId'] : '';
- $appId = isset($orderInfo['gzh_appid']) ? $orderInfo['gzh_appid'] : '';
- $this->info('订单ID:'.$orderId);
- $this->info('公众号AppId:'.$appId);
- if(empty($orderId) || empty($appId)) {
- Log::logError('迈步订单数据异常', $orderInfo, 'MaiBuOrderList');
- return false;
- }
- $insertData = [
- 'pay_money' => $orderInfo['amount'] * 10000,
- 'user_id' => isset($orderInfo['nickname']) ? $orderInfo['nickname'] : '',
- 'platform_created_at' => $orderInfo['order_create_time'],
- 'platform_updated_at' => $orderInfo['order_pay_time'],
- 'pay_status' => $orderInfo['pay_status'],
- 'openid' => $orderInfo['gzh_openid'],
- 'user_register_time' => $orderInfo['follow_time'],
- 'mp_user_register_time' => $orderInfo['follow_time'],
- 'playlet_id' => $orderInfo['product_id'],
- 'playlet_name' => $orderInfo['product_name'],
- 'channel' => '',
- 'app_id' => $appId,
- ];
- VpOrder::updateOrCreate(
- ['platform_id' => $platformId, 'order_id' => (string)$orderId], $insertData
- );
- } catch (\Exception $e) {
- Log::logError('嘉书订单数据写入过程发生异常', [
- 'line' => $e->getLine(),
- 'msg' => $e->getMessage(),
- ], 'MaiBuOrderList');
- $this->info('更新失败');
- return false;
- }
- $this->info('更新成功');
- return true;
- }
- }
|