Просмотр исходного кода

如果删除的是升级单,则需要回退用户级别

root 3 лет назад
Родитель
Сommit
fa7f49d980
1 измененных файлов с 22 добавлено и 10 удалено
  1. 22 10
      common/models/forms/OrderDeleteForm.php

+ 22 - 10
common/models/forms/OrderDeleteForm.php

@@ -101,11 +101,11 @@ class OrderDeleteForm extends Model
             if ($orderInfo['ORDER_TYPE'] == 'ZC') {
                 // 查询报单数据,因为如果是报单,则要退还给报单中心
                 $decInfo = DecOrder::findUseDbCalc()
-                ->select('USER_ID')
+                ->select('USER_ID,TO_USER_ID,DETAIL_TYPE,UPGRADE_TYPE,ORI_LV,UPGRADE_LV')
                 ->where("ORDER_SN=:ORDER_SN", [':ORDER_SN' => $sn])
                 ->asArray()
                 ->one();
-                $userId = $decInfo['USER_ID'];
+                $userId = $decInfo['USER_ID']; 
                 // 删除报单
                 $delDecOrder = DecOrder::updateAll(
                     ['IS_DEL'=>1, 'DELETED_AT'=>Date::nowTime()], 
@@ -116,15 +116,27 @@ class OrderDeleteForm extends Model
                     $transaction->rollBack();
                     throw new Exception('删除报单失败,删除订单失败');
                 }
-                // 锁定用户
-                $userModel = User::findOne(['ID' => $orderInfo['USER_ID']]);
-                $userModel->STATUS = 0;
-                $userModel->STATUS_AT = Date::nowTime();
-                if(!$userModel->save(false)) {
-                    $transaction->rollBack();
-                    throw new Exception('锁定会员失败,删除订单失败');
+                // 如果删除的是升级单,则需要回退用户的级别
+                if ($decInfo['DETAIL_TYPE'] == 2) {
+                    $oriLv = $decInfo['ORI_LV'];
+                    $userModel = User::findOne(['ID' => $orderInfo['USER_ID']]);
+                    $userModel->DEC_LV = $oriLv;
+                    $userModel->UPDATED_AT = Date::nowTime();
+                    if(!$userModel->save(false)) {
+                        $transaction->rollBack();
+                        throw new Exception('回退会员级别失败,删除订单失败');
+                    }
+                } else {
+                    // 锁定用户
+                    $userModel = User::findOne(['ID' => $orderInfo['USER_ID']]);
+                    $userModel->STATUS = 0;
+                    $userModel->STATUS_AT = Date::nowTime();
+                    if(!$userModel->save(false)) {
+                        $transaction->rollBack();
+                        throw new Exception('锁定会员失败,删除订单失败');
+                    }
+                    $isLock = 1;
                 }
-                $isLock = 1;
             } 
             // 公共的退钱,删除订单操作
             $delOrder = Order::updateAll(