Compare commits

...

4 Commits

Author SHA1 Message Date
356b80a653 feat : env 2025-07-30 16:39:00 +08:00
b8f583bcc7 feat : env 2025-07-30 16:23:44 +08:00
2f1c7a9b28 feat : banner 2025-07-24 17:02:07 +08:00
66666f4a3a feat : spu 2025-07-24 10:36:54 +08:00
9 changed files with 59 additions and 12 deletions

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]);

View File

@@ -20,6 +20,7 @@ use App\Constants\ConfigCode;
use App\Exception\ErrException; use App\Exception\ErrException;
use App\Model\Category; use App\Model\Category;
use App\Service\Api\BaseService; use App\Service\Api\BaseService;
use App\Service\ServiceTrait\Api\BannerTrait;
use App\Service\ServiceTrait\Common\CycleTrait; use App\Service\ServiceTrait\Common\CycleTrait;
use App\Service\ServiceTrait\Common\OssTrait; use App\Service\ServiceTrait\Common\OssTrait;
use Hyperf\Di\Annotation\Inject; use Hyperf\Di\Annotation\Inject;
@@ -30,6 +31,7 @@ use function Hyperf\Config\config;
class OptionalListService extends BaseService class OptionalListService extends BaseService
{ {
use CycleTrait; use CycleTrait;
use BannerTrait;
/** /**
* @var GoodCache * @var GoodCache
@@ -86,7 +88,7 @@ class OptionalListService extends BaseService
$res = $this->buildData($data); $res = $this->buildData($data);
return $this->return->success('success', ['list' => $res]); return $this->return->success('success', ['list' => $res,'banner' => $this->getBanner((int)$this->request->input('city_id',config('system.default_city_id')))]);
} }
use OssTrait; use OssTrait;

View File

@@ -34,7 +34,7 @@ class IndexService extends BaseService
$avatar = $this->getOssObjectById($userInfo->avatar_id); $avatar = $this->getOssObjectById($userInfo->avatar_id);
$res = [ $res = [
'banner' => $this->getBanner(), // 'banner' => $this->getBanner(),
'nickname' => $userInfo->nickname, 'nickname' => $userInfo->nickname,
'avatar' => $avatar, 'avatar' => $avatar,
'point' => 0, 'point' => 0,

View File

@@ -0,0 +1,41 @@
<?php
namespace App\Service\ServiceTrait\Api;
use App\Constants\Common\BannerCode;
use App\Model\Banner;
use App\Service\ServiceTrait\Common\OssTrait;
use Hyperf\Di\Annotation\Inject;
trait BannerTrait
{
use OssTrait;
/**
* @var Banner
*/
#[Inject]
protected Banner $bannerModel;
/**
* @return array
*/
private function getBanner(int $cityId): array
{
$res = $this->bannerModel
->where('city_id',$cityId)
->where('status',BannerCode::DISPLAYED)
->orderBy('sort')
->get();
if ($res->isEmpty()) return [];
$res = $res->toArray();
$imageList = $this->getOssObjects(array_column($res, 'image_id'));
foreach ($res as &$v) {
$v['url'] = $imageList[$v['image_id']]['url'] ?? '';
}
return $res;
}
}

View File

@@ -30,5 +30,7 @@ return [
// upload_dir // upload_dir
'upload_dir' => BASE_PATH.'/uploads/', 'upload_dir' => BASE_PATH.'/uploads/',
// 默认的厨房 id // 默认的厨房 id
'default_kitchen_id' => env('DEFAULT_KITCHEN_ID',''), 'default_kitchen_id' => env('DEFAULT_KITCHEN_ID',1),
// 默认 城市 id
'default_city_id' => env('DEFAULT_CITY_ID',3),
]; ];

View File

