|
@@ -167,42 +167,29 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
|
|
|
|
Map<String, String> requestData = new HashMap<String, String>();
|
|
|
|
|
|
- int money = order.getSalesYetAmount();
|
|
|
-
|
|
|
- double couponMoney = 0;
|
|
|
- double avgPercentage = 0.0;
|
|
|
-
|
|
|
- if (order.getCouponId() != null && !"".equals(order.getCouponId())) {
|
|
|
- CouponItem couponItem = new CouponItem();
|
|
|
- couponItem.setCouponItemId(order.getCouponId());
|
|
|
- couponItem.setCouponItemUseropenid(order.getSalesOpenid());
|
|
|
- CouponType couponType = cartService.getCouponReduceByItemId(couponItem);
|
|
|
- if (null != couponType) {
|
|
|
- switch (couponType.getCouponType()) {
|
|
|
- case 1:
|
|
|
- couponMoney = couponType.getCouponReduce();
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- couponMoney = order.getSalesAmount() * couponType.getCouponReduce();
|
|
|
- break;
|
|
|
- }
|
|
|
+
|
|
|
+ Double couponMoney = Double.valueOf(order.getSalesAmount() - order.getSalesYetAmount());
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Integer allcouponMoney = order.getSalesAmount() - order.getSalesYetAmount();
|
|
|
+ Integer salesYetAmount = order.getSalesYetAmount();
|
|
|
+ double yetAmount = order.getSalesAmount();
|
|
|
+ for (int k=0;k<items.size();k++) {
|
|
|
+ Double itemTotal = Double.valueOf(items.get(k).getItemTotal());
|
|
|
+ Double itemPayMonry = itemTotal / yetAmount * couponMoney;
|
|
|
+
|
|
|
+ Integer newItemTotal = items.get(k).getItemTotal();
|
|
|
+ if((k+1) == items.size()){
|
|
|
+ newItemTotal -= allcouponMoney;
|
|
|
+ }else{
|
|
|
+ Integer newPayMonry = (itemPayMonry.intValue()/100)*100;
|
|
|
+ allcouponMoney = allcouponMoney - newPayMonry;
|
|
|
+ newItemTotal -= newPayMonry;
|
|
|
}
|
|
|
+ items.get(k).setItemTotal(newItemTotal);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- if (order.getBalancePayAmount() != null && !"".equals(order.getBalancePayAmount().toString())) {
|
|
|
- money = money - order.getBalancePayAmount().intValue();
|
|
|
- couponMoney += order.getBalancePayAmount().intValue();
|
|
|
- }
|
|
|
-
|
|
|
- if (items != null && items.size() > 0) {
|
|
|
- double avgMoney = 0;
|
|
|
- for (OrderItem item : items) {
|
|
|
- avgMoney += item.getItemNum().intValue() * item.getItemProductDiscount();
|
|
|
- }
|
|
|
-
|
|
|
- avgPercentage = 1 - couponMoney / avgMoney;
|
|
|
- }
|
|
|
|
|
|
requestData.put("app_act", "rst.trade.new.add");
|
|
|
|
|
@@ -244,10 +231,7 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
|
orderData.put("goods_amount", (order.getSalesAmount()));
|
|
|
orderData.put("goods_count", items.size());
|
|
|
orderData.put("mobile", order.getSalesAddressTel());
|
|
|
- orderData.put("money_paid", money);
|
|
|
orderData.put("oid", order.getSalesOrderid());
|
|
|
- orderData.put("order_amount", money);
|
|
|
-
|
|
|
|
|
|
|
|
|
* 产品信息
|
|
@@ -258,11 +242,12 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
|
orders1.put("goods_name", item.getItemProductName());
|
|
|
orders1.put("goods_number", item.getItemNum());
|
|
|
orders1.put("goods_price", (item.getItemProductPrice()));
|
|
|
+ orders1.put("goods_discount", (item.getItemProductDiscount()));
|
|
|
+ orders1.put("goods_total", (item.getItemTotal()));
|
|
|
orders1.put("outer_sku", item.getProduectRemark());
|
|
|
- orders1.put("payment_ft", (item.getItemProductDiscount() * avgPercentage * item.getItemNum()));
|
|
|
+
|
|
|
maps.add(orders1);
|
|
|
}
|
|
|
-
|
|
|
orderData.put("orders", maps);
|
|
|
orderData.put("pay_name", "weixinpay");
|
|
|
orderData.put("pay_time", DateTimeUtil.format(order.getSalesTransactionDate()));
|
|
@@ -273,10 +258,11 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
|
orderData.put("shipping_name", "yto");
|
|
|
orderData.put("tel", order.getSalesAddressTel());
|
|
|
orderData.put("to_buyer", "");
|
|
|
-
|
|
|
- orderData.put("total_amount", (order.getSalesAmount()));
|
|
|
orderData.put("user_name", order.getSalesOpenid());
|
|
|
orderData.put("zipcode", order.getSalesAddressPostnum());
|
|
|
+ orderData.put("total_amount", (order.getSalesAmount()));
|
|
|
+ orderData.put("money_paid", order.getSalesYetAmount());
|
|
|
+ orderData.put("order_amount", order.getSalesYetAmount());
|
|
|
|
|
|
|
|
|
com.fasterxml.jackson.databind.ObjectMapper mapper = new ObjectMapper();
|