Browse Source

商品列表

master
Lemon 5 years ago
parent
commit
5bcccfba61
  1. 14
      app/Controller/v3/GoodsController.php
  2. 8
      app/Model/v3/Goods.php
  3. 6
      app/Model/v3/GoodsActivity.php
  4. 7
      app/Service/v3/Implementations/GoodsActivityService.php
  5. 1
      app/Service/v3/Interfaces/GoodsActivityServiceInterface.php

14
app/Controller/v3/GoodsController.php

@ -201,8 +201,16 @@ class GoodsController extends BaseController
return $this->success($this->goodsService->bannerDelete($bannerId));
}
public function getList(){
$goods = GoodsActivity::query()->limit(5)->orderByDesc('created_at')->get();
return $this->success(['goods' => $goods]);
public function getList()
{
$page = $this->request->input('page',0);
$pagesize = $this->request->input('pagesize',10);
$activity = $this->request->input('activity','');
$marketId = $this->request->input('market_id',-1);
$res = '';
if($activity == 'bachelor'){
$res = $this->goodsActivityService->getList($marketId,$page,$pagesize);
}
return $this->success($res);
}
}

8
app/Model/v3/Goods.php

@ -82,7 +82,8 @@ class Goods extends Model
'is_effective',
'noneffective_note',
'details_imgs_url',
'goods_name'
'goods_name',
'activity_type'
];
protected function boot(): void
@ -93,6 +94,11 @@ class Goods extends Model
});
}
public function getActivityTypeAttribute()
{
return 1;
}
public function scopeOrderByDefault($query, $sort)
{
return $query->orderBy($this->getTable().'.sort', $sort)->orderBy($this->getTable().'.id', $sort);

6
app/Model/v3/GoodsActivity.php

@ -46,6 +46,7 @@ class GoodsActivity extends Model
'noneffective_note',
'total_seconds',
'details_imgs_url',
'activity_type'
];
// protected $visible = [
@ -61,6 +62,11 @@ class GoodsActivity extends Model
});
}
public function getActivityTypeAttribute()
{
return 2;
}
public function getMonthSalesAttribute()
{
$ssdb = ApplicationContext::getContainer()->get(SSDBTask::class);

7
app/Service/v3/Implementations/GoodsActivityService.php

@ -191,4 +191,11 @@ class GoodsActivityService implements GoodsActivityServiceInterface
return true;
}
public function getList($marketId,$page,$pagesize)
{
$paginate = GoodsActivity::query()->where('market_id',$marketId)->orderByDesc('created_at')->paginate($pagesize);
$goods = $paginate->toArray();
return ['has_more_pages' => $paginate->hasMorePages(),'goods' => $goods['data']];
}
}

1
app/Service/v3/Interfaces/GoodsActivityServiceInterface.php

@ -14,4 +14,5 @@ interface GoodsActivityServiceInterface
public function cacheRecord($goodsId, $num, $userId);
public function clearCacheRecord($goodsId, $num, $userId);
public function checkOrderActivityCount($goodsIds, $limitNum=1);
public function getList($marketId,$page,$pagesize);
}
Loading…
Cancel
Save