From ca7b24000857cf1a6ba070391091db76ff4f3c11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9E=97=E4=B8=80=E5=B3=B0?= <1feng.0595@gmail.com>
Date: Mon, 4 Dec 2017 00:04:04 +0800
Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E6=90=9C=E7=B4=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Admin/GoodsBrandController.php | 4 +-
.../Controllers/Admin/GoodsController.php | 5 +-
app/Http/Controllers/Api/GoodsController.php | 25 ++---
.../Controllers/Weixin/BonusController.php | 53 ++++++++++
.../Controllers/Weixin/GoodsController.php | 25 ++---
.../Controllers/Weixin/IndexController.php | 21 +++-
.../Controllers/Weixin/UserController.php | 5 +-
app/Http/Model/Goods.php | 11 ++-
app/Http/Model/GoodsSearchword.php | 97 +++++++++++++++++++
.../views/admin/GoodsBrand/add.blade.php | 63 ++++++++----
.../views/admin/GoodsBrand/edit.blade.php | 79 ++++++++-------
.../views/admin/GoodsBrand/index.blade.php | 8 +-
resources/views/admin/goods/add.blade.php | 11 +++
resources/views/admin/goods/edit.blade.php | 14 +++
.../views/weixin/bonus/bonusList.blade.php | 93 ++++++++++++++++++
.../weixin/goods/categoryGoodsList.blade.php | 4 +-
.../views/weixin/goods/goodslist.blade.php | 18 ++--
resources/views/weixin/index/index.blade.php | 4 +-
resources/views/weixin/index/search.blade.php | 43 ++++----
routes/web.php | 18 ++--
20 files changed, 459 insertions(+), 142 deletions(-)
create mode 100644 app/Http/Controllers/Weixin/BonusController.php
create mode 100644 app/Http/Model/GoodsSearchword.php
create mode 100644 resources/views/weixin/bonus/bonusList.blade.php
diff --git a/app/Http/Controllers/Admin/GoodsBrandController.php b/app/Http/Controllers/Admin/GoodsBrandController.php
index 99e41dd..a1d6714 100644
--- a/app/Http/Controllers/Admin/GoodsBrandController.php
+++ b/app/Http/Controllers/Admin/GoodsBrandController.php
@@ -13,7 +13,7 @@ class GoodsBrandController extends CommonController
public function index()
{
- $data['posts'] = object_to_array(DB::table("goods_brand")->select('add_time', 'title', 'litpic', 'status', 'listorder', 'cover_img', 'click')->orderBy('id', 'desc')->get());
+ $data['posts'] = object_to_array(DB::table("goods_brand")->select('id', 'add_time', 'title', 'litpic', 'status', 'listorder', 'cover_img', 'click')->orderBy('id', 'desc')->get());
return view('admin.GoodsBrand.index', $data);
}
@@ -27,7 +27,7 @@ class GoodsBrandController extends CommonController
if(DB::table("goods_brand")->insert($_POST))
{
- success_jump('添加成功!');
+ success_jump('添加成功!', route('admin_goodsbrand'));
}
else
{
diff --git a/app/Http/Controllers/Admin/GoodsController.php b/app/Http/Controllers/Admin/GoodsController.php
index b7912ab..2317521 100644
--- a/app/Http/Controllers/Admin/GoodsController.php
+++ b/app/Http/Controllers/Admin/GoodsController.php
@@ -48,7 +48,9 @@ class GoodsController extends CommonController
{
$data = [];
if(!empty($_GET["catid"])){$data['catid'] = $_GET["catid"];}else{$data['catid'] = 0;}
-
+
+ $data['goodsbrand_list'] = object_to_array(DB::table('goods_brand')->where('status', 0)->orderBy('listorder', 'asc')->get()); //商品品牌
+
return view('admin.goods.add', $data);
}
@@ -101,6 +103,7 @@ class GoodsController extends CommonController
if($goods->promote_end_date != 0){$goods->promote_end_date = date('Y-m-d H:i:s',$goods->promote_end_date);}
$data['post'] = object_to_array($goods, 1);
+ $data['goodsbrand_list'] = object_to_array(DB::table('goods_brand')->where('status', 0)->orderBy('listorder', 'asc')->get()); //商品品牌
return view('admin.goods.edit', $data);
}
diff --git a/app/Http/Controllers/Api/GoodsController.php b/app/Http/Controllers/Api/GoodsController.php
index b3f53a3..a49177f 100644
--- a/app/Http/Controllers/Api/GoodsController.php
+++ b/app/Http/Controllers/Api/GoodsController.php
@@ -6,6 +6,7 @@ use Illuminate\Http\Request;
use App\Common\ReturnData;
use App\Common\Token;
use App\Http\Model\Goods;
+use App\Http\Model\GoodsSearchword;
class GoodsController extends CommonController
{
@@ -47,28 +48,14 @@ class GoodsController extends CommonController
return ReturnData::create(ReturnData::SUCCESS,$res);
}
- //添加余额明细
- public function userMoneyAdd(Request $request)
+ public function goodsSearchwordList(Request $request)
{
//参数
- $data['type'] = $request->input('type',null);
- $data['money'] = $request->input('money',null);
- $data['des'] = $request->input('des',null);
- if($request->input('user_money', null) !== null){$data['user_money'] = $request->input('user_money');}
- $data['add_time'] = time();
- $data['user_id'] = Token::$uid;
-
- if($data['type']===null || $data['money']===null || $data['des']===null)
- {
- return ReturnData::create(ReturnData::PARAMS_ERROR);
- }
-
- $res = UserMoney::add($data);
- if(!$res)
- {
- return ReturnData::create(ReturnData::SYSTEM_FAIL);
- }
+ $data['limit'] = $request->input('limit', 10);
+ $data['offset'] = $request->input('offset', 0);
+ $res = GoodsSearchword::getList($data);
+
return ReturnData::create(ReturnData::SUCCESS,$res);
}
}
\ No newline at end of file
diff --git a/app/Http/Controllers/Weixin/BonusController.php b/app/Http/Controllers/Weixin/BonusController.php
new file mode 100644
index 0000000..8bbe22c
--- /dev/null
+++ b/app/Http/Controllers/Weixin/BonusController.php
@@ -0,0 +1,53 @@
+ $pagesize,
+ 'offset' => $offset,
+ 'access_token' => $_SESSION['weixin_user_info']['access_token']
+ );
+ $url = env('APP_API_URL')."/bonus_list";
+ $res = curl_request($url,$postdata,'GET');
+ $data['list'] = $res['data']['list'];
+
+ $data['totalpage'] = ceil($res['data']['count']/$pagesize);
+
+ if(isset($_REQUEST['page_ajax']) && $_REQUEST['page_ajax']==1)
+ {
+ $html = '';
+
+ if($res['data']['list'])
+ {
+ foreach($res['data']['list'] as $k => $v)
+ {
+ $html .= '
';
+ $html .= ''.$v['goods']['title'].'
';
+ $html .= '
¥'.$v['goods']['price'].'
';
+ $html .= '
删除
';
+ $html .= '
';
+ }
+ }
+
+ exit(json_encode($html));
+ }
+
+ return view('weixin.bonus.bonusList', $data);
+ }
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/Weixin/GoodsController.php b/app/Http/Controllers/Weixin/GoodsController.php
index 4ad8f5a..8ef9d5b 100644
--- a/app/Http/Controllers/Weixin/GoodsController.php
+++ b/app/Http/Controllers/Weixin/GoodsController.php
@@ -41,23 +41,24 @@ class GoodsController extends CommonController
//商品列表
public function goodsList(Request $request)
{
- if($request->input('typeid', '') != ''){$data['typeid'] = $request->input('typeid');}
- if($request->input('tuijian', '') != ''){$data['tuijian'] = $request->input('tuijian');}
- if($request->input('keyword', '') != ''){$data['keyword'] = $request->input('keyword');}
- if($request->input('status', '') != ''){$data['status'] = $request->input('status');}
- if($request->input('is_promote', '') != ''){$data['is_promote'] = $request->input('is_promote');}
- if($request->input('orderby', '') != ''){$data['orderby'] = $request->input('orderby');}
- if($request->input('max_price', '') != ''){$data['max_price'] = $request->input('max_price');}else{$data['max_price'] = 99999;}
- if($request->input('min_price', '') != ''){$data['min_price'] = $request->input('min_price');}else{$data['min_price'] = 0;}
+ if($request->input('typeid', '') != ''){$param['typeid'] = $request->input('typeid');}
+ if($request->input('tuijian', '') != ''){$param['tuijian'] = $request->input('tuijian');}
+ if($request->input('keyword', '') != ''){$param['keyword'] = $request->input('keyword');}
+ if($request->input('status', '') != ''){$param['status'] = $request->input('status');}
+ if($request->input('is_promote', '') != ''){$param['is_promote'] = $request->input('is_promote');}
+ if($request->input('orderby', '') != ''){$param['orderby'] = $request->input('orderby');}
+ if($request->input('max_price', '') != ''){$param['max_price'] = $request->input('max_price');}else{$param['max_price'] = 99999;}
+ if($request->input('min_price', '') != ''){$param['min_price'] = $request->input('min_price');}else{$param['min_price'] = 0;}
//商品列表
- $postdata = array(
- 'limit' => 10,
- 'offset' => 0
- );
+ $postdata = $param;
+ $postdata['limit'] = 10;
+ $postdata['offset'] = 0;
+
$url = env('APP_API_URL')."/goods_list";
$res = curl_request($url,$postdata,'GET');
$data['goods_list'] = $res['data']['list'];
+ $data['request_param'] = $param;
return view('weixin.goods.goodsList', $data);
}
diff --git a/app/Http/Controllers/Weixin/IndexController.php b/app/Http/Controllers/Weixin/IndexController.php
index 472aa41..a338727 100644
--- a/app/Http/Controllers/Weixin/IndexController.php
+++ b/app/Http/Controllers/Weixin/IndexController.php
@@ -54,6 +54,16 @@ class IndexController extends CommonController
$res = curl_request($url,$postdata,'GET');
$data['goods_list'] = $res['data']['list'];
+ //商品推荐
+ $postdata = array(
+ 'tuijian'=> 1,
+ 'limit' => 4,
+ 'offset' => 0
+ );
+ $url = env('APP_API_URL')."/goods_list";
+ $res = curl_request($url,$postdata,'GET');
+ $data['goods_recommend_list'] = $res['data']['list'];
+
return view('weixin.index.index',$data);
}
@@ -125,7 +135,16 @@ class IndexController extends CommonController
//搜索页
public function search()
{
- return view('weixin.index.search');
+ //商品热门搜索词列表
+ $postdata = array(
+ 'limit' => 10,
+ 'offset' => 0
+ );
+ $url = env('APP_API_URL')."/goods_searchword_list";
+ $res = curl_request($url,$postdata,'GET');
+ $data['goods_searchword_list'] = $res['data']['list'];
+
+ return view('weixin.index.search',$data);
}
//单页面
diff --git a/app/Http/Controllers/Weixin/UserController.php b/app/Http/Controllers/Weixin/UserController.php
index 32ad36b..35b2df9 100644
--- a/app/Http/Controllers/Weixin/UserController.php
+++ b/app/Http/Controllers/Weixin/UserController.php
@@ -27,6 +27,8 @@ class UserController extends CommonController
$res = curl_request($url,$postdata,'GET');
$data['user_info'] = $res['data'];
+ if($res['code'] != ReturnCode::SUCCESS_CODE){unset($_SESSION['weixin_user_info']);$this->error_jump('请先登录',route('weixin_login'));}
+
return view('weixin.user.index', $data);
}
@@ -514,8 +516,7 @@ class UserController extends CommonController
header('Location: '.route('weixin_user'));exit;
}
- $data['isWechatBrowser'] = Helper::isWechatBrowser();
- return view('weixin.user.login',$data);
+ return view('weixin.user.login');
}
//注册
diff --git a/app/Http/Model/Goods.php b/app/Http/Model/Goods.php
index de853a0..1a5fdbe 100644
--- a/app/Http/Model/Goods.php
+++ b/app/Http/Model/Goods.php
@@ -67,9 +67,16 @@ class Goods extends BaseModel
$model = $model->where($where);
}
- if(isset($keyword)){$model = $model->where("title", "like", "%$keyword%")->orWhere("sn", "like", "%$keyword%");} //关键词搜索
+ //关键词搜索
if(isset($max_price) && isset($min_price)){$model = $model->where("price", ">=", $min_price)->where("price", "<=", $max_price);} //价格区间搜索
-
+ if(isset($keyword))
+ {
+ $model = $model->where(function ($query) use ($keyword) {$query->where("title", "like", "%$keyword%")->orWhere("sn", "like", "%$keyword%");});
+
+ //添加搜索关键词
+ GoodsSearchword::add(array('name'=>$keyword));
+ }
+ //return $model->toSql();//打印sql语句
$res['count'] = $model->count();
$res['list'] = array();
diff --git a/app/Http/Model/GoodsSearchword.php b/app/Http/Model/GoodsSearchword.php
new file mode 100644
index 0000000..fdf61c5
--- /dev/null
+++ b/app/Http/Model/GoodsSearchword.php
@@ -0,0 +1,97 @@
+where($where);
+
+ $res['count'] = $model->count();
+ $res['list'] = array();
+
+ if($res['count']>0)
+ {
+ $res['list'] = $model->skip($offset)->take($limit)->orderBy('click','desc')->orderBy('listorder','asc')->get();
+ }
+ else
+ {
+ return false;
+ }
+
+ return $res;
+ }
+
+ public static function getOne($where)
+ {
+ return self::where($where)->first();
+ }
+
+ public static function add(array $data)
+ {
+ //如果关键词存在,就增加点击量
+ if(isset($data['name']))
+ {
+ if(self::getOne(array('name'=>$data['name'])))
+ {
+ \DB::table('goods_searchword')->where(array('name'=>$data['name']))->increment('click', 1);
+ }
+ else
+ {
+ if ($id = self::insertGetId($data))
+ {
+ return $id;
+ }
+ }
+ }
+ else
+ {
+ return false;
+ }
+
+ return false;
+ }
+
+ public static function modify($where, array $data)
+ {
+ if (self::where($where)->update($data))
+ {
+ return true;
+ }
+
+ return false;
+ }
+
+ //删除一条记录
+ public static function remove($id)
+ {
+ if (!self::whereIn('id', explode(',', $id))->delete())
+ {
+ return false;
+ }
+
+ return true;
+ }
+}
\ No newline at end of file
diff --git a/resources/views/admin/GoodsBrand/add.blade.php b/resources/views/admin/GoodsBrand/add.blade.php
index 219221a..6f4c749 100644
--- a/resources/views/admin/GoodsBrand/add.blade.php
+++ b/resources/views/admin/GoodsBrand/add.blade.php
@@ -2,26 +2,27 @@
@section('title', '品牌添加')
@section('content')
-
+
-