|
@@ -16,6 +16,7 @@ import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
|
|
|
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
|
|
|
import com.github.binarywang.wxpay.bean.result.WxPayOrderQueryResult;
|
|
|
import com.github.binarywang.wxpay.bean.result.WxPayRefundQueryResult;
|
|
|
+import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
|
|
|
import com.github.binarywang.wxpay.constant.WxPayConstants;
|
|
|
import com.github.binarywang.wxpay.exception.WxPayException;
|
|
|
import com.github.binarywang.wxpay.service.WxPayService;
|
|
@@ -63,19 +64,14 @@ public class WechatH5PayController extends BaseController {
|
|
|
String orderId = wxPayFrom.getOrderId();
|
|
|
String openid = wxPayFrom.getOpenid();
|
|
|
String tradeType = wxPayFrom.getTradeType();
|
|
|
- OmsOrder omsOrder = JSON.parseObject(redisUtil.get(OMSORDER + orderId).toString(), OmsOrder.class);
|
|
|
- Integer status = omsOrder.getStatus();
|
|
|
-
|
|
|
- if (status.equals(PayStatusEnum.SUCCESS.getIndex())) {
|
|
|
- throw new RuntimeException("订单已支付");
|
|
|
- }
|
|
|
+
|
|
|
WxPayUnifiedOrderRequest orderRequest = new WxPayUnifiedOrderRequest();
|
|
|
|
|
|
String s = UUIDUtils.randomUUID();
|
|
|
|
|
|
orderRequest.setNonceStr(s);
|
|
|
|
|
|
- String productName = omsOrder.getProductName();
|
|
|
+ String productName = "测试商品";
|
|
|
orderRequest.setBody(productName);
|
|
|
|
|
|
|
|
@@ -85,7 +81,7 @@ public class WechatH5PayController extends BaseController {
|
|
|
orderRequest.setOutTradeNo(orderId);
|
|
|
|
|
|
|
|
|
- BigDecimal money = omsOrder.getPayAmount();
|
|
|
+ BigDecimal money = new BigDecimal("1");
|
|
|
|
|
|
money = money.multiply(new BigDecimal(100));
|
|
|
int i = money.intValue();
|
|
@@ -248,22 +244,27 @@ public class WechatH5PayController extends BaseController {
|
|
|
public ResponseBase refundOrder(@RequestBody RefundOrder refundOrder) {
|
|
|
WxPayRefundRequest refundRequest = new WxPayRefundRequest();
|
|
|
try {
|
|
|
- OmsOrder omsOrder = JSON.parseObject(redisUtil.get(OMSORDER + refundOrder.getOrderId()).toString(), OmsOrder.class);
|
|
|
- refundRequest.setOutTradeNo(refundOrder.getOrderId());
|
|
|
GeneratorIdUtils generatorIdUtils = new GeneratorIdUtils();
|
|
|
String refundNo = generatorIdUtils.nextId();
|
|
|
+ refundRequest.setOutTradeNo(refundOrder.getOrderId());
|
|
|
refundRequest.setOutRefundNo(refundNo);
|
|
|
refundRequest.setRefundDesc(refundOrder.getRefundDesc());
|
|
|
- refundRequest.setTotalFee(omsOrder.getTotalAmount().intValue());
|
|
|
+ refundRequest.setTotalFee(1);
|
|
|
refundRequest.setRefundFee(refundRequest.getTotalFee());
|
|
|
refundRequest.setOpUserId(refundRequest.getMchId());
|
|
|
refundRequest.setNotifyUrl(wxpayRefundCallBackUrl);
|
|
|
- wxPayService.refund(refundRequest);
|
|
|
+ WxPayRefundResult refund = wxPayService.refund(refundRequest);
|
|
|
+ String errCode = refund.getReturnCode();
|
|
|
+ String returnMsg = refund.getReturnMsg();
|
|
|
+ if("SUCCESS".equals(errCode)){
|
|
|
+ return responseSuccess(success("申请退款成功"));
|
|
|
+ }else{
|
|
|
+ return responseSuccess(error(returnMsg));
|
|
|
+ }
|
|
|
} catch (WxPayException e) {
|
|
|
e.printStackTrace();
|
|
|
return responseError(500, "申请退款异常");
|
|
|
}
|
|
|
- return responseSuccess(new ResultVO());
|
|
|
}
|
|
|
|
|
|
|