|
|
@@ -275,10 +275,19 @@ class OrderDeleteForm extends Model
|
|
|
$this->addError($attribute, '对应报单信息已被删除,订单编号为:'.$this->orderSn);
|
|
|
return ;
|
|
|
}
|
|
|
- // 如果是注册订单,则判断是否是升级单,如果是升级单,则不能进行删除
|
|
|
if ($decDetail['DETAIL_TYPE'] == 2) {
|
|
|
- $this->addError($attribute, '升级单无法删除,订单编号为:'.$this->orderSn);
|
|
|
- return ;
|
|
|
+ // 如果删除升级单,则此升级单必须是用户的最后一个升级单
|
|
|
+ $lastUpgradeOrder = DecOrder::findUseDbCalc()
|
|
|
+ ->select('ORDER_SN')
|
|
|
+ ->where("TO_USER_ID=:TO_USER_ID AND IS_DEL=0 AND DETAIL_TYPE=2", [':TO_USER_ID' => $decDetail['TO_USER_ID']])
|
|
|
+ ->orderBy('CREATED_AT DESC')
|
|
|
+ ->asArray()
|
|
|
+ ->one();
|
|
|
+ $lastUpgradeSn = $lastUpgradeOrder['ORDER_SN'];
|
|
|
+ if ($sn != $lastUpgradeSn) {
|
|
|
+ $this->addError($attribute, '有更晚的订单,此订单不能删除,订单编号为:'.$this->orderSn);
|
|
|
+ return ;
|
|
|
+ }
|
|
|
} else {
|
|
|
// 如果是注册单,但是这个用户存在升级单,则也不能进行删除
|
|
|
$hasUpgradeOrder = DecOrder::findUseDbCalc()
|