|
|
@@ -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;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|