root 3 лет назад
Родитель
Сommit
7c16425999

+ 1 - 2
backendApi/modules/v1/controllers/ShopController.php

@@ -371,8 +371,7 @@ class ShopController extends BaseController {
         if (\Yii::$app->request->isPost) {
             $formModel = new OrderDeleteForm();
             if ($formModel->load(\Yii::$app->request->post(), '') && $result = $formModel->returnOrder()) {
-
-                return static::notice('状态设置成功');
+                return static::notice('删除订单成功,请重新生成业绩单,计算奖金');
             } else {
                 return static::notice(Form::formatErrorsForApi($formModel->getErrors()), 400);
             }

+ 27 - 3
common/models/forms/OrderDeleteForm.php

@@ -87,9 +87,33 @@ class OrderDeleteForm extends Model
         ->where("SN=:SN", [':SN' => $sn])
         ->asArray()
         ->one();
-        // 如果是注册订单,则删除订单并退还金额,然后再冻结用户
-
-        // 如果是复消单,则删除订单并退还金额
+        // 如果会员已经是锁定状态了,删除订单的时候,是否还要退还金额
+        $db = \Yii::$app->db;
+        $transaction = $db->beginTransaction();
+        try {
+            // 如果是注册订单,则删除订单并退还金额,然后再冻结用户
+            if ($orderInfo['ORDER_TYPE'] == 'ZC') {
+                // 锁定用户
+                $userModel = User::findOne(['ID' => $orderInfo['USER_ID']]);
+                $userModel->STATUS = 0;
+                $userModel->STATUS_AT = Date::nowTime();
+                if(!$userModel->save(false)) {
+                    $transaction->rollBack();
+                    throw new Exception('锁定会员失败,删除订单失败');
+                }
+            } else {
+                // 如果是复消单,则删除订单并退还金额
+            }
+            // 公共的退钱,删除订单操作
+            $delOrder = Order::updateAll(['PV_PSS'=>0, 'PV_PSS_TOTAL'=>0], 'USER_ID=:USER_ID', ['USER_ID'=>$oldParentUid]);
+            
+            
+            $transaction->commit();
+        } catch(Exception $e) {
+            $transaction->rollBack();
+            $this->addError('add', $e->getMessage());
+            return null;
+        }
     }