发送task至延迟队列开发
This commit is contained in:
parent
f961aa5c46
commit
7ded360e7c
@ -0,0 +1,23 @@
|
||||
package net.jieyuu.model;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CouponRecordMessage {
|
||||
|
||||
/**
|
||||
* 消息队列id
|
||||
*/
|
||||
private Long messageId;
|
||||
|
||||
/**
|
||||
* 订单号
|
||||
*/
|
||||
private String outTradeNo;
|
||||
|
||||
/**
|
||||
* 库存锁定工作单id
|
||||
*/
|
||||
private Long taskId;
|
||||
|
||||
}
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.jieyuu.config.InterceptorConfig;
|
||||
import net.jieyuu.config.RabbitMQConfig;
|
||||
import net.jieyuu.enums.BizCodeEnum;
|
||||
import net.jieyuu.enums.CouponStateEnum;
|
||||
import net.jieyuu.enums.StockTaskStateEnum;
|
||||
@ -13,6 +14,7 @@ import net.jieyuu.interceptor.LoginInterceptor;
|
||||
import net.jieyuu.mapper.CouponTaskMapper;
|
||||
import net.jieyuu.model.CouponRecordDO;
|
||||
import net.jieyuu.mapper.CouponRecordMapper;
|
||||
import net.jieyuu.model.CouponRecordMessage;
|
||||
import net.jieyuu.model.CouponTaskDO;
|
||||
import net.jieyuu.model.LoginUser;
|
||||
import net.jieyuu.request.LockCouponRecordRequest;
|
||||
@ -20,6 +22,7 @@ import net.jieyuu.service.CouponRecordService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import net.jieyuu.utils.JsonData;
|
||||
import net.jieyuu.vo.CouponRecordVO;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -47,6 +50,11 @@ public class CouponRecordServiceImpl extends ServiceImpl<CouponRecordMapper, Cou
|
||||
@Autowired
|
||||
private CouponTaskMapper couponTaskMapper;
|
||||
|
||||
@Autowired
|
||||
private RabbitTemplate rabbitTemplate;
|
||||
@Autowired
|
||||
private RabbitMQConfig rabbitMQConfig;
|
||||
|
||||
@Override
|
||||
public Map<String, Object> page(int page, int size) {
|
||||
LoginUser loginUser = LoginInterceptor.threadLocal.get();
|
||||
@ -111,8 +119,16 @@ public class CouponRecordServiceImpl extends ServiceImpl<CouponRecordMapper, Cou
|
||||
|
||||
//mq延迟队列投递
|
||||
if (insertRows == couponTaskDOList.size() && insertRows == updateRows) {
|
||||
//发送延迟消息 TODO
|
||||
|
||||
//发送延迟消息
|
||||
for (CouponTaskDO couponTaskDO : couponTaskDOList) {
|
||||
// 构建CouponRecordMessage
|
||||
CouponRecordMessage couponRecordMessage = new CouponRecordMessage();
|
||||
couponRecordMessage.setOutTradeNo(orderOutTradeNo);
|
||||
couponRecordMessage.setTaskId(couponTaskDO.getId());
|
||||
// 传入交换机 投入延迟队列
|
||||
rabbitTemplate.convertAndSend(rabbitMQConfig.getEventExchange(), rabbitMQConfig.getCouponReleaseDelayRoutingKey(), couponRecordMessage);
|
||||
log.info("优惠券锁定消息发送成功:{}", couponRecordMessage.toString());
|
||||
}
|
||||
return JsonData.buildSuccess();
|
||||
} else {
|
||||
throw new BizException(BizCodeEnum.COUPON_RECORD_LOCK_FAIL);
|
||||
|
Loading…
Reference in New Issue
Block a user