38 lines
1.3 KiB
PHP
38 lines
1.3 KiB
PHP
<?php
|
||
// +------------------------------------------------+
|
||
// |http://www.cjango.com |
|
||
// +------------------------------------------------+
|
||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||
// +------------------------------------------------+
|
||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||
// +------------------------------------------------+
|
||
namespace app\openapi\controller;
|
||
|
||
use app\common\model\MemberInfo;
|
||
use app\common\model\VipOrder;
|
||
use app\common\service\Score as ScoreService;
|
||
use cjango\Wechat;
|
||
use think\Config;
|
||
|
||
class Pay
|
||
{
|
||
|
||
public function vip()
|
||
{
|
||
$config = Config::get('wechat');
|
||
Wechat::instance($config);
|
||
$res = Wechat\Pay::parsePayRequest();
|
||
if ($res) {
|
||
$order = VipOrder::where('orderid', $res['out_trade_no'])->find();
|
||
$order->save(['status' => 20, 'model' => 'weixin']);
|
||
$MemberInfo = MemberInfo::get($order->uid);
|
||
$time = ($MemberInfo->is_vip == 1) ? $MemberInfo->vip_end_time : time();
|
||
MemberInfo::update(['is_vip' => 1, 'vip_time' => $time + 31536000], ['uid' => $order->uid]);
|
||
ScoreService::vip($order->uid);
|
||
Wechat\Pay::returnNotify();
|
||
} else {
|
||
Wechat\Pay::returnNotify('处理失败');
|
||
}
|
||
}
|
||
}
|