diff --git a/app/Http/Controllers/Api/UserRechargeController.php b/app/Http/Controllers/Api/UserRechargeController.php index da2f9b3..6c3e71e 100644 --- a/app/Http/Controllers/Api/UserRechargeController.php +++ b/app/Http/Controllers/Api/UserRechargeController.php @@ -33,16 +33,36 @@ class UserRechargeController extends CommonController return ReturnData::create(ReturnData::SUCCESS,$res); } + //获取一条用户充值 + public function userRechargeDetail(Request $request) + { + //参数 + $data['id'] = $request->input('id', ''); + if($data['id']=='') + { + return ReturnData::create(ReturnData::PARAMS_ERROR); + } + $data['user_id'] = Token::$uid; + + $res = UserRecharge::getOne($data); + if($res === false) + { + return ReturnData::create(ReturnData::SYSTEM_FAIL); + } + + return ReturnData::create(ReturnData::SUCCESS,$res); + } + //添加充值记录 public function userRechargeAdd(Request $request) { //参数 $data['money'] = $request->input('money',''); - if($request->input('status', '') != ''){$data['status'] = $request->input('status');} - if($request->input('pay_type', '') != ''){$data['pay_type'] = $request->input('pay_type');} + $data['status'] = UserRecharge::UN_PAY; //0未处理,1已完成 + $data['pay_type'] = $request->input('pay_type',''); //充值类型:1微信,2支付宝 $data['user_id'] = Token::$uid; - if($data['money']=='') + if($data['money']=='' || $data['pay_type']=='') { return ReturnData::create(ReturnData::PARAMS_ERROR); } diff --git a/app/Http/Controllers/Api/WechatAuthController.php b/app/Http/Controllers/Api/WechatAuthController.php deleted file mode 100644 index 4aec40a..0000000 --- a/app/Http/Controllers/Api/WechatAuthController.php +++ /dev/null @@ -1,117 +0,0 @@ -code = $this->getCode(); - $this->access_token = $this->getOpenId(); - $userInfo = $this->getUserInfo(); - - //把用户的微信信息存到数据库中 - /* if ($userInfo) - { - $ins = M('Wechat_user_info'); - $map['openid'] = $userInfo['openid']; - $result = $ins->where($map)->find(); //根据OPENID查找数据库中是否有这个用户,如果没有就写数据库。继承该类的其他类,用户都写入了数据库中。 - - if (!$result) - { - $ins->add($userInfo); - } - - $_SESSION['openid'] = $userInfo['openid']; //写到$_SESSION中。微信缓存很坑爹,调试时请及时清除缓存再试。 - } */ - } - } - - /** - * @explain - * 获取code,用于获取openid和access_token - * @remark - * code只能使用一次,当获取到之后code失效,再次获取需要重新进入 - * 不会弹出授权页面,适用于关注公众号后自定义菜单跳转等,如果不关注,那么只能获取openid - **/ - public function getCode() - { - if (isset($_REQUEST["code"])) - { - return $_REQUEST["code"]; - } - else - { - $str = "location: https://open.weixin.qq.com/connect/oauth2/authorize?appid=" . $this->appid . "&redirect_uri=" . $this->redirect_uri . "&response_type=code&scope=snsapi_userinfo&state=". $this->state ."#wechat_redirect"; - header($str); - exit; - } - } - - /** - * @explain - * 用于获取用户openid - **/ - public function getOpenId() - { - $access_token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" . $this->appid . "&secret=" . $this->appsecret . "&code=" . $this->code . "&grant_type=authorization_code"; - $access_token_json = $this->https_request($access_token_url); - $access_token_array = json_decode($access_token_json, TRUE); - - return $access_token_array; - } - - /** - * @explain - * 通过code获取用户openid以及用户的微信号信息 - * @return - * @remark - * 获取到用户的openid之后可以判断用户是否有数据,可以直接跳过获取access_token,也可以继续获取access_token - * access_token每日获取次数是有限制的,access_token有时间限制,可以存储到数据库7200s. 7200s后access_token失效 - **/ - public function getUserInfo() - { - $userinfo_url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$this->access_token['access_token'] ."&openid=" . $this->access_token['openid']."&lang=zh_CN"; - $userinfo_json = $this->https_request($userinfo_url); - $userinfo_array = json_decode($userinfo_json, TRUE); - - return $userinfo_array; - } - - - /** - * @explain - * 发送http请求,并返回数据 - **/ - public function https_request($url, $data = null) - { - $curl = curl_init(); - curl_setopt($curl, CURLOPT_URL, $url); - curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); - curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); - - if (!empty($data)) - { - curl_setopt($curl, CURLOPT_POST, 1); - curl_setopt($curl, CURLOPT_POSTFIELDS, $data); - } - - curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); - $output = curl_exec($curl); - curl_close($curl); - - return $output; - } -} \ No newline at end of file diff --git a/app/Http/Controllers/Weixin/UserController.php b/app/Http/Controllers/Weixin/UserController.php index 2024182..a11876f 100644 --- a/app/Http/Controllers/Weixin/UserController.php +++ b/app/Http/Controllers/Weixin/UserController.php @@ -62,6 +62,20 @@ class UserController extends CommonController return view('weixin.user.userRecharge'); } + //用户充值第二步,支付 + public function userRechargeTwo($id) + { + $postdata = array( + 'id' => $id, + 'access_token' => $_SESSION['weixin_user_info']['access_token'] + ); + $url = env('APP_API_URL')."/user_recharge_detail"; + $res = curl_request($url,$postdata,'GET'); + $data['post'] = $res['data']; + + return view('weixin.user.userRechargeTwo', $data); + } + //余额明细 public function userMoneyList(Request $request) { diff --git a/app/Http/Model/UserRecharge.php b/app/Http/Model/UserRecharge.php index 514cf91..3337033 100644 --- a/app/Http/Model/UserRecharge.php +++ b/app/Http/Model/UserRecharge.php @@ -16,6 +16,7 @@ class UserRecharge extends BaseModel */ protected $guarded = array(); + const UN_PAY = 0; const COMPLETE_PAY = 1; //获取列表 diff --git a/resources/views/weixin/user/userRecharge.blade.php b/resources/views/weixin/user/userRecharge.blade.php index 7cba2f3..a1df75d 100644 --- a/resources/views/weixin/user/userRecharge.blade.php +++ b/resources/views/weixin/user/userRecharge.blade.php @@ -19,6 +19,7 @@

