WxGuideController.php 3.14 KB
<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/2/8
 * Time: 10:49
 */

namespace App\Http\Controllers\Backend\WxGuide;

use App\Access\Model\User\User;
use App\Modules\Models\Business\Business;
use App\Modules\Models\CouponType\CouponType;
use App\Modules\Models\Spot\Spot;
use App\Repositories\Backend\WxGuide\WxGuideRepository;
use App\Http\Requests\Backend\WxGuide\StoreWxGuideRequest;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB;
use EasyWeChat\Factory;
use Illuminate\Http\Request;

class WxGuideController extends Controller
{

    private $wxguide;


    public function __construct(WxGuideRepository $wxguide)
    {
        $this->wxguide = $wxguide;

    }


    public function index()
    {

        return view('backend.wxguide.index');
    }


    public function create()
    {

        $spotinfo = $this->spot();
        $userinfo = $this->business();
        $typeinfo = CouponType::select('id', 'discount', 'discount_money', 'reason')->where('auto_send', 0)->get()->toArray();
        $type = [];
        foreach ($typeinfo as $types) {
            $type[$types['id']] = '满' . $types['discount'] * 0.01 . '元减' . $types['discount_money'] * 0.01 .'元';

//            if (empty($types['discount_money'])) {
//                $type[$types['id']] = '满' . $types['discount'] . '元减' . $types['reason'];
//            } else {
//                $type[$types['id']] = $types['discount_money'] . '折';
//            }
        }


        return view('backend.wxguide.create', [
            'spot_id' => $spotinfo,
            'business_id' => $userinfo,
            'type' => $type

        ]);
    }


    public function store(StoreWxGuideRequest $request)
    {
        $this->wxguide->create(
            [
                'data' => $request->only(
                    'spot_id',
                    'business_id',
                    'number',
                    'expire_time',
                    'coupon_type_id',
                    'bonus'
                )]
        );
        return redirect()->route('admin.wxguide.index')->withFlashSuccess(trans('alerts.backend.wxguide.created'));
    }


    public function info($request)
    {

        if (!empty($request)) {
            $info = DB::table('wx_guide')
                ->where('id', '=', $request)
                ->select('wx_guide.id', 'wx_guide.qrcode')
                ->first();

            return view('backend.wxguide.info', [
                'info' => 'http://www.ssw-htzn.com/app.html?style=coupon&qr_code='.$info->qrcode
            ]);

        }
    }

    public function getMpCode(Request $request)
    {
        $config =config('wechat.official_account.new');

        $app = Factory::officialAccount($config);
        $oauth = $app->oauth;

        return $oauth->redirect();

    }

    public function getUserInfo(Request $request)
    {
        $config =config('wechat.official_account.new');

        $app = Factory::officialAccount($config);
        $oauth = $app->oauth;

        // 获取 OAuth 授权结果用户信息
        $user = $oauth->user();
        $id = $user->getId();
        return view('backend.wxguide.webview', ['info'=>$id]);
    }


}