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

Commit feb94f98 authored by 胡佳晨's avatar 胡佳晨

超时支付 上线接口修改

parent d5ae755b
...@@ -29,6 +29,7 @@ import com.liquidnet.service.kylin.dto.vo.returns.PayResultVo; ...@@ -29,6 +29,7 @@ import com.liquidnet.service.kylin.dto.vo.returns.PayResultVo;
import com.liquidnet.service.kylin.entity.*; import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.KylinOrderTicketEntitiesMapper; import com.liquidnet.service.kylin.mapper.KylinOrderTicketEntitiesMapper;
import com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper; import com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper;
import com.liquidnet.service.kylin.service.IKylinOrderRefundsService;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsService; import com.liquidnet.service.kylin.service.IKylinOrderTicketsService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.kylin.utils.*; import com.liquidnet.service.kylin.utils.*;
...@@ -104,6 +105,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -104,6 +105,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
private TaobaoTicketUtils taobaoTicketUtils; private TaobaoTicketUtils taobaoTicketUtils;
@Autowired @Autowired
private KylinOrderTicketsMapper orderTicketsMapper; private KylinOrderTicketsMapper orderTicketsMapper;
@Autowired
private OrderRefundsCallbackServiceImpl orderRefundsCallbackService;
ArrayList<Integer> canBuyStatus = new ArrayList() {{ ArrayList<Integer> canBuyStatus = new ArrayList() {{
add(6); add(6);
...@@ -779,110 +782,114 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -779,110 +782,114 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
} }
LinkedList<String> sqls = new LinkedList<>(); LinkedList<String> sqls = new LinkedList<>();
LocalDateTime strTime = orderTicketData.getChangeDate();
//sql
KylinOrderTickets orderTickets = new KylinOrderTickets();
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"));
LinkedList<Object[]> sqlsDataA = new LinkedList<>(); LinkedList<Object[]> sqlsDataA = new LinkedList<>();
sqlsDataA.add(orderTickets.getSynOrderObject(strTime, strTime));
KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus();
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"));
LinkedList<Object[]> sqlsDataB = new LinkedList<>(); LinkedList<Object[]> sqlsDataB = new LinkedList<>();
sqlsDataB.add(orderTicketStatus.getSynOrderObject(strTime, strTime));
sqls.add(SqlMapping.get("kylin_order_ticket_relation.synPay"));
LinkedList<Object[]> sqlsDataC = new LinkedList<>(); LinkedList<Object[]> sqlsDataC = new LinkedList<>();
sqlsDataC.add(new Object[]{orderTickets.getUpdatedAt(), orderTickets.getOrderTicketsId(), strTime, strTime}); LinkedList<Object[]> sqlsDataD = new LinkedList<>();
LocalDateTime strTime = orderTicketData.getChangeDate();
KylinOrderTickets orderTickets = new KylinOrderTickets();
KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus();
KylinOrderTicketEntities orderTicketEntities = new KylinOrderTicketEntities(); KylinOrderTicketEntities orderTicketEntities = new KylinOrderTicketEntities();
orderTicketEntities.setOrderId(orderTicketData.getOrderTicketsId());
orderTicketEntities.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT1); if(orderTicketData.getStatus()==0){
orderTicketEntities.setUpdatedAt(orderTickets.getUpdatedAt()); orderTickets.setOrderTicketsId(orderTicketData.getOrderTicketsId());
sqls.add(SqlMapping.get("kylin_order_ticket_entities.synPay")); orderTickets.setPaymentType(syncOrderParam.getPayment_type());
LinkedList<Object[]> sqlsDataD = new LinkedList<>(); orderTickets.setPayCode(syncOrderParam.getCode());
sqlsDataD.add(orderTicketEntities.getSynOrderObject(strTime, strTime)); orderTickets.setTimePay(timePay);
orderTickets.setQrCode(IDGenerator.ticketQrCode(orderTicketData.getOrderTicketsId()));
orderTickets.setUpdatedAt(now);
//vo sqls.add(SqlMapping.get("kylin_order_ticket.synPay"));
HashMap<String, Object> orderTicketVo = new HashMap<>(); sqlsDataA.add(orderTickets.getSynOrderObject(strTime, strTime));
orderTicketVo.put("paymentType", orderTickets.getPaymentType());
orderTicketVo.put("payCode", orderTickets.getPayCode()); orderTicketStatus.setOrderId(orderTicketData.getOrderTicketsId());
orderTicketVo.put("timePay", orderTickets.getTimePay()); orderTicketStatus.setStatus(KylinTableStatusConst.ORDER_STATUS1);
orderTicketVo.put("qrCode", orderTickets.getQrCode()); orderTicketStatus.setPayStatus(syncOrderParam.getStatus());
orderTicketVo.put("status", KylinTableStatusConst.ORDER_STATUS1); orderTicketStatus.setUpdatedAt(orderTickets.getUpdatedAt());
orderTicketVo.put("payStatus", orderTicketStatus.getStatus()); sqls.add(SqlMapping.get("kylin_order_ticket_status.synPay"));
orderTicketVo.put("updatedAt", timePay); sqlsDataB.add(orderTicketStatus.getSynOrderObject(strTime, strTime));
orderTicketVo.put("changeDate", now);
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne( sqls.add(SqlMapping.get("kylin_order_ticket_relation.synPay"));
Query.query(Criteria.where("orderTicketsId").is(orderTickets.getOrderTicketsId())).getQueryObject(), sqlsDataC.add(new Object[]{orderTickets.getUpdatedAt(), orderTickets.getOrderTicketsId(), strTime, strTime});
new BasicDBObject("$set", mongoConverter.convertToMongoType(orderTicketVo))
); orderTicketEntities.setOrderId(orderTicketData.getOrderTicketsId());
orderTicketEntities.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT1);
orderTicketEntities.setUpdatedAt(orderTickets.getUpdatedAt());
HashMap<String, Object> orderTicketEntitiesVo = new HashMap<>(); sqls.add(SqlMapping.get("kylin_order_ticket_entities.synPay"));
orderTicketEntitiesVo.put("isPayment", KylinTableStatusConst.ENTITIES_IS_PAYMENT1); sqlsDataD.add(orderTicketEntities.getSynOrderObject(strTime, strTime));
orderTicketEntitiesVo.put("updatedAt", timePay);
orderTicketEntitiesVo.put("changeDate", now); //vo
mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateMany( HashMap<String, Object> orderTicketVo = new HashMap<>();
Query.query(Criteria.where("orderId").is(orderTickets.getOrderTicketsId())).getQueryObject(), orderTicketVo.put("paymentType", orderTickets.getPaymentType());
new BasicDBObject("$set", mongoConverter.convertToMongoType(orderTicketEntitiesVo)) orderTicketVo.put("payCode", orderTickets.getPayCode());
); orderTicketVo.put("timePay", orderTickets.getTimePay());
orderTicketVo.put("qrCode", orderTickets.getQrCode());
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY, MQConst.ROUTING_KEY_SQL_ORDER_PAY, orderTicketVo.put("status", KylinTableStatusConst.ORDER_STATUS1);
SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC, sqlsDataD)); orderTicketVo.put("payStatus", orderTicketStatus.getStatus());
orderTicketVo.put("updatedAt", timePay);
//生成vo redis orderTicketVo.put("changeDate", now);
dataUtils.delOrderTicketRedis(orderTickets.getOrderTicketsId()); mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
mongoVoUtils.resetOrderListVo(orderTicketData.getUserId(), 2, orderTicketData.getOrderTicketsId(), null); Query.query(Criteria.where("orderTicketsId").is(orderTickets.getOrderTicketsId())).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(orderTicketVo))
// 发短信 );
KylinPerformanceVo performanceData = dataUtils.getPerformanceVo(orderTicketData.getPerformanceId());
KylinTicketTimesVo ticketTimesData = null;
KylinTicketVo ticketData = null; HashMap<String, Object> orderTicketEntitiesVo = new HashMap<>();
for (int x = 0; x < performanceData.getTicketTimeList().size(); x++) { orderTicketEntitiesVo.put("isPayment", KylinTableStatusConst.ENTITIES_IS_PAYMENT1);
KylinTicketTimesVo timeItem = performanceData.getTicketTimeList().get(x); orderTicketEntitiesVo.put("updatedAt", timePay);
if (timeItem.getTimeId().equals(orderTicketData.getTimeId())) { orderTicketEntitiesVo.put("changeDate", now);
ticketTimesData = timeItem; mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateMany(
for (int y = 0; y < ticketTimesData.getTicketList().size(); y++) { Query.query(Criteria.where("orderId").is(orderTickets.getOrderTicketsId())).getQueryObject(),
KylinTicketVo ticketItem = ticketTimesData.getTicketList().get(y); new BasicDBObject("$set", mongoConverter.convertToMongoType(orderTicketEntitiesVo))
if (ticketItem.getTicketsId().equals(orderTicketData.getTicketId())) { );
ticketData = ticketItem;
break; rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY, MQConst.ROUTING_KEY_SQL_ORDER_PAY,
SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC, sqlsDataD));
//生成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(); MessageDataVo dataVo = new MessageDataVo();
dataVo.setName(orderTicketData.getPerformanceTitle()); dataVo.setName(orderTicketData.getPerformanceTitle());
String time1 = DateUtil.format(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketData.getUseStart()), DateUtil.Formatter.yyyy_MM_dd); 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); String time2 = DateUtil.format(DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceData.getTimeStart()), DateUtil.Formatter.HHmm);
dataVo.setTime(time1 + " " + time2); dataVo.setTime(time1 + " " + time2);
MessageConfigVo configVo = new MessageConfigVo(); MessageConfigVo configVo = new MessageConfigVo();
configVo.setStatus(true); configVo.setStatus(true);
if (orderTicketData.getGetTicketType().equals("express")) { if (orderTicketData.getGetTicketType().equals("express")) {
configVo.setId("SMS_181490473"); configVo.setId("SMS_181490473");
} else if (orderTicketData.getGetTicketType().equals("electronic")) { } else if (orderTicketData.getGetTicketType().equals("electronic")) {
configVo.setId(ticketData.getIsShowCode() == 1 ? "SMS_171358560" : "SMS_181500419"); configVo.setId(ticketData.getIsShowCode() == 1 ? "SMS_171358560" : "SMS_181500419");
} }
otherUtils.sendMessage(orderTicketData.getUserMobile(), dataVo, configVo, 1); otherUtils.sendMessage(orderTicketData.getUserMobile(), dataVo, configVo, 1);
// 大麦回调 // 大麦回调
sycDamaiOrder(orderTickets.getOrderTicketsId()); sycDamaiOrder(orderTickets.getOrderTicketsId());
}else{
orderRefundsCallbackService.refundApply(orderTicketData.getOrderTicketsId());
}
redisLockUtil.unlock(lock); redisLockUtil.unlock(lock);
return "success"; return "success";
} }
......
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