From ed6100859ef64690a594f57896b9f422ddfcfa02 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Wed, 24 Jan 2024 09:08:54 +0800 Subject: [PATCH] 1/24 --- .../biz/lpkgoods/LpkGoodsService.java | 13 ++- .../biz/shoppingcart/ShoppingCartService.java | 6 +- .../com/yxt/yythmall/utils/DoubleUtils.java | 80 +++++++++++++++++++ 3 files changed, 94 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/yxt/yythmall/utils/DoubleUtils.java diff --git a/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsService.java b/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsService.java index 03eac44..1a2cf22 100644 --- a/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsService.java +++ b/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsService.java @@ -21,6 +21,7 @@ import com.yxt.yythmall.api.shoppingcart.ShoppingCartVo; import com.yxt.yythmall.biz.shoppingcart.ShoppingCartService; import com.yxt.yythmall.mallplus.biz.pms.service.IPmsBrandService; import com.yxt.yythmall.mallplus.mbg.pms.entity.brand.BrandVo; +import com.yxt.yythmall.utils.DoubleUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -266,7 +267,8 @@ public class LpkGoodsService extends MybatisBaseService{ // d.setIconUrl(fileUploadComponent.getUrlPrefix()+d.getIconUrl()); - d.setMefenPrice(removeZeros(String.valueOf((Double.valueOf(d.getPrice())* Double.valueOf(d.getWeight()))))); + d.setMefenPrice(removeZeros(String.valueOf((DoubleUtils.mul(Double.valueOf(d.getPrice()), Double.valueOf(d.getWeight())))))); + }); }else{ l.forEach(s->{ @@ -275,13 +277,20 @@ public class LpkGoodsService extends MybatisBaseService().eq("sid",vo.getCustomerSid())); vo.setRemarks("已减免附加费"); if(weight<=99){ - if(weight<=20){ + if(weight<20){ vo.setRemarks("不足20斤,请继续选菜"); }else{ double a =1.1; diff --git a/src/main/java/com/yxt/yythmall/utils/DoubleUtils.java b/src/main/java/com/yxt/yythmall/utils/DoubleUtils.java new file mode 100644 index 0000000..0976615 --- /dev/null +++ b/src/main/java/com/yxt/yythmall/utils/DoubleUtils.java @@ -0,0 +1,80 @@ +package com.yxt.yythmall.utils; + +import java.math.BigDecimal; + +/** + * @author wangpengfei + * @date 2024/1/24 8:53 + */ +public class DoubleUtils { + + /** + * 对double数据进行取精度. + * @param value double数据. + * @param scale 精度位数(保留的小数位数). + * @param roundingMode 精度取值方式. + * @return 精度计算后的数据. + */ + public static double round(double value, int scale, + int roundingMode) { + BigDecimal bd = BigDecimal.valueOf(value); + bd = bd.setScale(scale, roundingMode); + double d = bd.doubleValue(); + bd = null; + return d; + } + + + /** + * double 相加 + * @param d1 + * @param d2 + * @return + */ + public static double sum(double d1,double d2){ + BigDecimal bd1 = BigDecimal.valueOf(d1); + BigDecimal bd2 = BigDecimal.valueOf(d2); + return bd1.add(bd2).doubleValue(); + } + + + /** + * double 相减 + * @param d1 + * @param d2 + * @return + */ + public static double sub(double d1,double d2){ + BigDecimal bd1 = BigDecimal.valueOf(d1); + BigDecimal bd2 = BigDecimal.valueOf(d2); + return bd1.subtract(bd2).doubleValue(); + } + + /** + * double 乘法 + * @param d1 + * @param d2 + * @return + */ + public static double mul(double d1, double d2){ + BigDecimal bd1 = BigDecimal.valueOf(d1); + BigDecimal bd2 = BigDecimal.valueOf(d2); + return bd1.multiply(bd2).doubleValue(); + } + + + /** + * double 除法 + * @param d1 + * @param d2 + * @param scale 四舍五入 小数点位数 + * @return + */ + public static double div(double d1,double d2,int scale){ + BigDecimal bd1 = BigDecimal.valueOf(d1); + BigDecimal bd2 = BigDecimal.valueOf(d2); + return bd1.divide + (bd2,scale,BigDecimal.ROUND_HALF_UP).doubleValue(); + } + +}