Browse Source

fix(app): 修复无固定场所订单价格计算错误

- 修改了 AppOrderProInfo 类的代码格式
- 更新了 AppSitePlaceMapper.xml 中的 SQL 查询条件
- 修正了 OrderServiceImpl 中无固定场所订单的价格计算逻辑
SheepHy 6 days ago
parent
commit
f05fe01d4f

+ 3 - 2
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/OrderServiceImpl.java

@@ -387,7 +387,9 @@ public class OrderServiceImpl implements IOrderService {
 
                 //无固定场
                 if (createOrderForm.getOrderType() == 2) {
-                    AppSitePriceRules priceRule = appSitePriceRulesMapper.selectById(createOrderForm.getProductIds());
+                    AppSitePlace sitePlace = appSitePlaceMapper.selectById(createOrderForm.getProductIds());
+                    AppSitePriceRules priceRule = appSitePriceRulesMapper.selectOne(Wrappers.<AppSitePriceRules>lambdaQuery()
+                            .eq(AppSitePriceRules::getSitePlaceId,sitePlace.getId()).last("limit 1"));
                     AppSitePlace appSitePlace = appSitePlaceMapper.selectById(priceRule.getSitePlaceId());
                     AppSite appSite = appSiteMapper.selectById(appSitePlace.getSiteId());
 
@@ -413,7 +415,6 @@ public class OrderServiceImpl implements IOrderService {
                         appOrderProInfo.setDelFlag(CommonConstant.DEL_FLAG_0);
 
                         proInfoList.add(appOrderProInfo);
-
                         tDiscounts = tDiscounts.add(priceRule.getOriginalPrice().subtract(priceRule.getSellingPrice())).setScale(2, BigDecimal.ROUND_HALF_UP);
                         sumPrice = sumPrice.add(priceRule.getSellingPrice()).setScale(2, BigDecimal.ROUND_HALF_UP);
                     }

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppOrderProInfo.java

@@ -21,7 +21,7 @@ import java.util.Date;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = false)
 @Schema(description="订单商品信息")
-public class AppOrderProInfo  implements Serializable {
+public class AppOrderProInfo implements Serializable{
     private static final long serialVersionUID = 1L;
 
     /**id*/

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppSitePlaceMapper.xml

@@ -28,7 +28,7 @@
                 LEFT JOIN nm_site_price_rules b ON a.id = b.site_place_id
         WHERE
             a.site_id = #{id}
-          AND a.type != 0
+          AND a.type = 2
         GROUP BY
             a.id,
             a.name,