记得上下班打卡 | git大法好,push需谨慎

Commit 78e95f57 authored by 张国柄's avatar 张国柄

Merge branch 'dev' into test

parents f2e11462 81b616f8
...@@ -22,6 +22,6 @@ public interface IDragonOrderRefundsService { ...@@ -22,6 +22,6 @@ public interface IDragonOrderRefundsService {
String wePayRefundCallBack(HttpServletRequest request , HttpServletResponse response); String wePayRefundCallBack(HttpServletRequest request , HttpServletResponse response);
String aliPayRefundCodeStatus(String outTradeNo ,String tradeNo ,String outBizNo,String callBackUrl);
} }
...@@ -46,4 +46,16 @@ public class RefundController { ...@@ -46,4 +46,16 @@ public class RefundController {
return orderRefundsService.wePayRefundCallBack(request, response); return orderRefundsService.wePayRefundCallBack(request, response);
} }
@PostMapping("refund/alipay/result")
@ApiOperation("支付宝查询退款结果")
@ApiResponse(code = 200, message = "接口返回对象参数")
public String refundSingle(
@RequestParam(value = "orderCode") String orderCode,
@RequestParam(value = "paymentId") String paymentId,
@RequestParam(value = "orderRefundCode") String orderRefundCode,
@RequestParam(value = "callBackUrl") String callBackUrl) {
return orderRefundsService.aliPayRefundCodeStatus(orderCode, paymentId, orderRefundCode, callBackUrl);
}
} }
...@@ -384,7 +384,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService ...@@ -384,7 +384,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
dto.setRefundAt(refundAt); dto.setRefundAt(refundAt);
dto.setRefundError(callBackDto.getReturnMsg()); dto.setRefundError(callBackDto.getReturnMsg());
log.debug("SEND WEPAY NOTIFTURL = " + JSON.toJSONString(dto)); log.debug("SEND WEPAY NOTIFTURL = " + JSON.toJSONString(dto));
sendNotifyUrl(dto); sendNotifyUrl(dto,null);
mqHandleUtil.sendMySqlRedis( mqHandleUtil.sendMySqlRedis(
SqlMapping.get("dragon_order_refund_log.insert"), SqlMapping.get("dragon_order_refund_log.insert"),
...@@ -412,6 +412,63 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService ...@@ -412,6 +412,63 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
} }
} }
@Override
public String aliPayRefundCodeStatus(String outTradeNo, String tradeNo, String outBizNo,String callBackUrl) {
try {
LocalDateTime nowTime = LocalDateTime.now();
AlipayTradeFastpayRefundQueryRequest request = new AlipayTradeFastpayRefundQueryRequest();//创建API对应的request类
request.setBizContent("{" +
"\"out_trade_no\":\"" + outTradeNo + "\"," +
"\"trade_no\":\"" + tradeNo + "\"," +
"\"out_request_no\":\"" + outBizNo + "\"}"); //设置业务参数
AlipayTradeFastpayRefundQueryResponse response = PayAlipayUtils.getInstance().getHttpClient().execute(request);
log.info("AlipayTradeFastpayRefundQueryRequest -> data = " + JSON.toJSONString(response));
if (response.isSuccess()) {
try {
NotifyUrlDto dto = new NotifyUrlDto();
if (response.getMsg().equalsIgnoreCase("SUCCESS")) {
dto.setStatus(1);
} else {
dto.setStatus(0);
}
dto.setOrderRefundCode(response.getOutRequestNo());
dto.setRefundCode(response.getOutTradeNo());
dto.setRefundPrice(response.getRefundAmount());
dto.setRefundAt(DateUtil.format(response.getGmtRefundPay(), DateUtil.Formatter.yyyyMMddHHmmss));
dto.setRefundPrice(response.getRefundAmount());
dto.setRefundError("");
sendNotifyUrl(dto,callBackUrl);
mqHandleUtil.sendMySqlRedis(
SqlMapping.get("dragon_order_refund_log.insert"),
new Object[]{outBizNo, "ALIPAY", JSON.toJSONString(response), nowTime, nowTime},
DragonConstant.MysqlRedisQueueEnum.DRAGON_REFUND_KEY.getCode()
);
mqHandleUtil.sendMySqlRedis(
SqlMapping.get("dragon_order_refund_success.update"),
new Object[]{nowTime, DateUtil.format(response.getGmtRefundPay(), DateUtil.Formatter.yyyyMMddHHmmss), DragonConstant.RefundStatusEnum.STATUS_REFUNDED.getCode(), response.getOutRequestNo()},
DragonConstant.MysqlRedisQueueEnum.DRAGON_REFUND_KEY.getCode()
);
return "success";
} catch (Exception e) {
e.printStackTrace();
log.error("");
return "fail";
}
} else {
log.error("response.isSuccess() -> fail ");
return "fail";
}
}catch (Exception e){
}
return null;
}
public String aliPayRefundCallBack(String jsonStr) { public String aliPayRefundCallBack(String jsonStr) {
LocalDateTime nowTime = LocalDateTime.now(); LocalDateTime nowTime = LocalDateTime.now();
try { try {
...@@ -426,7 +483,6 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService ...@@ -426,7 +483,6 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
if (response.isSuccess()) { if (response.isSuccess()) {
try { try {
NotifyUrlDto dto = new NotifyUrlDto(); NotifyUrlDto dto = new NotifyUrlDto();
if (response.getMsg().equalsIgnoreCase("SUCCESS")) { if (response.getMsg().equalsIgnoreCase("SUCCESS")) {
dto.setStatus(1); dto.setStatus(1);
...@@ -440,7 +496,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService ...@@ -440,7 +496,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
dto.setRefundPrice(response.getRefundAmount()); dto.setRefundPrice(response.getRefundAmount());
dto.setRefundError(""); dto.setRefundError("");
log.debug("SEND ALIPAY NOTIFTURL = " + JSON.toJSONString(dto)); log.debug("SEND ALIPAY NOTIFTURL = " + JSON.toJSONString(dto));
sendNotifyUrl(dto); sendNotifyUrl(dto,null);
mqHandleUtil.sendMySqlRedis( mqHandleUtil.sendMySqlRedis(
SqlMapping.get("dragon_order_refund_log.insert"), SqlMapping.get("dragon_order_refund_log.insert"),
...@@ -471,7 +527,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService ...@@ -471,7 +527,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
} }
} }
private void sendNotifyUrl(NotifyUrlDto notifyUrlDto) { private void sendNotifyUrl(NotifyUrlDto notifyUrlDto,String url) {
LocalDateTime nowTime = LocalDateTime.now(); LocalDateTime nowTime = LocalDateTime.now();
MultiValueMap<String, String> params = new LinkedMultiValueMap(); MultiValueMap<String, String> params = new LinkedMultiValueMap();
params.add("orderRefundCode", notifyUrlDto.getOrderRefundCode()); params.add("orderRefundCode", notifyUrlDto.getOrderRefundCode());
...@@ -480,8 +536,8 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService ...@@ -480,8 +536,8 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
params.add("refundError", notifyUrlDto.getRefundError()); params.add("refundError", notifyUrlDto.getRefundError());
params.add("refundPrice", notifyUrlDto.getRefundPrice()); params.add("refundPrice", notifyUrlDto.getRefundPrice());
params.add("status", notifyUrlDto.getStatus().toString()); params.add("status", notifyUrlDto.getStatus().toString());
String response = HttpUtil.post(dataUtils.getRefundNotifyUrl(DragonConstant.REFUND_REDIS_KET + notifyUrlDto.getOrderRefundCode()), params); String response = HttpUtil.post(url==null?dataUtils.getRefundNotifyUrl(DragonConstant.REFUND_REDIS_KET + notifyUrlDto.getOrderRefundCode()):url, params);
log.debug("RETURN RESPONSE=" + response); log.info("RETURN RESPONSE=" + response);
if (response.equals("success")) { if (response.equals("success")) {
mqHandleUtil.sendMySqlRedis( mqHandleUtil.sendMySqlRedis(
SqlMapping.get("dragon_order_refund_call_back.update"), SqlMapping.get("dragon_order_refund_call_back.update"),
...@@ -496,4 +552,5 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService ...@@ -496,4 +552,5 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
); );
} }
} }
} }
...@@ -412,6 +412,11 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService ...@@ -412,6 +412,11 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
} }
} }
@Override
public String aliPayRefundCodeStatus(String outTradeNo, String tradeNo, String outBizNo,String callBackUrl) {
return null;
}
public String aliPayRefundCallBack(String jsonStr) { public String aliPayRefundCallBack(String jsonStr) {
LocalDateTime nowTime = LocalDateTime.now(); LocalDateTime nowTime = LocalDateTime.now();
try { try {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment