|
@@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
import thyyxxk.wxservice_server.config.exception.ExceptionEnum;
|
|
|
import thyyxxk.wxservice_server.constant.OrderType;
|
|
|
+import thyyxxk.wxservice_server.constant.QuerySource;
|
|
|
import thyyxxk.wxservice_server.dao.WxApiDao;
|
|
|
import thyyxxk.wxservice_server.entity.ResultVo;
|
|
|
import thyyxxk.wxservice_server.entity.appointment.DoctorInfo;
|
|
@@ -182,20 +183,21 @@ public class WxApiService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public ResultVo<String> queryOrderState(String tradeNo) throws Exception {
|
|
|
+ public ResultVo<String> queryOrderState(String tradeNo, QuerySource source) throws Exception {
|
|
|
while (TradeVectorUtil.tradeNoBetweenQuery(tradeNo)) {
|
|
|
TimeUnit.SECONDS.sleep(1);
|
|
|
}
|
|
|
TradeVectorUtil.add(tradeNo);
|
|
|
- JSONObject obj = retryService.queryOrderStateFromTencent(tradeNo);
|
|
|
+ WxPayOrder order = dao.selectOrderByTradeNo(tradeNo);
|
|
|
+ OrderType orderType = OrderType.get(order.getOrderType());
|
|
|
+ JSONObject obj = retryService.queryOrderStateFromTencent(tradeNo, orderType, source);
|
|
|
String tradeState = obj.getString("trade_state");
|
|
|
if ("SUCCESS".equals(tradeState)) {
|
|
|
String successTime = obj.getString("success_time")
|
|
|
.split("\\+")[0].replace("T", " ");
|
|
|
dao.updatePayStatusAndPayTime(tradeNo, 1, successTime);
|
|
|
- WxPayOrder order = dao.selectOrderByTradeNo(tradeNo);
|
|
|
ResultVo<String> saveRet;
|
|
|
- switch (OrderType.get(order.getOrderType())) {
|
|
|
+ switch (orderType) {
|
|
|
case REGISTRATION:
|
|
|
saveRet = savePayResultService.saveAppointment(order);
|
|
|
break;
|