Compare commits

...

4 Commits

Author SHA1 Message Date
66666f4a3a feat : spu 2025-07-24 10:36:54 +08:00
bbcc0d054f feat : spu 2025-07-24 10:34:26 +08:00
0a1610fc42 feat : sku 2025-07-24 10:09:25 +08:00
a296a30080 feat : kitchen 2025-07-24 10:00:20 +08:00
4 changed files with 20 additions and 10 deletions

View File

@@ -97,17 +97,17 @@ class SiteCache
/** /**
* @param int $siteId * @param int $siteId
* @return array|false|\Redis|null * @return array|false|\Redis
* @throws ContainerExceptionInterface * @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface * @throws NotFoundExceptionInterface
*/ */
public function getSiteInfo(int $siteId): false|array|\Redis|null public function getSiteInfo(int $siteId): false|array|\Redis
{ {
$siteKey = CommonRedisKey::siteInfoKey($siteId); $siteKey = CommonRedisKey::siteInfoKey($siteId);
if (!$this->redis->exists($siteKey,RedisCode::SYSTEM_DB)) $this->setSiteInfo($siteId); if (!$this->redis->exists($siteKey,RedisCode::SYSTEM_DB)) $this->setSiteInfo($siteId);
return $this->redis->hGetAll($siteKey,RedisCode::SYSTEM_DB) ?? null; return $this->redis->hGetAll($siteKey,RedisCode::SYSTEM_DB) ?? false;
} }
/** /**

View File

@@ -96,7 +96,7 @@ class Sku extends Model
->where('saleable',GoodCode::LISTING) ->where('saleable',GoodCode::LISTING)
// ->where('is_add_staple_food',GoodCode::IS_NOT_ADD_STAPLE_FOOD) // ->where('is_add_staple_food',GoodCode::IS_NOT_ADD_STAPLE_FOOD)
->orderBy('sort') ->orderBy('sort')
->select(['id','spu_id','title','image_ids','price','param','extra','total_stock','surplus_stock','order_num','is_add_staple_food','occupied','chef_id','origin_sku_id']) ->select(['id','spu_id','title','image_ids','price','param','extra','total_stock','surplus_stock','order_num','is_add_staple_food','occupied','chef_id','origin_sku_id','sub_title'])
->get(); ->get();
} }

View File

@@ -88,6 +88,7 @@ class SpuService extends BaseService
if (empty($list['data'])) return $this->return->success('success', ['list' => $list]); if (empty($list['data'])) return $this->return->success('success', ['list' => $list]);
$spuIds = array_column($list['data'], 'id'); $spuIds = array_column($list['data'], 'id');
$spuImageIds = array_column($list['data'], 'image_id');
$skuList = $this->skuModel $skuList = $this->skuModel
->whereIn('spu_id',$spuIds) ->whereIn('spu_id',$spuIds)
@@ -99,7 +100,7 @@ class SpuService extends BaseService
$imageIdArr = array_column($skuList,'image_ids'); $imageIdArr = array_column($skuList,'image_ids');
$imageIds = array_unique(explode(',',implode(',',$imageIdArr))); $imageIds = array_unique(explode(',',implode(',',$imageIdArr)));
$imageList = $this->getOssObjects($imageIds); $imageList = $this->getOssObjects(array_merge($imageIds,$spuImageIds));
$skuListArr = []; $skuListArr = [];
foreach ($skuList as $sku) { foreach ($skuList as $sku) {
@@ -126,6 +127,7 @@ class SpuService extends BaseService
foreach ($list['data'] as &$item) { foreach ($list['data'] as &$item) {
$item['sku_list'] = $skuListArr[$item['id']] ?? []; $item['sku_list'] = $skuListArr[$item['id']] ?? [];
$item['image_url'] = $imageList[$item['image_id']] ?? '';
} }
return $this->return->success('success', ['list' => $list]); return $this->return->success('success', ['list' => $list]);
@@ -323,6 +325,7 @@ class SpuService extends BaseService
$info['city_name'] = $this->systemCityModel->getCityNameById((int)$info['city_id']); $info['city_name'] = $this->systemCityModel->getCityNameById((int)$info['city_id']);
$info['kitchen_name'] = $this->kitchenModel->getNameById((int)$info['kitchen_id']); $info['kitchen_name'] = $this->kitchenModel->getNameById((int)$info['kitchen_id']);
// $info['chef_name'] = $this->chefModel->getChineseNameById((int)$info['chef_id']); // $info['chef_name'] = $this->chefModel->getChineseNameById((int)$info['chef_id']);
$info['image_url'] = $this->getOssObjectById((int)$info['image_id']) ?? '';
$info['chef_name'] = ''; $info['chef_name'] = '';
$info['category_name'] = $this->categoryModel->getNameById((int)$info['category_id']); $info['category_name'] = $this->categoryModel->getNameById((int)$info['category_id']);

View File

@@ -55,6 +55,12 @@ class OptionalListService extends BaseService
#[Inject] #[Inject]
protected Category $categoryModel; protected Category $categoryModel;
/**
* 默认地址
* @var array|false
*/
private array|false $siteInfo = [];
/** /**
* @return array * @return array
* @throws ContainerExceptionInterface * @throws ContainerExceptionInterface
@@ -67,12 +73,13 @@ class OptionalListService extends BaseService
if (empty($cycleId)) return $this->return->success('success', ['list' => []]); if (empty($cycleId)) return $this->return->success('success', ['list' => []]);
$this->goodCache->cycleId = (int)$cycleId; $this->goodCache->cycleId = (int)$cycleId;
if (!empty($this->request->input('site_id'))){
$siteInfo = $this->siteCache->getSiteInfo((int)$this->request->input('site_id'));
}
if (empty($siteInfo) || empty($siteInfo['kitchen_id'])) $siteInfo['kitchen_id'] = config('system.kitchen_id');
$this->goodCache->kitchenId = (int)$siteInfo['kitchen_id']; if (!empty($this->request->input('site_id'))){
$this->siteInfo = $this->siteCache->getSiteInfo((int)$this->request->input('site_id'));
}
if (empty($this->siteInfo) || empty($this->siteInfo['kitchen_id'])) $this->siteInfo['kitchen_id'] = config('system.default_kitchen_id');
$this->goodCache->kitchenId = (int)$this->siteInfo['kitchen_id'];
$data = $this->goodCache->getOptionalGoodList(); $data = $this->goodCache->getOptionalGoodList();
if (empty($data)) return $this->return->success('success', ['list' => []]); if (empty($data)) return $this->return->success('success', ['list' => []]);