|
|
@@ -55,6 +55,22 @@ class UserRecharge extends BaseModel
|
|
|
$add_time = time();
|
|
|
return self::create(compact('order_id', 'uid', 'price', 'recharge_type', 'paid', 'add_time', 'give_price'));
|
|
|
}
|
|
|
+ /**
|
|
|
+ * 创建充值订单
|
|
|
+ * @param $uid
|
|
|
+ * @param $price
|
|
|
+ * @param string $recharge_type
|
|
|
+ * @param int $paid
|
|
|
+ * @return UserRecharge|bool|\think\Model
|
|
|
+ */
|
|
|
+ public static function addyy($uid, $price, $recharge_type = 'weixin', $give_price = 0, $paid = 0)
|
|
|
+ {
|
|
|
+ $order_id = self::getNewOrderId($uid);
|
|
|
+ if (!$order_id) return self::setErrorInfo('订单生成失败!');
|
|
|
+ $type = 2;
|
|
|
+ $add_time = time();
|
|
|
+ return self::create(compact('order_id', 'uid', 'price', 'recharge_type', 'paid', 'add_time', 'give_price', 'type'));
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 生成充值订单号
|
|
|
@@ -107,18 +123,34 @@ class UserRecharge extends BaseModel
|
|
|
public static function rechargeSuccess($orderId)
|
|
|
{
|
|
|
$order = self::where('order_id', $orderId)->where('paid', 0)->find();
|
|
|
+
|
|
|
if (!$order) return false;
|
|
|
- $user = User::getUserInfo($order['uid']);
|
|
|
- self::beginTrans();
|
|
|
- $price = bcadd($order['price'], $order['give_price'], 2);
|
|
|
- $res1 = self::where('order_id', $order['order_id'])->update(['paid' => 1, 'pay_time' => time()]);
|
|
|
- $mark = '成功充值余额' . floatval($order['price']) . '元' . ($order['give_price'] ? ',赠送' . $order['give_price'] . '元' : '');
|
|
|
- $res2 = UserBill::income('用户余额充值', $order['uid'], 'now_money', 'recharge', $order['price'], $order['id'], $user['now_money'], $mark);
|
|
|
- $res3 = User::edit(['now_money' => bcadd($user['now_money'], $price, 2)], $order['uid'], 'uid');
|
|
|
- $res = $res1 && $res2 && $res3;
|
|
|
- self::checkTrans($res);
|
|
|
- event('RechargeSuccess', [$order]);
|
|
|
- return $res;
|
|
|
+ if ($order['type'] < 2){
|
|
|
+ $user = User::getUserInfo($order['uid']);
|
|
|
+ self::beginTrans();
|
|
|
+ $price = bcadd($order['price'], $order['give_price'], 2);
|
|
|
+ $res1 = self::where('order_id', $order['order_id'])->update(['paid' => 1, 'pay_time' => time()]);
|
|
|
+ $mark = '成功充值余额' . floatval($order['price']) . '元' . ($order['give_price'] ? ',赠送' . $order['give_price'] . '元' : '');
|
|
|
+ $res2 = UserBill::income('用户余额充值', $order['uid'], 'now_money', 'recharge', $order['price'], $order['id'], $user['now_money'], $mark);
|
|
|
+ $res3 = User::edit(['now_money' => bcadd($user['now_money'], $price, 2)], $order['uid'], 'uid');
|
|
|
+ $res = $res1 && $res2 && $res3;
|
|
|
+ self::checkTrans($res);
|
|
|
+ event('RechargeSuccess', [$order]);
|
|
|
+ return $res;
|
|
|
+ }else{
|
|
|
+ $user = User::getUserInfo($order['uid']);
|
|
|
+ self::beginTrans();
|
|
|
+ $price = bcadd($order['price'], $order['give_price'], 2);
|
|
|
+ $res1 = self::where('order_id', $order['order_id'])->update(['paid' => 1, 'pay_time' => time()]);
|
|
|
+ $mark = '成功充值预约券' . floatval($order['price']) . '元' . ($order['give_price'] ? ',赠送' . $order['give_price'] . '元' : '');
|
|
|
+ $res2 = UserBill::income('用户预约券充值', $order['uid'], 'integral', 'add_anticipate', $order['price'], $order['id'], $user['anticipate'], $mark);
|
|
|
+ $res3 = User::edit(['anticipate' => bcadd($user['anticipate'], $price, 2)], $order['uid'], 'uid');
|
|
|
+ $res = $res1 && $res2 && $res3;
|
|
|
+ self::checkTrans($res);
|
|
|
+ event('RechargeSuccess', [$order]);
|
|
|
+ return $res;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|