|
@@ -38,7 +38,7 @@ class VoteOrder extends BaseModel
|
|
|
*/
|
|
|
protected $name = 'vote_order';
|
|
|
|
|
|
- protected static $payType = ['weixin' => '微信支付', 'yue' => '余额支付'];
|
|
|
+ protected static $payType = ['weixin' => '微信支付', 'yue' => '余额支付', 'free' => '免费投票'];
|
|
|
|
|
|
use ModelTrait;
|
|
|
|
|
@@ -82,6 +82,7 @@ class VoteOrder extends BaseModel
|
|
|
$payPrice = bcmul($num, $voteInfo['price'], 2);
|
|
|
$orderInfo = [
|
|
|
'uid' => $uid,
|
|
|
+ 'vid' => $voteJoinInfo['vid'],
|
|
|
'vjid' => $id,
|
|
|
'vote_num' => $num,
|
|
|
'pay_price' => $payPrice,
|
|
@@ -134,6 +135,25 @@ class VoteOrder extends BaseModel
|
|
|
return $res;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ public static function freePay($order_id, $uid)
|
|
|
+ {
|
|
|
+ $orderInfo = self::where('uid', $uid)->where('order_id', $order_id)->find();
|
|
|
+ if (!$orderInfo) return self::setErrorInfo('订单不存在!');
|
|
|
+ if ($orderInfo['paid']) return self::setErrorInfo('该订单已支付!');
|
|
|
+ $userInfo = \app\models\user\User::getUserInfo($uid);
|
|
|
+ if (Vote::where('id', $orderInfo['vid'])->value('day_free') < $orderInfo['vote_num'] + self::valid()->where('uid', $orderInfo['uid'])->where('vid', $orderInfo['vid'])->whereTime('pay_time', 'today')->sum('vote_num')) {
|
|
|
+ return self::setErrorInfo(['status' => 'pay_deficiency', 'msg' => '免费票不足' . floatval($orderInfo['pay_price'])]);
|
|
|
+ }
|
|
|
+ self::beginTrans();
|
|
|
+ //$res1 = false !== User::bcDec($uid, 'now_money', $orderInfo['pay_price'], 'uid');
|
|
|
+ //$res2 = UserBill::expend('参与投票', $uid, 'now_money', 'pay_vote', $orderInfo['pay_price'], $orderInfo['id'], $userInfo['now_money'], '余额支付' . floatval($orderInfo['pay_price']) . '元参与投票');
|
|
|
+ $res = self::paySuccess($order_id, 'free');//余额支付成功
|
|
|
+ //$res = $res1 && $res2 && $res3;
|
|
|
+ self::checkTrans($res);
|
|
|
+ return $res;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* //TODO 支付成功后
|
|
|
* @param $orderId
|