RedPackController.php 2.5 KB
<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/2/9
 * Time: 13:51
 */

namespace App\Http\Controllers\Backend\RedPack;

use App\Http\Controllers\Controller;
use EasyWeChat\Factory;
use App\Repositories\Backend\RedPack\RedPackRepository;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;

class RedPackController   extends Controller
{

    private $redpack;


    public function __construct(RedPackRepository $redpack)
    {
        $this->redpack = $redpack;

    }


    public  function  index()
    {
        return view('backend.redpack.index');
    }

    public function getHBInfo(Request $request)
    {
        Log::info('[getHBInfo]'.json_encode($request->all()));
        $request_data = $request->only('redpack_no');
        $config = config('wechat.payment.redpack');
        $app = Factory::payment($config);
        $mchBillNo = $request_data['redpack_no'];
        $result = $app->redpack->info($mchBillNo);
        Log::info('[redpack->info]'.json_encode($result, JSON_UNESCAPED_UNICODE));
        //SENDING:发放中;SENT:已发放待领取;FAILED:发放失败;RECEIVED:已领取;RFUND_ING:退款中;REFUND:已退款
        $data = '';
        if($result['return_code'] == 'SUCCESS' && $result['result_code'] == 'SUCCESS'){
            switch ($result['status']){
                case 'SENDING':
                    $data = '发放中;';
                    break;
                case 'SENT':
                    $data = '已发放待领取;';
                    break;
                case 'FAILED':
                    $data = '发放失败;';
                    break;
                case 'RECEIVED':
                    $data = '已领取;';
                    break;
                case 'RFUND_ING':
                    $data = '退款中;';
                    break;
                case 'REFUND':
                    $data = '已退款;';
                    break;
                default:
                    break;
            }
            if(isset($result['reason'])){
                $data .= ' 原因: '.$result['reason'];
            }
        }else{
            //"return_msg":"发放成功","result_code":"SUCCESS","err_code":"SUCCESS","err_code_des":"发放成功",
            if(isset($result['return_msg'])){
                $data = '返回信息: '.$result['return_msg'].';';
            }
            if(isset($result['err_code_des'])){
                $data = $data.' 错误描述: '.$result['err_code_des'].';';
            }
        }
        return $data;

    }
}