浏览代码

一些功能

Kirin 3 年之前
父节点
当前提交
552977625b
共有 3 个文件被更改,包括 19 次插入6 次删除
  1. 17 5
      app/models/store/StoreOrder.php
  2. 1 1
      crmeb/repositories/OrderRepository.php
  3. 1 0
      vendor/overtrue/wechat/src/Payment/API.php

+ 17 - 5
app/models/store/StoreOrder.php

@@ -2271,13 +2271,22 @@ class StoreOrder extends BaseModel
         if (!$order) return self::setErrorInfo('找不到订单');
         if (!$order['transaction_id']) return true;
         $store = SystemStore::get($order['store_id']);
-        if (!$store) return true;
+        if (!$store) {
+            MiniProgramService::profit_sharing_finish($order['transaction_id'], $order['order_id']);
+            return true;
+        }
         $store_leader = SystemAdmin::where('roles', sys_config('default_store_admin', 7))
             ->where('store_id', $store['id'])->where('is_del', 0)->where('status', 1)
             ->find();
-        if (!$store_leader) return true;
+        if (!$store_leader) {
+            MiniProgramService::profit_sharing_finish($order['transaction_id'], $order['order_id']);
+            return true;
+        }
         $user = User::where('admin_id', $store_leader['id'])->find();
-        if (!$user) return true;
+        if (!$user) {
+            MiniProgramService::profit_sharing_finish($order['transaction_id'], $order['order_id']);
+            return true;
+        }
         $p_user_info = WechatUser::get($user['uid']);
         // 选择发起人的订单作为分账的账单
         $transaction_id = $order['transaction_id']; // 微信订单号
@@ -2289,7 +2298,10 @@ class StoreOrder extends BaseModel
 
         $p_separate_account_amount = floor($p_amount * 100); // 发起人分账金额,以分为单位
 
-        if ($p_separate_account_amount <= 0) return true;
+        if ($p_separate_account_amount <= 0) {
+            MiniProgramService::profit_sharing_finish($order['transaction_id'], $order['order_id']);
+            return true;
+        }
 
         $receivers[] = array(
             'type' => 'PERSONAL_OPENID',
@@ -2325,8 +2337,8 @@ class StoreOrder extends BaseModel
                     $value['end_time'] = time();
                     $value->save();
                 }
-                MiniProgramService::profit_sharing_finish($order['transaction_id'], $order['order_id']);
             }
+            MiniProgramService::profit_sharing_finish($order['transaction_id'], $order['order_id']);
         }
         return true;
     }

+ 1 - 1
crmeb/repositories/OrderRepository.php

@@ -38,7 +38,7 @@ class OrderRepository
         $bodyContent = StoreOrder::getProductTitle($orderInfo['cart_id']);
         $site_name = sys_config('site_name');
         if (!$bodyContent && !$site_name) exception('支付参数缺少:请前往后台设置->系统设置-> 填写 网站名称');
-        return MiniProgramService::jsPay($openid, $orderInfo['order_id'], bcadd($orderInfo['pay_price'], $orderInfo['deposit'], 2), 'product', StoreOrder::getSubstrUTf8($site_name . ' - ' . $bodyContent, 30));
+        return MiniProgramService::jsPay($openid, $orderInfo['order_id'], bcadd($orderInfo['pay_price'], $orderInfo['deposit'], 2), 'product', StoreOrder::getSubstrUTf8($site_name . ' - ' . $bodyContent, 30), '', 'JSAPI', ['profit_sharing' => 'Y']);
     }
 
     /**

+ 1 - 0
vendor/overtrue/wechat/src/Payment/API.php

@@ -129,6 +129,7 @@ class API extends AbstractAPI
     public function prepare(Order $order)
     {
         $order->notify_url = $order->get('notify_url', $this->merchant->notify_url);
+        $order->profit_sharing = $order->get('profit_sharing', $this->merchant->profit_sharing);
         if (is_null($order->spbill_create_ip)) {
             $order->spbill_create_ip = (Order::NATIVE === $order->trade_type) ? get_server_ip() : get_client_ip();
         }