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

Commit 5c7b9ce5 authored by anjiabin's avatar anjiabin

sync 增加日志

parent fc780867
......@@ -126,20 +126,6 @@ public class KylinOrderTicketsController {
}
@GetMapping("checkPayment")
@ApiOperation("订单状态")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<HashMap> checkOrderResult(@RequestParam("orderId") @NotNull(message = "订单id不能为空") String orderId) {
Integer status = orderTicketsService.checkOrderResult(orderId).getData();
if (null == status) {
return ResponseDto.failure(ErrorMapping.get("20003"));
} else {
HashMap<String, Integer> map = new HashMap<>();
map.put("status", status);
return ResponseDto.success(map);
}
}
@GetMapping("orderUnPayCount")
@ApiOperation("待支付演出订单数量")
@ApiResponse(code = 200, message = "接口返回对象参数")
......
......@@ -700,153 +700,159 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
@Override
public String syncOrder(SyncOrderParam syncOrderParam) {
//支付时间
LocalDateTime now = LocalDateTime.now();
String lock = "order_lock:" + syncOrderParam.getOrder_code();
if (!redisLockUtil.tryLock(lock, 1, 5)) {
return "fail";//参数错误
}
String timePay = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
KylinOrderTicketVo orderTicketData = mongoTemplate.findOne(Query.query(Criteria.where("orderCode").is(syncOrderParam.getOrder_code())), KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
if (orderTicketData == null) {
redisLockUtil.unlock(lock);
return "fail";//订单不存在
}
try {
//支付时间
LocalDateTime now = LocalDateTime.now();
String lock = "order_lock:" + syncOrderParam.getOrder_code();
if (!redisLockUtil.tryLock(lock, 1, 5)) {
return "fail";//参数错误
}
if (orderTicketData.getStatus() != KylinTableStatusConst.ORDER_STATUS0) {
if (orderTicketData.getPayCode().equals(syncOrderParam.getCode()) && orderTicketData.getStatus() == KylinTableStatusConst.ORDER_STATUS1) {
String timePay = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
KylinOrderTicketVo orderTicketData = mongoTemplate.findOne(Query.query(Criteria.where("orderCode").is(syncOrderParam.getOrder_code())), KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
if (orderTicketData == null) {
redisLockUtil.unlock(lock);
return "success";//已经支付
return "fail";//订单不存在
}
if (!orderTicketData.getPayCode().equals(syncOrderParam.getCode())) {
redisLockUtil.unlock(lock);
return "fail";//重复支付
if (orderTicketData.getStatus() != KylinTableStatusConst.ORDER_STATUS0) {
if (orderTicketData.getPayCode().equals(syncOrderParam.getCode()) && orderTicketData.getStatus() == KylinTableStatusConst.ORDER_STATUS1) {
redisLockUtil.unlock(lock);
return "success";//已经支付
}
if (!orderTicketData.getPayCode().equals(syncOrderParam.getCode())) {
redisLockUtil.unlock(lock);
return "fail";//重复支付
}
}
}
if (orderTicketData.getPriceActual().compareTo(syncOrderParam.getPrice()) != 0) {
redisLockUtil.unlock(lock);
return "fail";//价格不符
}
if (orderTicketData.getPriceActual().compareTo(syncOrderParam.getPrice()) != 0) {
redisLockUtil.unlock(lock);
return "fail";//价格不符
}
LinkedList<String> sqls = new LinkedList<>();
LinkedList<Object[]> sqlsDataA = new LinkedList<>();
LinkedList<Object[]> sqlsDataB = new LinkedList<>();
LinkedList<Object[]> sqlsDataC = new LinkedList<>();
LinkedList<Object[]> sqlsDataD = new LinkedList<>();
LinkedList<String> sqls = new LinkedList<>();
LinkedList<Object[]> sqlsDataA = new LinkedList<>();
LinkedList<Object[]> sqlsDataB = new LinkedList<>();
LinkedList<Object[]> sqlsDataC = new LinkedList<>();
LinkedList<Object[]> sqlsDataD = new LinkedList<>();
LocalDateTime strTime = orderTicketData.getChangeDate();
LocalDateTime strTime = orderTicketData.getChangeDate();
KylinOrderTickets orderTickets = new KylinOrderTickets();
KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus();
KylinOrderTicketEntities orderTicketEntities = new KylinOrderTicketEntities();
KylinOrderTickets orderTickets = new KylinOrderTickets();
KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus();
KylinOrderTicketEntities orderTicketEntities = new KylinOrderTicketEntities();
if (orderTicketData.getStatus() == 2) {
mongoVoUtils.resetOrderListVo(orderTicketData.getUserId(), 2, orderTicketData.getOrderTicketsId(), null);
log.error("订单号位 {} 的订单超时支付", syncOrderParam.getOrder_code());
orderRefundsCallbackService.refundApply(orderTicketData.getOrderTicketsId());
} else if (orderTicketData.getStatus() == 3 || orderTicketData.getStatus() == 4) {
log.error("订单号位 {} 的订单正在退款 或者已退款", syncOrderParam.getOrder_code());
} else {
orderTickets.setOrderTicketsId(orderTicketData.getOrderTicketsId());
orderTickets.setPaymentType(syncOrderParam.getPayment_type());
orderTickets.setPayCode(syncOrderParam.getCode());
orderTickets.setTimePay(timePay);
orderTickets.setQrCode(IDGenerator.ticketQrCode(orderTicketData.getOrderTicketsId()));
orderTickets.setUpdatedAt(now);
sqls.add(SqlMapping.get("kylin_order_ticket.synPay"));
sqlsDataA.add(orderTickets.getSynOrderObject(strTime, strTime));
orderTicketStatus.setOrderId(orderTicketData.getOrderTicketsId());
orderTicketStatus.setStatus(KylinTableStatusConst.ORDER_STATUS1);
orderTicketStatus.setPayStatus(syncOrderParam.getStatus());
orderTicketStatus.setUpdatedAt(orderTickets.getUpdatedAt());
sqls.add(SqlMapping.get("kylin_order_ticket_status.synPay"));
sqlsDataB.add(orderTicketStatus.getSynOrderObject(strTime, strTime));
sqls.add(SqlMapping.get("kylin_order_ticket_relation.synPay"));
sqlsDataC.add(new Object[]{orderTickets.getUpdatedAt(), orderTickets.getOrderTicketsId(), strTime, strTime});
orderTicketEntities.setOrderId(orderTicketData.getOrderTicketsId());
orderTicketEntities.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT1);
orderTicketEntities.setUpdatedAt(orderTickets.getUpdatedAt());
sqls.add(SqlMapping.get("kylin_order_ticket_entities.synPay"));
sqlsDataD.add(orderTicketEntities.getSynOrderObject(strTime, strTime));
//vo
HashMap<String, Object> orderTicketVo = new HashMap<>();
orderTicketVo.put("paymentType", orderTickets.getPaymentType());
orderTicketVo.put("payCode", orderTickets.getPayCode());
orderTicketVo.put("timePay", orderTickets.getTimePay());
orderTicketVo.put("qrCode", orderTickets.getQrCode());
orderTicketVo.put("status", KylinTableStatusConst.ORDER_STATUS1);
orderTicketVo.put("payStatus", orderTicketStatus.getStatus());
orderTicketVo.put("updatedAt", timePay);
orderTicketVo.put("changeDate", now);
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketsId").is(orderTickets.getOrderTicketsId())).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(orderTicketVo))
);
if (orderTicketData.getStatus() == 2) {
mongoVoUtils.resetOrderListVo(orderTicketData.getUserId(), 2, orderTicketData.getOrderTicketsId(), null);
log.error("订单号位 {} 的订单超时支付", syncOrderParam.getOrder_code());
orderRefundsCallbackService.refundApply(orderTicketData.getOrderTicketsId());
} else if (orderTicketData.getStatus() == 3 || orderTicketData.getStatus() == 4) {
log.error("订单号位 {} 的订单正在退款 或者已退款", syncOrderParam.getOrder_code());
} else {
orderTickets.setOrderTicketsId(orderTicketData.getOrderTicketsId());
orderTickets.setPaymentType(syncOrderParam.getPayment_type());
orderTickets.setPayCode(syncOrderParam.getCode());
orderTickets.setTimePay(timePay);
orderTickets.setQrCode(IDGenerator.ticketQrCode(orderTicketData.getOrderTicketsId()));
orderTickets.setUpdatedAt(now);
sqls.add(SqlMapping.get("kylin_order_ticket.synPay"));
sqlsDataA.add(orderTickets.getSynOrderObject(strTime, strTime));
orderTicketStatus.setOrderId(orderTicketData.getOrderTicketsId());
orderTicketStatus.setStatus(KylinTableStatusConst.ORDER_STATUS1);
orderTicketStatus.setPayStatus(syncOrderParam.getStatus());
orderTicketStatus.setUpdatedAt(orderTickets.getUpdatedAt());
sqls.add(SqlMapping.get("kylin_order_ticket_status.synPay"));
sqlsDataB.add(orderTicketStatus.getSynOrderObject(strTime, strTime));
sqls.add(SqlMapping.get("kylin_order_ticket_relation.synPay"));
sqlsDataC.add(new Object[]{orderTickets.getUpdatedAt(), orderTickets.getOrderTicketsId(), strTime, strTime});
orderTicketEntities.setOrderId(orderTicketData.getOrderTicketsId());
orderTicketEntities.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT1);
orderTicketEntities.setUpdatedAt(orderTickets.getUpdatedAt());
sqls.add(SqlMapping.get("kylin_order_ticket_entities.synPay"));
sqlsDataD.add(orderTicketEntities.getSynOrderObject(strTime, strTime));
//vo
HashMap<String, Object> orderTicketVo = new HashMap<>();
orderTicketVo.put("paymentType", orderTickets.getPaymentType());
orderTicketVo.put("payCode", orderTickets.getPayCode());
orderTicketVo.put("timePay", orderTickets.getTimePay());
orderTicketVo.put("qrCode", orderTickets.getQrCode());
orderTicketVo.put("status", KylinTableStatusConst.ORDER_STATUS1);
orderTicketVo.put("payStatus", orderTicketStatus.getStatus());
orderTicketVo.put("updatedAt", timePay);
orderTicketVo.put("changeDate", now);
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketsId").is(orderTickets.getOrderTicketsId())).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(orderTicketVo))
);
HashMap<String, Object> orderTicketEntitiesVo = new HashMap<>();
orderTicketEntitiesVo.put("isPayment", KylinTableStatusConst.ENTITIES_IS_PAYMENT1);
orderTicketEntitiesVo.put("updatedAt", timePay);
orderTicketEntitiesVo.put("changeDate", now);
mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("orderId").is(orderTicketData.getOrderTicketsId())).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(orderTicketEntitiesVo))
);
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY, MQConst.ROUTING_KEY_SQL_ORDER_PAY,
SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC, sqlsDataD));
HashMap<String, Object> orderTicketEntitiesVo = new HashMap<>();
orderTicketEntitiesVo.put("isPayment", KylinTableStatusConst.ENTITIES_IS_PAYMENT1);
orderTicketEntitiesVo.put("updatedAt", timePay);
orderTicketEntitiesVo.put("changeDate", now);
mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("orderId").is(orderTicketData.getOrderTicketsId())).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(orderTicketEntitiesVo))
);
//生成vo redis
dataUtils.delOrderTicketRedis(orderTickets.getOrderTicketsId());
mongoVoUtils.resetOrderListVo(orderTicketData.getUserId(), 2, orderTicketData.getOrderTicketsId(), null);
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY, MQConst.ROUTING_KEY_SQL_ORDER_PAY,
SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC, sqlsDataD));
// 发短信
KylinPerformanceVo performanceData = dataUtils.getPerformanceVo(orderTicketData.getPerformanceId());
KylinTicketTimesVo ticketTimesData = null;
KylinTicketVo ticketData = null;
for (int x = 0; x < performanceData.getTicketTimeList().size(); x++) {
KylinTicketTimesVo timeItem = performanceData.getTicketTimeList().get(x);
if (timeItem.getTimeId().equals(orderTicketData.getTimeId())) {
ticketTimesData = timeItem;
for (int y = 0; y < ticketTimesData.getTicketList().size(); y++) {
KylinTicketVo ticketItem = ticketTimesData.getTicketList().get(y);
if (ticketItem.getTicketsId().equals(orderTicketData.getTicketId())) {
ticketData = ticketItem;
break;
//生成vo redis
dataUtils.delOrderTicketRedis(orderTickets.getOrderTicketsId());
mongoVoUtils.resetOrderListVo(orderTicketData.getUserId(), 2, orderTicketData.getOrderTicketsId(), null);
// 发短信
KylinPerformanceVo performanceData = dataUtils.getPerformanceVo(orderTicketData.getPerformanceId());
KylinTicketTimesVo ticketTimesData = null;
KylinTicketVo ticketData = null;
for (int x = 0; x < performanceData.getTicketTimeList().size(); x++) {
KylinTicketTimesVo timeItem = performanceData.getTicketTimeList().get(x);
if (timeItem.getTimeId().equals(orderTicketData.getTimeId())) {
ticketTimesData = timeItem;
for (int y = 0; y < ticketTimesData.getTicketList().size(); y++) {
KylinTicketVo ticketItem = ticketTimesData.getTicketList().get(y);
if (ticketItem.getTicketsId().equals(orderTicketData.getTicketId())) {
ticketData = ticketItem;
break;
}
}
break;
}
break;
}
}
MessageDataVo dataVo = new MessageDataVo();
dataVo.setName(orderTicketData.getPerformanceTitle());
String time1 = DateUtil.format(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketData.getUseStart()), DateUtil.Formatter.yyyy_MM_dd);
String time2 = DateUtil.format(DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceData.getTimeStart()), DateUtil.Formatter.HHmm);
dataVo.setTime(time1 + " " + time2);
MessageConfigVo configVo = new MessageConfigVo();
configVo.setStatus(true);
if (orderTicketData.getGetTicketType().equals("express")) {
configVo.setId("SMS_181490473");
} else if (orderTicketData.getGetTicketType().equals("electronic")) {
configVo.setId(ticketData.getIsShowCode() == 1 ? "SMS_171358560" : "SMS_181500419");
}
MessageDataVo dataVo = new MessageDataVo();
dataVo.setName(orderTicketData.getPerformanceTitle());
String time1 = DateUtil.format(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketData.getUseStart()), DateUtil.Formatter.yyyy_MM_dd);
String time2 = DateUtil.format(DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceData.getTimeStart()), DateUtil.Formatter.HHmm);
dataVo.setTime(time1 + " " + time2);
MessageConfigVo configVo = new MessageConfigVo();
configVo.setStatus(true);
if (orderTicketData.getGetTicketType().equals("express")) {
configVo.setId("SMS_181490473");
} else if (orderTicketData.getGetTicketType().equals("electronic")) {
configVo.setId(ticketData.getIsShowCode() == 1 ? "SMS_171358560" : "SMS_181500419");
}
// otherUtils.sendMessage(orderTicketData.getUserMobile(), dataVo, configVo, 1);
// 大麦回调
sycDamaiOrder(orderTickets.getOrderTicketsId());
// 大麦回调
sycDamaiOrder(orderTickets.getOrderTicketsId());
}
redisLockUtil.unlock(lock);
log.info(UserPathDto.setData("订单支付成功回调", syncOrderParam, ""));
return "success";
} catch (Exception e) {
log.error("SYNCE ORDER E = "+e.getMessage());
e.printStackTrace();
return "fail";
}
redisLockUtil.unlock(lock);
log.info(UserPathDto.setData("订单支付成功回调", syncOrderParam, ""));
return "success";
}
@Override
......
......@@ -63,4 +63,18 @@ public class KylinOrderTicketsController {
public String syncOrder(@ModelAttribute @Valid SyncOrderParam syncOrderParam) {
return orderTicketsService.syncOrder(syncOrderParam);
}
@GetMapping("checkPayment")
@ApiOperation("订单状态")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<HashMap> checkOrderResult(@RequestParam("orderId") @NotNull(message = "订单id不能为空") String orderId) {
Integer status = orderTicketsService.checkOrderResult(orderId).getData();
if (null == status) {
return ResponseDto.failure(ErrorMapping.get("20003"));
} else {
HashMap<String, Integer> map = new HashMap<>();
map.put("status", status);
return ResponseDto.success(map);
}
}
}
......@@ -708,153 +708,159 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
@Override
public String syncOrder(SyncOrderParam syncOrderParam) {
//支付时间
LocalDateTime now = LocalDateTime.now();
String lock = "order_lock:" + syncOrderParam.getOrder_code();
if (!redisLockUtil.tryLock(lock, 1, 5)) {
return "fail";//参数错误
}
String timePay = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
KylinOrderTicketVo orderTicketData = mongoTemplate.findOne(Query.query(Criteria.where("orderCode").is(syncOrderParam.getOrder_code())), KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
if (orderTicketData == null) {
redisLockUtil.unlock(lock);
return "fail";//订单不存在
}
try {
//支付时间
LocalDateTime now = LocalDateTime.now();
String lock = "order_lock:" + syncOrderParam.getOrder_code();
if (!redisLockUtil.tryLock(lock, 1, 5)) {
return "fail";//参数错误
}
if (orderTicketData.getStatus() != KylinTableStatusConst.ORDER_STATUS0) {
if (orderTicketData.getPayCode().equals(syncOrderParam.getCode()) && orderTicketData.getStatus() == KylinTableStatusConst.ORDER_STATUS1) {
String timePay = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
KylinOrderTicketVo orderTicketData = mongoTemplate.findOne(Query.query(Criteria.where("orderCode").is(syncOrderParam.getOrder_code())), KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
if (orderTicketData == null) {
redisLockUtil.unlock(lock);
return "success";//已经支付
return "fail";//订单不存在
}
if (!orderTicketData.getPayCode().equals(syncOrderParam.getCode())) {
redisLockUtil.unlock(lock);
return "fail";//重复支付
if (orderTicketData.getStatus() != KylinTableStatusConst.ORDER_STATUS0) {
if (orderTicketData.getPayCode().equals(syncOrderParam.getCode()) && orderTicketData.getStatus() == KylinTableStatusConst.ORDER_STATUS1) {
redisLockUtil.unlock(lock);
return "success";//已经支付
}
if (!orderTicketData.getPayCode().equals(syncOrderParam.getCode())) {
redisLockUtil.unlock(lock);
return "fail";//重复支付
}
}
}
if (orderTicketData.getPriceActual().compareTo(syncOrderParam.getPrice()) != 0) {
redisLockUtil.unlock(lock);
return "fail";//价格不符
}
if (orderTicketData.getPriceActual().compareTo(syncOrderParam.getPrice()) != 0) {
redisLockUtil.unlock(lock);
return "fail";//价格不符
}
LinkedList<String> sqls = new LinkedList<>();
LinkedList<Object[]> sqlsDataA = new LinkedList<>();
LinkedList<Object[]> sqlsDataB = new LinkedList<>();
LinkedList<Object[]> sqlsDataC = new LinkedList<>();
LinkedList<Object[]> sqlsDataD = new LinkedList<>();
LinkedList<String> sqls = new LinkedList<>();
LinkedList<Object[]> sqlsDataA = new LinkedList<>();
LinkedList<Object[]> sqlsDataB = new LinkedList<>();
LinkedList<Object[]> sqlsDataC = new LinkedList<>();
LinkedList<Object[]> sqlsDataD = new LinkedList<>();
LocalDateTime strTime = orderTicketData.getChangeDate();
LocalDateTime strTime = orderTicketData.getChangeDate();
KylinOrderTickets orderTickets = new KylinOrderTickets();
KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus();
KylinOrderTicketEntities orderTicketEntities = new KylinOrderTicketEntities();
KylinOrderTickets orderTickets = new KylinOrderTickets();
KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus();
KylinOrderTicketEntities orderTicketEntities = new KylinOrderTicketEntities();
if (orderTicketData.getStatus() == 2) {
mongoVoUtils.resetOrderListVo(orderTicketData.getUserId(), 2, orderTicketData.getOrderTicketsId(), null);
log.error("订单号位 {} 的订单超时支付", syncOrderParam.getOrder_code());
// orderRefundsCallbackService.refundApply(orderTicketData.getOrderTicketsId());
} else if (orderTicketData.getStatus() == 3 || orderTicketData.getStatus() == 4) {
log.error("订单号位 {} 的订单正在退款 或者已退款", syncOrderParam.getOrder_code());
} else {
orderTickets.setOrderTicketsId(orderTicketData.getOrderTicketsId());
orderTickets.setPaymentType(syncOrderParam.getPayment_type());
orderTickets.setPayCode(syncOrderParam.getCode());
orderTickets.setTimePay(timePay);
orderTickets.setQrCode(IDGenerator.ticketQrCode(orderTicketData.getOrderTicketsId()));
orderTickets.setUpdatedAt(now);
sqls.add(SqlMapping.get("kylin_order_ticket.synPay"));
sqlsDataA.add(orderTickets.getSynOrderObject(strTime, strTime));
orderTicketStatus.setOrderId(orderTicketData.getOrderTicketsId());
orderTicketStatus.setStatus(KylinTableStatusConst.ORDER_STATUS1);
orderTicketStatus.setPayStatus(syncOrderParam.getStatus());
orderTicketStatus.setUpdatedAt(orderTickets.getUpdatedAt());
sqls.add(SqlMapping.get("kylin_order_ticket_status.synPay"));
sqlsDataB.add(orderTicketStatus.getSynOrderObject(strTime, strTime));
sqls.add(SqlMapping.get("kylin_order_ticket_relation.synPay"));
sqlsDataC.add(new Object[]{orderTickets.getUpdatedAt(), orderTickets.getOrderTicketsId(), strTime, strTime});
orderTicketEntities.setOrderId(orderTicketData.getOrderTicketsId());
orderTicketEntities.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT1);
orderTicketEntities.setUpdatedAt(orderTickets.getUpdatedAt());
sqls.add(SqlMapping.get("kylin_order_ticket_entities.synPay"));
sqlsDataD.add(orderTicketEntities.getSynOrderObject(strTime, strTime));
//vo
HashMap<String, Object> orderTicketVo = new HashMap<>();
orderTicketVo.put("paymentType", orderTickets.getPaymentType());
orderTicketVo.put("payCode", orderTickets.getPayCode());
orderTicketVo.put("timePay", orderTickets.getTimePay());
orderTicketVo.put("qrCode", orderTickets.getQrCode());
orderTicketVo.put("status", KylinTableStatusConst.ORDER_STATUS1);
orderTicketVo.put("payStatus", orderTicketStatus.getStatus());
orderTicketVo.put("updatedAt", timePay);
orderTicketVo.put("changeDate", now);
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketsId").is(orderTickets.getOrderTicketsId())).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(orderTicketVo))
);
if (orderTicketData.getStatus() == 2) {
mongoVoUtils.resetOrderListVo(orderTicketData.getUserId(), 2, orderTicketData.getOrderTicketsId(), null);
log.error("订单号位 {} 的订单超时支付", syncOrderParam.getOrder_code());
orderRefundsCallbackService.refundApply(orderTicketData.getOrderTicketsId());
} else if (orderTicketData.getStatus() == 3 || orderTicketData.getStatus() == 4) {
log.error("订单号位 {} 的订单正在退款 或者已退款", syncOrderParam.getOrder_code());
} else {
orderTickets.setOrderTicketsId(orderTicketData.getOrderTicketsId());
orderTickets.setPaymentType(syncOrderParam.getPayment_type());
orderTickets.setPayCode(syncOrderParam.getCode());
orderTickets.setTimePay(timePay);
orderTickets.setQrCode(IDGenerator.ticketQrCode(orderTicketData.getOrderTicketsId()));
orderTickets.setUpdatedAt(now);
sqls.add(SqlMapping.get("kylin_order_ticket.synPay"));
sqlsDataA.add(orderTickets.getSynOrderObject(strTime, strTime));
orderTicketStatus.setOrderId(orderTicketData.getOrderTicketsId());
orderTicketStatus.setStatus(KylinTableStatusConst.ORDER_STATUS1);
orderTicketStatus.setPayStatus(syncOrderParam.getStatus());
orderTicketStatus.setUpdatedAt(orderTickets.getUpdatedAt());
sqls.add(SqlMapping.get("kylin_order_ticket_status.synPay"));
sqlsDataB.add(orderTicketStatus.getSynOrderObject(strTime, strTime));
sqls.add(SqlMapping.get("kylin_order_ticket_relation.synPay"));
sqlsDataC.add(new Object[]{orderTickets.getUpdatedAt(), orderTickets.getOrderTicketsId(), strTime, strTime});
orderTicketEntities.setOrderId(orderTicketData.getOrderTicketsId());
orderTicketEntities.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT1);
orderTicketEntities.setUpdatedAt(orderTickets.getUpdatedAt());
sqls.add(SqlMapping.get("kylin_order_ticket_entities.synPay"));
sqlsDataD.add(orderTicketEntities.getSynOrderObject(strTime, strTime));
//vo
HashMap<String, Object> orderTicketVo = new HashMap<>();
orderTicketVo.put("paymentType", orderTickets.getPaymentType());
orderTicketVo.put("payCode", orderTickets.getPayCode());
orderTicketVo.put("timePay", orderTickets.getTimePay());
orderTicketVo.put("qrCode", orderTickets.getQrCode());
orderTicketVo.put("status", KylinTableStatusConst.ORDER_STATUS1);
orderTicketVo.put("payStatus", orderTicketStatus.getStatus());
orderTicketVo.put("updatedAt", timePay);
orderTicketVo.put("changeDate", now);
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketsId").is(orderTickets.getOrderTicketsId())).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(orderTicketVo))
);
HashMap<String, Object> orderTicketEntitiesVo = new HashMap<>();
orderTicketEntitiesVo.put("isPayment", KylinTableStatusConst.ENTITIES_IS_PAYMENT1);
orderTicketEntitiesVo.put("updatedAt", timePay);
orderTicketEntitiesVo.put("changeDate", now);
mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("orderId").is(orderTicketData.getOrderTicketsId())).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(orderTicketEntitiesVo))
);
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY, MQConst.ROUTING_KEY_SQL_ORDER_PAY,
SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC, sqlsDataD));
HashMap<String, Object> orderTicketEntitiesVo = new HashMap<>();
orderTicketEntitiesVo.put("isPayment", KylinTableStatusConst.ENTITIES_IS_PAYMENT1);
orderTicketEntitiesVo.put("updatedAt", timePay);
orderTicketEntitiesVo.put("changeDate", now);
mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("orderId").is(orderTicketData.getOrderTicketsId())).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(orderTicketEntitiesVo))
);
//生成vo redis
dataUtils.delOrderTicketRedis(orderTickets.getOrderTicketsId());
mongoVoUtils.resetOrderListVo(orderTicketData.getUserId(), 2, orderTicketData.getOrderTicketsId(), null);
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY, MQConst.ROUTING_KEY_SQL_ORDER_PAY,
SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC, sqlsDataD));
// 发短信
KylinPerformanceVo performanceData = dataUtils.getPerformanceVo(orderTicketData.getPerformanceId());
KylinTicketTimesVo ticketTimesData = null;
KylinTicketVo ticketData = null;
for (int x = 0; x < performanceData.getTicketTimeList().size(); x++) {
KylinTicketTimesVo timeItem = performanceData.getTicketTimeList().get(x);
if (timeItem.getTimeId().equals(orderTicketData.getTimeId())) {
ticketTimesData = timeItem;
for (int y = 0; y < ticketTimesData.getTicketList().size(); y++) {
KylinTicketVo ticketItem = ticketTimesData.getTicketList().get(y);
if (ticketItem.getTicketsId().equals(orderTicketData.getTicketId())) {
ticketData = ticketItem;
break;
//生成vo redis
dataUtils.delOrderTicketRedis(orderTickets.getOrderTicketsId());
mongoVoUtils.resetOrderListVo(orderTicketData.getUserId(), 2, orderTicketData.getOrderTicketsId(), null);
// 发短信
KylinPerformanceVo performanceData = dataUtils.getPerformanceVo(orderTicketData.getPerformanceId());
KylinTicketTimesVo ticketTimesData = null;
KylinTicketVo ticketData = null;
for (int x = 0; x < performanceData.getTicketTimeList().size(); x++) {
KylinTicketTimesVo timeItem = performanceData.getTicketTimeList().get(x);
if (timeItem.getTimeId().equals(orderTicketData.getTimeId())) {
ticketTimesData = timeItem;
for (int y = 0; y < ticketTimesData.getTicketList().size(); y++) {
KylinTicketVo ticketItem = ticketTimesData.getTicketList().get(y);
if (ticketItem.getTicketsId().equals(orderTicketData.getTicketId())) {
ticketData = ticketItem;
break;
}
}
break;
}
break;
}
}
MessageDataVo dataVo = new MessageDataVo();
dataVo.setName(orderTicketData.getPerformanceTitle());
String time1 = DateUtil.format(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketData.getUseStart()), DateUtil.Formatter.yyyy_MM_dd);
String time2 = DateUtil.format(DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceData.getTimeStart()), DateUtil.Formatter.HHmm);
dataVo.setTime(time1 + " " + time2);
MessageConfigVo configVo = new MessageConfigVo();
configVo.setStatus(true);
if (orderTicketData.getGetTicketType().equals("express")) {
configVo.setId("SMS_181490473");
} else if (orderTicketData.getGetTicketType().equals("electronic")) {
configVo.setId(ticketData.getIsShowCode() == 1 ? "SMS_171358560" : "SMS_181500419");
}
MessageDataVo dataVo = new MessageDataVo();
dataVo.setName(orderTicketData.getPerformanceTitle());
String time1 = DateUtil.format(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketData.getUseStart()), DateUtil.Formatter.yyyy_MM_dd);
String time2 = DateUtil.format(DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceData.getTimeStart()), DateUtil.Formatter.HHmm);
dataVo.setTime(time1 + " " + time2);
MessageConfigVo configVo = new MessageConfigVo();
configVo.setStatus(true);
if (orderTicketData.getGetTicketType().equals("express")) {
configVo.setId("SMS_181490473");
} else if (orderTicketData.getGetTicketType().equals("electronic")) {
configVo.setId(ticketData.getIsShowCode() == 1 ? "SMS_171358560" : "SMS_181500419");
}
// otherUtils.sendMessage(orderTicketData.getUserMobile(), dataVo, configVo, 1);
// 大麦回调
sycDamaiOrder(orderTickets.getOrderTicketsId());
// 大麦回调
sycDamaiOrder(orderTickets.getOrderTicketsId());
}
redisLockUtil.unlock(lock);
log.info(UserPathDto.setData("订单支付成功回调", syncOrderParam, ""));
return "success";
} catch (Exception e) {
log.error("SYNCE ORDER E = "+e.getMessage());
e.printStackTrace();
return "fail";
}
redisLockUtil.unlock(lock);
log.info(UserPathDto.setData("订单支付成功回调", syncOrderParam, ""));
return "success";
}
@Override
......
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