|
@@ -155,9 +155,9 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
|
if (order == null || order.getSalesOrderid() == null) {
|
|
|
return false;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
List<OrderItem> items = adminOrderService.getShopOrderItemByOrderId(order.getSalesOrderid());
|
|
|
-
|
|
|
+
|
|
|
// request url
|
|
|
//String url = NameUtils.getConfig("efast_base_url");
|
|
|
String url = NameUtils.getConfig("rst_efast_base_url");
|
|
@@ -165,9 +165,9 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
|
|
|
|
// set Requeset Data
|
|
|
Map<String, String> requestData = new HashMap<String, String>();
|
|
|
-
|
|
|
+
|
|
|
int money = order.getSalesYetAmount();
|
|
|
-
|
|
|
+
|
|
|
double couponMoney = 0;
|
|
|
double avgPercentage = 0.0; //均摊比例
|
|
|
//将优惠券抵消金额加入实付金额中
|
|
@@ -178,16 +178,16 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
|
CouponType couponType = cartService.getCouponReduceByItemId(couponItem);
|
|
|
if (null != couponType) {
|
|
|
switch (couponType.getCouponType()) {
|
|
|
- case 1:
|
|
|
- couponMoney = couponType.getCouponReduce();
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- couponMoney = order.getSalesAmount() * couponType.getCouponReduce()/100;
|
|
|
- break;
|
|
|
+ case 1:
|
|
|
+ couponMoney = couponType.getCouponReduce();
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ couponMoney = order.getSalesAmount() * couponType.getCouponReduce() / 100;
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//只计算用户用微信支付的金额,不包含余额支付
|
|
|
if (order.getBalancePayAmount() != null && !"".equals(order.getBalancePayAmount().toString())) {
|
|
|
money = money - order.getBalancePayAmount().intValue();
|
|
@@ -200,9 +200,9 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
|
avgMoney += item.getItemNum().intValue() * item.getItemProductDiscount();
|
|
|
}
|
|
|
//计算均摊比例
|
|
|
- avgPercentage = 1 - couponMoney/avgMoney;
|
|
|
+ avgPercentage = 1 - couponMoney / avgMoney;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 系统级参数
|
|
|
*/
|
|
@@ -212,24 +212,24 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
|
requestData.put("timestamp",DateTimeUtil.format(new Date(),"yyyyMMddHHmmss"));
|
|
|
requestData.put("app_act", message.getServiceOtherMessage());*/ // "efast.trade.new.add"
|
|
|
requestData.put("app_act", "rst.trade.new.add");
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 订单基本信息
|
|
|
*/
|
|
|
- String [] addressDesc = order.getSalesAddressInfo().split("-");
|
|
|
-
|
|
|
+ String[] addressDesc = order.getSalesAddressInfo().split("-");
|
|
|
+
|
|
|
//判断收货地址从而选择仓库
|
|
|
String sd_id = NameUtils.getConfig("sd_id");
|
|
|
-
|
|
|
+
|
|
|
String address = addressDesc[3];
|
|
|
- if (addressDesc[3]!=null) {
|
|
|
- Pattern p = Pattern.compile("\\s*|\t|\r|\n");
|
|
|
- Matcher m = p.matcher(addressDesc[3]);
|
|
|
- if (m.find()) {
|
|
|
- address = m.replaceAll("");
|
|
|
+ if (addressDesc[3] != null) {
|
|
|
+ Pattern p = Pattern.compile("\\s*|\t|\r|\n");
|
|
|
+ Matcher m = p.matcher(addressDesc[3]);
|
|
|
+ if (m.find()) {
|
|
|
+ address = m.replaceAll("");
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
+ }
|
|
|
+
|
|
|
String provinceName = addressDesc[0];
|
|
|
if (addressDesc[0].indexOf("北京") != -1) {
|
|
|
provinceName = "北京";
|
|
@@ -241,65 +241,66 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
|
provinceName = "重庆";
|
|
|
}
|
|
|
Map<String, Object> orderData = new HashMap<String, Object>();
|
|
|
- orderData.put("add_time", DateTimeUtil.format(order.getSalesCreateDate())); // 时间
|
|
|
- orderData.put("address", address); // 收货地址
|
|
|
- orderData.put("city_name", addressDesc[1]); // 城市
|
|
|
- orderData.put("consignee", order.getSalesAddressName()); // 收货人
|
|
|
- orderData.put("district_name", addressDesc[2]); // 区域
|
|
|
- orderData.put("email", ""); // email
|
|
|
- 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); // 应付款,应付款金额要与已付款金额相同
|
|
|
-
|
|
|
-
|
|
|
+ orderData.put("add_time", DateTimeUtil.format(order.getSalesCreateDate())); // 时间
|
|
|
+ orderData.put("address", address); // 收货地址
|
|
|
+ orderData.put("city_name", addressDesc[1]); // 城市
|
|
|
+ orderData.put("consignee", order.getSalesAddressName()); // 收货人
|
|
|
+ orderData.put("district_name", addressDesc[2]); // 区域
|
|
|
+ orderData.put("email", ""); // email
|
|
|
+ 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); // 应付款,应付款金额要与已付款金额相同
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 产品信息
|
|
|
*/
|
|
|
List<Map<String, Object>> maps = new ArrayList<Map<String, Object>>();
|
|
|
for (OrderItem item : items) {
|
|
|
Map<String, Object> orders1 = new HashMap<String, Object>();
|
|
|
- orders1.put("goods_name", item.getItemProductName()); // 产品名称
|
|
|
- orders1.put("goods_number", item.getItemNum()); // 产品数量
|
|
|
- orders1.put("goods_price", (item.getItemProductPrice())); // 产品原价
|
|
|
- orders1.put("outer_sku", item.getProduectRemark()); // 产品SKU
|
|
|
- orders1.put("payment_ft", (item.getItemProductDiscount()*avgPercentage*item.getItemNum())); // 产品分摊价
|
|
|
+ orders1.put("goods_name", item.getItemProductName()); // 产品名称
|
|
|
+ orders1.put("goods_number", item.getItemNum()); // 产品数量
|
|
|
+ orders1.put("goods_price", (item.getItemProductPrice())); // 产品原价
|
|
|
+ orders1.put("outer_sku", item.getProduectRemark()); // 产品SKU
|
|
|
+ orders1.put("payment_ft", (item.getItemProductDiscount() * avgPercentage * item.getItemNum())); // 产品分摊价
|
|
|
maps.add(orders1);
|
|
|
}
|
|
|
-
|
|
|
- orderData.put("orders", maps); // 订单产品
|
|
|
- orderData.put("pay_name", "weixinpay"); // 支付方式
|
|
|
+
|
|
|
+ orderData.put("orders", maps); // 订单产品
|
|
|
+ orderData.put("pay_name", "weixinpay"); // 支付方式
|
|
|
orderData.put("pay_time", DateTimeUtil.format(order.getSalesTransactionDate()));// 支付时间
|
|
|
- orderData.put("postscript", order.getSalesUserRemark()); // 买家留言
|
|
|
- orderData.put("province_name", provinceName); // 省份
|
|
|
- orderData.put("sd_id", sd_id); // 对应 efast 店铺 id
|
|
|
- orderData.put("shipping_fee", 0); // 快递费
|
|
|
- orderData.put("shipping_name", "yto"); // 快递公司代码
|
|
|
- orderData.put("tel", order.getSalesAddressTel()); // 我司电话
|
|
|
- orderData.put("to_buyer", ""); // 商家备注
|
|
|
+ orderData.put("postscript", order.getSalesUserRemark()); // 买家留言
|
|
|
+ orderData.put("province_name", provinceName); // 省份
|
|
|
+ orderData.put("sd_id", sd_id); // 对应 efast 店铺 id
|
|
|
+ orderData.put("shipping_fee", 0); // 快递费
|
|
|
+ orderData.put("shipping_name", "yto"); // 快递公司代码
|
|
|
+ orderData.put("tel", order.getSalesAddressTel()); // 我司电话
|
|
|
+ orderData.put("to_buyer", ""); // 商家备注
|
|
|
//orderData.put("total_amount", (order.getSalesAmount()/100.0)); // 订单总额
|
|
|
- orderData.put("total_amount", (order.getSalesAmount())); // 订单总额
|
|
|
- orderData.put("user_name", order.getSalesOpenid()); // 买家账户 百胜根据user_name来判断是否有重复,传openId是为了防止重复
|
|
|
- orderData.put("zipcode", order.getSalesAddressPostnum()); // 邮编
|
|
|
-
|
|
|
-
|
|
|
+ orderData.put("total_amount", (order.getSalesAmount())); // 订单总额
|
|
|
+ orderData.put("user_name", order.getSalesOpenid()); // 买家账户 百胜根据user_name来判断是否有重复,传openId是为了防止重复
|
|
|
+ orderData.put("zipcode", order.getSalesAddressPostnum()); // 邮编
|
|
|
+
|
|
|
+
|
|
|
com.fasterxml.jackson.databind.ObjectMapper mapper = new ObjectMapper();
|
|
|
- String orderDataStr = null;;
|
|
|
+ String orderDataStr = null;
|
|
|
+ ;
|
|
|
try {
|
|
|
orderDataStr = mapper.writeValueAsString(orderData);
|
|
|
} catch (JsonProcessingException e2) {
|
|
|
e2.printStackTrace();
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
requestData.put("info", orderDataStr);
|
|
|
-
|
|
|
+
|
|
|
try {
|
|
|
- logger.info("WaterPF HttpClient431Util.doGet begin...");
|
|
|
+ logger.info("WaterPF HttpClient431Util.doGet begin..."+url+"requestData..="+requestData.get("info")+"accpt="+requestData.get("app_act"));
|
|
|
String result = HttpClient431Util.doPost(requestData, url);
|
|
|
result = StringEscapeUtils.unescapeJava(result); // unicode 编码
|
|
|
- logger.info("add-推送订单号为:" + order.getSalesOrderid() + "的订单,百胜返回信息:" + result);
|
|
|
+ logger.info("add-推送订单号为:" + order.getSalesOrderid() + "的订单返回信息:" + result);
|
|
|
// parse JSON String to Object
|
|
|
JSONObject jsonObject = JSONObject.fromObject(result);
|
|
|
//JSONObject respData = JSONObject.fromObject(jsonObject.get("resp_data"));
|
|
@@ -311,12 +312,12 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
|
}
|
|
|
}
|
|
|
logger.error(this, "add-推送订单号为:" + order.getSalesOrderid() + "的订单,百胜返回信息:" + result);
|
|
|
- throw new Exception(jsonObject.getString("msg"));
|
|
|
- } catch (Exception e) {
|
|
|
- throw e;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
+ throw new Exception(jsonObject.getString("msg"));
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ logger.info(this, "Watero addOrderInfoToEfast error..");
|
|
|
+ }
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
|