更新了优惠券模块
This commit is contained in:
parent
f1dfd35960
commit
50a5b81f72
src/main/java/com/cultural/heritage
controller/good
listener
service/good
|
@ -132,6 +132,10 @@ public class CouponController {
|
|||
boolean result = couponService.saveOrUpdate(coupon);
|
||||
ThrowUtils.throwIf(!result, ErrorCode.OPERATION_ERROR, "优惠券更新失败");
|
||||
|
||||
|
||||
// 向消息队列中发送优惠券创建的消息
|
||||
couponService.sendCouponCreateMessage(coupon);
|
||||
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
|
|
|
@ -28,17 +28,22 @@ public class CouponStatusListener {
|
|||
exchange = @Exchange(name = MqConstant.DELAY_EXCHANGE, delayed = "true"),
|
||||
key = MqConstant.DELAY_COUPON_ROUTING_KEY
|
||||
))
|
||||
public void listenDelayMessage(MultiDelayMessage<Long> msg) {
|
||||
public void listenDelayMessage(MultiDelayMessage<Coupon> msg) {
|
||||
System.out.println("\n\n\n\n\nCouponStatusListener.listenerDelayMessage msg-------------------------------->:" + msg);
|
||||
|
||||
// 1.获取消息中的优惠券id
|
||||
Long couponId = msg.getData();
|
||||
Coupon sourceCoupon = msg.getData();
|
||||
Long couponId = sourceCoupon.getId();
|
||||
// 2.判断优惠券是否存在
|
||||
Coupon coupon = couponService.getById(couponId);
|
||||
if (coupon == null) {
|
||||
Coupon targetCoupon = couponService.getById(couponId);
|
||||
if (targetCoupon == null) {
|
||||
return ;
|
||||
}
|
||||
// 3.更新优惠券状态
|
||||
// 3.判断日期是否被更新过
|
||||
if (!sourceCoupon.getEndTime().equals(targetCoupon.getEndTime())) {
|
||||
return ;
|
||||
}
|
||||
// 4.更新优惠券状态
|
||||
UpdateWrapper<Coupon> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.eq("id", couponId).set("status", "已过期");
|
||||
boolean update = couponService.update(updateWrapper);
|
||||
|
|
|
@ -33,6 +33,7 @@ public interface CouponService extends IService<Coupon> {
|
|||
void sendCouponCreateMessage(Coupon coupon);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 向消息队列中发送用户优惠券创建的消息
|
||||
*/
|
||||
|
|
|
@ -111,7 +111,7 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
|
|||
@Override
|
||||
public void sendCouponCreateMessage(Coupon coupon) {
|
||||
// 延迟检查优惠券是否过期
|
||||
MultiDelayMessage<Long> msg = new MultiDelayMessage<>(coupon.getId());
|
||||
MultiDelayMessage<Coupon> msg = new MultiDelayMessage<>(coupon);
|
||||
rabbitTemplate.convertAndSend(MqConstant.DELAY_EXCHANGE,
|
||||
MqConstant.DELAY_COUPON_ROUTING_KEY, msg, message -> {
|
||||
//计算优惠券截止日期和当前的时间差
|
||||
|
@ -126,6 +126,7 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
|
|||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 向消息队列中发送用户优惠券创建的消息
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue
Block a user