wupengfei 2 年之前
父节点
当前提交
6fbe6cbe43
共有 2 个文件被更改,包括 35 次插入27 次删除
  1. 2 4
      application/api/controller/Qc.php
  2. 33 23
      application/common/service/PurchaseLogic.php

+ 2 - 4
application/api/controller/Qc.php

@@ -31,10 +31,8 @@ class Qc extends Base {
 
     public function index()
     {
-        PurchaseLogic::deoptGoodsOnline(1);
-
-
-
+        $res = PurchaseLogic::deoptGoodsOnline(1);
+        var_dump($res);
     }
 
 

+ 33 - 23
application/common/service/PurchaseLogic.php

@@ -7,6 +7,7 @@ use app\common\model\StoreGoods;
 use app\common\model\StoreGoodsItem;
 use app\common\model\SupplierOrder;
 use library\tools\Data;
+use think\Db;
 
 /**
  * 供货管理
@@ -31,8 +32,9 @@ class PurchaseLogic
     public static function deoptGoodsOnline($deopt_goods)
     {
         // 仓库商品详情
+        $ret = ['code'=>200,'msg'=>''];
         $deopt_info = DepotGoods::with('itemList')->where('id',$deopt_goods)->find()->toArray();
-        if($deopt_info['online_id']) return true;
+        if($deopt_info['online_id']) return $ret;
         $no_field = ['id','create_at'];
         // 商品基础信息
         $base_goods = BaseGoods::where('id',$deopt_info['goods_id'])->find()->toArray();
@@ -40,28 +42,36 @@ class PurchaseLogic
         foreach ($no_field as $field){
             unset($base_goods[$field]);
         }
-        $line_goods = (new StoreGoods())->allowField(true)->save($base_goods);// 添加到线上商城
-        DepotGoods::where('id',$deopt_goods)->update(['online_goods'=>$line_goods->id]);
-        array_walk($deopt_info['item_list'],function (&$v,$k)use($deopt_info,$line_goods){
-            $store_item = [
-                'goods_id' => $line_goods->id,
-                'goods_spec' => $v['goods_spec'],
-                'goods_no' => $v['goods_no'],
-                'spec_title' => $v['spec_title'],
-                'is_combo' => $v['is_combo'],
-                'cover' => $v['cover'],
-                'sort' => $v['sort'],
-                'stock' => $v['stock'],
-                'base_stock' => $v['base_stock'],
-                'original_price' => $v['original_price'],
-                'sell_price' => $v['sell_price'],
-                'virtual' => $v['virtual'],
-                'weight' => $v['weight'],
-                'depot_item' => $v['id'],
-            ];
-            StoreGoodsItem::create($store_item);
-        });
-        return true;
+        Db::startTrans();
+        try {
+            $line_goods = (new StoreGoods())->allowField(true)->save($base_goods);// 添加到线上商城
+            DepotGoods::where('id',$deopt_goods)->update(['online_goods'=>$line_goods->id]);
+            array_walk($deopt_info['item_list'],function (&$v,$k)use($deopt_info,$line_goods){
+                $store_item = [
+                    'goods_id' => $line_goods->id,
+                    'goods_spec' => $v['goods_spec'],
+                    'goods_no' => $v['goods_no'],
+                    'spec_title' => $v['spec_title'],
+                    'is_combo' => $v['is_combo'],
+                    'cover' => $v['cover'],
+                    'sort' => $v['sort'],
+                    'stock' => $v['stock'],
+                    'base_stock' => $v['base_stock'],
+                    'original_price' => $v['original_price'],
+                    'sell_price' => $v['sell_price'],
+                    'virtual' => $v['virtual'],
+                    'weight' => $v['weight'],
+                    'depot_item' => $v['id'],
+                ];
+                StoreGoodsItem::create($store_item);
+            });
+            Db::commit();
+        }catch (\Exception $e){
+            $ret['code'] = 201;
+            $ret['msg'] = $e->getMessage();
+            Db::rollback();
+        }
+        return $ret;
     }