|
|
@@ -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(
|