diff --git a/hai-cweb/src/main/java/com/cweb/controller/HighThirdPartyController.java b/hai-cweb/src/main/java/com/cweb/controller/HighThirdPartyController.java index b1fe0206..1113bc76 100644 --- a/hai-cweb/src/main/java/com/cweb/controller/HighThirdPartyController.java +++ b/hai-cweb/src/main/java/com/cweb/controller/HighThirdPartyController.java @@ -114,9 +114,9 @@ public class HighThirdPartyController { for (ApiStarbucksProducts apiStarbucksProducts : list) { apiStarbucksProducts.setExt1(String.valueOf(i)); - BigDecimal salesVentiPrice = apiStarbucksProducts.getSalesVentiPrice().add(apiStarbucksProducts.getSalesVentiPrice().multiply(productDiscount.divide(new BigDecimal(100)))).setScale(2, RoundingMode.HALF_UP); - BigDecimal salesTallPrice = apiStarbucksProducts.getSalesTallPrice().add(apiStarbucksProducts.getSalesTallPrice().multiply(productDiscount.divide(new BigDecimal(100)))).setScale(2, RoundingMode.HALF_UP); - BigDecimal salesGrandePrice = apiStarbucksProducts.getSalesGrandePrice().add(apiStarbucksProducts.getSalesGrandePrice().multiply(productDiscount.divide(new BigDecimal(100)))).setScale(2, RoundingMode.HALF_UP); + BigDecimal salesVentiPrice = apiStarbucksProducts.getSalesVentiPrice().add(apiStarbucksProducts.getMarketVentiPrice().multiply(productDiscount.divide(new BigDecimal(100)))).setScale(2, RoundingMode.HALF_UP); + BigDecimal salesTallPrice = apiStarbucksProducts.getSalesTallPrice().add(apiStarbucksProducts.getMarketTallPrice().multiply(productDiscount.divide(new BigDecimal(100)))).setScale(2, RoundingMode.HALF_UP); + BigDecimal salesGrandePrice = apiStarbucksProducts.getSalesGrandePrice().add(apiStarbucksProducts.getMarketGrandePrice().multiply(productDiscount.divide(new BigDecimal(100)))).setScale(2, RoundingMode.HALF_UP); if (salesVentiPrice.compareTo(apiStarbucksProducts.getMarketVentiPrice()) > 0) { salesVentiPrice = apiStarbucksProducts.getMarketVentiPrice(); @@ -236,7 +236,7 @@ public class HighThirdPartyController { JSONObject productsObject = (JSONObject) products; BigDecimal productsPrice = productsObject.getBigDecimal("price"); - BigDecimal salePriceF = productsPrice.add(productsPrice.multiply(productDiscount).divide(new BigDecimal(100))).setScale(2, RoundingMode.HALF_UP); + BigDecimal salePriceF = productsPrice.add(productsObject.getBigDecimal("originalPrice").multiply(productDiscount).divide(new BigDecimal(100))).setScale(2, RoundingMode.HALF_UP); if (salePriceF.compareTo(productsObject.getBigDecimal("originalPrice")) > 0) { salePriceF = productsObject.getBigDecimal("originalPrice"); } @@ -246,7 +246,7 @@ public class HighThirdPartyController { for (Object specGroups : productsObject.getJSONArray("specGroups")) { JSONObject specGroupsObject = (JSONObject) specGroups; BigDecimal specGroupsPrice = specGroupsObject.getBigDecimal("price"); - BigDecimal salePrice = specGroupsPrice.add(specGroupsPrice.multiply(productDiscount).divide(new BigDecimal(100))).setScale(2, RoundingMode.HALF_UP); + BigDecimal salePrice = specGroupsPrice.add(specGroupsObject.getBigDecimal("originalPrice").multiply(productDiscount).divide(new BigDecimal(100))).setScale(2, RoundingMode.HALF_UP); if (salePrice.compareTo(specGroupsObject.getBigDecimal("originalPrice")) > 0) { salePrice = specGroupsObject.getBigDecimal("originalPrice"); } @@ -492,7 +492,7 @@ public class HighThirdPartyController { for (ApiMemberProduct memberProduct : list) { - BigDecimal costPrice = memberProduct.getCostPrice().add(memberProduct.getCostPrice().multiply(productDiscount.divide(new BigDecimal(100)))).setScale(2, RoundingMode.HALF_UP); + BigDecimal costPrice = memberProduct.getCostPrice().add(memberProduct.getPrice().multiply(productDiscount.divide(new BigDecimal(100)))).setScale(2, RoundingMode.HALF_UP); if (costPrice.compareTo(memberProduct.getPrice()) > 0) { costPrice = memberProduct.getPrice(); diff --git a/hai-service/src/main/java/com/hai/service/impl/HighOrderServiceImpl.java b/hai-service/src/main/java/com/hai/service/impl/HighOrderServiceImpl.java index 6ed61d5e..8fe9a40a 100644 --- a/hai-service/src/main/java/com/hai/service/impl/HighOrderServiceImpl.java +++ b/hai-service/src/main/java/com/hai/service/impl/HighOrderServiceImpl.java @@ -1892,8 +1892,8 @@ public class HighOrderServiceImpl implements HighOrderService { } // 下单 - jsonObject = QianZhuConfig.starbucksOrders(user.getId().toString(), object.getString("storeCode"), List.toString().replace(" ", ""), object.getString("customerMobile")); -// jsonObject = QianZhuConfig.starbucksOrders(user.getId().toString(), "50562", List.toString().replace(" ", ""), object.getString("customerMobile")); +// jsonObject = QianZhuConfig.starbucksOrders(user.getId().toString(), object.getString("storeCode"), List.toString().replace(" ", ""), object.getString("customerMobile")); + jsonObject = QianZhuConfig.starbucksOrders(user.getId().toString(), "50562", List.toString().replace(" ", ""), object.getString("customerMobile")); // 判断下单是否成功 if (!Objects.equals(jsonObject.getString("code"), "200")) { @@ -1940,18 +1940,19 @@ public class HighOrderServiceImpl implements HighOrderService { childOrder.setGoodsImg(childObject.getString("imgUrl")); childOrder.setSaleCount(childObject.getInteger("quantity")); childOrder.setGoodsPrice(childObject.getBigDecimal("marketPrice")); - if (object.getLong("memDiscountId") != null) { - childOrder.setGoodsActualPrice(childObject.getBigDecimal("marketPrice")); - } else { - childOrder.setGoodsActualPrice(childObject.getBigDecimal("unitPrice")); - } + // 计算利润 - BigDecimal profitPrice = childOrder.getGoodsActualPrice().multiply(productDetail.getBigDecimal("priceDiscount").divide(new BigDecimal(100))); + BigDecimal profitPrice = childObject.getBigDecimal("marketPrice").multiply(productDetail.getBigDecimal("priceDiscount").divide(new BigDecimal(100))); // 计算子订单支付金额 - BigDecimal childPrice = childOrder.getGoodsActualPrice().add(profitPrice).setScale(2 , RoundingMode.HALF_UP); + BigDecimal childPrice = childObject.getBigDecimal("unitPrice").add(profitPrice).setScale(2 , RoundingMode.HALF_UP); if (childPrice.compareTo(childObject.getBigDecimal("marketPrice")) > 0) { childPrice = childObject.getBigDecimal("marketPrice"); } + if (object.getLong("memDiscountId") != null) { + childOrder.setGoodsActualPrice(childObject.getBigDecimal("marketPrice")); + } else { + childOrder.setGoodsActualPrice(childPrice); + } childPrice = childPrice.multiply(childObject.getBigDecimal("quantity")); // 计算总订单实际支付金额 orderPayPrice = orderPayPrice.add(childPrice); @@ -2008,20 +2009,20 @@ public class HighOrderServiceImpl implements HighOrderService { childOrder.setGoodsImg(childObject.getString("imageUrl")); childOrder.setSaleCount(childObject.getInteger("quantity")); childOrder.setGoodsPrice(childObject.getBigDecimal("originPrice")); - if (object.getLong("memDiscountId") != null) { - childOrder.setGoodsActualPrice(childObject.getBigDecimal("originPrice")); - } else { - childOrder.setGoodsActualPrice(childObject.getBigDecimal("price")); - } - // 计算利润 - BigDecimal profitPrice = childOrder.getGoodsActualPrice().multiply(productDetail.getBigDecimal("priceDiscount").divide(new BigDecimal(100))); + BigDecimal profitPrice = childObject.getBigDecimal("originPrice").multiply(productDetail.getBigDecimal("priceDiscount").divide(new BigDecimal(100))); // 计算子订单支付金额 - BigDecimal childPrice = childOrder.getGoodsActualPrice().add(profitPrice).setScale(2 , RoundingMode.HALF_UP); + BigDecimal childPrice = childObject.getBigDecimal("price").add(profitPrice).setScale(2 , RoundingMode.HALF_UP); if (childPrice.compareTo(childObject.getBigDecimal("originPrice")) > 0) { childPrice = childObject.getBigDecimal("originPrice"); } + + if (object.getLong("memDiscountId") != null) { + childOrder.setGoodsActualPrice(childObject.getBigDecimal("originPrice")); + } else { + childOrder.setGoodsActualPrice(childPrice); + } childPrice = childPrice.multiply(childObject.getBigDecimal("quantity")); // 计算总订单实际支付金额 orderPayPrice = orderPayPrice.add(childPrice); @@ -2049,7 +2050,7 @@ public class HighOrderServiceImpl implements HighOrderService { highOrder.setOrderStatus(1); // 计算实际支付金额 - orderPayPrice = memberProduct.getCostPrice().add(memberProduct.getCostPrice().multiply(productDetail.getBigDecimal("priceDiscount").divide(new BigDecimal(100)))).setScale(2, RoundingMode.HALF_UP); + orderPayPrice = memberProduct.getCostPrice().add(memberProduct.getPrice().multiply(productDetail.getBigDecimal("priceDiscount").divide(new BigDecimal(100)))).setScale(2, RoundingMode.HALF_UP); if (orderPayPrice.compareTo(memberProduct.getPrice()) > 0) { orderPayPrice = memberProduct.getPrice(); }