quanwei
2025-12-09 ca425b889f3c1b5847ffc26a0229307f7f8ef43e
admin/app/api/service/order/settled/BranchActivitySettledService.php
@@ -9,7 +9,7 @@
use app\common\enum\order\OrderSourceEnum;
use app\common\enum\order\OrderTypeEnum;
use app\common\model\settings\Setting as SettingModel;
use app\api\service\points\PointsDeductService;
use app\api\service\points\ConsumptionDeductService;
use app\api\model\store\Store as StoreModel;
use app\api\service\user\UserService;
use app\common\enum\settings\DeliveryTypeEnum;
@@ -131,9 +131,9 @@
               $delivery = $deliveryType[0];
            }
            
                $this->orderData['delivery'] = $supplier['productList'][0]['is_virtual'] == 1 || $supplier['productList'][0]['is_virtual'] == 2 ? 30 : $delivery;
                $this->orderData['delivery'] = $supplier['productList'][0]['is_virtual'] == 1 || $supplier['productList'][0]['is_virtual'] == 2 || $supplier['productList'][0]['is_virtual'] == 3 ? 30 : $delivery;
            }else{
                if($supplier['productList'][0]['is_virtual'] == 1 || $supplier['productList'][0]['is_virtual'] == 2){
                if($supplier['productList'][0]['is_virtual'] == 1 || $supplier['productList'][0]['is_virtual'] == 2 || $supplier['productList'][0]['is_virtual'] == 3){
                    $this->orderData['delivery'] = 30;
                }else {
                    $this->orderData['delivery'] = $this->params['supplier'][$supplier['shop_supplier_id']]['delivery'];
@@ -198,6 +198,7 @@
            'points_money' => $totalPointsMoney,
            'points_num' => $totalPoints,
            'is_real_use_points' => $this->params['is_use_points'],
            'is_real_use_consumption' => $this->params['is_use_consumption'],
            'product_reduce_money' => $totalProductReduce,
            'verify_data' => $verify_data,
            'booking_data' => $booking_data,
@@ -233,6 +234,10 @@
            'is_allow_points' => true,
            // 是否使用积分抵扣
            'is_use_points' => $this->params['is_use_points'],
            // 是否允许使用消费抵扣
            'is_allow_consumption' => true,
            // 是否使用消费券抵扣
            'is_use_consumption' => $this->params['is_use_consumption'],
            // 是否使用计次卡
            'counting_id' => isset($this->params['counting_id']) ? $this->params['counting_id'] : '',
            // 支付方式
@@ -369,7 +374,7 @@
         }
      }
        if(!empty($productList) && $productList[0]['is_virtual'] == 1){
        if(!empty($productList) && ($productList[0]['is_virtual'] == 1 || $productList[0]['is_virtual'] == 3)){
            //虚拟商品核销 by yj
            $verify_data = [
                'is_verify' => $productList[0]['is_verify'] && empty($productList[0]['virtual_auto']) ? 1 : 0, //必须是手动发货并且支持核销
@@ -412,6 +417,8 @@
            'extract_store' => [],
            // 是否允许使用积分抵扣
            'is_allow_points' => false,
            // 是否允许使用消费券抵扣
            'is_allow_consumption' => false,
            // 是否使用积分抵扣
            'is_use_points' => $this->params['is_use_points'],
            // 支付方式
@@ -563,6 +570,10 @@
            if ($commomOrder['is_allow_points'] && $commomOrder['is_real_use_points'] && $commomOrder['points_num'] > 0) {
                $describe = "用户消费:{$this->model['order_no']}";
                $this->user->setIncPoints(-$commomOrder['points_num'], $describe,0,true,$status);
            }
            if ($commomOrder['is_allow_consumption'] && $commomOrder['is_real_use_consumption'] && $commomOrder['consumption_num'] > 0) {
                $describe = "用户消费:{$this->model['order_no']}";
                $this->user->setIncConsumption(-$commomOrder['consumptions_num'], $describe,0,true,$status);
            }
        }
        return $status;
@@ -822,7 +833,7 @@
            return false;
        }
        // 计算订单商品实际抵扣的积分数量和金额
        $ProductDeduct = new PointsDeductService($productList);
        $ProductDeduct = new ConsumptionDeductService($productList);
        $ProductDeduct->setProductPoints($maxPointsNumCount, $actualPointsNum);
        // 积分抵扣总金额
        $orderPointsMoney = helper::getArrayColumnSum($productList, 'points_money');