From 5e80de7594089cf97e000c532a7a51e42bfba221 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: Fri, 20 Oct 2017 00:19:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E4=B8=AD=E5=BF=83-=E4=BC=98?= =?UTF-8?q?=E6=83=A0=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 + app/Http/Controllers/Api/BonusController.php | 37 -------- .../Controllers/Api/UserBonusController.php | 73 +++++++++++++++ .../Controllers/Weixin/UserController.php | 42 +++++++++ app/Http/Model/User.php | 3 +- app/Http/Model/UserBonus.php | 21 +++-- .../views/weixin/common/footer.blade.php | 2 +- .../views/weixin/goods/goodsDetail.blade.php | 6 +- resources/views/weixin/user/index.blade.php | 4 +- .../views/weixin/user/userBonusList.blade.php | 91 +++++++++++++++++++ routes/web.php | 8 +- 11 files changed, 237 insertions(+), 53 deletions(-) create mode 100644 app/Http/Controllers/Api/UserBonusController.php create mode 100644 resources/views/weixin/user/userBonusList.blade.php diff --git a/.gitignore b/.gitignore index 379c3a4..ab03834 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,6 @@ Homestead.json Homestead.yaml npm-debug.log .env +/.svn +/build +/.project \ No newline at end of file diff --git a/app/Http/Controllers/Api/BonusController.php b/app/Http/Controllers/Api/BonusController.php index 94df844..ce56abf 100644 --- a/app/Http/Controllers/Api/BonusController.php +++ b/app/Http/Controllers/Api/BonusController.php @@ -118,41 +118,4 @@ class BonusController extends CommonController return ReturnData::create(ReturnData::SUCCESS,$res); } - - //用户获取优惠券 - public function userGetBonus(Request $request) - { - //参数 - $data['bonus_id'] = $request->input('bonus_id',null); - if($data['bonus_id']===null) - { - return ReturnData::create(ReturnData::PARAMS_ERROR); - } - - $data['user_id'] = Token::$uid; - - $res = UserBonus::add($data); - if($res !== true) - { - return ReturnData::create(ReturnData::SYSTEM_FAIL,null,$res); - } - - return ReturnData::create(ReturnData::SUCCESS,$res); - } - - //用户优惠券列表 - public function userBonusList(Request $request) - { - //参数 - $data['used_time'] = 0; - $data['user_id'] = Token::$uid; - - $res = UserBonus::getList($data); - if(!$res) - { - return ReturnData::create(ReturnData::SYSTEM_FAIL,null,$res); - } - - return ReturnData::create(ReturnData::SUCCESS,$res); - } } \ No newline at end of file diff --git a/app/Http/Controllers/Api/UserBonusController.php b/app/Http/Controllers/Api/UserBonusController.php new file mode 100644 index 0000000..3a7f8f1 --- /dev/null +++ b/app/Http/Controllers/Api/UserBonusController.php @@ -0,0 +1,73 @@ +input('limit', 10); + $data['offset'] = $request->input('offset', 0); + if($request->input('status', '') != ''){$data['status'] = $request->input('status');} + $data['user_id'] = Token::$uid; + + $res = UserBonus::getList($data); + if($res == false) + { + return ReturnData::create(ReturnData::SYSTEM_FAIL); + } + + return ReturnData::create(ReturnData::SUCCESS,$res); + } + + //用户获取优惠券 + public function userBonusAdd(Request $request) + { + //参数 + $data['bonus_id'] = $request->input('bonus_id',''); + $data['get_time'] = time(); + $data['user_id'] = Token::$uid; + + if($data['bonus_id']=='') + { + return ReturnData::create(ReturnData::PARAMS_ERROR); + } + + $res = UserBonus::add($data); + if($res == false) + { + return ReturnData::create(ReturnData::SYSTEM_FAIL); + } + + return ReturnData::create(ReturnData::SUCCESS,$res); + } + + //用户删除优惠券 + public function userBonusDelete(Request $request) + { + $id = $request->input('id',''); + if($id=='') + { + return ReturnData::create(ReturnData::PARAMS_ERROR); + } + + $res = UserBonus::remove($id); + if($res == false) + { + return ReturnData::create(ReturnData::SYSTEM_FAIL,null,$res); + } + + return ReturnData::create(ReturnData::SUCCESS,$res); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Weixin/UserController.php b/app/Http/Controllers/Weixin/UserController.php index 9defcc1..7232f7f 100644 --- a/app/Http/Controllers/Weixin/UserController.php +++ b/app/Http/Controllers/Weixin/UserController.php @@ -149,6 +149,48 @@ class UserController extends CommonController return view('weixin.user.userPointList', $data); } + //用户优惠券列表 + public function userBonusList(Request $request) + { + //商品列表 + $pagesize = 1; + $offset = 0; + if(isset($_REQUEST['page'])){$offset = ($_REQUEST['page']-1)*$pagesize;} + + $postdata = array( + 'limit' => $pagesize, + 'offset' => $offset, + 'status' => 0, + 'access_token' => $_SESSION['weixin_user_info']['access_token'] + ); + $url = env('APP_API_URL')."/user_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['bonus']['name'].''.$v['bonus']['money'].'

