|
@@ -9,6 +9,7 @@ use App\Models\WxOrder;
|
|
use App\Models\User\WxUser;
|
|
use App\Models\User\WxUser;
|
|
use App\Http\Controllers\Api\Traits\PayTrait;
|
|
use App\Http\Controllers\Api\Traits\PayTrait;
|
|
use App\Wen\Utils\Settings;
|
|
use App\Wen\Utils\Settings;
|
|
|
|
+use App\Wen\Utils\UserUtils;
|
|
|
|
|
|
class AskController extends BaseController
|
|
class AskController extends BaseController
|
|
{
|
|
{
|
|
@@ -109,6 +110,8 @@ class AskController extends BaseController
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //结束此次咨询
|
|
|
|
+
|
|
//旁听
|
|
//旁听
|
|
public function sit(Request $request){
|
|
public function sit(Request $request){
|
|
$order_id = _empty_default_($request->order_id,0);
|
|
$order_id = _empty_default_($request->order_id,0);
|
|
@@ -178,7 +181,39 @@ class AskController extends BaseController
|
|
return $this->fail(200016,[],'该咨询已经支付过了');
|
|
return $this->fail(200016,[],'该咨询已经支付过了');
|
|
}
|
|
}
|
|
|
|
|
|
- //
|
|
|
|
|
|
+ //使用余额支付
|
|
|
|
+ if($request->pay_type == 'balance'){
|
|
|
|
+
|
|
|
|
+ //检查支付密码
|
|
|
|
+ $this->check_paycode($uid,$request->paycode);
|
|
|
|
+
|
|
|
|
+ //检查余额
|
|
|
|
+ $balance = UserUtils::user_balance($uid);
|
|
|
|
+ if($balance <= $order['ask_price']){
|
|
|
|
+ return $this->fail(200012);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ DB::beginTransaction();
|
|
|
|
+
|
|
|
|
+ //余额支付
|
|
|
|
+ $pay_res = UserUtils::update_user_financial($uid, 11, $order['price'], '您花费了¥'.$order['price'].'余额开通了'.$order['days'].'天会员');
|
|
|
|
+ if(!$pay_res){
|
|
|
|
+ DB::rollBack();
|
|
|
|
+ return $this->fail(200012);
|
|
|
|
+ }
|
|
|
|
+ //直接修改订单状态,支付完成
|
|
|
|
+ $rs1 = DB::table('ask_order')->where('id',$order_id)->update(['status'=>10,'paytime'=>time()]);
|
|
|
|
+ if(!$rs1){
|
|
|
|
+ DB::rollBack();
|
|
|
|
+ return $this->fail([],200,'支付失败');
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ DB::commit();
|
|
|
|
+
|
|
|
|
+ return $this->success();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //拉起三方支付
|
|
$body = '付费咨询';
|
|
$body = '付费咨询';
|
|
$data['body'] = '付费咨询';
|
|
$data['body'] = '付费咨询';
|
|
$total_fee = $order->ask_price;
|
|
$total_fee = $order->ask_price;
|
|
@@ -250,8 +285,31 @@ class AskController extends BaseController
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //检查支付密码
|
|
|
|
+ private function check_paycode($uid, $paycode){
|
|
|
|
+
|
|
|
|
+ //验证支付密码
|
|
|
|
+ if(_empty_($paycode)){
|
|
|
|
+ return $this->fail(200004, [], '请先输入支付密码');
|
|
|
|
+ }
|
|
|
|
+ if(is_array($paycode) && str_replace(',', '', implode(',', $paycode)) !== get_user_meta($uid, 'paycode', 's')){
|
|
|
|
+ return $this->fail(200043, [
|
|
|
|
+ 'title' => '支付密码错误',
|
|
|
|
+ 'content' => '已忘记,前往修改?',
|
|
|
|
+ 'confirmText' => '去修改',
|
|
|
|
+ 'target_type' => 6,
|
|
|
|
+ 'target_id' => '/pagesA/mine/paycode/forget'
|
|
|
|
+ ], '支付密码错误');
|
|
|
|
+ }
|
|
|
|
+ if(is_string($paycode) && $paycode !== get_user_meta($uid, 'paycode', 's')){
|
|
|
|
+ return $this->fail(200004, [], '支付密码不匹配');
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
- * 创建订单
|
|
|
|
|
|
+ * 创建支付订单
|
|
* $order_type = 101 咨询订单
|
|
* $order_type = 101 咨询订单
|
|
* $order_type = 102 旁听订单
|
|
* $order_type = 102 旁听订单
|
|
*/
|
|
*/
|