|
@@ -8,6 +8,9 @@ import java.util.Map;
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Pattern;
|
|
import java.util.regex.Pattern;
|
|
|
|
|
|
|
|
+import com.iamberry.wechat.core.entity.agentInfo.AgentOrder;
|
|
|
|
+import com.iamberry.wechat.core.entity.agentInfo.AgentOrderItem;
|
|
|
|
+import com.iamberry.wechat.service.mapper.AgentPurchaseOrderMapper;
|
|
import net.sf.json.JSONObject;
|
|
import net.sf.json.JSONObject;
|
|
|
|
|
|
import org.apache.commons.lang3.StringEscapeUtils;
|
|
import org.apache.commons.lang3.StringEscapeUtils;
|
|
@@ -51,6 +54,8 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private ProductColorService productColorService;
|
|
private ProductColorService productColorService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private AgentPurchaseOrderMapper agentPurchaseOrderMapper;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public boolean selectEfastSendOrderInfo(MQMessage message) {
|
|
public boolean selectEfastSendOrderInfo(MQMessage message) {
|
|
@@ -155,9 +160,6 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
|
|
|
|
List<OrderItem> items = adminOrderService.getShopOrderItemByOrderId(order.getSalesOrderid());
|
|
List<OrderItem> items = adminOrderService.getShopOrderItemByOrderId(order.getSalesOrderid());
|
|
|
|
|
|
- //获取当前水机产品类型
|
|
|
|
- ShopSystemRule rule = adminOrderService.getReluByRid(237);
|
|
|
|
-
|
|
|
|
// request url
|
|
// request url
|
|
String url = NameUtils.getConfig("efast_base_url");
|
|
String url = NameUtils.getConfig("efast_base_url");
|
|
|
|
|
|
@@ -180,7 +182,7 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
couponMoney = couponType.getCouponReduce();
|
|
couponMoney = couponType.getCouponReduce();
|
|
break;
|
|
break;
|
|
case 2:
|
|
case 2:
|
|
- couponMoney = order.getSalesAmount() * couponType.getCouponReduce() / 100;
|
|
|
|
|
|
+ couponMoney = order.getSalesAmount() * couponType.getCouponReduce()/100;
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -198,7 +200,7 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
avgMoney += item.getItemNum().intValue() * item.getItemProductDiscount();
|
|
avgMoney += item.getItemNum().intValue() * item.getItemProductDiscount();
|
|
}
|
|
}
|
|
//计算均摊比例
|
|
//计算均摊比例
|
|
- avgPercentage = 1 - couponMoney / avgMoney;
|
|
|
|
|
|
+ avgPercentage = 1 - couponMoney/avgMoney;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -207,19 +209,19 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
requestData.put("app_nick", NameUtils.getConfig("app_nick"));
|
|
requestData.put("app_nick", NameUtils.getConfig("app_nick"));
|
|
requestData.put("app_key", NameUtils.getConfig("app_key"));
|
|
requestData.put("app_key", NameUtils.getConfig("app_key"));
|
|
requestData.put("app_secret", NameUtils.getConfig("app_secret"));
|
|
requestData.put("app_secret", NameUtils.getConfig("app_secret"));
|
|
- requestData.put("timestamp", DateTimeUtil.format(new Date(), "yyyyMMddHHmmss"));
|
|
|
|
|
|
+ requestData.put("timestamp",DateTimeUtil.format(new Date(),"yyyyMMddHHmmss"));
|
|
requestData.put("app_act", message.getServiceOtherMessage()); // "efast.trade.new.add"
|
|
requestData.put("app_act", message.getServiceOtherMessage()); // "efast.trade.new.add"
|
|
|
|
|
|
/**
|
|
/**
|
|
* 订单基本信息
|
|
* 订单基本信息
|
|
*/
|
|
*/
|
|
- String[] addressDesc = order.getSalesAddressInfo().split("-");
|
|
|
|
|
|
+ String [] addressDesc = order.getSalesAddressInfo().split("-");
|
|
|
|
|
|
//判断收货地址从而选择仓库
|
|
//判断收货地址从而选择仓库
|
|
String sd_id = NameUtils.getConfig("sd_id");
|
|
String sd_id = NameUtils.getConfig("sd_id");
|
|
|
|
|
|
String address = addressDesc[3];
|
|
String address = addressDesc[3];
|
|
- if (addressDesc[3] != null) {
|
|
|
|
|
|
+ if (addressDesc[3]!=null) {
|
|
Pattern p = Pattern.compile("\\s*|\t|\r|\n");
|
|
Pattern p = Pattern.compile("\\s*|\t|\r|\n");
|
|
Matcher m = p.matcher(addressDesc[3]);
|
|
Matcher m = p.matcher(addressDesc[3]);
|
|
if (m.find()) {
|
|
if (m.find()) {
|
|
@@ -238,179 +240,224 @@ public class EfastOrderServiceImpl implements EfastOrderService {
|
|
provinceName = "重庆";
|
|
provinceName = "重庆";
|
|
}
|
|
}
|
|
Map<String, Object> orderData = new HashMap<String, Object>();
|
|
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() / 100.0)); // 商品总价
|
|
|
|
- //orderData.put("goods_count", items.size()); // 产品数量
|
|
|
|
- orderData.put("mobile", order.getSalesAddressTel()); // 手机号码
|
|
|
|
- orderData.put("money_paid", (money / 100.0)); // 已付款
|
|
|
|
- orderData.put("oid", order.getSalesOrderid()); // 订单号
|
|
|
|
- orderData.put("order_amount", (money / 100.0)); // 应付款,应付款金额要与已付款金额相同
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 产品信息
|
|
|
|
- */
|
|
|
|
- String[] productType = null;
|
|
|
|
- if (rule != null && rule.getRuleDesc() != null) {
|
|
|
|
- String type = rule.getRuleDesc().split(":")[1];
|
|
|
|
- productType = type.split(",");
|
|
|
|
- }
|
|
|
|
|
|
+ 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()/100.0)); // 商品总价
|
|
|
|
+ orderData.put("goods_count", items.size()); // 产品数量
|
|
|
|
+ orderData.put("mobile", order.getSalesAddressTel()); // 手机号码
|
|
|
|
+ orderData.put("money_paid", (money/100.0)); // 已付款
|
|
|
|
+ orderData.put("oid", order.getSalesOrderid()); // 订单号
|
|
|
|
+ orderData.put("order_amount", (money/100.0)); // 应付款,应付款金额要与已付款金额相同
|
|
|
|
|
|
- List<Map<String, Object>> maps = new ArrayList<Map<String, Object>>();
|
|
|
|
- List<Map<String, Object>> filterMap = new ArrayList<Map<String, Object>>();
|
|
|
|
- boolean mapFlag = false; //标识是否推送百胜
|
|
|
|
- boolean filterFlag = false; //标识是否推送百胜
|
|
|
|
- int filterMoney = 0; //除水机外的金额
|
|
|
|
- int orderItem = 0;
|
|
|
|
- int filterItem = 0;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 产品信息
|
|
* 产品信息
|
|
*/
|
|
*/
|
|
|
|
+ List<Map<String, Object>> maps = new ArrayList<Map<String, Object>>();
|
|
for (OrderItem item : items) {
|
|
for (OrderItem item : items) {
|
|
Map<String, Object> orders1 = new HashMap<String, Object>();
|
|
Map<String, Object> orders1 = new HashMap<String, Object>();
|
|
- orders1.put("goods_name", item.getItemProductName()); // 产品名称
|
|
|
|
|
|
+ orders1.put("goods_name", item.getItemProductName()); // 产品名称
|
|
orders1.put("goods_number", item.getItemNum()); // 产品数量
|
|
orders1.put("goods_number", item.getItemNum()); // 产品数量
|
|
- orders1.put("goods_price", (item.getItemProductPrice() / 100.0)); // 产品原价
|
|
|
|
- orders1.put("outer_sku", item.getProduectRemark()); // 产品SKU
|
|
|
|
- orders1.put("payment_ft", (item.getItemProductDiscount() / 100.0 * avgPercentage * item.getItemNum())); // 产品分摊价
|
|
|
|
- orders1.put("discount",(item.getItemProductDiscount() / 100.0));
|
|
|
|
- if (productType != null) {
|
|
|
|
- boolean productFlag = false; //用来判断当前产品是否为水机
|
|
|
|
- for (int i = 0; i < productType.length; i++) {
|
|
|
|
- if (item.getItemProductType() == Integer.parseInt(productType[i])) {
|
|
|
|
- mapFlag = true;
|
|
|
|
- productFlag = true;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (productFlag) {
|
|
|
|
- for (int i = 0; i < item.getItemNum(); i++) {
|
|
|
|
- orders1.put("goods_number", 1);
|
|
|
|
- maps.add(orders1);
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- filterFlag = true;
|
|
|
|
- filterMap.add(orders1);
|
|
|
|
- filterItem += item.getItemNum();
|
|
|
|
- filterMoney += item.getItemProductDiscount() / 100 * item.getItemNum();
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- maps.add(orders1);
|
|
|
|
- mapFlag = true;
|
|
|
|
- }
|
|
|
|
|
|
+ orders1.put("goods_price", (item.getItemProductPrice()/100.0)); // 产品原价
|
|
|
|
+ orders1.put("outer_sku", item.getProduectRemark()); // 产品SKU
|
|
|
|
+ orders1.put("payment_ft", (item.getItemProductDiscount()/100.0*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("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", ""); // 我司电话
|
|
|
|
- orderData.put("to_buyer", ""); // 商家备注
|
|
|
|
- orderData.put("total_amount", (order.getSalesAmount() / 100.0)); // 订单总额
|
|
|
|
- orderData.put("user_name", order.getSalesOpenid()); // 买家账户 百胜根据user_name来判断是否有重复,传openId是为了防止重复
|
|
|
|
- orderData.put("zipcode", order.getSalesAddressPostnum()); // 邮编
|
|
|
|
-
|
|
|
|
- boolean returnFlag = true;
|
|
|
|
- //推送水机产品订单
|
|
|
|
- if (mapFlag) {
|
|
|
|
- for (int j = 0; j < maps.size(); j++) {
|
|
|
|
- Map<String, Object> map = maps.get(j);
|
|
|
|
- List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>();
|
|
|
|
- orderData.put("oid", order.getSalesOrderid() + j);
|
|
|
|
- orderData.put("user_name", order.getSalesOpenid() + j);
|
|
|
|
- orderData.put("goods_amount", map.get("goods_price"));
|
|
|
|
- orderData.put("money_paid", map.get("discount"));
|
|
|
|
- orderData.put("order_amount", map.get("discount"));
|
|
|
|
- orderData.put("total_amount", map.get("discount"));
|
|
|
|
- orderData.put("goods_count", map.get("goods_number"));
|
|
|
|
- mapList.add(map);
|
|
|
|
- orderData.put("orders", mapList);
|
|
|
|
- com.fasterxml.jackson.databind.ObjectMapper mapper = new ObjectMapper();
|
|
|
|
- String orderDataStr = null;
|
|
|
|
- try {
|
|
|
|
- orderDataStr = mapper.writeValueAsString(orderData);
|
|
|
|
- } catch (JsonProcessingException e2) {
|
|
|
|
- e2.printStackTrace();
|
|
|
|
- }
|
|
|
|
|
|
+ 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", ""); // 我司电话
|
|
|
|
+ orderData.put("to_buyer", ""); // 商家备注
|
|
|
|
+ orderData.put("total_amount", (order.getSalesAmount()/100.0)); // 订单总额
|
|
|
|
+ orderData.put("user_name", order.getSalesOpenid()); // 买家账户 百胜根据user_name来判断是否有重复,传openId是为了防止重复
|
|
|
|
+ orderData.put("zipcode", order.getSalesAddressPostnum()); // 邮编
|
|
|
|
|
|
- requestData.put("info", orderDataStr);
|
|
|
|
|
|
|
|
- try {
|
|
|
|
- String result = HttpClient431Util.doGet(requestData, url);
|
|
|
|
- result = StringEscapeUtils.unescapeJava(result); // unicode 编码
|
|
|
|
- logger.info("add-推送订单号为:" + order.getSalesOrderid() + j + "的订单,百胜返回信息:" + result);
|
|
|
|
- // parse JSON String to Object
|
|
|
|
- JSONObject jsonObject = JSONObject.fromObject(result);
|
|
|
|
- JSONObject respData = JSONObject.fromObject(jsonObject.get("resp_data"));
|
|
|
|
- String oderSn = respData.getString("oder_sn");
|
|
|
|
- if (oderSn != null) {
|
|
|
|
- String msg = respData.getString("msg");
|
|
|
|
- if (!"success".equals(msg)) {
|
|
|
|
- returnFlag = false;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- logger.error(this, "add-推送订单号为:" + order.getSalesOrderid() + j + "的订单,百胜返回信息:" + result);
|
|
|
|
- //throw new Exception(respData.getString("msg"));
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- //e.printStackTrace();
|
|
|
|
|
|
+ com.fasterxml.jackson.databind.ObjectMapper mapper = new ObjectMapper();
|
|
|
|
+ String orderDataStr = null;;
|
|
|
|
+ try {
|
|
|
|
+ orderDataStr = mapper.writeValueAsString(orderData);
|
|
|
|
+ } catch (JsonProcessingException e2) {
|
|
|
|
+ e2.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ requestData.put("info", orderDataStr);
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ String result = HttpClient431Util.doGet(requestData, url);
|
|
|
|
+ result = StringEscapeUtils.unescapeJava(result); // unicode 编码
|
|
|
|
+ logger.info("add-推送订单号为:" + order.getSalesOrderid() + "的订单,百胜返回信息:" + result);
|
|
|
|
+ // parse JSON String to Object
|
|
|
|
+ JSONObject jsonObject = JSONObject.fromObject(result);
|
|
|
|
+ JSONObject respData = JSONObject.fromObject(jsonObject.get("resp_data"));
|
|
|
|
+ String oderSn = respData.getString("oder_sn");
|
|
|
|
+ if (oderSn != null) {
|
|
|
|
+ String msg = respData.getString("msg");
|
|
|
|
+ if ("success".equals(msg)) {
|
|
|
|
+ return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ logger.error(this, "add-推送订单号为:" + order.getSalesOrderid() + "的订单,百胜返回信息:" + result);
|
|
|
|
+ throw new Exception(respData.getString("msg"));
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ throw e;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public boolean addAgentOrderToEfast(MQMessage message) throws Exception {
|
|
|
|
+ // orderInfo
|
|
|
|
+ AgentOrder agentOrder = new AgentOrder();
|
|
|
|
+ agentOrder.setAgentOrderid(message.getServiceToMessage());
|
|
|
|
+ //获取订单集合
|
|
|
|
+ List<AgentOrder> agentList = agentPurchaseOrderMapper.listAgentOrder(agentOrder);
|
|
|
|
+ if (agentList == null || agentList.size() == 0) {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ agentOrder = agentList.get(0);
|
|
|
|
+ //获取订单项列表
|
|
|
|
+ List<AgentOrderItem> items = agentOrder.getItemList();
|
|
|
|
+
|
|
|
|
+ // request url
|
|
|
|
+ String url = NameUtils.getConfig("efast_base_url");
|
|
|
|
+
|
|
|
|
+ // set Requeset Data
|
|
|
|
+ Map<String, String> requestData = new HashMap<String, String>();
|
|
|
|
+
|
|
|
|
+ int money = agentOrder.getAgentYetAmount();
|
|
|
|
+
|
|
|
|
+ double couponMoney = 0;
|
|
|
|
+ double avgPercentage = 0.0; //均摊比例
|
|
|
|
+
|
|
|
|
+ //计算分摊金额比例
|
|
|
|
+ if (items != null && items.size() > 0) {
|
|
|
|
+ double avgMoney = 0;
|
|
|
|
+ for (AgentOrderItem item : items) {
|
|
|
|
+ avgMoney += item.getItemNum().intValue() * item.getItemProductDiscount();
|
|
|
|
+ }
|
|
|
|
+ //计算均摊比例
|
|
|
|
+ avgPercentage = 1 - couponMoney/avgMoney;
|
|
}
|
|
}
|
|
|
|
|
|
- //推送除了水机以外的产品订单
|
|
|
|
- if (filterFlag) {
|
|
|
|
- orderData.put("oid", "ZP" + order.getSalesOrderid());
|
|
|
|
- orderData.put("user_name", "ZP" + order.getSalesOpenid());
|
|
|
|
- orderData.put("goods_amount", filterMoney);
|
|
|
|
- orderData.put("money_paid", filterMoney);
|
|
|
|
- orderData.put("order_amount", filterMoney);
|
|
|
|
- orderData.put("total_amount", filterMoney);
|
|
|
|
- orderData.put("goods_count", filterItem);
|
|
|
|
- orderData.put("orders", filterMap); //非水机等订单产品
|
|
|
|
- com.fasterxml.jackson.databind.ObjectMapper mapper = new ObjectMapper();
|
|
|
|
- String orderDataStr = null;
|
|
|
|
- try {
|
|
|
|
- orderDataStr = mapper.writeValueAsString(orderData);
|
|
|
|
- } catch (JsonProcessingException e2) {
|
|
|
|
- e2.printStackTrace();
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 系统级参数
|
|
|
|
+ */
|
|
|
|
+ requestData.put("app_nick", NameUtils.getConfig("app_nick"));
|
|
|
|
+ requestData.put("app_key", NameUtils.getConfig("app_key"));
|
|
|
|
+ requestData.put("app_secret", NameUtils.getConfig("app_secret"));
|
|
|
|
+ requestData.put("timestamp",DateTimeUtil.format(new Date(),"yyyyMMddHHmmss"));
|
|
|
|
+ requestData.put("app_act", message.getServiceOtherMessage()); // "efast.trade.new.add"
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 订单基本信息
|
|
|
|
+ */
|
|
|
|
+ String [] addressDesc = agentOrder.getAgentAddressInfo().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("");
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
|
|
- requestData.put("info", orderDataStr);
|
|
|
|
-
|
|
|
|
- try {
|
|
|
|
- String result = HttpClient431Util.doGet(requestData, url);
|
|
|
|
- result = StringEscapeUtils.unescapeJava(result); // unicode 编码
|
|
|
|
- logger.info("add-推送订单号为:" + "ZP" + order.getSalesOrderid() + "的订单,百胜返回信息:" + result);
|
|
|
|
- // parse JSON String to Object
|
|
|
|
- JSONObject jsonObject = JSONObject.fromObject(result);
|
|
|
|
- JSONObject respData = JSONObject.fromObject(jsonObject.get("resp_data"));
|
|
|
|
- String oderSn = respData.getString("oder_sn");
|
|
|
|
- if (oderSn != null) {
|
|
|
|
- String msg = respData.getString("msg");
|
|
|
|
- if (!"success".equals(msg)) {
|
|
|
|
- returnFlag = false;
|
|
|
|
- }
|
|
|
|
|
|
+ String provinceName = addressDesc[0];
|
|
|
|
+ if (addressDesc[0].indexOf("北京") != -1) {
|
|
|
|
+ provinceName = "北京";
|
|
|
|
+ } else if (addressDesc[0].indexOf("上海") != -1) {
|
|
|
|
+ provinceName = "上海";
|
|
|
|
+ } else if (addressDesc[0].indexOf("天津") != -1) {
|
|
|
|
+ provinceName = "天津";
|
|
|
|
+ } else if (addressDesc[0].indexOf("重庆") != -1) {
|
|
|
|
+ provinceName = "重庆";
|
|
|
|
+ }
|
|
|
|
+ Map<String, Object> orderData = new HashMap<String, Object>();
|
|
|
|
+ orderData.put("add_time", DateTimeUtil.format(agentOrder.getAgentCreateDate())); // 时间
|
|
|
|
+ orderData.put("address", address); // 收货地址
|
|
|
|
+ orderData.put("city_name", addressDesc[1]); // 城市
|
|
|
|
+ orderData.put("consignee", agentOrder.getAgentAddressName()); // 收货人
|
|
|
|
+ orderData.put("district_name", addressDesc[2]); // 区域
|
|
|
|
+ orderData.put("email", ""); // email
|
|
|
|
+ orderData.put("goods_amount", (agentOrder.getAgentAmount()/100.0)); // 商品总价
|
|
|
|
+ orderData.put("goods_count", items.size()); // 产品数量
|
|
|
|
+ orderData.put("mobile", agentOrder.getAgentAddressTel()); // 手机号码
|
|
|
|
+ orderData.put("money_paid", (money/100.0)); // 已付款
|
|
|
|
+ orderData.put("oid", agentOrder.getAgentOrderid()); // 订单号
|
|
|
|
+ orderData.put("order_amount", (money/100.0)); // 应付款,应付款金额要与已付款金额相同
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 产品信息
|
|
|
|
+ */
|
|
|
|
+ List<Map<String, Object>> maps = new ArrayList<Map<String, Object>>();
|
|
|
|
+ for (AgentOrderItem 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()/100.0)); // 产品原价
|
|
|
|
+ orders1.put("outer_sku", item.getItemProductSKU()); // 产品SKU
|
|
|
|
+ orders1.put("payment_ft", (item.getItemProductDiscount()/100.0*avgPercentage*item.getItemNum())); // 产品分摊价
|
|
|
|
+ maps.add(orders1);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ orderData.put("orders", maps); // 订单产品
|
|
|
|
+ orderData.put("pay_name", "weixinpay"); // 支付方式
|
|
|
|
+ orderData.put("pay_time", DateTimeUtil.format(agentOrder.getAgentTransactionDate()));// 支付时间
|
|
|
|
+ orderData.put("postscript", ""); // 买家留言
|
|
|
|
+ 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", ""); // 我司电话
|
|
|
|
+ orderData.put("to_buyer", ""); // 商家备注
|
|
|
|
+ orderData.put("total_amount", (agentOrder.getAgentAmount()/100.0)); // 订单总额
|
|
|
|
+ orderData.put("user_name", agentOrder.getAgentId()); // 买家账户 百胜根据user_name来判断是否有重复,传openId是为了防止重复
|
|
|
|
+ orderData.put("zipcode", agentOrder.getAgentAddressPostnum()); // 邮编
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ com.fasterxml.jackson.databind.ObjectMapper mapper = new ObjectMapper();
|
|
|
|
+ String orderDataStr = null;;
|
|
|
|
+ try {
|
|
|
|
+ orderDataStr = mapper.writeValueAsString(orderData);
|
|
|
|
+ } catch (JsonProcessingException e2) {
|
|
|
|
+ e2.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ requestData.put("info", orderDataStr);
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ String result = HttpClient431Util.doGet(requestData, url);
|
|
|
|
+ result = StringEscapeUtils.unescapeJava(result); // unicode 编码
|
|
|
|
+ logger.info("add-推送订单号为:" + agentOrder.getAgentOrderid() + "的订单,百胜返回信息:" + result);
|
|
|
|
+ // parse JSON String to Object
|
|
|
|
+ JSONObject jsonObject = JSONObject.fromObject(result);
|
|
|
|
+ JSONObject respData = JSONObject.fromObject(jsonObject.get("resp_data"));
|
|
|
|
+ String oderSn = respData.getString("oder_sn");
|
|
|
|
+ if (oderSn != null) {
|
|
|
|
+ String msg = respData.getString("msg");
|
|
|
|
+ if ("success".equals(msg)) {
|
|
|
|
+ return true;
|
|
}
|
|
}
|
|
- logger.error(this, "add-推送订单号为:" + "ZP" + order.getSalesOrderid() + "的订单,百胜返回信息:" + result);
|
|
|
|
- //throw new Exception(respData.getString("msg"));
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- //e.printStackTrace();
|
|
|
|
}
|
|
}
|
|
|
|
+ logger.error(this, "add-推送订单号为:" + agentOrder.getAgentOrderid() + "的订单,百胜返回信息:" + result);
|
|
|
|
+ throw new Exception(respData.getString("msg"));
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ throw e;
|
|
}
|
|
}
|
|
- return returnFlag;
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public boolean addProbationOrderToEfast(MQMessage message) throws Exception {
|
|
public boolean addProbationOrderToEfast(MQMessage message) throws Exception {
|