Browse Source

处理 订单货物总金额加上物流总金额不等于订单总金额的问题。

yujia 8 years ago
parent
commit
7eeda2fc41

+ 13 - 37
src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderServiceImpl.java

@@ -1,10 +1,5 @@
 package com.uas.platform.b2c.trade.order.service.impl;
 
-import static com.uas.platform.b2c.trade.aftersale.model.AfterSaleStatus.BUYER_TO_MALL;
-import static com.uas.platform.b2c.trade.aftersale.model.AfterSaleStatus.MALL_TO_SUP;
-import static com.uas.platform.b2c.trade.aftersale.model.AfterSaleStatus.SUP_TO_MALL;
-import static com.uas.platform.b2c.trade.util.Preconditions.checkNotNull;
-
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.api.b2c_erp.buyer.model.B2cOrder;
@@ -39,12 +34,7 @@ import com.uas.platform.b2c.logistics.dao.AddressDao;
 import com.uas.platform.b2c.logistics.dao.InvoiceFOrderDao;
 import com.uas.platform.b2c.logistics.dao.InvoiceFPurchaseDao;
 import com.uas.platform.b2c.logistics.dao.PickUpAddressDao;
-import com.uas.platform.b2c.logistics.model.Address;
-import com.uas.platform.b2c.logistics.model.InvoiceFOrder;
-import com.uas.platform.b2c.logistics.model.InvoiceFOrderDetail;
-import com.uas.platform.b2c.logistics.model.InvoiceFPurchase;
-import com.uas.platform.b2c.logistics.model.InvoiceFPurchaseDetail;
-import com.uas.platform.b2c.logistics.model.PickUpAddress;
+import com.uas.platform.b2c.logistics.model.*;
 import com.uas.platform.b2c.logistics.service.InvoiceFPurchaseService;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsHistoryDao;
@@ -69,14 +59,7 @@ import com.uas.platform.b2c.trade.order.dao.OrderDao;
 import com.uas.platform.b2c.trade.order.dao.OrderDetailDao;
 import com.uas.platform.b2c.trade.order.dao.OrderIndexDetailDao;
 import com.uas.platform.b2c.trade.order.dao.PurchaseDao;
-import com.uas.platform.b2c.trade.order.model.Order;
-import com.uas.platform.b2c.trade.order.model.OrderDetail;
-import com.uas.platform.b2c.trade.order.model.OrderIndex;
-import com.uas.platform.b2c.trade.order.model.OrderIndexDetail;
-import com.uas.platform.b2c.trade.order.model.OrderSimpleInfo;
-import com.uas.platform.b2c.trade.order.model.Purchase;
-import com.uas.platform.b2c.trade.order.model.PurchaseDetail;
-import com.uas.platform.b2c.trade.order.model.TradeProofing;
+import com.uas.platform.b2c.trade.order.model.*;
 import com.uas.platform.b2c.trade.order.service.OrderDetailService;
 import com.uas.platform.b2c.trade.order.service.OrderService;
 import com.uas.platform.b2c.trade.order.service.PurchaseService;
@@ -105,22 +88,6 @@ import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.search.model.BaseOrder;
 import com.uas.search.model.PageParams;
 import com.uas.search.model.SPage;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
 import org.apache.commons.collections.map.HashedMap;
 import org.apache.commons.lang.time.DateUtils;
 import org.springframework.beans.BeanUtils;
@@ -134,6 +101,15 @@ import org.springframework.ui.ModelMap;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.util.*;
+
+import static com.uas.platform.b2c.trade.aftersale.model.AfterSaleStatus.*;
+import static com.uas.platform.b2c.trade.util.Preconditions.checkNotNull;
+
 /**
  * 订单业务实现类
  *
@@ -811,8 +787,8 @@ public class OrderServiceImpl implements OrderService {
 
             or.setDeliverytype(Integer.parseInt(rule.getString("method")));
             or.setFare(Double.parseDouble(rule.getString("fare")));
-            ensurePrices += or.getFare();
-            transationPrice += or.getFare();
+            ensurePrices = NumberUtil.add(ensurePrices, or.getFare());
+            transationPrice = NumberUtil.add(transationPrice, or.getFare());
 
             or.setBatchQty(newOrderDetails.size());
             or.setEnsurePrice(NumberUtil.fractionNumCeil(ensurePrices, 2));