xieruidong 2 years ago
parent
commit
4d16918931

+ 1 - 0
application/api/controller/mall/Orders.php

@@ -93,6 +93,7 @@ class Orders extends Api
         $order['amount_pay']=$info['amount_pay'];
         $order['amount_install']=$info['amount_install'];
         $order['amount_coupon']=$info['amount_coupon'];
+        $order['amount_coupon_kill']=$info['amount_coupon_kill'];
         $order['num']=$info['num'];
         $order['num_install']=$info['num_install'];
         $order->save();

+ 2 - 1
application/common/model/OrderInfo.php

@@ -30,6 +30,7 @@ class OrderInfo extends Model
         $orderInfo['num_install']=$goods['num_install'];
         $orderInfo['coupon_id']=$goods['use_coupon_id']??0;
         $orderInfo['amount_coupon']=$goods['use_coupon_amount']??0;
+        $orderInfo['amount_coupon_kill']=$goods['amount_coupon_kill']??0;
         $orderInfo['goods_bak_id']=$orderInfoGoods['id'];
         if(!$orderInfo->save()){
             throw_user('保存失败');
@@ -66,7 +67,7 @@ class OrderInfo extends Model
     protected static function init()
     {
         self::beforeInsert(function (self $orderInfo){
-            $orderInfo['amount_discount']=bcadd($orderInfo['amount_coupon'],0);
+            $orderInfo['amount_discount']=bcadd($orderInfo['amount_coupon'],$orderInfo['amount_coupon_kill']);
         });
     }
 }

+ 4 - 0
application/common/model/Orders.php

@@ -9,6 +9,10 @@ use think\Model;
  */
 class Orders extends Model
 {
+    const PT_QYWY=1;
+    const PT_WX=1;
+    const PT_ZFB=1;
+    const PT_YL=1;
     protected $autoWriteTimestamp=true;
     public function info(){
         return $this->hasMany(OrderInfo::class);

+ 10 - 5
application/common/service/OrderService.php

@@ -149,6 +149,7 @@ class OrderService extends BaseService {
             'amount_total'=>0,
             'amount_pay'=>0,
             'amount_coupon'=>0,
+            'amount_coupon_kill'=>0,
             'amount_install'=>0,
             'num'=>0,
             'num_install'=>0,
@@ -174,9 +175,11 @@ class OrderService extends BaseService {
         $info['num_install']=array_sum(array_column($info['goods'],'num_install'));
 
         foreach ($info['goods'] as &$goods){
-            $amount=bcmul($this->getAmount($goods['sku'],$goods['goods']),$goods['num']);
+            list($amountSingle,$goods['amount_coupon_kill'])=$this->getAmount($goods['sku'],$goods['goods']);
+            $amount=bcmul($amountSingle,$goods['num']);
             $goods['this_amount']=$amount;
-            $info['amount_total']=bcadd($info['amount_total'],$amount);
+            $info['amount_total']=bcadd($info['amount_total'],$goods['this_amount']);
+            $info['amount_coupon_kill']=bcadd($info['amount_coupon_kill'],$goods['amount_coupon_kill']);
         }
 
         #安装费
@@ -223,11 +226,13 @@ class OrderService extends BaseService {
     }
 
     protected function getAmount($sku,$goods){
+        $amountArr=[0,0];
         if(KillService::open() && $goods['is_kill']){
-            $amount=$sku['amount_kill'];
+            $amountArr[0]=$sku['amount_kill'];
+            $amountArr[1]=bcsub($sku['amount'],$sku['amount_kill']);
         }else{
-            $amount=$sku['amount'];
+            $amountArr[0]=$sku['amount'];
         }
-        return $amount;
+        return $amountArr;
     }
 }