1、增加排队功能的思路
在出票模块里,一个消费者拿到了某个车次锁,则该车次下所有的票都由他来出,一张一张的出,知道所有的订单都出完。
2、实现排队出票功能
2.1、 修改发送到MQ消息的内容
修改MQ消息内容,只需要通知出哪天和哪个车次的票(即:组成锁的内容),不需要具体到哪个人。
2.1.1、创建内部传递的dto类ConfirmOrderMQDto
@Data
public class ConfirmOrderMQDto {
// 火车车次
private String trainCode;
// 日期
private Date date;
/**
* 日志流程号,用于同转异时,用同一个流水号
*/
private String logId;
}
2.1.2、BeforeConfirmOrderServiceImpl类中 修改发送到MQ消息的内容
@Service
public class BeforeConfirmOrderServiceImpl implements BeforeConfirmOrderService {
private static final Logger LOG = LoggerFactory.getLo