@@ -60,5 +60,5 @@ WX_PAYMENT_MCH_SECRET_KEY=075cf77f5b57cc84ba59e9df3b86eda1
WX_PAYMENT_MCH_SECRET_CERT=__DIR__/config/pay/wx/apiclient_key.pem WX_PAYMENT_MCH_SECRET_CERT=__DIR__/config/pay/wx/apiclient_key.pem
WX_PAYMENT_MCH_PUBLIC_CERT_PATH=__DIR__/config/pay/wx/apiclient_cert.pem WX_PAYMENT_MCH_PUBLIC_CERT_PATH=__DIR__/config/pay/wx/apiclient_cert.pem
WX_PAYMENT_MINI_APP_ID=wx444b711b6101f25b WX_PAYMENT_MINI_APP_ID=wx444b711b6101f25b
WX_PAYMENT_SUB_MINI_APP_ID=wxc2bc0e47e212d831 WX_PAYMENT_SUB_MINI_APP_ID=wxc0edbbd0ff0fe7ed
WX_PAYMENT_SUB_MCH_ID=1656142874 WX_PAYMENT_SUB_MCH_ID=1723727305

View File

@@ -55,5 +55,5 @@ WX_PAYMENT_MCH_SECRET_KEY=075cf77f5b57cc84ba59e9df3b86eda1
WX_PAYMENT_MCH_SECRET_CERT=__DIR__/config/pay/wx/apiclient_key.pem WX_PAYMENT_MCH_SECRET_CERT=__DIR__/config/pay/wx/apiclient_key.pem
WX_PAYMENT_MCH_PUBLIC_CERT_PATH=__DIR__/config/pay/wx/apiclient_cert.pem WX_PAYMENT_MCH_PUBLIC_CERT_PATH=__DIR__/config/pay/wx/apiclient_cert.pem
WX_PAYMENT_MINI_APP_ID=wx444b711b6101f25b WX_PAYMENT_MINI_APP_ID=wx444b711b6101f25b
WX_PAYMENT_SUB_MINI_APP_ID=wxc2bc0e47e212d831 WX_PAYMENT_SUB_MINI_APP_ID=wxc0edbbd0ff0fe7ed
WX_PAYMENT_SUB_MCH_ID=1656142874 WX_PAYMENT_SUB_MCH_ID=1723727305

View File

@@ -58,5 +58,5 @@ WX_PAYMENT_MCH_SECRET_KEY=075cf77f5b57cc84ba59e9df3b86eda1
WX_PAYMENT_MCH_SECRET_CERT=__DIR__/config/pay/wx/apiclient_key.pem WX_PAYMENT_MCH_SECRET_CERT=__DIR__/config/pay/wx/apiclient_key.pem
WX_PAYMENT_MCH_PUBLIC_CERT_PATH=__DIR__/config/pay/wx/apiclient_cert.pem WX_PAYMENT_MCH_PUBLIC_CERT_PATH=__DIR__/config/pay/wx/apiclient_cert.pem
WX_PAYMENT_MINI_APP_ID=wx444b711b6101f25b WX_PAYMENT_MINI_APP_ID=wx444b711b6101f25b
WX_PAYMENT_SUB_MINI_APP_ID=wxc2bc0e47e212d831 WX_PAYMENT_SUB_MINI_APP_ID=wxc0edbbd0ff0fe7ed
WX_PAYMENT_SUB_MCH_ID=1656142874 WX_PAYMENT_SUB_MCH_ID=1723727305

View File

@@ -58,5 +58,5 @@ WX_PAYMENT_MCH_SECRET_KEY=075cf77f5b57cc84ba59e9df3b86eda1
WX_PAYMENT_MCH_SECRET_CERT=__DIR__/config/pay/wx/apiclient_key.pem WX_PAYMENT_MCH_SECRET_CERT=__DIR__/config/pay/wx/apiclient_key.pem
WX_PAYMENT_MCH_PUBLIC_CERT_PATH=__DIR__/config/pay/wx/apiclient_cert.pem WX_PAYMENT_MCH_PUBLIC_CERT_PATH=__DIR__/config/pay/wx/apiclient_cert.pem
WX_PAYMENT_MINI_APP_ID=wx444b711b6101f25b WX_PAYMENT_MINI_APP_ID=wx444b711b6101f25b
WX_PAYMENT_SUB_MINI_APP_ID=wxc2bc0e47e212d831 WX_PAYMENT_SUB_MINI_APP_ID=wxc0edbbd0ff0fe7ed
WX_PAYMENT_SUB_MCH_ID=1656142874 WX_PAYMENT_SUB_MCH_ID=1723727305