锁定商品发送延迟消息成功
This commit is contained in:
parent
26b1ece7ea
commit
dc84ba667a
@ -0,0 +1,23 @@
|
|||||||
|
package net.jieyuu.model;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ProductMessage {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息队列id
|
||||||
|
*/
|
||||||
|
private Long messageId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单号
|
||||||
|
*/
|
||||||
|
private String outTradeNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 库存锁定工作单id
|
||||||
|
*/
|
||||||
|
private Long taskId;
|
||||||
|
|
||||||
|
}
|
@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import net.jieyuu.config.RabbitMQConfig;
|
||||||
import net.jieyuu.enums.BizCodeEnum;
|
import net.jieyuu.enums.BizCodeEnum;
|
||||||
import net.jieyuu.enums.StockTaskStateEnum;
|
import net.jieyuu.enums.StockTaskStateEnum;
|
||||||
import net.jieyuu.exception.BizException;
|
import net.jieyuu.exception.BizException;
|
||||||
import net.jieyuu.mapper.ProductTaskMapper;
|
import net.jieyuu.mapper.ProductTaskMapper;
|
||||||
import net.jieyuu.model.ProductDO;
|
import net.jieyuu.model.ProductDO;
|
||||||
import net.jieyuu.mapper.ProductMapper;
|
import net.jieyuu.mapper.ProductMapper;
|
||||||
|
import net.jieyuu.model.ProductMessage;
|
||||||
import net.jieyuu.model.ProductTaskDO;
|
import net.jieyuu.model.ProductTaskDO;
|
||||||
import net.jieyuu.request.LockProductRequest;
|
import net.jieyuu.request.LockProductRequest;
|
||||||
import net.jieyuu.request.OrderItemRequest;
|
import net.jieyuu.request.OrderItemRequest;
|
||||||
@ -17,6 +19,7 @@ import net.jieyuu.service.ProductService;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import net.jieyuu.utils.JsonData;
|
import net.jieyuu.utils.JsonData;
|
||||||
import net.jieyuu.vo.ProductVO;
|
import net.jieyuu.vo.ProductVO;
|
||||||
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -45,6 +48,12 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, ProductDO> im
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ProductTaskMapper productTaskMapper;
|
private ProductTaskMapper productTaskMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RabbitTemplate rabbitTemplate;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RabbitMQConfig rabbitMQConfig;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询商品列表
|
* 分页查询商品列表
|
||||||
*
|
*
|
||||||
@ -138,8 +147,15 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, ProductDO> im
|
|||||||
|
|
||||||
// 插入product_task
|
// 插入product_task
|
||||||
productTaskMapper.insert(productTaskDO);
|
productTaskMapper.insert(productTaskDO);
|
||||||
|
log.info("商品库存锁定-插入商品product_task成功:{}", productTaskDO);
|
||||||
|
|
||||||
// 发送MQ延迟消息, 延迟解锁商品库存 todo
|
// 发送MQ延迟消息, 延迟解锁商品库存
|
||||||
|
ProductMessage productMessage = new ProductMessage();
|
||||||
|
productMessage.setOutTradeNo(outTradeNo);
|
||||||
|
productMessage.setTaskId(productTaskDO.getId());
|
||||||
|
|
||||||
|
rabbitTemplate.convertAndSend(rabbitMQConfig.getEventExchange(), rabbitMQConfig.getStockReleaseDelayRoutingKey(), productMessage);
|
||||||
|
log.info("商品库存锁定信息延迟消息发送成功:{}", productMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
Loading…
Reference in New Issue
Block a user