From e93f0c02335a427fef1831a0ed3270d0a37a06ff Mon Sep 17 00:00:00 2001
From: wuweihua <88888888>
Date: Mon, 2 Nov 2026 11:52:08 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A5=97=E9=A4=90=E5=9F=BA?=
=?UTF-8?q?=E6=9C=AC=E4=BF=A1=E6=81=AF=E7=BC=96=E8=BE=91=E5=8A=9F=E8=83=BD?=
=?UTF-8?q?=EF=BC=8C=E5=8C=85=E6=8B=AC=E6=9B=B4=E6=96=B0=E5=A5=97=E9=A4=90?=
=?UTF-8?q?=E5=90=8D=E7=A7=B0=E5=92=8C=E5=A4=87=E6=B3=A8=EF=BC=8C=E6=94=AF?=
=?UTF-8?q?=E6=8C=81=E5=AE=A2=E6=88=B7=E7=AD=9B=E9=80=89=E5=92=8C=E7=BB=91?=
=?UTF-8?q?=E5=AE=9A=E5=AE=A2=E6=88=B7=E6=98=BE=E7=A4=BA=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/price/PriceSetController.java | 10 ++
.../com/bms/price/domain/PrcPriceSet.java | 4 +
.../bms/price/mapper/PrcPriceSetMapper.java | 3 +
.../price/service/IPrcPriceSetService.java | 3 +
.../service/impl/PrcPriceSetServiceImpl.java | 24 ++++
.../mapper/price/PrcPriceSetMapper.xml | 38 +++++--
bms-front/src/api/price/set.js | 9 ++
.../set/components/create/StepBasicInfo.vue | 3 +-
bms-front/src/views/price/set/priceSet.vue | 103 +++++++++++++++---
9 files changed, 170 insertions(+), 27 deletions(-)
diff --git a/bms-back/bms-admin/src/main/java/com/bms/web/controller/price/PriceSetController.java b/bms-back/bms-admin/src/main/java/com/bms/web/controller/price/PriceSetController.java
index 9bad75c1..dab60160 100644
--- a/bms-back/bms-admin/src/main/java/com/bms/web/controller/price/PriceSetController.java
+++ b/bms-back/bms-admin/src/main/java/com/bms/web/controller/price/PriceSetController.java
@@ -102,6 +102,16 @@ public class PriceSetController extends BaseController
return toAjax(priceSetService.updatePrcPriceSet(set));
}
+ /** Update package name and note only. */
+ @PreAuthorize("@ss.hasPermi('price:set:edit')")
+ @Log(title = "价格套餐基本信息", businessType = BusinessType.UPDATE)
+ @PutMapping("/basic")
+ public AjaxResult editBasic(@RequestBody PrcPriceSet set)
+ {
+ set.setUpdateBy(getUsername());
+ return toAjax(priceSetService.updateBasicInfo(set));
+ }
+
@PreAuthorize("@ss.hasPermi('price:set:remove')")
@Log(title = "价格套餐", businessType = BusinessType.DELETE)
@DeleteMapping("/{priceSetIds}")
diff --git a/bms-back/bms-system/src/main/java/com/bms/price/domain/PrcPriceSet.java b/bms-back/bms-system/src/main/java/com/bms/price/domain/PrcPriceSet.java
index 8f260747..32ec60c5 100644
--- a/bms-back/bms-system/src/main/java/com/bms/price/domain/PrcPriceSet.java
+++ b/bms-back/bms-system/src/main/java/com/bms/price/domain/PrcPriceSet.java
@@ -34,8 +34,12 @@ public class PrcPriceSet extends BaseEntity
private Integer productCount;
private Integer customerCount;
+ /** List display: bound customer code/name summary (not a DB column). */
+ private String boundCustomers;
private Boolean expired;
private String keyword;
+ /** Query only: filter packages by bound customer id. */
+ private Long customerId;
private String submitFlag;
/** current version on create/edit save */
private PrcPriceSetVersion version;
diff --git a/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceSetMapper.java b/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceSetMapper.java
index 86f20570..5174b0f7 100644
--- a/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceSetMapper.java
+++ b/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceSetMapper.java
@@ -21,6 +21,9 @@ public interface PrcPriceSetMapper
public int updatePrcPriceSet(PrcPriceSet set);
+ /** Update name / note only (does not touch set_type / discount / status). */
+ public int updateBasicInfo(PrcPriceSet set);
+
public int updatePrcPriceSetStatus(PrcPriceSet set);
public int deletePrcPriceSetByIds(Long[] priceSetIds);
diff --git a/bms-back/bms-system/src/main/java/com/bms/price/service/IPrcPriceSetService.java b/bms-back/bms-system/src/main/java/com/bms/price/service/IPrcPriceSetService.java
index 4b10014c..e2d9dd2f 100644
--- a/bms-back/bms-system/src/main/java/com/bms/price/service/IPrcPriceSetService.java
+++ b/bms-back/bms-system/src/main/java/com/bms/price/service/IPrcPriceSetService.java
@@ -26,6 +26,9 @@ public interface IPrcPriceSetService
public int updatePrcPriceSet(PrcPriceSet set);
+ /** Update package name and note only; allowed for effect / draft / stopped. */
+ public int updateBasicInfo(PrcPriceSet set);
+
public int deletePrcPriceSetByIds(Long[] priceSetIds);
public int submit(Long priceSetId, String updateBy);
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 2562f3ca..1c060e66 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
@@ -258,6 +258,30 @@ public class PrcPriceSetServiceImpl implements IPrcPriceSetService
return setMapper.updatePrcPriceSet(set);
}
+ @Override
+ public int updateBasicInfo(PrcPriceSet set)
+ {
+ if (set == null || set.getPriceSetId() == null)
+ {
+ throw new ServiceException(MessageUtils.message("price.set.notExists"));
+ }
+ PrcPriceSet db = requireSet(set.getPriceSetId());
+ if (STATUS_AUDIT.equals(db.getStatus()))
+ {
+ throw new ServiceException(MessageUtils.message("price.set.edit.audit"));
+ }
+ if (StringUtils.isEmpty(set.getPriceSetName()))
+ {
+ throw new ServiceException(MessageUtils.message("price.set.name.empty"));
+ }
+ set.setPriceSetName(set.getPriceSetName().trim());
+ if (setMapper.countByName(set) > 0)
+ {
+ throw new ServiceException(MessageUtils.message("price.set.name.exists"));
+ }
+ return setMapper.updateBasicInfo(set);
+ }
+
@Override
@Transactional
public int deletePrcPriceSetByIds(Long[] priceSetIds)
diff --git a/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceSetMapper.xml b/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceSetMapper.xml
index 39decd38..ba21255b 100644
--- a/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceSetMapper.xml
+++ b/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceSetMapper.xml
@@ -21,6 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
@@ -33,7 +34,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
inner join prc_price_set_version v on v.psv_id = p.psv_id
where v.price_set_id = s.price_set_id
and ifnull(p.is_del, '0') = '0') as product_count,
- (select count(1) from prc_customer_price_set c where c.price_set_id = s.price_set_id) as customer_count
+ (select count(1) from prc_customer_price_set c where c.price_set_id = s.price_set_id) as customer_count,
+ (select group_concat(
+ concat(ifnull(c.customer_code, ''),
+ case when ifnull(c.customer_name, '') = '' then '' else concat(' ', c.customer_name) end)
+ order by c.bind_priority asc, c.customer_priceset_id asc
+ separator '、')
+ from prc_customer_price_set c
+ where c.price_set_id = s.price_set_id) as bound_customers
from prc_price_set s
@@ -47,7 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
s.set_type, s.default_discount, s.default_type, s.calculate_sign,
s.status, s.tms_id,
s.created_by, s.create_time, s.updated_by, s.update_time,
- null as product_count, null as customer_count
+ null as product_count, null as customer_count, null as bound_customers
from prc_price_set s
where s.price_set_id = #{priceSetId}
@@ -71,14 +79,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND (
s.price_set_code like concat('%', #{keyword}, '%')
OR s.price_set_name like concat('%', #{keyword}, '%')
- OR exists (
- select 1 from prc_customer_price_set c
- where c.price_set_id = s.price_set_id
- and (
- c.customer_name like concat('%', #{keyword}, '%')
- or concat(c.customer_id, '') like concat('%', #{keyword}, '%')
- )
- )
+ )
+
+
+ AND exists (
+ select 1 from prc_customer_price_set c
+ where c.price_set_id = s.price_set_id
+ and c.customer_id = #{customerId}
)