Merge pull request !221 from 赵世界/feat/2024
This commit is contained in:
赵世界 2024-03-18 06:13:34 +00:00 committed by Gitee
commit b478fd2d65
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
4 changed files with 28 additions and 11 deletions

View File

@ -61,7 +61,7 @@ class GoodsController extends Controller
$item['stock'] = $item['num']; $item['stock'] = $item['num'];
$item['reference_price'] = $item['cost'] * 1.5; $item['reference_price'] = $item['cost'] * 1.5;
$item['external_sku_id'] = $goods->goods_code . '_' . $item['sku_code']; $item['external_sku_id'] = $goods->goods_code . '_' . $item['sku_code'];
$item['name'] = $goods->goods_code . $item['title']; $item['name'] = $goods->title . $item['title'];
$goodsSkus[] = $item; $goodsSkus[] = $item;
} }
$collection = $goods->skus()->createMany($goodsSkus)->toArray(); $collection = $goods->skus()->createMany($goodsSkus)->toArray();

View File

@ -12,6 +12,7 @@ use App\Http\Requests\GoodsSkuRequest;
use App\Imports\InventoryImport; use App\Imports\InventoryImport;
use App\Imports\NewSetImport; use App\Imports\NewSetImport;
use App\Models\BusinessOrderItem; use App\Models\BusinessOrderItem;
use App\Models\DailySalesReport;
use App\Models\DeveloperConfig; use App\Models\DeveloperConfig;
use App\Models\Goods; use App\Models\Goods;
use App\Models\Log; use App\Models\Log;
@ -504,6 +505,16 @@ class GoodsSkusController extends Controller
if (in_array($updateField, ['reserve', 'loss_num'])) { if (in_array($updateField, ['reserve', 'loss_num'])) {
event(new StockUpdateEvent($sku)); event(new StockUpdateEvent($sku));
} }
// 更新目标去化率
if ('goal_rate' === $updateField) {
DailySalesReport::query()
->where('date', date('Y-m-d'))
->where('goods_sku_id', $sku->id)
->update([
'goal_rate' => $request->$updateField
]);
}
$this->addLog($id, $updateField); $this->addLog($id, $updateField);
end: end:

View File

@ -45,15 +45,15 @@ class GoodsSkusImport implements ToCollection, SkipsEmptyRows
} }
unset($row); unset($row);
$validator = Validator::make($collection, [ $validator = Validator::make($collection, [
'*.0' => ['required', 'string', 'max:191'], '*.0' => ['required', 'string', 'max:191'], // 商品名称
'*.1' => ['required', 'string', 'max:191', 'exists:goods_types,name'], '*.1' => ['required', 'string', 'max:191', 'exists:goods_types,name'], // 分类
'*.2' => ['string', 'max:191', 'exists:goods_brands,name'], '*.2' => ['string', 'max:191', 'exists:goods_brands,name'], // 品牌
'*.3' => ['required', 'alpha_dash', 'max:32'], '*.3' => ['required', 'alpha_dash', 'max:32'], // 商品编码
'*.4' => ['required', 'string', 'max:191'], '*.4' => ['required', 'string', 'max:191'], // 规格名称
'*.5' => ['required', 'alpha_dash', 'max:32'], '*.5' => ['required', 'alpha_dash', 'max:32'], // 规格编码
'*.6' => ['required', 'string', Rule::in(['下架', '在售', '预警'])], '*.6' => ['required', 'string', Rule::in(['下架', '在售', '预警'])],
'*.7' => ['required', 'max:10'], '*.7' => ['required', 'max:10'], // 数量
'*.8' => ['required', 'max:10'], '*.8' => ['required', 'max:10'], // 成本
]); ]);
if ($validator->fails()) { if ($validator->fails()) {
throw new ValidationException($validator); throw new ValidationException($validator);
@ -93,10 +93,15 @@ class GoodsSkusImport implements ToCollection, SkipsEmptyRows
if ($newGoods) { if ($newGoods) {
$goods = new Goods(); $goods = new Goods();
$goods->batchInsert(array_values($newGoods)); $goods->batchInsert(array_values($newGoods));
$hasGoods = Goods::query()->whereIn('goods_code', array_column($newGoods, 'goods_code'))->pluck('id', 'goods_code')->toArray(); $hasGoods = Goods::query()
->whereIn('goods_code', array_column($newGoods, 'goods_code'))
->get()
->toArray();
$hasGoods = ArrayUtils::index($hasGoods, 'goods_code');
foreach ($skus as &$newGoodsSku) { foreach ($skus as &$newGoodsSku) {
$newGoodsSku['goods_id'] = $hasGoods[$newGoodsSku['goods_code']]; $newGoodsSku['goods_id'] = $hasGoods[$newGoodsSku['goods_code']]['id'];
$newGoodsSku['external_sku_id'] = $newGoodsSku['goods_code'] . '_' . $newGoodsSku['sku_code']; $newGoodsSku['external_sku_id'] = $newGoodsSku['goods_code'] . '_' . $newGoodsSku['sku_code'];
$newGoodsSku['name'] = $hasGoods[$newGoodsSku['goods_code']]['title'] . '_' . $newGoodsSku['title'];
unset($newGoodsSku['goods_code']); unset($newGoodsSku['goods_code']);
} }
unset($newGoodsSku); unset($newGoodsSku);

View File

@ -32,6 +32,7 @@ class GoodsSku extends Model
'thumb_url', 'thumb_url',
'external_sku_id', 'external_sku_id',
'is_combination', 'is_combination',
'name',
]; ];
protected $hidden = ['created_at']; protected $hidden = ['created_at'];