diff --git a/admin-pc/dist.zip b/admin-pc/dist.zip
index 719dcca..578743d 100644
Binary files a/admin-pc/dist.zip and b/admin-pc/dist.zip differ
diff --git a/admin-pc/src/views/city/CommonCityList.vue b/admin-pc/src/views/city/CommonCityList.vue
index c6662fc..05ef2d9 100644
--- a/admin-pc/src/views/city/CommonCityList.vue
+++ b/admin-pc/src/views/city/CommonCityList.vue
@@ -12,18 +12,17 @@
新增
-
导出
-
- 导入
-
-
-
-
-
- 删除
-
- 批量操作
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/admin-pc/src/views/commonVip/CommonVipList.vue b/admin-pc/src/views/commonVip/CommonVipList.vue
index e74d3f6..9f0df9e 100644
--- a/admin-pc/src/views/commonVip/CommonVipList.vue
+++ b/admin-pc/src/views/commonVip/CommonVipList.vue
@@ -12,18 +12,17 @@
新增
-
导出
-
- 导入
-
-
-
-
-
- 删除
-
- 批量操作
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/module-common/src/main/java/org/jeecg/api/service/impl/AppletOrderServiceImpl.java b/module-common/src/main/java/org/jeecg/api/service/impl/AppletOrderServiceImpl.java
index 962c2a3..f632895 100644
--- a/module-common/src/main/java/org/jeecg/api/service/impl/AppletOrderServiceImpl.java
+++ b/module-common/src/main/java/org/jeecg/api/service/impl/AppletOrderServiceImpl.java
@@ -291,13 +291,32 @@ public class AppletOrderServiceImpl implements AppletOrderService {
titles.add(commonShop.getName());
+ // 计算最低价格
if (commonShop.getPrice() != null){
minEstimatedPrice = commonShop.getPrice().multiply(new BigDecimal(sku.getNum()));
- minEstimatedPriceSum = minEstimatedPriceSum.add(commonShop.getPrice().multiply(new BigDecimal(sku.getNum())));
+ minEstimatedPriceSum = minEstimatedPriceSum.add(minEstimatedPrice);
}
+
+ // 计算最高价格
if (commonShop.getMaxPrice() != null){
maxEstimatedPrice = commonShop.getMaxPrice().multiply(new BigDecimal(sku.getNum()));
- maxEstimatedPriceSum = maxEstimatedPriceSum.add(commonShop.getMaxPrice().multiply(new BigDecimal(sku.getNum())));
+ maxEstimatedPriceSum = maxEstimatedPriceSum.add(maxEstimatedPrice);
+ } else {
+ // 如果没有最高价格,使用最低价格作为最高价格
+ maxEstimatedPrice = minEstimatedPrice;
+ maxEstimatedPriceSum = maxEstimatedPriceSum.add(maxEstimatedPrice);
+ }
+
+ // 验证价格逻辑:确保最低价格不大于最高价格
+ if (minEstimatedPrice.compareTo(maxEstimatedPrice) > 0) {
+ log.warn("商品 {} 的最低价格({}) 高于最高价格({}),已自动修正",
+ commonShop.getName(), minEstimatedPrice, maxEstimatedPrice);
+ // 如果最低价格高于最高价格,将最高价格设置为最低价格
+ maxEstimatedPrice = minEstimatedPrice;
+ // 重新计算总价
+ maxEstimatedPriceSum = maxEstimatedPriceSum.subtract(commonShop.getMaxPrice() != null ?
+ commonShop.getMaxPrice().multiply(new BigDecimal(sku.getNum())) : BigDecimal.ZERO)
+ .add(maxEstimatedPrice);
}
@@ -373,7 +392,6 @@ public class AppletOrderServiceImpl implements AppletOrderService {
if (isFreeShipping){
commonOrderService.save(cityOrder);
- // TODO 包邮直接进行快递上门 进行物流下单
cityOrder.setStatus(1);
cityOrder.setState(0);
@@ -397,11 +415,28 @@ public class AppletOrderServiceImpl implements AppletOrderService {
//计算价格显示
private String calculatePriceDisplay(BigDecimal price, BigDecimal maxPrice){
- // 如果maxPrice为空或者相等,则返回price
- if(maxPrice == null || maxPrice.compareTo(BigDecimal.ZERO) == 0){
+ // 参数验证
+ if (price == null || price.compareTo(BigDecimal.ZERO) < 0) {
+ return "0";
+ }
+
+ // 如果maxPrice为空或者为0,则只返回最低价格
+ if(maxPrice == null || maxPrice.compareTo(BigDecimal.ZERO) <= 0){
return price.stripTrailingZeros().toPlainString();
}
- // 如果price为空,则返回price-maxPrice
+
+ // 验证价格逻辑:确保最低价格不大于最高价格
+ if (price.compareTo(maxPrice) > 0) {
+ log.warn("最低价格({}) 高于最高价格({}),已自动修正为单价格显示", price, maxPrice);
+ return price.stripTrailingZeros().toPlainString();
+ }
+
+ // 如果最低价格等于最高价格,只显示一个价格
+ if (price.compareTo(maxPrice) == 0) {
+ return price.stripTrailingZeros().toPlainString();
+ }
+
+ // 正常情况:显示价格范围
return price.stripTrailingZeros().toPlainString() + " - " + maxPrice.stripTrailingZeros().toPlainString();
}
diff --git a/module-common/src/main/java/org/jeecg/api/service/impl/AppletOrderTeamServiceImpl.java b/module-common/src/main/java/org/jeecg/api/service/impl/AppletOrderTeamServiceImpl.java
index 321cc08..bfd9b52 100644
--- a/module-common/src/main/java/org/jeecg/api/service/impl/AppletOrderTeamServiceImpl.java
+++ b/module-common/src/main/java/org/jeecg/api/service/impl/AppletOrderTeamServiceImpl.java
@@ -489,23 +489,28 @@ public class AppletOrderTeamServiceImpl implements AppletOrderTeamService {
public Result> submitQualityInfo2(String token, String id, String listJson) {
if (StringUtils.isBlank(token)){
- Result.error("token不能为空");
+ return Result.error("token不能为空");
}
HanHaiMember member = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
+ if (member == null) {
+ return Result.error("用户token无效");
+ }
if (StringUtils.isBlank(listJson)){
- Result.error("list不能为空");
+ return Result.error("list不能为空");
}
CommonOrder order = commonOrderService.getById(id);
if (order == null){
- Result.error("订单无效");
+ return Result.error("订单无效");
}
List list = JSON.parseArray(listJson, CommonOrder.class);
-
+ if (list == null || list.isEmpty()) {
+ return Result.error("订单列表为空");
+ }
BigDecimal priceSum = new BigDecimal(0);//总价格
Integer qualifiedNumSum = 0;//合格数量
@@ -513,11 +518,23 @@ public class AppletOrderTeamServiceImpl implements AppletOrderTeamService {
Integer unrecyclableSum = 0;//不可回收数量
for (CommonOrder orderReq : list) {
+ if (orderReq == null) {
+ continue; // 跳过null的订单项
+ }
- priceSum = priceSum.add(orderReq.getPrice());
- qualifiedNumSum += orderReq.getQualifiedNum();
- noQualifiedNumSum += orderReq.getNoQualifiedNum();
- unrecyclableSum += orderReq.getUnrecyclable();
+ // 安全地处理可能为null的数值
+ if (orderReq.getPrice() != null) {
+ priceSum = priceSum.add(orderReq.getPrice());
+ }
+ if (orderReq.getQualifiedNum() != null) {
+ qualifiedNumSum += orderReq.getQualifiedNum();
+ }
+ if (orderReq.getNoQualifiedNum() != null) {
+ noQualifiedNumSum += orderReq.getNoQualifiedNum();
+ }
+ if (orderReq.getUnrecyclable() != null) {
+ unrecyclableSum += orderReq.getUnrecyclable();
+ }
//设置用户
orderReq.setUserId(member.getId());
@@ -525,16 +542,24 @@ public class AppletOrderTeamServiceImpl implements AppletOrderTeamService {
orderReq.setHasChild("1");
orderReq.setType(1);
+
+
//设置商品
if (StringUtils.isNotBlank(orderReq.getShopId())){
CommonShop shop = commonShopService.getById(orderReq.getShopId());
- orderReq.setUnit(shop.getUnit());
- orderReq.setImage(shop.getImage());
- orderReq.setTitle(shop.getName());
- orderReq.setDetails(shop.getService());
- orderReq.setShopClass(shop.getShopClass());
- orderReq.setCreateTime(new Date());
- }else if (orderReq.getTestingStatus() == 1){
+ if (shop != null) {
+ orderReq.setUnit(shop.getUnit());
+ orderReq.setImage(shop.getImage());
+ orderReq.setTitle(shop.getName());
+ orderReq.setDetails(shop.getService());
+ orderReq.setShopClass(shop.getShopClass());
+ orderReq.setCreateTime(new Date());
+ } else {
+ // 商品不存在时的处理
+ orderReq.setTitle("商品不存在");
+ orderReq.setCreateTime(new Date());
+ }
+ }else if (orderReq.getTestingStatus() != null && orderReq.getTestingStatus() == 1){
//质量问题
orderReq.setTitle("质量问题");
}else {