xieruidong 2 years ago
parent
commit
3c67fcd975

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

@@ -3,6 +3,7 @@
 namespace app\api\controller\mall;
 
 use app\common\controller\Api;
+use app\common\model\OrderInfo;
 use app\common\service\OrderService;
 use think\Db;
 use app\common\model\Orders as Order;
@@ -94,8 +95,12 @@ class Orders extends Api
         $order['amount_coupon']=$info['amount_coupon'];
         $order['num']=$info['num'];
         $order['num_install']=$info['num_install'];
+        $order->save();
+        foreach ($info['goods'] as $goods){
+            OrderInfo::saveInfo($order,$goods);
+        }
 
-        //Db::commit();
+        Db::commit();
         $this->success('',$info);
     }
 

+ 55 - 0
application/common/model/OrderInfo.php

@@ -14,4 +14,59 @@ class OrderInfo extends Model
     public function goods(){
         return $this->belongsTo(OrderInfoGoods::class,'goods_bak_id');
     }
+    public static function saveInfo(Orders $orders,$goods){
+        $orderInfo=new OrderInfo();
+        $orderInfoGoods=OrderInfoGoods::create([
+            'goods'=>$goods['goods'],
+            'sku'=>$goods['sku'],
+        ]);
+        $orderInfo['user_id']=$orders['user_id'];
+        $orderInfo['order_id']=$orders['id'];
+        $orderInfo['goods_id']=$goods['goods_id'];
+        $orderInfo['goods_sku_id']=$goods['goods_sku_id'];
+        $orderInfo['num']=$goods['num'];
+        $orderInfo['sku_name']=$goods['sku']['name'];
+        $orderInfo['goods_name']=$goods['goods']['name'];
+        $orderInfo['num_install']=$goods['num_install'];
+        $orderInfo['coupon_id']=$goods['use_coupon_id']??0;
+        $orderInfo['amount_coupon']=$goods['use_coupon_amount']??0;
+        $orderInfo['goods_bak_id']=$orderInfoGoods['id'];
+        if(!$orderInfo->save()){
+            throw_user('保存失败');
+        }
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    protected static function init()
+    {
+        self::beforeInsert(function (self $orderInfo){
+            $orderInfo['amount_discount']=bcadd($orderInfo['amount_coupon'],0);
+        });
+    }
 }

+ 1 - 1
application/common/model/Orders.php

@@ -10,7 +10,7 @@ use think\Model;
 class Orders extends Model
 {
     public function info(){
-        $this->hasMany(OrderInfo::class);
+        return $this->hasMany(OrderInfo::class);
     }
 
 

+ 1 - 0
application/common/service/OrderService.php

@@ -194,6 +194,7 @@ class OrderService extends BaseService {
                     $use=true;
                     $couponAmount=$coupon['amount'];
                     $goods['use_coupon_id']=$coupon['id'];
+                    $goods['use_coupon_amount']=$couponAmount;
                     if($this->isSubmit()){
                         $coupon->setUse();
                     }