|  | @@ -28,6 +28,7 @@ import org.apache.http.entity.StringEntity;
 | 
											
												
													
														|  |  import org.apache.http.impl.client.CloseableHttpClient;
 |  |  import org.apache.http.impl.client.CloseableHttpClient;
 | 
											
												
													
														|  |  import org.apache.http.util.EntityUtils;
 |  |  import org.apache.http.util.EntityUtils;
 | 
											
												
													
														|  |  import org.springframework.stereotype.Service;
 |  |  import org.springframework.stereotype.Service;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.web.bind.annotation.PathVariable;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  import javax.servlet.http.HttpServletRequest;
 |  |  import javax.servlet.http.HttpServletRequest;
 | 
											
												
													
														|  |  import javax.servlet.http.HttpServletResponse;
 |  |  import javax.servlet.http.HttpServletResponse;
 | 
											
										
											
												
													
														|  | @@ -124,6 +125,50 @@ public class WxProviderServiceImpl implements WxProviderService {
 | 
											
												
													
														|  |          return Base64.getEncoder().encodeToString(sign.sign());
 |  |          return Base64.getEncoder().encodeToString(sign.sign());
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +    /**
 | 
											
												
													
														|  | 
 |  | +     * 订单号查询订单
 | 
											
												
													
														|  | 
 |  | +     *
 | 
											
												
													
														|  | 
 |  | +     * @param orderNo orderNo
 | 
											
												
													
														|  | 
 |  | +     * @return Map
 | 
											
												
													
														|  | 
 |  | +     */
 | 
											
												
													
														|  | 
 |  | +    public Map<String, Object> getPayResultByOrderNo(String orderNo) {
 | 
											
												
													
														|  | 
 |  | +        log.info("根据订单号查询订单,订单号: {}", orderNo);
 | 
											
												
													
														|  | 
 |  | +        String url = WxConstants.BASE_URL.concat("/pay/partner/transactions/out-trade-no/".concat(orderNo))
 | 
											
												
													
														|  | 
 |  | +                .concat("?sp_mchid=").concat(WxConstants.SP_MCH_ID)
 | 
											
												
													
														|  | 
 |  | +                .concat("&sub_mchid=").concat(WxConstants.SUB_MCH_ID);
 | 
											
												
													
														|  | 
 |  | +        String res = wechatHttpGet(url);
 | 
											
												
													
														|  | 
 |  | +        log.info("查询订单结果:{}", res);
 | 
											
												
													
														|  | 
 |  | +        Map<String, Object> resMap = JSONObject.parseObject(res, new TypeReference<Map<String, Object>>() {
 | 
											
												
													
														|  | 
 |  | +        });
 | 
											
												
													
														|  | 
 |  | +        String outTradeNo = resMap.get("out_trade_no").toString();
 | 
											
												
													
														|  | 
 |  | +        String appId = resMap.get("sp_appid").toString();
 | 
											
												
													
														|  | 
 |  | +        String mchId = resMap.get("sp_mchid").toString();
 | 
											
												
													
														|  | 
 |  | +        String subMchId = resMap.get("sub_mchid").toString();
 | 
											
												
													
														|  | 
 |  | +        // 支付后才返回参数
 | 
											
												
													
														|  | 
 |  | +        Object payer = resMap.get("payer");
 | 
											
												
													
														|  | 
 |  | +        Object attach = resMap.get("attach");
 | 
											
												
													
														|  | 
 |  | +        /*
 | 
											
												
													
														|  | 
 |  | +                  交易状态,枚举值:
 | 
											
												
													
														|  | 
 |  | +                  SUCCESS:支付成功
 | 
											
												
													
														|  | 
 |  | +                  REFUND:转入退款
 | 
											
												
													
														|  | 
 |  | +                  NOTPAY:未支付
 | 
											
												
													
														|  | 
 |  | +                  CLOSED:已关闭
 | 
											
												
													
														|  | 
 |  | +                  REVOKED:已撤销(仅付款码支付会返回)
 | 
											
												
													
														|  | 
 |  | +                  USERPAYING:用户支付中(仅付款码支付会返回)
 | 
											
												
													
														|  | 
 |  | +                  PAYERROR:支付失败(仅付款码支付会返回)
 | 
											
												
													
														|  | 
 |  | +         */
 | 
											
												
													
														|  | 
 |  | +        String tradeState = resMap.get("trade_state").toString();
 | 
											
												
													
														|  | 
 |  | +        log.info("outTradeNo:" + outTradeNo);
 | 
											
												
													
														|  | 
 |  | +        log.info("appId:" + appId);
 | 
											
												
													
														|  | 
 |  | +        log.info("mchId:" + mchId);
 | 
											
												
													
														|  | 
 |  | +        log.info("tradeState:" + tradeState);
 | 
											
												
													
														|  | 
 |  | +        log.info("payer:" + payer);
 | 
											
												
													
														|  | 
 |  | +        log.info("payer:" + attach);
 | 
											
												
													
														|  | 
 |  | +        log.info("subMchId:" + subMchId);
 | 
											
												
													
														|  | 
 |  | +        return resMap;
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |      /**
 |  |      /**
 | 
											
												
													
														|  |       * 关闭(取消)订单
 |  |       * 关闭(取消)订单
 | 
											
												
													
														|  |       *
 |  |       *
 |