|
@@ -15,9 +15,9 @@ use app\api\model\UserModel;
|
|
|
use app\api\model\WriteOffModel;
|
|
|
use app\common\until\Until;
|
|
|
use GuzzleHttp\Client;
|
|
|
+use think\console\command\Help;
|
|
|
use think\facade\Cache;
|
|
|
use think\facade\Config;
|
|
|
-use const http\Client\Curl\Features\UNIX_SOCKETS;
|
|
|
|
|
|
class OrderService {
|
|
|
|
|
@@ -29,6 +29,7 @@ class OrderService {
|
|
|
$orderSn = Until::createSn();
|
|
|
$productInfo = (new ProductModel())::where(['id' => $input['productId']])->find();
|
|
|
$userInfo = (new UserModel())::where(['id' => Until::$userId])->find();
|
|
|
+ $userInfo = Until::modelToArray($userInfo);
|
|
|
if (empty($userInfo)) {
|
|
|
throw new ApiException('无此用户');
|
|
|
}
|
|
@@ -72,25 +73,28 @@ class OrderService {
|
|
|
//payCode string支付标识
|
|
|
//username string用户名
|
|
|
//}
|
|
|
- $otherData = [
|
|
|
- 'openId' => $userInfo['open_id'],
|
|
|
- 'attach' => 'storeId:'.$input['storeId'],
|
|
|
- 'money' => $orderMoney * 100,
|
|
|
- 'mark' => '购买了'.$productInfo['product_name'],
|
|
|
- 'orderId' => $orderSn,
|
|
|
- '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' => $orderSn,
|
|
|
- 'orderId' => $orderId
|
|
|
- ];
|
|
|
+ if (!Until::$isAdmin) {
|
|
|
+ $otherData = [
|
|
|
+ 'openId' => $userInfo['open_id'],
|
|
|
+ 'attach' => 'storeId:'.$input['storeId'],
|
|
|
+ 'money' => $orderMoney * 100,
|
|
|
+ 'mark' => '购买了'.$productInfo['product_name'],
|
|
|
+ 'orderId' => $orderSn,
|
|
|
+ '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' => $orderSn,
|
|
|
+ 'orderId' => $orderId
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
return $order;
|
|
|
}
|
|
|
|
|
@@ -183,16 +187,16 @@ class OrderService {
|
|
|
|
|
|
public function notify(string $orderSn) {
|
|
|
$model = new OrderModel();
|
|
|
- $rs = $model::where(['order_sn' => $orderSn,'status' => 2])->find();
|
|
|
- if (!empty($rs)) {
|
|
|
+ $rs = $model::where(['order_sn' => $orderSn])->find();
|
|
|
+ if (empty($rs) || $rs['status'] === 2) {
|
|
|
return;
|
|
|
}
|
|
|
+// var_dump($rs);
|
|
|
$model::where(['order_sn' => $orderSn])->update(['status' => 2,'pay_time' => date('Y-m-d H:i:s')]);
|
|
|
$model::where(['pay_sn' => $orderSn])->update(['status' => 2,'pay_time' => date('Y-m-d H:i:s')]);
|
|
|
-
|
|
|
$wModel = new WriteOffModel();
|
|
|
$code = $this->changeCode();
|
|
|
- $wModel::where(['order_id' => $rs['order_id']])->update([
|
|
|
+ $wModel::where(['order_id' => $rs['id']])->update([
|
|
|
'write_off_code' => $code,
|
|
|
'over_time' => date('Y-m-d H:i:s', time() + 5 * 60),
|
|
|
]);
|