Просмотр исходного кода

【程序目录】退款商品记录写入

evoxwht 3 лет назад
Родитель
Сommit
13ed8bb200

+ 3 - 1
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']);

+ 17 - 1
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('暂不支持该类型记录');