123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- <?php
- namespace App\Http\Controllers\HuiFu;
- use App\Handlers\UploadFilesHandler;
- use App\Http\Controllers\Controller;
- use App\Models\Enroll;
- use App\Models\HuiFu\QJBankInfo;
- use App\Models\HuiFu\QJEnroll;
- use App\Models\HuiFu\QJEnrollSZ;
- use App\Models\HuiFu\QJUser;
- use BsPayClassify\V2TradeOnlinepaymentQuery;
- use BsPayClassify\V2TradeOnlinepaymentQuickpayApply;
- use BsPayClassify\V2TradeOnlinepaymentQuickpayConfirm;
- use BsPaySdk\core\BsPayTools;
- use Carbon\Carbon;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
- class HuiFuSZController extends Controller{
- //检查是否开通
- public function check(){
- $id=Auth::user()->id;
- $re=QJUser::where('user_id',$id)->first();
- if (!$re){
- if (Carbon::now()>'2024-11-19 18:00:00'){
- return $this->error(50014,'','实战营报名已结束');
- }
- return $this->error(50014,'','未开通快捷支付');
- }
- $res=QJBankInfo::where('qj_user_id',$id)->where('trans_status','S')->first();
- if (!$res){
- if (Carbon::now()>'2024-11-19 18:00:00'){
- return $this->error(50014,'','实战营报名已结束');
- }
- return $this->error(50014,'','未开通快捷支付');
- }
- if (!$res->token_no){
- if (Carbon::now()>'2024-11-19 18:00:00'){
- return $this->error(50014,'','实战营报名已结束');
- }
- return $this->error(50014,'','未开通快捷支付');
- }
- $status=QJEnrollSZ::where('is_pay',1)->where('user_id',$id)->first();
- if (!$status){
- return $this->success(['id'=>$res->id]);
- }
- return $this->success(['status'=>1,'info'=>'报名成功','time'=>Carbon::parse($status->created_at)->toDateTimeString(),
- 'pay_number'=>$status->pay_number,'money'=>599]);
- }
- public function QuickBankPay(Request $request){
- // $time='2023-12-06 10:00:00';
- // if (Carbon::now()<$time){
- // return $this->error(500214,'','暂未开始报名!');
- // }
- if (Carbon::now()>'2024-11-19 18:00:00'){
- return $this->error(50014,'','实战营报名已结束');
- }
- $ReqSeqId=date("YmdHis") . mt_rand();
- $ids=Auth::user()->id;
- $QJEnroll=Enroll::where('user_id',$ids)->where('is_pay',1)->first();
- if ($QJEnroll){
- return $this->error(500214,'','已报名,请回到首页刷新');
- }
- $publicKey=\config('HFConfig.rsa_huifu_public_key');
- $orderID=date('YmdHis').$ids.random_int(100,999);
- $huifuID=\config('HFConfig.huifu_id');
- // $QJEnroll=QJEnrollSZ::where('user_id',$ids)->first();
- // if (!$QJEnroll){
- $QJEnroll=new QJEnrollSZ();
- // }
- $QJEnroll->user_id=$ids;
- $QJEnroll->pay_number=$orderID;
- $QJEnroll->season=71;
- $QJEnroll->req_seq_id=$ReqSeqId;
- $QJEnroll->save();
- $id=$request->input('id');
- $QJBank=QJBankInfo::find($id);
- $data=[
- 'trans_amt'=>"599.00",
- 'req_seq_id'=>$ReqSeqId,
- 'card_bind_id'=>$QJBank->token_no,
- 'notify_url'=>'http://api.app.cliu.cc.cn/api/text_notify_url',
- 'user_huifu_id'=>$QJBank->cust_id,
- 'good_desc'=>'第71届创业实战营报名费用',
- 'huifu_id'=>$huifuID,
- ];
- $re=new V2TradeOnlinepaymentQuickpayApply();
- $result=$re->index($data);
- if (!$result || $result->isError()) { //失败处理
- return $this->error('400',$result -> getErrorInfo());
- }
- $result=$this->object_to_array($result);
- $rspDatas = $result['rspDatas'];
- $res = BsPayTools::verifySign_sort($rspDatas['sign'],$rspDatas['data'],$publicKey);
- if($res){
- if(isset($rspDatas['data']['resp_code']) && $rspDatas['data']['resp_code']=='00000000'){
- return $this->success(['id'=>$QJEnroll->id]);
- }
- if(isset($rspDatas['data']['resp_code']) && $rspDatas['data']['resp_code']=='00000100'){
- return $this->success(['id'=>$QJEnroll->id]);
- }
- }
- $QJEnroll->message.=$rspDatas['data']['resp_desc'];
- $QJEnroll->save();
- return $this->error(500214,'',$rspDatas['data']['resp_desc']);
- }
- //上传验证码
- public function QuickBankSms(Request $request){
- $id=$request->input('id');
- $QJEnroll=QJEnrollSZ::find($id);
- if (!$QJEnroll){
- return $this->error(500214,'','请重新获取验证码');
- }
- $huifuID=\config('HFConfig.huifu_id');
- $publicKey=\config('HFConfig.rsa_huifu_public_key');
- $sms_code=$request->input('sms_code');
- $data=[
- 'huifu_id'=>$huifuID,
- 'req_seq_id'=>$QJEnroll->req_seq_id,
- 'sms_code'=>$sms_code,
- 'goods_desc'=>'报名费用',
- 'notify_url'=>'http://api.app.cliu.cc.cn/api/text_notify_url',
- ];
- $re=new V2TradeOnlinepaymentQuickpayConfirm();
- $result=$re->index($data);
- if (!$result || $result->isError()) { //失败处理
- return $this->error('400',$result -> getErrorInfo());
- }
- $result=$this->object_to_array($result);
- $rspDatas = $result['rspDatas'];
- $res = BsPayTools::verifySign_sort($rspDatas['sign'],$rspDatas['data'],$publicKey);
- if($res){
- if(isset($rspDatas['data']['trans_stat']) && $rspDatas['data']['trans_stat']=='P'){
- return $this->success(['status'=>0]);
- }
- if (isset($rspDatas['data']['trans_stat']) && $rspDatas['data']['trans_stat']=='S'){
- $QJEnroll->is_pay=1;
- $QJEnroll->save();
- Enroll::where('user_id',$QJEnroll->user_id)->update(['is_pay'=>1]);
- return $this->success(['status'=>1]);
- }
- }
- $QJEnroll->message.=$rspDatas['data']['resp_desc'];
- $QJEnroll->save();
- return $this->error(50214,'',$rspDatas['data']['resp_desc']);
- }
- public function CheckStatus(Request $request){
- $id=$request->input('id');
- $QJEnroll=QJEnrollSZ::find($id);
- $huifuID=\config('HFConfig.huifu_id');
- $data=[
- 'huifu_id'=>$huifuID,
- 'org_req_seq_id'=>$QJEnroll->req_seq_id,
- 'org_hf_req_id'=>'',
- 'org_req_date'=>Carbon::parse($QJEnroll->created_at)->format('Ymd')
- ];
- $publicKey=\config('HFConfig.rsa_huifu_public_key');
- $re=new V2TradeOnlinepaymentQuery();
- $result=$re->index($data);
- if (!$result || $result->isError()) { //失败处理
- return $this->error('400',$result -> getErrorInfo());
- }
- $result=$this->object_to_array($result);
- $rspDatas = $result['rspDatas'];
- $res = BsPayTools::verifySign_sort($rspDatas['sign'],$rspDatas['data'],$publicKey);
- if($res){
- if(isset($rspDatas['data']['trans_stat']) && $rspDatas['data']['trans_stat']=='P'){
- return $this->success(['status'=>0]);
- }
- if (isset($rspDatas['data']['trans_stat']) && $rspDatas['data']['trans_stat']=='S'){
- $QJEnroll->is_pay=1;
- $QJEnroll->number=$rspDatas['data']['org_hf_seq_id'];
- $QJEnroll->save();
- Enroll::where('user_id',$QJEnroll->user_id)->update(['is_pay'=>1]);
- return $this->success(['status'=>1]);
- }
- }
- if (isset($rspDatas['data']['bank_desc'])){
- $QJEnroll->message=$rspDatas['data']['bank_desc'];
- $QJEnroll->save();
- return $this->error(400,'',$rspDatas['data']['bank_desc']);
- }
- $QJEnroll->message.=$rspDatas['data']['resp_desc'];
- $QJEnroll->save();
- return $this->error(400,'',$rspDatas['data']['resp_desc']);
- }
- public function ImageEnroll(Request $request){
- $re=new UploadFilesHandler();
- $result=$re->save($request->file('image'),'face',2012,'image');
- if (isset($result['path'])){
- Enroll::where('user_id',Auth::user()->id)->update(['message'=>$result['path']]);
- }
- return $this->success($result);
- }
- }
|