pull/1121/head
liujiang 2025-07-11 00:27:57 +08:00
commit f1afb2334d
4 changed files with 22 additions and 9 deletions

View File

@ -26,6 +26,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.w3c.dom.Document;
import javax.servlet.http.HttpServletRequest;
import java.util.concurrent.TimeUnit;
/**
@ -72,7 +73,8 @@ public class ExpressCallbackController extends XktBaseController {
@ApiOperation("圆通-轨迹推送")
@RequestMapping(value = "yto/track")
public String ytoTrack(YtoTrackObj.Request request) {
public String ytoTrack(HttpServletRequest servletRequest) {
YtoTrackObj.Request request = new YtoTrackObj.Request(servletRequest);
if (StrUtil.isNotBlank(request.getLogistics_interface()) &&
//验签
YtoSignUtil.verify(request.getData_digest(), request.getLogistics_interface(), ytoAppSecret2)) {
@ -80,7 +82,9 @@ public class ExpressCallbackController extends XktBaseController {
Document dom = XmlUtil.parseXml(request.getLogistics_interface());
YtoTrackObj.Info obj = XmlUtil.xmlToBean(dom, YtoTrackObj.class).getUpdateInfo();
StoreOrderExpressTrackAddDTO trackAddDTO = trans2OrderTrack(obj);
storeOrderService.addTrack(trackAddDTO);
if (trackAddDTO.getExpressWaybillNo() != null) {
storeOrderService.addTrack(trackAddDTO);
}
return YtoTrackObj.Response.builder()
.success(true)
.logisticProviderID(obj.getLogisticProviderID())
@ -104,7 +108,9 @@ public class ExpressCallbackController extends XktBaseController {
logger.info("中通-轨迹推送数据处理: {}", request);
ZtoTrackObj.Info obj = JSONUtil.toBean(request.getData(), ZtoTrackObj.Info.class);
StoreOrderExpressTrackAddDTO trackAddDTO = trans2OrderTrack(obj);
storeOrderService.addTrack(trackAddDTO);
if (trackAddDTO.getExpressWaybillNo() != null) {
storeOrderService.addTrack(trackAddDTO);
}
return ZtoTrackObj.Response.builder()
.status(true)
.build()

View File

@ -164,7 +164,7 @@ public class SecurityUtils {
username = Optional.ofNullable(user).map(LoginUser::getUsername).orElse(null);
}
} catch (Exception e) {
log.error("获取用户账户异常", e);
log.warn("获取用户账户失败");
}
return username;
}
@ -183,7 +183,7 @@ public class SecurityUtils {
userId = Optional.ofNullable(user).map(LoginUser::getUserId).orElse(null);
}
} catch (Exception e) {
log.error("获取用ID户异常", e);
log.warn("获取用户ID失败");
}
return userId;
}

View File

@ -1161,13 +1161,10 @@ public class StoreOrderServiceImpl implements IStoreOrderService {
}
refundOrderDetails.add(orderDetail);
}
Assert.notEmpty(refundOrderDetails, "无可退款商品");
EOrderStatus orderStatus = EOrderStatus.AFTER_SALE_COMPLETED;
for (StoreOrderDetail orderDetail : orderDetails) {
if (EOrderStatus.PLATFORM_INTERVENED.getValue().equals(orderDetail.getDetailStatus())) {
orderStatus = EOrderStatus.PLATFORM_INTERVENED;
break;
}
if (EOrderStatus.AFTER_SALE_REJECTED.getValue().equals(orderDetail.getDetailStatus())) {
orderStatus = EOrderStatus.AFTER_SALE_REJECTED;
break;

View File

@ -7,6 +7,7 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
/**
@ -143,6 +144,8 @@ public class YtoTrackObj {
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public static class Request {
/**
*
@ -160,5 +163,12 @@ public class YtoTrackObj {
* online:线offline:线
*/
private String type;
public Request(HttpServletRequest servletRequest) {
this(servletRequest.getParameter("logistics_interface"),
servletRequest.getParameter("data_digest"),
servletRequest.getParameter("clientId"),
servletRequest.getParameter("type"));
}
}
}