调整下单
This commit is contained in:
@@ -3,13 +3,16 @@
|
||||
namespace Modules\Mall\Http\Controllers\Api;
|
||||
|
||||
use App\Api\Controllers\Controller;
|
||||
use App\Api\Resources\User\UserBaseResource;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Jason\Api\Api;
|
||||
use Modules\Cms\Http\Resources\ArticleBaseResource;
|
||||
use Modules\Cms\Models\Article;
|
||||
use Modules\Cms\Models\Category;
|
||||
use Modules\Mall\Http\Resources\Api\Banner\BannerResource;
|
||||
use Modules\Mall\Http\Resources\Api\Goods\GoodsBaseResource;
|
||||
use Modules\Mall\Http\Resources\Api\Video\VideoResource;
|
||||
use Modules\Mall\Models\Banner;
|
||||
use Modules\Mall\Models\Goods;
|
||||
use Modules\Mall\Models\Video;
|
||||
|
||||
class IndexController extends Controller
|
||||
{
|
||||
@@ -23,6 +26,10 @@ class IndexController extends Controller
|
||||
*/
|
||||
public function index(): JsonResponse
|
||||
{
|
||||
$banners = Banner::query()->ofPosition(Banner::POSITION_INDEX)->get();
|
||||
$centers = Banner::query()->ofPosition(Banner::POSITION_INDEX_CENTER)->get();
|
||||
|
||||
|
||||
$show_goods_id = app('Conf_mall')['show_goods_id'] ?? 0;
|
||||
$show_goods = '';
|
||||
if ($show_goods_id > 0) {
|
||||
@@ -32,16 +39,56 @@ class IndexController extends Controller
|
||||
$goods = Goods::query()
|
||||
->where('id', '<>', $show_goods_id)
|
||||
->shown()
|
||||
->where('channel', Goods::CHANNEL_NORMAL)
|
||||
->where('channel', Goods::CHANNEL_SCORE)
|
||||
->get();
|
||||
|
||||
$videos = Video::query()
|
||||
->shown()
|
||||
->get();
|
||||
|
||||
$user = Api::user();
|
||||
$memories = Article::query()
|
||||
->whereHas('categories', function ($q) {
|
||||
$q->where('slug', 'MEMORY');
|
||||
})
|
||||
->inRandomOrder()
|
||||
->take(10)
|
||||
->get();
|
||||
|
||||
$memoriesData = [];
|
||||
$all = $memories->count() * 30;
|
||||
foreach ($memories as $key => $memory) {
|
||||
$id = ++$key;
|
||||
$memoriesData[] = [
|
||||
'id' => $memory->id,
|
||||
'title' => $memory->title,
|
||||
'description' => $memory->description,
|
||||
'zIndex' => $id,
|
||||
'left' => (int) bcsub($all, bcmul($key, 30)),
|
||||
'image' => $memory->cover_url,
|
||||
'animation' => null,
|
||||
];
|
||||
}
|
||||
|
||||
$healths = Article::query()
|
||||
->whereHas('categories', function ($q) {
|
||||
$q->where('slug', 'HEALTH');
|
||||
})
|
||||
->inRandomOrder()
|
||||
->take(3)
|
||||
->get();
|
||||
|
||||
$data = [
|
||||
'user' => $user ? new UserBaseResource($user) : '',
|
||||
'show_goods' => $show_goods ? new GoodsBaseResource($show_goods) : '',
|
||||
'videos' => VideoResource::collection($videos),
|
||||
'goods' => GoodsBaseResource::collection($goods),
|
||||
'banners' => BannerResource::collection($banners),
|
||||
'center' => BannerResource::collection($centers),
|
||||
'memories' => $memoriesData,
|
||||
'healths' => ArticleBaseResource::collection($healths),
|
||||
'categories' => [
|
||||
'memory' => Category::query()->where('slug', 'MEMORY')->value('id') ?? 0,
|
||||
'health' => Category::query()->where('slug', 'HEALTH')->value('id') ?? 0,
|
||||
],
|
||||
];
|
||||
|
||||
return $this->success($data);
|
||||
|
||||
Reference in New Issue
Block a user