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

Commit 65c07fcc authored by 胡佳晨's avatar 胡佳晨

提交 order 回调

parent 18e6758a
...@@ -27,7 +27,7 @@ public interface IKylinOrderTicketsOrderService { ...@@ -27,7 +27,7 @@ public interface IKylinOrderTicketsOrderService {
ResponseDto<PayInnerResultVo> payAgain(PayAgainParam payAgainParam); ResponseDto<PayInnerResultVo> payAgain(PayAgainParam payAgainParam);
// 支付回调(待支付->已支付->中断倒计时) // 支付回调(待支付->已支付->中断倒计时)
String syncOrder(SyncOrderDtoParam syncOrderParam); String syncOrder(SyncOrderParam syncOrderParam);
//去 PHP pay检查 订单状态 //去 PHP pay检查 订单状态
ResponseDto<Integer> checkOrderResult(String orderId); ResponseDto<Integer> checkOrderResult(String orderId);
......
...@@ -70,7 +70,7 @@ public class KylinOrderTicketsController { ...@@ -70,7 +70,7 @@ public class KylinOrderTicketsController {
@PostMapping("syncOrder") @PostMapping("syncOrder")
@ApiOperation("支付回调") @ApiOperation("支付回调")
@ApiResponse(code = 200, message = "接口返回对象参数") @ApiResponse(code = 200, message = "接口返回对象参数")
public String syncOrder(@ModelAttribute @Valid SyncOrderDtoParam syncOrderParam) { public String syncOrder(@ModelAttribute @Valid SyncOrderParam syncOrderParam) {
return orderTicketsOrderService.syncOrder(syncOrderParam); return orderTicketsOrderService.syncOrder(syncOrderParam);
} }
......
...@@ -717,18 +717,18 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -717,18 +717,18 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
} }
@Override @Override
public String syncOrder(SyncOrderDtoParam syncOrderParam) { public String syncOrder(SyncOrderParam syncOrderParam) {
try { try {
log.debug("SYNC PARAM = " + syncOrderParam.toString()); log.debug("SYNC PARAM = " + syncOrderParam.toString());
//支付时间 //支付时间
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
String lock = "order_lock:" + syncOrderParam.getData().getOrderCode(); String lock = "order_lock:" + syncOrderParam.getOrderCode();
if (!redisLockUtil.tryLock(lock, 1, 5)) { if (!redisLockUtil.tryLock(lock, 1, 5)) {
return "fail";//参数错误 return "fail";//参数错误
} }
String timePay = DateUtil.Formatter.yyyyMMddHHmmss.format(now); String timePay = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
KylinOrderTicketVo orderTicketData = mongoTemplate.findOne(Query.query(Criteria.where("orderCode").is(syncOrderParam.getData().getOrderCode())), KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName()); KylinOrderTicketVo orderTicketData = mongoTemplate.findOne(Query.query(Criteria.where("orderCode").is(syncOrderParam.getOrderCode())), KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
if (orderTicketData == null) { if (orderTicketData == null) {
redisLockUtil.unlock(lock); redisLockUtil.unlock(lock);
return "fail";//订单不存在 return "fail";//订单不存在
...@@ -746,7 +746,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -746,7 +746,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
} }
} }
if (orderTicketData.getPriceActual().compareTo(syncOrderParam.getData().getPrice()) != 0) { if (orderTicketData.getPriceActual().compareTo(syncOrderParam.getPrice()) != 0) {
redisLockUtil.unlock(lock); redisLockUtil.unlock(lock);
return "fail";//价格不符 return "fail";//价格不符
} }
...@@ -765,24 +765,24 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -765,24 +765,24 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
if (orderTicketData.getStatus() == 2) { if (orderTicketData.getStatus() == 2) {
orderUtils.resetOrderListVo(orderTicketData.getUserId(), 2, orderTicketData.getOrderTicketsId(), null); orderUtils.resetOrderListVo(orderTicketData.getUserId(), 2, orderTicketData.getOrderTicketsId(), null);
log.error("订单号位 {} 的订单超时支付", syncOrderParam.getData().getOrderCode()); log.error("订单号位 {} 的订单超时支付", syncOrderParam.getOrderCode());
orderRefundsCallbackService.refundApply(orderTicketData.getOrderTicketsId()); orderRefundsCallbackService.refundApply(orderTicketData.getOrderTicketsId());
} else if (orderTicketData.getStatus() == 3 || orderTicketData.getStatus() == 4) { } else if (orderTicketData.getStatus() == 3 || orderTicketData.getStatus() == 4) {
log.error("订单号位 {} 的订单正在退款 或者已退款", syncOrderParam.getData().getOrderCode()); log.error("订单号位 {} 的订单正在退款 或者已退款", syncOrderParam.getOrderCode());
} else { } else {
orderTickets.setOrderTicketsId(orderTicketData.getOrderTicketsId()); orderTickets.setOrderTicketsId(orderTicketData.getOrderTicketsId());
orderTickets.setPaymentType(syncOrderParam.getData().getPaymentType()); orderTickets.setPaymentType(syncOrderParam.getPaymentType());
orderTickets.setPayCode(syncOrderParam.getCode()); orderTickets.setPayCode(syncOrderParam.getCode());
orderTickets.setTimePay(timePay); orderTickets.setTimePay(timePay);
orderTickets.setQrCode(IDGenerator.ticketQrCode(orderTicketData.getOrderTicketsId())); orderTickets.setQrCode(IDGenerator.ticketQrCode(orderTicketData.getOrderTicketsId()));
orderTickets.setUpdatedAt(now); orderTickets.setUpdatedAt(now);
orderTickets.setPaymentId(syncOrderParam.getData().getPaymentId()); orderTickets.setPaymentId(syncOrderParam.getPaymentId());
sqls.add(SqlMapping.get("kylin_order_ticket.synPay")); sqls.add(SqlMapping.get("kylin_order_ticket.synPay"));
sqlsDataA.add(orderTickets.getSynOrderObject(strTime, strTime)); sqlsDataA.add(orderTickets.getSynOrderObject(strTime, strTime));
orderTicketStatus.setOrderId(orderTicketData.getOrderTicketsId()); orderTicketStatus.setOrderId(orderTicketData.getOrderTicketsId());
orderTicketStatus.setStatus(KylinTableStatusConst.ORDER_STATUS1); orderTicketStatus.setStatus(KylinTableStatusConst.ORDER_STATUS1);
orderTicketStatus.setPayStatus(syncOrderParam.getData().getStatus()); orderTicketStatus.setPayStatus(syncOrderParam.getStatus());
orderTicketStatus.setUpdatedAt(orderTickets.getUpdatedAt()); orderTicketStatus.setUpdatedAt(orderTickets.getUpdatedAt());
sqls.add(SqlMapping.get("kylin_order_ticket_status.synPay")); sqls.add(SqlMapping.get("kylin_order_ticket_status.synPay"));
sqlsDataB.add(orderTicketStatus.getSynOrderObject(strTime, strTime)); sqlsDataB.add(orderTicketStatus.getSynOrderObject(strTime, strTime));
...@@ -901,8 +901,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -901,8 +901,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
return ResponseDto.failure(ErrorMapping.get("20024")); return ResponseDto.failure(ErrorMapping.get("20024"));
} else { } else {
String returnCheckData = HttpUtil.get(checkUrl + "?code=" + orderTicketData.getPayCode(), null); String returnCheckData = HttpUtil.get(checkUrl + "?code=" + orderTicketData.getPayCode(), null);
PayResultVo checkVo = JsonUtils.fromJson(returnCheckData, PayResultVo.class); SyncOrderDtoParam syncOrderDtoParam = JsonUtils.fromJson(returnCheckData, SyncOrderDtoParam.class);
if (checkVo.getData().getStatus() == 1) { if (syncOrderDtoParam.getData().getStatus() == 1) {
//处理订单
syncOrder(syncOrderDtoParam.getData());
return ResponseDto.success(1); return ResponseDto.success(1);
} else { } else {
return ResponseDto.success(0); return ResponseDto.success(0);
......
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