|
@@ -74,14 +74,16 @@ public class WxApiService {
|
|
|
if (existOrder.getPayStatus() == TradeState.SUCCESS.getCode()) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "您已支付过一笔相同金额的订单,请勿重复支付。");
|
|
|
}
|
|
|
- if (existOrder.getPayStatus() == TradeState.NEWORDER.getCode() ||
|
|
|
- existOrder.getPayStatus() == TradeState.NOTPAY.getCode()) {
|
|
|
- if (DateUtil.orderValid(existOrder.getCreateDatetime())) {
|
|
|
- return ResultVoUtil.success(existOrder);
|
|
|
+ if (StringUtil.notBlank(existOrder.getPaySign()) && StringUtil.notBlank(existOrder.getPrepayId())) {
|
|
|
+ if (existOrder.getPayStatus() == TradeState.NEWORDER.getCode() ||
|
|
|
+ existOrder.getPayStatus() == TradeState.NOTPAY.getCode()) {
|
|
|
+ if (DateUtil.orderValid(existOrder.getCreateDatetime())) {
|
|
|
+ return ResultVoUtil.success(existOrder);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (null == param.getYjReqNo()) {
|
|
|
+ param.setYjReqNo(existOrder.getYjReqNo());
|
|
|
}
|
|
|
- }
|
|
|
- if (null == param.getYjReqNo()) {
|
|
|
- param.setYjReqNo(existOrder.getYjReqNo());
|
|
|
}
|
|
|
}
|
|
|
String appId = PropertiesUtil.getProperty("appId");
|
|
@@ -182,7 +184,7 @@ public class WxApiService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public ResultVo<Object> queryOrderState(String tradeNo, QuerySource source) {
|
|
|
+ public ResultVo<Object> queryOrderState(String tradeNo) {
|
|
|
try {
|
|
|
while (TradeVectorUtil.tradeNoBeingQuery(tradeNo) || TradeVectorUtil.tradeNoBeingRefund(tradeNo)) {
|
|
|
log.info("订单号:{} 正在查询状态中,进入等待区。", tradeNo);
|
|
@@ -206,7 +208,7 @@ public class WxApiService {
|
|
|
log.info("订单号:{} 的门诊缴费信息已保存,无需再次查询订单状态。", order.getTradeNo());
|
|
|
return ResultVoUtil.success("保存门诊缴费信息成功。");
|
|
|
}
|
|
|
- JSONObject obj = retryService.queryOrderStateFromTencent(tradeNo, orderType, source);
|
|
|
+ JSONObject obj = retryService.queryOrderStateFromTencent(tradeNo, orderType);
|
|
|
TradeState tradeState = TradeState.get(obj.getString("trade_state"));
|
|
|
if (tradeState.equals(TradeState.SUCCESS)) {
|
|
|
String successTime = obj.getString("success_time")
|