Compare commits

..

1 Commits

Author SHA1 Message Date
4d0e3907b2 feat : spu 2025-07-24 09:49:00 +08:00
3 changed files with 17 additions and 2 deletions

View File

@@ -168,6 +168,7 @@ class GoodCache
private function buildData(&$list): mixed
{
$spuIds = array_column($list, 'id');
$spuImage = array_column($list, 'image_id');
$skuList = $this->skuModel->getListBySpuIds($spuIds);
@@ -176,7 +177,7 @@ class GoodCache
$skuList = $skuList->toArray();
$imageIdArr = array_column($skuList,'image_ids');
$imageList = $this->getOssObjects($imageIdArr);
$imageList = $this->getOssObjects(array_merge($spuImage,$imageIdArr));
$chefIds = array_column($skuList,'chef_id');
$chefList = $this->adminUserModel->getDataByIds($chefIds);
@@ -209,6 +210,7 @@ class GoodCache
foreach ($list as &$item) {
$item['sku_list'] = $skuListArr[$item['id']] ?? [];
$item['spu_image_url'] = $imageList[$item['image_id']] ?? '';
$item['image_list'] = $imageArr[$item['id']] ?? [];
$item['price'] = !empty($price[$item['id']]) ? (min($price[$item['id']]) ?? 0) : 0;
}

View File

@@ -17,6 +17,7 @@ use Hyperf\DbConnection\Model\Model;
* @property int $kitchen_id
* @property int $chef_id
* @property int $caterer_id
* @property int $image_id
* @property string $title
* @property string $sub_title
* @property int $category_id
@@ -85,7 +86,7 @@ class Spu extends Model
->where('type',$type)
->where('saleable',GoodCode::LISTING)
->orderBy('sort')
->select(['id','cycle_id','chef_id','title','title','sub_title','category_id','favorable'])
->select(['id','cycle_id','chef_id','title','title','sub_title','category_id','favorable','image_id'])
->get();
}

View File

@@ -156,6 +156,9 @@ class SpuService extends BaseService
if (!empty($info)) throw new ErrException('该菜品在当前城市已存在');
$imageId = $this->request->input('image_id');
$this->updateOssObjects([$imageId]);
$insertModel = new Spu();
@@ -170,6 +173,7 @@ class SpuService extends BaseService
$insertModel->saleable = $this->request->input('saleable');
$insertModel->type = $this->request->input('type');
$insertModel->sort = $this->request->input('sort');
$insertModel->image_id = $imageId;
$insertModel->favorable = GoodCode::NOT_FAVORABLE;
if (!$insertModel->save()) throw new ErrException('添加菜品失败');
@@ -233,6 +237,8 @@ class SpuService extends BaseService
$this->checkInfo();
$kitchenId = (int)$this->request->input('kitchen_id');
$oldKitchenId = (int)$info->kitchen_id;
@@ -245,6 +251,12 @@ class SpuService extends BaseService
$info->saleable = $this->request->input('saleable');
$info->type = $this->request->input('type');
$info->sort = $this->request->input('sort');
$requestOssId = $this->request->input('image_id',0);
if ($requestOssId != $info->image_id) {
$info->image_id = $requestOssId;
$this->updateOssObjects([$requestOssId]);
$this->updateOssObjectsDisable([$info->image_ids]);
}
if (!$info->save()) throw new ErrException('修改菜品失败');