...
|
...
|
@@ -4,9 +4,9 @@ import com.alibaba.fastjson.JSONObject; |
|
|
import com.yoho.core.config.ConfigReader;
|
|
|
import com.yoho.error.exception.ServiceException;
|
|
|
import com.yohobuy.ufo.model.order.common.OrderAttributes;
|
|
|
import com.yohobuy.ufo.model.order.resp.FastDeliveryReq;
|
|
|
import com.yohobuy.ufo.model.order.resp.FastDeliverySellerAccessInfo;
|
|
|
import com.yohoufo.common.ApiResponse;
|
|
|
import com.yohoufo.common.utils.StringUtil;
|
|
|
import com.yohoufo.dal.order.SellerOrderGoodsMapper;
|
|
|
import com.yohoufo.dal.order.model.SellerOrderGoods;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
...
|
...
|
@@ -29,7 +29,7 @@ public class FastDeliveryProxyService { |
|
|
private final Logger logger = LoggerFactory.getLogger(getClass());
|
|
|
|
|
|
|
|
|
public FastDeliverySellerAccessInfo getFastDeliverySellerInfo(int sellerUid){
|
|
|
public FastDeliverySellerAccessInfo getConfigBySellerUid(int sellerUid){
|
|
|
|
|
|
String sellerAccessInfoJSON = configReader.getString("ufo.fast.delivery.seller.access.info", "");
|
|
|
if (StringUtils.isNotBlank(sellerAccessInfoJSON)){
|
...
|
...
|
@@ -37,7 +37,7 @@ public class FastDeliveryProxyService { |
|
|
JSONObject jsonObject = JSONObject.parseObject(sellerAccessInfoJSON);
|
|
|
return jsonObject.getObject(String.valueOf(sellerUid), FastDeliverySellerAccessInfo.class);
|
|
|
}catch (Exception e){
|
|
|
logger.warn("getFastDeliverySellerInfo error {}", e);
|
|
|
logger.warn("getConfigBySellerUid error {}", e);
|
|
|
}
|
|
|
}
|
|
|
|
...
|
...
|
@@ -57,25 +57,27 @@ public class FastDeliveryProxyService { |
|
|
* @param skup
|
|
|
* @return
|
|
|
*/
|
|
|
public ApiResponse lockSkup(int sellerUid, int skup) {
|
|
|
if (!isOnToThird()) {
|
|
|
public ApiResponse lockSkup(FastDeliveryReq fastDeliveryReq) {
|
|
|
if (!isOnToThird() || fastDeliveryReq.getSellerUid()==0 ||fastDeliveryReq.getSkup() == 0) {
|
|
|
return new ApiResponse();
|
|
|
}
|
|
|
|
|
|
FastDeliverySellerAccessInfo sellerAccessInfo = getFastDeliverySellerInfo(sellerUid);
|
|
|
FastDeliverySellerAccessInfo sellerAccessInfo = getConfigBySellerUid(fastDeliveryReq.getSellerUid());
|
|
|
|
|
|
if (sellerAccessInfo == null || StringUtils.isEmpty(sellerAccessInfo.getLockSkupUrl())) {
|
|
|
return new ApiResponse();
|
|
|
}
|
|
|
logger.info("fast delivery lockSkup, skup {}, url {}", skup, sellerAccessInfo.getLockSkupUrl());
|
|
|
fastDeliveryReq.setYhSecret(sellerAccessInfo.getYhSecret());
|
|
|
|
|
|
logger.info("[{}],[{}] start fast delivery lockSkup, url {}, body {}", fastDeliveryReq.getSellerUid(),
|
|
|
fastDeliveryReq.getSkup(), sellerAccessInfo.getLockSkupUrl(), fastDeliveryReq);
|
|
|
ApiResponse result = null;
|
|
|
try{
|
|
|
result = baseServiceCaller.doPost("fast.delivery.lockSkup", sellerAccessInfo.getLockSkupUrl(),
|
|
|
getParam(skup, null, null, sellerAccessInfo.getYhSecret()));
|
|
|
result = baseServiceCaller.doPost("fast.delivery.lockSkup", sellerAccessInfo.getLockSkupUrl(), fastDeliveryReq);
|
|
|
}catch (Exception e){
|
|
|
throw new ServiceException(403, "扣减库存失败");
|
|
|
}
|
|
|
logger.info("fast delivery lockSkup, skup {}, result {}", skup, result);
|
|
|
logger.info("[{}],[{}] end fast delivery lockSkup, result {}", fastDeliveryReq.getSellerUid(), fastDeliveryReq.getSkup(), result);
|
|
|
|
|
|
return result;
|
|
|
}
|
...
|
...
|
@@ -86,21 +88,21 @@ public class FastDeliveryProxyService { |
|
|
* @param waybillCode
|
|
|
* @return
|
|
|
*/
|
|
|
public ApiResponse delivery(int sellerUid, int skup, String waybillCode, Long orderCode){
|
|
|
if (!isOnToThird()){
|
|
|
public ApiResponse delivery(FastDeliveryReq fastDeliveryReq){
|
|
|
if (!isOnToThird()|| fastDeliveryReq.getSellerUid()==0 ||fastDeliveryReq.getSkup() == 0){
|
|
|
return new ApiResponse();
|
|
|
}
|
|
|
|
|
|
FastDeliverySellerAccessInfo sellerAccessInfo = getFastDeliverySellerInfo(sellerUid);
|
|
|
FastDeliverySellerAccessInfo sellerAccessInfo = getConfigBySellerUid(fastDeliveryReq.getSellerUid());
|
|
|
|
|
|
if (sellerAccessInfo == null || StringUtils.isEmpty(sellerAccessInfo.getDeliveryUrl()) ){
|
|
|
return new ApiResponse();
|
|
|
}
|
|
|
fastDeliveryReq.setYhSecret(sellerAccessInfo.getYhSecret());
|
|
|
|
|
|
logger.info("fast delivery delivery, skup {}, url {}", skup, sellerAccessInfo.getDeliveryUrl());
|
|
|
ApiResponse result = baseServiceCaller.doPost("fast.delivery.delivery", sellerAccessInfo.getDeliveryUrl(),
|
|
|
getParam(skup, waybillCode,orderCode, sellerAccessInfo.getYhSecret()));
|
|
|
logger.info("fast delivery delivery, skup {}, result {}", skup, result);
|
|
|
logger.info("[{}],[{}] start fast delivery delivery, url {}, body {}", fastDeliveryReq.getSellerUid(), fastDeliveryReq.getSkup(), sellerAccessInfo.getDeliveryUrl());
|
|
|
ApiResponse result = baseServiceCaller.doPost("fast.delivery.delivery", sellerAccessInfo.getDeliveryUrl(), fastDeliveryReq);
|
|
|
logger.info("[{}],[{}] end fast delivery delivery, result {}", fastDeliveryReq.getSellerUid(), fastDeliveryReq.getSkup(), result);
|
|
|
return result;
|
|
|
|
|
|
}
|
...
|
...
|
@@ -112,24 +114,24 @@ public class FastDeliveryProxyService { |
|
|
* @param needReShelves 是否需要重新上架
|
|
|
* @return
|
|
|
*/
|
|
|
public ApiResponse cancel(int sellerUid, int skup, boolean needReShelves){
|
|
|
if (!isOnToThird()){
|
|
|
public ApiResponse cancel(FastDeliveryReq fastDeliveryReq){
|
|
|
if (!isOnToThird() || fastDeliveryReq.getSellerUid()==0 ||fastDeliveryReq.getSkup() == 0){
|
|
|
return new ApiResponse();
|
|
|
}
|
|
|
|
|
|
FastDeliverySellerAccessInfo sellerAccessInfo = getFastDeliverySellerInfo(sellerUid);
|
|
|
FastDeliverySellerAccessInfo sellerAccessInfo = getConfigBySellerUid(fastDeliveryReq.getSellerUid());
|
|
|
|
|
|
if (sellerAccessInfo == null || StringUtils.isEmpty(sellerAccessInfo.getUnlockSkupUrl())){
|
|
|
return new ApiResponse();
|
|
|
}
|
|
|
|
|
|
logger.info("fast delivery cancel, skup {}, url {}", skup, sellerAccessInfo.getUnlockSkupUrl());
|
|
|
fastDeliveryReq.setYhSecret(sellerAccessInfo.getYhSecret());
|
|
|
|
|
|
logger.info("[{}],[{}] start fast delivery cancel, url {}, body {}", fastDeliveryReq.getSellerUid(), sellerAccessInfo.getUnlockSkupUrl());
|
|
|
|
|
|
JSONObject param = getParam(skup, null, null, sellerAccessInfo.getYhSecret());
|
|
|
param.put("needReShelves", needReShelves);
|
|
|
ApiResponse result = baseServiceCaller.doPost("fast.delivery.cancel", sellerAccessInfo.getUnlockSkupUrl(),
|
|
|
param);
|
|
|
logger.info("fast delivery cancel, skup {}, result {}", skup, result);
|
|
|
fastDeliveryReq);
|
|
|
logger.info("[{}],[{}] end fast delivery cancel, result {}", fastDeliveryReq.getSellerUid(), fastDeliveryReq.getSkup(), result);
|
|
|
return result;
|
|
|
|
|
|
}
|
...
|
...
|
@@ -161,21 +163,6 @@ public class FastDeliveryProxyService { |
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public static JSONObject getParam(int skup, String waybillCode, Long orderCode, String yhSecret){
|
|
|
JSONObject param = new JSONObject();
|
|
|
param.put("yhSecret", yhSecret);
|
|
|
param.put("skup", skup);
|
|
|
if (StringUtils.isNoneBlank(waybillCode)){
|
|
|
param.put("waybill_code", waybillCode);
|
|
|
}
|
|
|
if (orderCode != null){
|
|
|
param.put("order_code", orderCode);
|
|
|
}
|
|
|
|
|
|
return param;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 判定该skup是否是极速发货的商品
|
|
|
* @param skup
|
...
|
...
|
|