1、填写金额 > 2、确认并支付 > 3、完成
+
开始充值 @@ -62,8 +63,10 @@ function chongzhi() content: '确定要充值吗?' ,btn: ['确定', '取消'] ,yes: function(){ - var url = ''; - $.post(url,{access_token:'',id:id},function(res) + var url = ''; + var pay_type = $('#pay_type').val(); + + $.post(url,{access_token:'',money:money,pay_type:pay_type},function(res) { //提示 layer.open({ @@ -74,7 +77,7 @@ function chongzhi() if(res.code==0) { - location.reload(); + location.href = '1)), 0, -1); ?>' + res.data; } else { diff --git a/resources/views/weixin/user/userRechargeTwo.blade.php b/resources/views/weixin/user/userRechargeTwo.blade.php new file mode 100644 index 0000000..62dfe15 --- /dev/null +++ b/resources/views/weixin/user/userRechargeTwo.blade.php @@ -0,0 +1,91 @@ + +充值-支付 + + + + +
+
返回
+
充值
+
+ + +
+
+
+ 订单已于 提交成功,请您尽快付款!
+ 订单号:
+ 应付金额:

+ + 请您在提交订单后30分钟内完成支付,否则订单会自动取消。

+
+ 去支付 +
+ + + + \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 0c73fd2..87c9c75 100644 --- a/routes/web.php +++ b/routes/web.php @@ -84,6 +84,7 @@ Route::group(['prefix' => 'weixin', 'namespace' => 'Weixin', 'middleware' => ['w 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_recharge', 'UserController@userRecharge')->name('weixin_user_recharge'); + Route::get('/user_recharge_two/{id}', 'UserController@userRechargeTwo')->name('weixin_user_recharge_two'); //优惠券、红包 Route::get('/user_bonus_list', 'UserController@userBonusList')->name('weixin_user_bonus_list'); //浏览记录 @@ -143,10 +144,11 @@ Route::group(['prefix' => 'dataapi', 'namespace' => 'Api', 'middleware' => ['web Route::post('/user_password_update', 'UserController@userPasswordUpdate'); //修改用户密码、支付密码 Route::get('/user_list', 'UserController@userList'); //用户列表 //用户充值 - Route::post('/user_recharge_add', 'UserMoneyController@userRechargeAdd'); //添加余额明细 + Route::post('/user_recharge_add', 'UserRechargeController@userRechargeAdd'); + Route::get('/user_recharge_detail', 'UserRechargeController@userRechargeDetail'); //用户余额(钱包) - Route::get('/user_money_list', 'UserMoneyController@userMoneyList'); //用户余额明细 - Route::post('/user_money_add', 'UserMoneyController@userMoneyAdd'); //添加余额明细 + Route::get('/user_money_list', 'UserMoneyController@userMoneyList'); + Route::post('/user_money_add', 'UserMoneyController@userMoneyAdd'); //浏览记录 Route::get('/user_goods_history_list', 'UserGoodsHistoryController@userGoodsHistoryList'); //我的足迹列表 Route::post('/user_goods_history_delete', 'UserGoodsHistoryController@userGoodsHistoryDelete'); //我的足迹删除一条