'; + $html .= '

有效期至'.$v['bonus']['end_time'].' 满'.$v['bonus']['min_amount'].'可用

'; + //$html .= '
说明
'; + $html .= '
'; + } + } + + exit(json_encode($html)); + } + + return view('weixin.user.userBonusList', $data); + } + //浏览记录 public function userGoodsHistory(Request $request) { diff --git a/app/Http/Model/User.php b/app/Http/Model/User.php index 521d03b..4e82032 100644 --- a/app/Http/Model/User.php +++ b/app/Http/Model/User.php @@ -134,7 +134,8 @@ class User extends BaseModel if(!$user){return false;} $user->reciever_address = UserAddress::getOne($user->address_id); $user->collect_goods_count = CollectGoods::where('user_id', $user_id)->count(); - + $user->bonus_count = UserBonus::where(array('user_id'=>$user_id,'status'=>0))->count(); + $userinfo = $user->makeVisible(array('pay_password'))->toArray(); $user->pay_password = 0; if($userinfo['pay_password']){$user->pay_password = 1;} diff --git a/app/Http/Model/UserBonus.php b/app/Http/Model/UserBonus.php index 672b18f..1cfecd9 100644 --- a/app/Http/Model/UserBonus.php +++ b/app/Http/Model/UserBonus.php @@ -26,7 +26,7 @@ class UserBonus extends BaseModel $model = new UserBonus; - if(isset($used_time)){$where['used_time'] = $used_time;} + if(isset($status)){$where['status'] = $status;} $model = $model->where($where); @@ -35,7 +35,13 @@ class UserBonus extends BaseModel if($res['count']>0) { - $res['list'] = $model->skip($offset)->take($limit)->orderBy('id','desc')->get()->toArray(); + $bonus_list = $model->skip($offset)->take($limit)->orderBy('id','desc')->get(); + foreach($bonus_list as $k=>$v) + { + $bonus_list[$k]->bonus = Bonus::where('id',$v->bonus_id)->first(); + } + + $res['list'] = $bonus_list; } else { @@ -45,18 +51,21 @@ class UserBonus extends BaseModel return $res; } - public static function getOne($id) + public static function getOne($where) { - return self::where('id', $id)->first()->toArray(); + $res = self::where($where)->first(); + if($res){$res->bonus = Bonus::where('id',$res->bonus_id)->first();} + + return $res; } public static function add(array $data) { - if(self::where($data)->first()){return '亲,您已获取!';} + if(self::where(['bonus_id'=>$data['bonus_id'],'user_id'=>$data['user_id']])->first()){return '亲,您已获取!';} if ($id = self::insertGetId($data)) { - return true; + return $id; } return false; diff --git a/resources/views/weixin/common/footer.blade.php b/resources/views/weixin/common/footer.blade.php index 9a2fefb..1bc2fc2 100644 --- a/resources/views/weixin/common/footer.blade.php +++ b/resources/views/weixin/common/footer.blade.php @@ -4,7 +4,7 @@ diff --git a/resources/views/weixin/goods/goodsDetail.blade.php b/resources/views/weixin/goods/goodsDetail.blade.php index 63e157c..943acb0 100644 --- a/resources/views/weixin/goods/goodsDetail.blade.php +++ b/resources/views/weixin/goods/goodsDetail.blade.php @@ -13,9 +13,9 @@ diff --git a/resources/views/weixin/user/index.blade.php b/resources/views/weixin/user/index.blade.php index bc9745e..7604a98 100644 --- a/resources/views/weixin/user/index.blade.php +++ b/resources/views/weixin/user/index.blade.php @@ -121,8 +121,8 @@
  • - -
    0
    +
    +

    优惠券

  • diff --git a/resources/views/weixin/user/userBonusList.blade.php b/resources/views/weixin/user/userBonusList.blade.php new file mode 100644 index 0000000..b9ab29e --- /dev/null +++ b/resources/views/weixin/user/userBonusList.blade.php @@ -0,0 +1,91 @@ + +我的优惠券 + + + +
    +
    返回
    +
    我的优惠券
    +
    + + + + +
    +$v){ ?> +
    +

    +

    有效期至 可用

    + +
    + +
    + + +@include('weixin.common.footer') + \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index f8c43f3..8cfe60a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -75,13 +75,15 @@ Route::group(['prefix' => 'weixin', 'namespace' => 'Weixin'], function () { //微信路由,需登录,全局 Route::group(['prefix' => 'weixin', 'namespace' => 'Weixin', 'middleware' => ['web','wxlogin']], function () { - + Route::get('/category', 'CartController@index')->name('weixin_category'); //个人中心 Route::get('/user', 'UserController@index')->name('weixin_user'); Route::get('/userinfo', 'UserController@userinfo')->name('weixin_userinfo'); Route::get('/user_account', 'UserController@userAccount')->name('weixin_user_account'); Route::get('/user_money_list', 'UserController@userMoneyList')->name('weixin_user_money_list'); Route::get('/user_point_list', 'UserController@userPointList')->name('weixin_user_point_list'); + //优惠券、红包 + Route::get('/user_bonus_list', 'UserController@userBonusList')->name('weixin_user_bonus_list'); //浏览记录 Route::get('/user_goods_history', 'UserController@userGoodsHistory')->name('weixin_user_goods_history'); Route::get('/user_goods_history_delete', 'UserController@userGoodsHistoryDelete')->name('weixin_user_goods_history_delete'); @@ -164,8 +166,8 @@ Route::group(['prefix' => 'dataapi', 'namespace' => 'Api', 'middleware' => ['web Route::get('/user_point_list', 'UserPointController@userPointList'); //用户积分列表 Route::post('/user_point_add', 'UserPointController@userPointAdd'); //优惠券 - Route::get('/user_bonus_list', 'BonusController@userBonusList'); //用户优惠券列表 - Route::post('/user_get_bonus', 'BonusController@userGetBonus'); //用户获取优惠券 + Route::get('/user_bonus_list', 'UserBonusController@userBonusList'); //用户优惠券列表 + Route::post('/user_bonus_add', 'UserBonusController@userBonusAdd'); //用户获取优惠券 Route::get('/bonus_list', 'BonusController@bonusList'); //可用获取的优惠券列表 Route::post('/bonus_add', 'BonusController@bonusAdd'); //添加优惠券 Route::post('/bonus_update', 'BonusController@bonusUpdate'); //修改优惠券