|
@@ -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;
|
|
|
}
|
|
|
|
|
|
|