You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
3.5 KiB
123 lines
3.5 KiB
<?php
|
|
/**
|
|
* sqc @小T科技 2018.03.06
|
|
*
|
|
*
|
|
*/
|
|
namespace App\Logic;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Http\Requests;
|
|
use App\Http\Resources\ShopGoods as ShopGoodsResource;
|
|
use App\Models\ShopGoods;
|
|
use App\Models\ShopCategory;
|
|
use App\Models\ShopFootprint;
|
|
use App\Http\Resources\ShopCategory as ShopCategoryResource;
|
|
use App\Models\ShopGoodsAttribute;
|
|
use App\Http\Resources\ShopGoodsAttribute as ShopGoodsAttributeResource;
|
|
use App\Models\ShopGoodsIssue;
|
|
use App\Models\ShopCollect;
|
|
use Illuminate\Support\Carbon;
|
|
|
|
class ShopGoodsLogic
|
|
{
|
|
|
|
public function __construct()
|
|
{
|
|
|
|
}
|
|
|
|
static public function getGoodsCount($where)
|
|
{
|
|
return ShopGoods::where($where)->count();
|
|
}
|
|
|
|
static public function getGoodsCategory($where)
|
|
{
|
|
$currentCategory = ShopCategory::where($where)->first();
|
|
if(empty($currentCategory)){
|
|
return false;
|
|
}
|
|
$brotherWhere = ['parent_id' => $currentCategory['parent_id']];
|
|
$brotherCategory = ShopCategory::getCategoryList($brotherWhere);
|
|
return [
|
|
'brotherCategory' => ShopCategoryResource::collection($brotherCategory),
|
|
'currentCategory' => new ShopCategoryResource($currentCategory)
|
|
];
|
|
}
|
|
|
|
// 获取商品列表
|
|
static public function getGoodsList($where,$pagesize='',$order='sort_order asc')
|
|
{
|
|
$goodsList = ShopGoods::getGoodsList($where,$pagesize,$order);
|
|
if(! $goodsList){
|
|
return false;
|
|
}
|
|
return ShopGoodsResource::collection($goodsList)->additional(['code' =>200,'status' => 'success']);
|
|
}
|
|
|
|
// 获取商品详情
|
|
static public function getGoodsDetail($where){
|
|
$goodsDetail = ShopGoods::getGoodsDetail($where);
|
|
return new ShopGoodsResource($goodsDetail);
|
|
}
|
|
|
|
// 获取商品的属性参数信息
|
|
static public function getGoodsAttribute($where){
|
|
$goodsAttribute = ShopGoodsAttribute::getGoodsAttribute($where);
|
|
return ShopGoodsAttributeResource::collection($goodsAttribute);
|
|
}
|
|
|
|
// 获取商品的问题描述信息
|
|
static public function getGoodsIssue($where){
|
|
$goodsAttribute = ShopGoodsIssue::getGoodsIssue($where);
|
|
return $goodsAttribute;
|
|
}
|
|
|
|
// 收藏商品状态查询
|
|
static public function userCollectStatus($goods_id){
|
|
if(empty(\Auth::user()->id)){
|
|
return 0;
|
|
}
|
|
$user_id = \Auth::user()->id;
|
|
$info = ShopCollect::getCollectDetail([
|
|
'type_id' => 0,
|
|
'value_id' => $goods_id,
|
|
'user_id' => $user_id,
|
|
]);
|
|
if(empty($info['is_attention'])){
|
|
return 0;
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
// 获取关联商品
|
|
static public function getRelatedGoods($where){
|
|
$goodsList = ShopGoods::where($where)->inRandomOrder()->take(20)->get();
|
|
return ShopGoodsResource::collection($goodsList);
|
|
}
|
|
|
|
// 添加商品足迹
|
|
static public function addFootprint($goods_id){
|
|
try{
|
|
if (empty(\Auth::user()->id)) {
|
|
$uid = 0;
|
|
} else {
|
|
$uid = \Auth::user()->id;
|
|
}
|
|
if(empty($goods_id) || empty($uid)){
|
|
return;
|
|
}
|
|
$newModel = new ShopFootprint();
|
|
$newModel->goods_id = $goods_id;
|
|
$newModel->uid = $uid;
|
|
$newModel->add_time = Carbon::now();
|
|
$newModel->save();
|
|
}catch (\Exception $e){
|
|
// 足迹报错失败
|
|
}
|
|
}
|
|
|
|
|
|
}
|