|
@@ -80,6 +80,56 @@ class GoodsService
|
|
|
return json_success('', compact('rows', 'page', 'pageSize', 'total'));
|
|
|
}
|
|
|
|
|
|
+ public static function selectSpecial(Request $request)
|
|
|
+ {
|
|
|
+ $page = $request->get('page');
|
|
|
+ $pageSize = $request->get('pageSize');
|
|
|
+ $goodsName = $request->get('goods_name', '');
|
|
|
+ $categoryId = $request->get('join_goods_category_id', null);
|
|
|
+
|
|
|
+ $rows = Goods::with([
|
|
|
+ 'category' => function ($query) {
|
|
|
+ $query->select('category_id', 'category_name');
|
|
|
+ },
|
|
|
+ 'running' => function ($query) {
|
|
|
+ $query->select('join_running_goods_id', 'goods_running_storage');
|
|
|
+ },
|
|
|
+ 'supplier' => function ($query) {
|
|
|
+ $query->select('supplier_id', 'supplier_name');
|
|
|
+ }
|
|
|
+ ])->select('goods_id', 'join_goods_category_id', 'join_goods_supplier_id', 'goods_status', 'goods_sales_price', 'goods_category', 'goods_name', 'goods_title', 'goods_cover', 'goods_sort', 'goods_addtimes')
|
|
|
+ ->when($goodsName != '', function ($query) use ($goodsName) {
|
|
|
+ $query->where(function ($q) use ($goodsName) {
|
|
|
+ $q->where('goods_name', 'like', '%' . $goodsName . '%')
|
|
|
+ ->OrWhere('goods_title', 'like', '%' . $goodsName . '%');
|
|
|
+ });
|
|
|
+ })->when($categoryId != null, function ($query) use ($categoryId) {
|
|
|
+ $query->where('join_goods_category_id', $categoryId);
|
|
|
+ })
|
|
|
+ ->whereIn('join_goods_category_id', [65,43])
|
|
|
+ ->orderBy('goods_addtimes', 'DESC')
|
|
|
+ ->forPage($page, $pageSize)
|
|
|
+ ->get()
|
|
|
+ ->toArray();
|
|
|
+ $total = Goods::when($goodsName != '', function ($query) use ($goodsName) {
|
|
|
+ $query->where(function ($q) use ($goodsName) {
|
|
|
+ $q->where('goods_name', 'like', '%' . $goodsName . '%')
|
|
|
+ ->OrWhere('goods_title', 'like', '%' . $goodsName . '%');
|
|
|
+ });
|
|
|
+ })->when($categoryId != null, function ($query) use ($categoryId) {
|
|
|
+ $query->where('join_goods_category_id', $categoryId);
|
|
|
+ })->where('goods_classify', $classify)->count();
|
|
|
+
|
|
|
+ foreach ($rows as &$row) {
|
|
|
+ $row['goods_cover'] = getenv('STORAGE_DOMAIN') . $row['goods_cover'];
|
|
|
+ if (isset($row['running'])) {
|
|
|
+ $row['running']['goods_running_storage'] = intval($row['running']['goods_running_storage']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return json_success('', compact('rows', 'page', 'pageSize', 'total'));
|
|
|
+ }
|
|
|
+
|
|
|
public static function selectPackage(Request $request)
|
|
|
{
|
|
|
$page = $request->get('page');
|