From 13ed8bb200975f84b694c9e4ded66089c55460af Mon Sep 17 00:00:00 2001 From: evoxwht <442384644@qq.com> Date: Wed, 6 Apr 2022 16:21:51 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E7=A8=8B=E5=BA=8F=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E3=80=91=E9=80=80=E6=AC=BE=E5=95=86=E5=93=81=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=86=99=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/StoreOrderRefundServices.php | 4 +++- .../product/StoreProductLogServices.php | 18 +++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/crmeb/app/services/order/StoreOrderRefundServices.php b/crmeb/app/services/order/StoreOrderRefundServices.php index cd7c8d58c..95c3521f7 100644 --- a/crmeb/app/services/order/StoreOrderRefundServices.php +++ b/crmeb/app/services/order/StoreOrderRefundServices.php @@ -11,6 +11,7 @@ namespace app\services\order; use app\dao\order\StoreOrderRefundDao; +use app\jobs\ProductLogJob; use app\services\activity\advance\StoreAdvanceServices; use app\services\activity\bargain\StoreBargainServices; use app\services\activity\combination\StoreCombinationServices; @@ -250,7 +251,8 @@ class StoreOrderRefundServices extends BaseServices return $splitOrderInfo; }); - + //订单退款记录 + ProductLogJob::dispatch(['refund', ['uid' => $order['uid'], 'order_id' => $order['id']]]); //订单同意退款事件 event('order.refund', [$refundData, $order, 'order_refund']); event('notice.notice', [['data' => $refundData, 'order' => $order], 'order_refund']); diff --git a/crmeb/app/services/product/product/StoreProductLogServices.php b/crmeb/app/services/product/product/StoreProductLogServices.php index 126b27497..ce3af2539 100644 --- a/crmeb/app/services/product/product/StoreProductLogServices.php +++ b/crmeb/app/services/product/product/StoreProductLogServices.php @@ -16,6 +16,7 @@ use app\dao\product\product\StoreProductLogDao; use app\services\order\StoreOrderCartInfoServices; use app\services\BaseServices; use think\exception\ValidateException; +use think\facade\Log; /** * 商品访问记录日志 @@ -42,7 +43,7 @@ class StoreProductLogServices extends BaseServices */ public function createLog(string $type, array $data) { - if (!in_array($type, ['order', 'pay']) && (!isset($data['product_id']) || !$data['product_id'])) { + if (!in_array($type, ['order', 'pay', 'refund']) && (!isset($data['product_id']) || !$data['product_id'])) { throw new ValidateException('缺少商品ID'); } if ($type != 'visit' && (!isset($data['uid']) || !$data['uid'])) { @@ -95,6 +96,21 @@ class StoreProductLogServices extends BaseServices } break; case 'refund'://退款 + if (!isset($data['order_id']) || !$data['order_id']) { + throw new ValidateException('缺少订单ID'); + } + /** @var StoreOrderCartInfoServices $cartInfoServices */ + $cartInfoServices = app()->make(StoreOrderCartInfoServices::class); + $cartInfo = $cartInfoServices->getOrderCartInfo($data['order_id']); + foreach ($cartInfo as $value) { + $product = $value['cart_info']; + $log_data['product_id'] = $product['product_id'] ?? 0; + $log_data['uid'] = $data['uid'] ?? 0; + $log_data['pay_uid'] = $data['uid'] ?? 0; + $log_data['refund_num'] = $product['cart_num'] ?? 0; + $log_data['refund_price'] = $product['truePrice'] ?? 0; + $log_data_all[] = $log_data; + } break; default: throw new ValidateException('暂不支持该类型记录');