Commit 07cb5a96 authored by 余家骏's avatar 余家骏
Browse files

提交订单金额精度丢失bug解决

No related merge requests found
Showing with 26 additions and 8 deletions
+26 -8
......@@ -200,7 +200,7 @@ public class FrontUserServiceImpl extends GenericDaoSupport<FrontUserInfo> imple
if ("".equals(post_fee)) {
post_fee = "0";
}
charge_amount = new BigDecimal(StringUtils.toString(info.get("charge_amount"))).setScale(2);
charge_amount = new BigDecimal(StringUtils.toString(info.get("charge_amount"))).setScale(2,BigDecimal.ROUND_HALF_UP);
real_amount = charge_amount.subtract(new BigDecimal(post_fee));
info.put("charge_amount", charge_amount.toString() + "元");
//如果order_id为空,则说明是后台充值的,没有绑定到订单
......
......@@ -283,20 +283,22 @@ public class CMOrderServiceImpl extends MybatisDaoSupport implements CMOrderServ
// 组合支付的支付成分
String total_price = StringUtils.toString(bean.get("total_price"));
System.out.println("------------------------------------------------后台订单查询时的total_price为:"+total_price);
if ("".equals(total_price))
total_price = "0";
String dual_payment_price = StringUtils.toString(bean.get("dual_payment_price"));
if ("".equals(dual_payment_price))
dual_payment_price = "0";
BigDecimal b_dual_payment_price = new BigDecimal(dual_payment_price).setScale(2);
BigDecimal b_dual_payment_price = new BigDecimal(dual_payment_price).setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println("xxxxxxxxxxxxxxxxxxxxx" + StringUtils.toString(bean.get("order_id")));
BigDecimal b_total_price = new BigDecimal(total_price).setScale(2);
BigDecimal b_total_price = new BigDecimal(total_price).setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println("------------------------------------------------后台订单查询时的b_total_price为:"+b_total_price);
String zuhezhifu = "";
if ("余额+汇款".equals(bean.get("payment_type"))) {
BigDecimal yuezhifu = b_total_price.subtract(b_dual_payment_price).setScale(2);
BigDecimal yuezhifu = b_total_price.subtract(b_dual_payment_price).setScale(2,BigDecimal.ROUND_HALF_UP);
zuhezhifu = "(" + yuezhifu.toString() + " + " + b_dual_payment_price.toString() + ")元";
} else if ("余额+微信".equals(bean.get("payment_type"))) {
BigDecimal yuezhifu = b_total_price.subtract(b_dual_payment_price).setScale(2);
BigDecimal yuezhifu = b_total_price.subtract(b_dual_payment_price).setScale(2,BigDecimal.ROUND_HALF_UP);
zuhezhifu = "(" + yuezhifu.toString() + " + " + b_dual_payment_price.toString() + ")元";
} else {
zuhezhifu = "";
......
......@@ -496,7 +496,7 @@ public class OrderServiceImpl extends MybatisDaoSupport implements OrderService
order.setOrder_a100s(order_a100s);// 设置商品描述
if (order.getOrder_type() == 0) {// 订购的
// 后台重新计算原价,现价
/*// 后台重新计算原价,现价
Double old_total_price = 0.0;// 原总价
Double total_price = 0.0;// 现总价
for (OrderItemInfo item : orderItemInfos) {
......@@ -507,7 +507,21 @@ public class OrderServiceImpl extends MybatisDaoSupport implements OrderService
total_price += order.getPost_fee();
order.setOld_total_price(old_total_price);
order.setTotal_price(total_price);
order.setTotal_price(total_price);*/
BigDecimal old_total_price = BigDecimal.ZERO; // 原总价
BigDecimal total_price = BigDecimal.ZERO; // 现总价
for (OrderItemInfo item : orderItemInfos) {
old_total_price = old_total_price.add(BigDecimal.valueOf(item.getOld_subtotal_price()));
total_price = total_price.add(BigDecimal.valueOf(item.getSubtotal_price()));
}
BigDecimal post_fee = BigDecimal.valueOf(order.getPost_fee());
old_total_price = old_total_price.add(post_fee);
total_price = total_price.add(post_fee);
order.setOld_total_price(old_total_price.doubleValue());
order.setTotal_price(total_price.doubleValue());
}
shoppingcartService.deleteShoppingcartInfos(carList);
......
......@@ -467,7 +467,9 @@ public class CssnLoginController extends BaseController {
this.response.setCharacterEncoding("utf-8");
Map<String, String> cond = cond();
//获取 前端公钥加密后的密码
///String plainText = RSAUtil.decrypt1(loginInfo.getPassword(), "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ2yndXDRVDJgryqUk0+kJX0W7tElt+HdNhg1Mxu2R2QhgdqcCdPZYrUWU/SKqja55wt0TrkjyzqeOlK1wrVlaeUqzVlR+b4xdDZOrEOhijrIkKCF0OEN1blzT8agtQ46pHigWv9KaK6DGKEPjPRTuX7xddJyZzHeAnJqFuwWZ+/AgMBAAECgYACixvyk6itieJ66oBTUJwCXyOPnKaWSlf/GWi1N2B3EpqmyfevGp+3on8iQ3B+srEjmrWSLpeEkO+MS7G2MgWs3MG1MUmOcXPFgCptXjQWObpL6aGYpVASl8wbXHUadYjusXypdYNxxhwULTbmxhA6HfzFMHPw9uKOVymhEtba6QJBANWIEQvRD3P9wz1VAWZd6LQlAjE+aCcYyak25QCcnc8URwOGUUOfCYkFkiGr6uX/dAk/yUjsAH1sAr9N/zJF8iMCQQC9D8dZCmdhXne0nloCYsITgJukCfSS9G7Aaf3uMRIr+4kDd10LLzip6uRqi4GZ7sP/3yO/MwEVm1oucoYJWy+1AkB5JHnvR0tKFhT3LcvehLapxTlKMMqsK671NnSTdUc+nZVwVXqzL34cY7G1MrDQja4KNUr/+QyKG4YvfJOktPQbAkAbP/j1poA8EoeiauiCS4W5leHZBO5ReBW2ehB1knESEdEvxLaOdCHwq8B8ctsdOsLZUGowlsNjP98BrtQO6Su5AkEAyxFdL9uV4bN+4GGOLE/J9PdRmP6q7dlzHfv+M6irrmYvNa7jtjh+ZYYzRayDnRrLu/T3dnrpsj3bTf+yYYJ/Ng==");
//无锡
//String plainText = RSAUtil.decrypt1(loginInfo.getPassword(), "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ2yndXDRVDJgryqUk0+kJX0W7tElt+HdNhg1Mxu2R2QhgdqcCdPZYrUWU/SKqja55wt0TrkjyzqeOlK1wrVlaeUqzVlR+b4xdDZOrEOhijrIkKCF0OEN1blzT8agtQ46pHigWv9KaK6DGKEPjPRTuX7xddJyZzHeAnJqFuwWZ+/AgMBAAECgYACixvyk6itieJ66oBTUJwCXyOPnKaWSlf/GWi1N2B3EpqmyfevGp+3on8iQ3B+srEjmrWSLpeEkO+MS7G2MgWs3MG1MUmOcXPFgCptXjQWObpL6aGYpVASl8wbXHUadYjusXypdYNxxhwULTbmxhA6HfzFMHPw9uKOVymhEtba6QJBANWIEQvRD3P9wz1VAWZd6LQlAjE+aCcYyak25QCcnc8URwOGUUOfCYkFkiGr6uX/dAk/yUjsAH1sAr9N/zJF8iMCQQC9D8dZCmdhXne0nloCYsITgJukCfSS9G7Aaf3uMRIr+4kDd10LLzip6uRqi4GZ7sP/3yO/MwEVm1oucoYJWy+1AkB5JHnvR0tKFhT3LcvehLapxTlKMMqsK671NnSTdUc+nZVwVXqzL34cY7G1MrDQja4KNUr/+QyKG4YvfJOktPQbAkAbP/j1poA8EoeiauiCS4W5leHZBO5ReBW2ehB1knESEdEvxLaOdCHwq8B8ctsdOsLZUGowlsNjP98BrtQO6Su5AkEAyxFdL9uV4bN+4GGOLE/J9PdRmP6q7dlzHfv+M6irrmYvNa7jtjh+ZYYzRayDnRrLu/T3dnrpsj3bTf+yYYJ/Ng==");
// 河南
String plainText = RSAUtil.decrypt1(loginInfo.getPassword(), "MIICeQIBADANBgkqhkiG9w0BAQEFAASCAmMwggJfAgEAAoGBAN2rRKtzl9UK6w2HBudNZpttc18b3RXNtvgT+l02jJrwr37/mGU/fnUSh56ni2cKDKhKDJzu7lMhRtyBbDxSbftmBHl8TNa5qR7Co5joGxwlxTcZV7gVUDvrOwtiYJ31/gtRDnsreD6g3NKAkcrBFpUPWLNaLVj7dVAx8TpEt32TAgMBAAECgYEAy3qO44+NXWvTTqyXIrYDLUOwNyr9rCkU/u5f0TbkpMmxXzPCsZYyP8dNpM6JgYFREx4+K8SMEtUmFf3b3BeSihA/b7ttFBWMYf5mRSVHggNkhNSQdGuodq/dhCDNFyv7ffE6+XBWPq4yxQ/Ny45+BgrhERGqWP99N4DEVZX4t6ECQQD6TakzQf8O1Z1b1WaLINsTDs36JoiYKJGbBEA2pR3HlAQcG7oI4hCuMBH0cUq1sRPL4g4mYAiFpx7YllskgTkDAkEA4rbGgLU54QeETOkIfOG2TQ5RSXw4iiSUIxj3twPAymNuwApQTVeF5pVVaC/BFBM1KjCzH3SJGIoFfjlve//cMQJBALWWS88E7P4dGPj7m1YJ8wUjc2ksNWJ15BRbBB7gsPcOOeEOeGtjXgiQlSYKXtHrcloyWGOcvfIAaQ9mHR8hpHMCQQDJoyYJcyV3LuhMPzZ9W4J4JjPF1+Wxd7cJQDuRWpUtbCIkSwgAwcclvcuoTlC7Ohoe3BFz+IG2gYtBKHQvJPEBAkEAkjzbrebC6HtoGgv5CQ/DwCqLVCUpqHzOV2hRoPIIXVC1LshY9inr1nKdM/H5q0LwXh9f5Y8xv/Kf5sDeYL2ZUw==");
loginInfo.setPassword(plainText);
String passwordErrorKey = "PasswordErrorKey_" + loginInfo.getUsername();
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment