|
|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
namespace app\api\controller\order;
|
|
|
|
|
|
+use crmeb\basic\BaseModel;
|
|
|
use Qiniu\Auth;
|
|
|
use app\admin\model\system\{
|
|
|
SystemAttachment, ShippingTemplates
|
|
|
@@ -23,7 +24,7 @@ use app\models\store\{StoreBargainUser,
|
|
|
use app\models\system\SystemStore;
|
|
|
use app\models\user\UserAddress;
|
|
|
use app\models\user\UserLevel;
|
|
|
-use app\models\user\User as User2;
|
|
|
+use app\models\user\User as Users;
|
|
|
use app\Request;
|
|
|
use crmeb\services\{
|
|
|
CacheService,
|
|
|
@@ -290,67 +291,64 @@ class StoreOrderController
|
|
|
['paytype', 'weixin'],
|
|
|
['from', 'weixin']
|
|
|
], $request, true);
|
|
|
-
|
|
|
- // 根据订单号和用户ID获取订单信息
|
|
|
+ if (!$uni) return app('json')->fail('参数错误!');
|
|
|
$order = StoreOrder::getUserOrderDetail($request->uid(), $uni);
|
|
|
-
|
|
|
- // 检查订单是否存在
|
|
|
- if (!$order) return app('json')->fail('订单不存在!');
|
|
|
-
|
|
|
- // 检查订单是否已支付
|
|
|
- if ($order['paid']) return app('json')->fail('该订单已支付!');
|
|
|
-
|
|
|
- // 检查订单是否失效
|
|
|
- if ($order['pink_id'] && StorePink::isPinkStatus($order['pink_id'])) return app('json')->fail('该订单已失效!');
|
|
|
-
|
|
|
- // 根据支付来源调整订单ID
|
|
|
- if ($from == 'weixin' && in_array($order->is_channel, [1, 2])) {
|
|
|
- $order['order_id'] = mt_rand(100, 999) . '_' . $order['order_id'];
|
|
|
- } elseif ($from == 'weixinh5' && in_array($order->is_channel, [0, 1])) {
|
|
|
- $order['order_id'] = mt_rand(100, 999) . '_' . $order['order_id'];
|
|
|
- } elseif ($from == 'routine' && in_array($order->is_channel, [0, 2])) {
|
|
|
- $order['order_id'] = mt_rand(100, 999) . '_' . $order['order_id'];
|
|
|
+ if (!$order)
|
|
|
+ return app('json')->fail('订单不存在!');
|
|
|
+ if ($order['paid'])
|
|
|
+ return app('json')->fail('该订单已支付!');
|
|
|
+ if ($order['pink_id']) if (StorePink::isPinkStatus($order['pink_id']))
|
|
|
+ return app('json')->fail('该订单已失效!');
|
|
|
+
|
|
|
+ if ($from == 'weixin') {//0
|
|
|
+ if (in_array($order->is_channel, [1, 2]))
|
|
|
+ $order['order_id'] = mt_rand(100, 999) . '_' . $order['order_id'];
|
|
|
+ }
|
|
|
+ if ($from == 'weixinh5') {//2
|
|
|
+ if (in_array($order->is_channel, [0, 1]))
|
|
|
+ $order['order_id'] = mt_rand(100, 999) . '_' . $order['order_id'];
|
|
|
+ }
|
|
|
+ if ($from == 'routine') {//1
|
|
|
+ if (in_array($order->is_channel, [0, 2]))
|
|
|
+ $order['order_id'] = mt_rand(100, 999) . '_' . $order['order_id'];
|
|
|
}
|
|
|
|
|
|
- // 重新设置支付方式
|
|
|
- $order['pay_type'] = $paytype;
|
|
|
-
|
|
|
- // 根据支付方式进行处理
|
|
|
+ $order['pay_type'] = $paytype; //重新支付选择支付方式
|
|
|
switch ($order['pay_type']) {
|
|
|
case 'weixin':
|
|
|
try {
|
|
|
- $jsConfig = OrderRepository::jsPay($order);
|
|
|
+ if ($from == 'routine') {
|
|
|
+ $jsConfig = OrderRepository::jsPay($order); //订单列表发起支付
|
|
|
+ } else if ($from == 'weixinh5') {
|
|
|
+ $jsConfig = OrderRepository::h5Pay($order);
|
|
|
+ } else {
|
|
|
+ $jsConfig = OrderRepository::wxPay($order);
|
|
|
+ }
|
|
|
} catch (\Exception $e) {
|
|
|
return app('json')->fail($e->getMessage());
|
|
|
}
|
|
|
-
|
|
|
if ($from == 'weixinh5') {
|
|
|
return app('json')->status('wechat_h5_pay', ['jsConfig' => $jsConfig, 'order_id' => $order['order_id']]);
|
|
|
} else {
|
|
|
- $this->set_parent($request->uid());
|
|
|
-
|
|
|
return app('json')->status('wechat_pay', ['jsConfig' => $jsConfig, 'order_id' => $order['order_id']]);
|
|
|
}
|
|
|
break;
|
|
|
case 'yue':
|
|
|
- if (StoreOrder::yuePay($order['order_id'], $request->uid())) {
|
|
|
- $this->set_parent($request->uid());
|
|
|
+ if (StoreOrder::yuePay($order['order_id'], $request->uid()))
|
|
|
return app('json')->status('success', '余额支付成功');
|
|
|
- } else {
|
|
|
+ else {
|
|
|
$error = StoreOrder::getErrorInfo();
|
|
|
return app('json')->fail(is_array($error) && isset($error['msg']) ? $error['msg'] : $error);
|
|
|
}
|
|
|
break;
|
|
|
case 'offline':
|
|
|
StoreOrder::createOrderTemplate($order);
|
|
|
- if (StoreOrder::setOrderTypePayOffline($order['order_id'])) {
|
|
|
+ if (StoreOrder::setOrderTypePayOffline($order['order_id']))
|
|
|
return app('json')->status('success', '订单创建成功');
|
|
|
- } else {
|
|
|
+ else
|
|
|
return app('json')->status('success', '支付失败');
|
|
|
- }
|
|
|
break;
|
|
|
}
|
|
|
-
|
|
|
return app('json')->fail('支付方式错误');
|
|
|
}
|
|
|
|
|
|
@@ -358,24 +356,6 @@ class StoreOrderController
|
|
|
|
|
|
|
|
|
|
|
|
- public function set_parent($uid)
|
|
|
- {
|
|
|
- // 查询用户表,找到上级的parent_id
|
|
|
- $user = User2::find($uid);
|
|
|
- $parentId = $user->parent_id;
|
|
|
-
|
|
|
- // 获取上级用户信息
|
|
|
- $parentUser = User2::find($parentId);
|
|
|
- if (!$parentUser) {
|
|
|
- return; // 上级用户不存在,不执行绑定操作
|
|
|
- }
|
|
|
-
|
|
|
- // 绑定用户的nickname到上级的A_count字段
|
|
|
- $parentUser->A_count = $user->nickname;
|
|
|
-
|
|
|
- // 保存上级用户的修改
|
|
|
- $parentUser->save();
|
|
|
- }
|
|
|
|
|
|
/**
|
|
|
* 订单列表
|