|
|
|
@ -363,46 +363,12 @@ class Goods extends Controller |
|
|
|
|
if (!$goods) { |
|
|
|
|
return $this->renderSuccess('没有需要加价的商品'); |
|
|
|
|
} |
|
|
|
|
//更新总后台当前商品的价格 |
|
|
|
|
GoodsModel::whereIn('goods_id', array_column($goods, "goods_id"))->update(['markup_rate' => $rate, 'update_time' => time()]); |
|
|
|
|
foreach ($goods as $key => $value) { |
|
|
|
|
//更新origin_goods_id为当前商品id的价格 |
|
|
|
|
$goods_list = GoodsModel::where('origin_goods_id', $value['goods_id']) |
|
|
|
|
->where('is_delete', 0) |
|
|
|
|
->field(['goods_id','cost_price_min','goods_price_min','markup_rate']) |
|
|
|
|
->select() |
|
|
|
|
->toArray(); |
|
|
|
|
|
|
|
|
|
if (!$goods_list) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
$item = $goods_list[0]; |
|
|
|
|
if ($item['markup_rate'] > 0) { |
|
|
|
|
$item['cost_price_min'] = round($item['cost_price_min'] * (1 - ($rate / 100)), 0); |
|
|
|
|
} |
|
|
|
|
$cost_price = round($item['cost_price_min'] / (1 - ($rate / 100)), 0); |
|
|
|
|
$profit = (float)$item['goods_price_min'] - (float)$cost_price; |
|
|
|
|
$profit_rate = (float)$item['goods_price_min'] > 0 ? bcmul((string)($profit / (float)$item['goods_price_min']) , (string)100, 2) : 0.00; |
|
|
|
|
$goodsData = [ |
|
|
|
|
'cost_price_min' => $cost_price, |
|
|
|
|
'profit_rate' => $profit_rate, |
|
|
|
|
'profit' => $profit, |
|
|
|
|
'markup_rate' => $rate, |
|
|
|
|
'update_time' => time() |
|
|
|
|
]; |
|
|
|
|
GoodsModel::whereIn('goods_id', array_column($goods_list, "goods_id"))->update($goodsData); |
|
|
|
|
$goodsSkuData = [ |
|
|
|
|
'cost_price' => $cost_price, |
|
|
|
|
'update_time' => time() |
|
|
|
|
]; |
|
|
|
|
GoodsSku::whereIn('goods_id', array_column($goods_list, "goods_id"))->update($goodsSkuData); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
// GoodsAddPriceJob::dispatch([ |
|
|
|
|
// 'categoryIds' => $categoryIds, |
|
|
|
|
// 'rate' => $rate, |
|
|
|
|
// 'channels' => $channels, |
|
|
|
|
// ]); |
|
|
|
|
GoodsAddPriceJob::dispatch([ |
|
|
|
|
'categoryIds' => $categoryIds, |
|
|
|
|
'rate' => $rate, |
|
|
|
|
'channels' => $channels, |
|
|
|
|
]); |
|
|
|
|
return $this->renderSuccess('加价成功'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|