|
|
@@ -4,6 +4,7 @@ namespace app\queue\redis\fast;
|
|
|
|
|
|
use app\extra\dyLife\data\OrderData;
|
|
|
use app\model\saas\SaasOrder;
|
|
|
+use app\model\saas\SaasOrderItem;
|
|
|
use app\model\saas\SaasOrderVerify;
|
|
|
use Webman\RedisQueue\Consumer;
|
|
|
|
|
|
@@ -46,15 +47,19 @@ class OrderDone implements Consumer
|
|
|
echo getDateFull()."===获取订单数据失败\n";
|
|
|
return true;
|
|
|
}
|
|
|
- if (!isset($orderCode['certificates'][0]['encrypted_code']))
|
|
|
+ $encrypted_code = [];
|
|
|
+ foreach ($orderCode['certificates'] as $key=>$v)
|
|
|
{
|
|
|
- echo getDateFull()."===获取订单数据失败\n";
|
|
|
- return true;
|
|
|
- }
|
|
|
- if ($orderCode['certificates'][0]['status'] <> 1)
|
|
|
- {
|
|
|
- echo getDateFull()."===该订单状态不支持核销\n";
|
|
|
- return true;
|
|
|
+ if (empty($v['encrypted_code']))
|
|
|
+ {
|
|
|
+ echo getDateFull()."===获取订单数据失败\n";
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if ($v['status'] <> 1) {
|
|
|
+ echo getDateFull()."===该订单状态不支持核销\n";
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $encrypted_code[$key] = $v['encrypted_code'];
|
|
|
}
|
|
|
// 核销订单
|
|
|
$orderDone = (new OrderData)->config([
|
|
|
@@ -64,7 +69,8 @@ class OrderDone implements Consumer
|
|
|
])->token()->verifyCertificate([
|
|
|
"account_id" => $order['poi']['store_id'],
|
|
|
"pay_sn" => $order['pay_sn'],
|
|
|
- "encrypted_code" => $orderCode['certificates'][0]['encrypted_code'],
|
|
|
+// "encrypted_code" => $orderCode['certificates'][0]['encrypted_code'],
|
|
|
+ "encrypted_code" => array_values($encrypted_code),
|
|
|
"order_id" => $order['order_sn'],
|
|
|
"poi_id" => $order['poi_id']
|
|
|
]);
|
|
|
@@ -73,6 +79,22 @@ class OrderDone implements Consumer
|
|
|
echo getDateFull()."===核销失败\n";
|
|
|
return true;
|
|
|
}
|
|
|
+ $doneData = [];
|
|
|
+ foreach ($orderDone['verify_results'] as $key=>$v)
|
|
|
+ {
|
|
|
+ if(empty($v['verify_id'])) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(empty($v['certificate_id'])) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $doneData[$key] = [
|
|
|
+ "poi_id" => $order['poi_id'],
|
|
|
+ "order_sn" => $order['order_sn'],
|
|
|
+ "certificate_id" => $v['certificate_id'],
|
|
|
+ "verify_id" => $v['verify_id'],
|
|
|
+ ];
|
|
|
+ }
|
|
|
if (!isset($orderDone['verify_results'][0]['verify_id']))
|
|
|
{
|
|
|
echo getDateFull()."===核销失败\n";
|
|
|
@@ -83,18 +105,13 @@ class OrderDone implements Consumer
|
|
|
echo getDateFull()."===核销失败\n";
|
|
|
return true;
|
|
|
}
|
|
|
- $order->status = 2;
|
|
|
- $order->express_status = 1;
|
|
|
- $order->verify_id = $orderDone['verify_results'][0]['verify_id'];
|
|
|
- $order->certificate_id = $orderDone['verify_results'][0]['certificate_id'];
|
|
|
+ $order->express_status = 3;
|
|
|
+// $order->verify_id = $orderDone['verify_results'][0]['verify_id'];
|
|
|
+// $order->certificate_id = $orderDone['verify_results'][0]['certificate_id'];
|
|
|
$order->done_at = getDateFull();
|
|
|
$order->save();
|
|
|
- (new SaasOrderVerify)->insertGetId([
|
|
|
- "poi_id" => $order['poi_id'],
|
|
|
- "order_sn" => $order['order_sn'],
|
|
|
- "certificate_id" => $orderDone['verify_results'][0]['certificate_id'],
|
|
|
- "verify_id" => $orderDone['verify_results'][0]['verify_id'],
|
|
|
- ]);
|
|
|
+ (new SaasOrderItem)->where(['order_sn'=>$order['order_sn'],'status'=>1])->update(['status'=>3]);
|
|
|
+ (new SaasOrderVerify)->insertAll(array_values($doneData));
|
|
|
} catch (\Throwable $throwable) {
|
|
|
echo getDateFull()."==核销队列报错\n";
|
|
|
echo $throwable->getMessage()."\n";
|