|
|
@@ -54,7 +54,7 @@ class StoreOrder extends BaseModel
|
|
|
|
|
|
protected $insert = ['add_time'];
|
|
|
|
|
|
- protected static $payType = ['weixin' => '微信支付', 'yue' => '余额支付', 'offline' => '线下支付'];
|
|
|
+ protected static $payType = ['weixin' => '微信支付', 'yue' => '余额支付', 'offline' => '线下支付', 'pink_integral' => '拼团积分支付'];
|
|
|
|
|
|
protected static $deliveryType = ['send' => '商家配送', 'express' => '快递配送'];
|
|
|
|
|
|
@@ -192,10 +192,10 @@ class StoreOrder extends BaseModel
|
|
|
if (!$res) return self::setErrorInfo('退款失败!');
|
|
|
$resEdit = StoreOrder::edit($data, $id);
|
|
|
if ($resEdit) {
|
|
|
- StoreOrderStatus::setStatus($id, 'refund_price', '退款给用户' . $refund_price . '元');
|
|
|
+ \app\admin\model\order\StoreOrderStatus::setStatus($id, 'refund_price', '退款给用户' . $refund_price . '元');
|
|
|
return true;
|
|
|
} else {
|
|
|
- StoreOrderStatus::setStatus($id, 'refund_price', '退款给用户' . $refund_price . '元失败');
|
|
|
+ \app\admin\model\order\StoreOrderStatus::setStatus($id, 'refund_price', '退款给用户' . $refund_price . '元失败');
|
|
|
return self::setErrorInfo('修改失败!');
|
|
|
}
|
|
|
}
|
|
|
@@ -702,6 +702,30 @@ class StoreOrder extends BaseModel
|
|
|
return $res;
|
|
|
}
|
|
|
|
|
|
+ public static function pinkPay($order_id, $uid, $formId = '')
|
|
|
+ {
|
|
|
+ $orderInfo = self::where('uid', $uid)->where('order_id', $order_id)->where('is_del', 0)->find();
|
|
|
+ if (!$orderInfo) return self::setErrorInfo('订单不存在!');
|
|
|
+ if (!$orderInfo['combination_id']) return self::setErrorInfo('拼团积分只可支付拼团订单!');
|
|
|
+ if ($orderInfo['paid']) return self::setErrorInfo('该订单已支付!');
|
|
|
+ $userInfo = User::getUserInfo($uid);
|
|
|
+ if ($userInfo['pink_integral'] < $orderInfo['pay_price'])
|
|
|
+ return self::setErrorInfo(['status' => 'pay_deficiency', 'msg' => '拼团积分不足' . floatval($orderInfo['pay_price'])]);
|
|
|
+ self::beginTrans();
|
|
|
+ $res1 = false !== User::bcDec($uid, 'pink_integral', $orderInfo['pay_price'], 'uid');
|
|
|
+ $res2 = UserBill::expend('购买商品', $uid, 'pink_integral', 'pay_product', $orderInfo['pay_price'], $orderInfo['id'], $userInfo['pink_integral'], '拼团积分支付' . floatval($orderInfo['pay_price']) . '元购买商品');
|
|
|
+ $res3 = self::paySuccess($order_id, 'pink_integral', $formId);//余额支付成功
|
|
|
+ try {
|
|
|
+ PaymentRepositories::yuePayProduct($userInfo, $orderInfo);
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ self::rollbackTrans();
|
|
|
+ return self::setErrorInfo($e->getMessage());
|
|
|
+ }
|
|
|
+ $res = $res1 && $res2 && $res3;
|
|
|
+ self::checkTrans($res);
|
|
|
+ return $res;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 微信支付 为 0元时
|
|
|
* @param $order_id
|
|
|
@@ -741,6 +765,7 @@ class StoreOrder extends BaseModel
|
|
|
if (!$order) return self::setErrorInfo('支付订单不存在!');
|
|
|
if ($order['refund_status'] == 2) return self::setErrorInfo('订单已退款!');
|
|
|
if ($order['refund_status'] == 1) return self::setErrorInfo('正在申请退款中!');
|
|
|
+ if ($order['combination']) return self::setErrorInfo('拼团订单不可退款!');
|
|
|
if ($order['status'] == 1) return self::setErrorInfo('订单当前无法退款!');
|
|
|
self::beginTrans();
|
|
|
$res1 = false !== StoreOrderStatus::status($order['id'], 'apply_refund', '用户申请退款,原因:' . $refundReasonWap);
|