|
@@ -74,9 +74,9 @@ class OrderService {
|
|
//}
|
|
//}
|
|
$otherData = [
|
|
$otherData = [
|
|
'openId' => $userInfo['open_id'],
|
|
'openId' => $userInfo['open_id'],
|
|
- 'attach' => strtoupper($this->userName),
|
|
|
|
|
|
+ 'attach' => 'storeId:'.$input['storeId'],
|
|
'money' => $orderMoney * 100,
|
|
'money' => $orderMoney * 100,
|
|
- 'mark' => '购买了',
|
|
|
|
|
|
+ 'mark' => '购买了'.$productInfo['product_name'],
|
|
'orderId' => $orderSn,
|
|
'orderId' => $orderSn,
|
|
'username' => $userInfo['name'],
|
|
'username' => $userInfo['name'],
|
|
'payCode' => strtoupper($this->userName),
|
|
'payCode' => strtoupper($this->userName),
|
|
@@ -94,10 +94,44 @@ class OrderService {
|
|
return $order;
|
|
return $order;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public function payAgain(int $orderId) {
|
|
|
|
+ $model = new OrderModel();
|
|
|
|
+ $info = $model::where(['id' => $orderId])->find();
|
|
|
|
+ $productInfo = (new ProductModel())::where(['id' => $info['product_id']])->find();
|
|
|
|
+ if ($info['status'] === OrderModel::IS_PAY) {
|
|
|
|
+ throw new ApiException('订单已支付');
|
|
|
|
+ }
|
|
|
|
+ $userInfo = (new UserModel())::where(['id' => Until::$userId])->find();
|
|
|
|
+ if (empty($userInfo)) {
|
|
|
|
+ throw new ApiException('无此用户');
|
|
|
|
+ }
|
|
|
|
+ $otherData = [
|
|
|
|
+ 'openId' => $userInfo['open_id'],
|
|
|
|
+ 'attach' => 'storeId:'.$info['store_id'],
|
|
|
|
+ 'money' => $info['order_money'] * $info['num'] * 100,
|
|
|
|
+ 'mark' => '购买了'.$productInfo['product_name'] ?? '',
|
|
|
|
+ 'orderId' => $info['order_sn'],
|
|
|
|
+ 'username' => $userInfo['name'],
|
|
|
|
+ 'payCode' => strtoupper($this->userName),
|
|
|
|
+ ];
|
|
|
|
+ $wxOrderInfo = $this->createOrderForOther($otherData);
|
|
|
|
+ $order = [
|
|
|
|
+ 'nonceStr' => $wxOrderInfo['nonceStr'],
|
|
|
|
+ 'package' => $wxOrderInfo['pack'],
|
|
|
|
+ 'paySign' => $wxOrderInfo['paySign'],
|
|
|
|
+ 'timeStamp' => $wxOrderInfo['timeStamp'],
|
|
|
|
+ 'signType' => $wxOrderInfo['signType'],
|
|
|
|
+ 'orderSn' => $info['order_sn'],
|
|
|
|
+ 'orderId' => $orderId
|
|
|
|
+ ];
|
|
|
|
+ return $order;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
public function getPayToken() {
|
|
public function getPayToken() {
|
|
$key = 'payToken' . $this->userName;
|
|
$key = 'payToken' . $this->userName;
|
|
$token = Cache::get($key);
|
|
$token = Cache::get($key);
|
|
|
|
+ $token = '';
|
|
if (empty($token)) {
|
|
if (empty($token)) {
|
|
$token = $this->getAuthPay();
|
|
$token = $this->getAuthPay();
|
|
Cache::set($key, $token,'7100');
|
|
Cache::set($key, $token,'7100');
|