宝体数据调用接口
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

46 lines
1.2 KiB

<?php
namespace app\task\model;
use app\common\model\Goods as GoodsModel;
/**
* 商品模型
* Class Goods
* @package app\task\model
*/
class Goods extends GoodsModel
{
/**
* 更新商品库存销量
* @param $goodsList
* @throws \Exception
*/
public function updateStockSales($goodsList)
{
// 整理批量更新商品销量
$goodsSave = [];
// 批量更新商品规格:sku销量、库存
$goodsSpecSave = [];
foreach ($goodsList as $goods) {
$goodsSave[] = [
'goods_id' => $goods['goods_id'],
'sales_actual' => ['inc', $goods['total_num']]
];
$specData = [
'goods_sku_id' => $goods['goods_sku_id'],
'goods_sales' => ['inc', $goods['total_num']]
];
// 付款减库存
if ($goods['deduct_stock_type'] == 20) {
$specData['stock_num'] = ['dec', $goods['total_num']];
}
$goodsSpecSave[] = $specData;
}
// 更新商品总销量
$this->allowField(true)->isUpdate()->saveAll($goodsSave);
// 更新商品规格库存
(new GoodsSku)->isUpdate()->saveAll($goodsSpecSave);
}
}