From 5aba8af49df6fbf91f517c1b09519f6623b5621a Mon Sep 17 00:00:00 2001 From: wuweihua <88888888> Date: Mon, 12 Oct 2026 09:27:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BE=85=E7=94=9F=E6=95=88?= =?UTF-8?q?=E4=B9=9F=E5=8F=AF=E4=BB=A5=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bms-admin/src/main/resources/i18n/messages.properties | 2 +- .../com/bms/price/service/impl/PrcPriceSetServiceImpl.java | 4 +++- .../views/price/set/components/detail/SetVersionTable.vue | 2 +- bms-front/src/views/price/set/detail.vue | 6 ++++-- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/bms-back/bms-admin/src/main/resources/i18n/messages.properties b/bms-back/bms-admin/src/main/resources/i18n/messages.properties index 60aca24a..686b4f02 100644 --- a/bms-back/bms-admin/src/main/resources/i18n/messages.properties +++ b/bms-back/bms-admin/src/main/resources/i18n/messages.properties @@ -196,7 +196,7 @@ price.set.version.effectiveTime.empty=版本生效时间不能为空 price.set.version.effectiveTime.beforePrev=生效时间不能早于上一版本的生效时间 price.set.version.notExists=套餐版本不存在 price.set.version.activate.statusNotAllowed=仅草稿或待生效版本可设置生效时间 -price.set.version.delete.statusNotAllowed=仅草稿版本可删除 +price.set.version.delete.statusNotAllowed=仅草稿或待生效版本可删除 price.set.version.copy.draftExists=已有草稿版本,请先启动或删除后再复制 price.set.version.create.draftExists=已有草稿版本,请先启动或删除后再新建 price.set.save.task.notExists=保存任务不存在或已过期 diff --git a/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceSetServiceImpl.java b/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceSetServiceImpl.java index d0a45229..47c3e5b9 100644 --- a/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceSetServiceImpl.java +++ b/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceSetServiceImpl.java @@ -517,7 +517,8 @@ public class PrcPriceSetServiceImpl implements IPrcPriceSetService { throw new ServiceException(MessageUtils.message("price.set.version.notExists")); } - if (!VER_DRAFT.equals(version.getStatus())) + // Draft and pending versions may be deleted; effect/expired cannot. + if (!VER_DRAFT.equals(version.getStatus()) && !VER_PENDING.equals(version.getStatus())) { throw new ServiceException(MessageUtils.message("price.set.version.delete.statusNotAllowed")); } @@ -526,6 +527,7 @@ public class PrcPriceSetServiceImpl implements IPrcPriceSetService detailMapper.deletePrcPriceSetDetailByPsvId(psvId); setProductMapper.deleteByPsvId(psvId); int rows = versionMapper.deletePrcPriceSetVersionByIds(new Long[] { psvId }); + // Rechain expire_time / status for remaining versions (e.g. reopen previous effect window) refreshVersionStatus(version.getPriceSetId()); return rows; } diff --git a/bms-front/src/views/price/set/components/detail/SetVersionTable.vue b/bms-front/src/views/price/set/components/detail/SetVersionTable.vue index 07eedef0..e13f79c9 100644 --- a/bms-front/src/views/price/set/components/detail/SetVersionTable.vue +++ b/bms-front/src/views/price/set/components/detail/SetVersionTable.vue @@ -62,7 +62,7 @@ v-hasPermi="['price:set:edit']" >修改生效时间 deletePriceSetVersion(row.psvId)).then(() => { proxy.$modal.msgSuccess('版本已删除') load()