1.从有赞商品接口获取预售商品的预售信息,取发货时间
public static String getEdtStartTimeByItemId(Long itemId){
YZClient client = new DefaultYZClient(new Token("xxxxxx")); //new Sign(appKey, appSecret)
YouzanItemGetParams youzanItemGetParams = new YouzanItemGetParams();
youzanItemGetParams.setItemId(itemId);
YouzanItemGet youzanItemGet = new YouzanItemGet();
youzanItemGet.setAPIParams(youzanItemGetParams);
YouzanItemGetResult result = client.invoke(youzanItemGet);
YouzanItemGetResult.ItemPreSaleOpenModel i= result.getItem().getPresaleExtend();
String deliveryDate=i.getEtdStart();
return deliveryDate;
}
返回结果格式:例:2018-11-27 21:56:15
只需要取年月日,格式化了几次 都不是想要的格式,为了能跑,无奈之下用了substring();(辣鸡代码)
String el=etd_start.substring(0,10);
取得年月日的字符串el
2.从买家留言里取买家留言的配送时间:是固定的格式,非手动输入,但是只精确到分
JSONArray orde = JSONArray.parseArray(order.getOrders());
JSONObject jsonObject=orde.getJSONObject(0);
//如果是预售单
if(jsonObject.getString("is_pre_sale").equals("1")){
JSONArray orders = JSONArray.parseArray(order.getOrders());
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String bymsg=jsonObject.getString("buyer_messages");
jsonObject.getInteger("item_id");
logger.info(bymsg);
JSONObject jsonObject1=JSONObject.parseObject(bymsg);
String hm= jsonObject1.getString("留言1");
logger.info(hm);
获得大Json里的order数组,再取order数组里的小json(buyer_message);
通过这个获得买家留言的时间hm。
拼接字符串,再转为日期型
Date finTime = null;
try {
String a=el+" "+hm+":00";
logger.info(a);
finTime = simpleDateFormat2.parse(a);
logger.info("最终拼接后的时间"+finTime);
} catch (ParseException e) {
e.printStackTrace();
}
因为只会在这里用一次,暂时用的a,正式环境再更改。可以获得买家期望我们送达的时间。
=====================================end=================================