提交修改
This commit is contained in:
parent
0cb625eed0
commit
daa1c45188
@ -5,10 +5,11 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.gson.Gson;
|
||||
import com.heyu.api.data.dto.vv.KuaiDi100DTO;
|
||||
import com.kuaidi100.sdk.api.QueryTrack;
|
||||
import com.kuaidi100.sdk.api.Subscribe;
|
||||
import com.kuaidi100.sdk.contant.ApiInfoConstant;
|
||||
import com.kuaidi100.sdk.core.IBaseClient;
|
||||
import com.kuaidi100.sdk.pojo.HttpResult;
|
||||
import com.kuaidi100.sdk.request.QueryTrackParam;
|
||||
import com.kuaidi100.sdk.request.QueryTrackReq;
|
||||
import com.kuaidi100.sdk.request.*;
|
||||
import com.kuaidi100.sdk.utils.SignUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@ -22,7 +23,7 @@ public class KuaiDi100Utils {
|
||||
public static String key = "DnqfHnzY4501";
|
||||
public static String customer = "9026FB96E97AF02582856DE4D70B27AF";
|
||||
|
||||
public static KuaiDi100DTO getLogisticsInfo(String trackNumber) {
|
||||
public static KuaiDi100DTO getLogisticsInfo(String trackNumber) {
|
||||
QueryTrackReq queryTrackReq = new QueryTrackReq();
|
||||
try {
|
||||
|
||||
@ -68,4 +69,32 @@ public class KuaiDi100Utils {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 订阅接口
|
||||
*/
|
||||
public String subscribe(String companyCode, String trackNumber, String phone) throws Exception {
|
||||
SubscribeParameters subscribeParameters = new SubscribeParameters();
|
||||
subscribeParameters.setCallbackurl(" https://api.1024api.com/api-interface/app/kuaidi/callback");
|
||||
subscribeParameters.setPhone(phone);
|
||||
|
||||
SubscribeParam subscribeParam = new SubscribeParam();
|
||||
subscribeParam.setParameters(subscribeParameters);
|
||||
|
||||
subscribeParam.setCompany(companyCode);
|
||||
subscribeParam.setNumber(trackNumber);
|
||||
|
||||
subscribeParam.setKey(key);
|
||||
SubscribeReq subscribeReq = new SubscribeReq();
|
||||
subscribeReq.setSchema(ApiInfoConstant.SUBSCRIBE_SCHEMA);
|
||||
subscribeReq.setParam(new Gson().toJson(subscribeParam));
|
||||
|
||||
IBaseClient subscribe = new Subscribe();
|
||||
HttpResult httpResult = subscribe.execute(subscribeReq);
|
||||
String body = httpResult.getBody();
|
||||
log.info(" subscribe query result body:{}", body);
|
||||
return body;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -207,6 +207,13 @@ public class AdminOrderController {
|
||||
vvPackageEntity.setShippingTo(vvTradeOrderEntity.getContry() + vvTradeOrderEntity.getCity() + vvTradeOrderEntity.getDistrict() + vvTradeOrderEntity.getBuyerDetailAddress());
|
||||
vvPackageEntity.setTrackNumber(vvPackageEntity.getTrackNumber());
|
||||
vvPackageDao.insertOrUpdateVvPackage(vvPackageEntity);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
|
||||
tradeOrderLineEntity.setTrackNumber(vvOrderRequest.getTrackNumber());
|
||||
tradeOrderLineEntity.setStatus(OrderStatusEnums.shipping.getStatus()); // 已经发货
|
||||
|
||||
@ -31,7 +31,7 @@ public class AdminResourceController {
|
||||
|
||||
|
||||
/***
|
||||
* https://api.1024api.com/api-interface//mm/resource/list
|
||||
* https://api.1024api.com/api-interface//mm/resource/list
|
||||
*
|
||||
* http://localhost:8888/mm/resource/list
|
||||
*/
|
||||
|
||||
@ -0,0 +1,64 @@
|
||||
package com.heyu.api.controller.vv;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.heyu.api.common.annotation.Describe;
|
||||
import com.heyu.api.data.dao.vv.VvPackageDao;
|
||||
import com.heyu.api.data.entity.vv.VvPackageEntity;
|
||||
import com.kuaidi100.sdk.response.SubscribePushParamResp;
|
||||
import com.kuaidi100.sdk.response.SubscribePushResult;
|
||||
import com.kuaidi100.sdk.response.SubscribeResp;
|
||||
import com.kuaidi100.sdk.utils.SignUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/app/kuaidi")
|
||||
public class AppKuaiDiCallBackController {
|
||||
|
||||
@Autowired
|
||||
private VvPackageDao vvPackageDao;
|
||||
|
||||
/***
|
||||
* https://api.1024api.com/api-interface/app/kuaidi/callback
|
||||
*
|
||||
* 列表
|
||||
*/
|
||||
@Describe("快递100回调接口")
|
||||
@RequestMapping("/callback")
|
||||
public SubscribeResp callback(String param, String sign) {
|
||||
|
||||
log.info("kuaidi callback param:{},sign", param,sign);
|
||||
|
||||
//建议记录一下这个回调的内容,方便出问题后双方排查问题
|
||||
//log.debug("快递100订阅推送回调结果|{}|{}",param,sign);
|
||||
//订阅时传的salt,没有可以忽略
|
||||
String salt = "";
|
||||
String ourSign = SignUtils.sign(param + salt);
|
||||
SubscribeResp subscribeResp = new SubscribeResp();
|
||||
subscribeResp.setResult(Boolean.TRUE);
|
||||
subscribeResp.setReturnCode("200");
|
||||
subscribeResp.setMessage("成功");
|
||||
//加密如果相等,属于快递100推送;否则可以忽略掉当前请求
|
||||
if (ourSign.equals(sign)){
|
||||
//TODO 业务处理
|
||||
SubscribePushParamResp subscribePushParamResp = new Gson().fromJson(param, SubscribePushParamResp.class);
|
||||
|
||||
SubscribePushResult subscribePushResult = subscribePushParamResp.getLastResult();
|
||||
if(subscribePushResult !=null){
|
||||
VvPackageEntity vvPackageEntity = vvPackageDao.selectVvPackageByTrackNumber(subscribePushResult.getNu());
|
||||
vvPackageEntity.setIscheck(subscribePushResult.getIscheck());
|
||||
vvPackageEntity.setCom(subscribePushResult.getCom());
|
||||
vvPackageEntity.setStatus(subscribePushResult.getStatus());
|
||||
vvPackageEntity.setState(subscribePushResult.getState());
|
||||
vvPackageDao.updateVvPackageById(vvPackageEntity);
|
||||
}
|
||||
return subscribeResp;
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -47,6 +47,7 @@ public class AppLogisticsController {
|
||||
}
|
||||
|
||||
KuaiDi100DTO kuaiDi100DTO = KuaiDi100Utils.getLogisticsInfo(request.getTrackNumber());
|
||||
|
||||
VvPackageEntity vvPackageEntity = vvPackageDao.selectVvPackageByTrackNumber(request.getTrackNumber());
|
||||
vvPackageEntity.setIscheck(kuaiDi100DTO.getIscheck());
|
||||
vvPackageEntity.setCom(kuaiDi100DTO.getCom());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user