fix: 修复活动优惠券,没有生成商品促销信息问题
This commit is contained in:
parent
876b801fa1
commit
50c7e20ba6
@ -121,6 +121,13 @@ public interface AbstractPromotionsService<T extends BasePromotions> extends ISe
|
|||||||
*/
|
*/
|
||||||
void updateEsGoodsIndex(T promotions);
|
void updateEsGoodsIndex(T promotions);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送更新商品索引消息
|
||||||
|
*
|
||||||
|
* @param promotions 促销实体
|
||||||
|
*/
|
||||||
|
void sendUpdateEsGoodsMsg(T promotions);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 当前促销类型
|
* 当前促销类型
|
||||||
*
|
*
|
||||||
|
@ -255,19 +255,25 @@ public abstract class AbstractPromotionsServiceImpl<M extends BaseMapper<T>, T e
|
|||||||
//删除商品促销消息
|
//删除商品促销消息
|
||||||
applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("删除商品促销事件", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.DELETE_GOODS_INDEX_PROMOTIONS.name(), JSONUtil.toJsonStr(build)));
|
applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("删除商品促销事件", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.DELETE_GOODS_INDEX_PROMOTIONS.name(), JSONUtil.toJsonStr(build)));
|
||||||
} else {
|
} else {
|
||||||
|
this.sendUpdateEsGoodsMsg(promotions);
|
||||||
String esPromotionKey = this.getPromotionType().name() + "-" + promotions.getId();
|
|
||||||
Map<String, Object> map = new HashMap<>();
|
|
||||||
// es促销key
|
|
||||||
map.put("esPromotionKey", esPromotionKey);
|
|
||||||
// 促销类型全路径名
|
|
||||||
map.put("promotionsType", promotions.getClass().getName());
|
|
||||||
// 促销实体
|
|
||||||
map.put("promotions", promotions);
|
|
||||||
applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("更新商品索引促销事件", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.UPDATE_GOODS_INDEX_PROMOTIONS.name(), JSONUtil.toJsonStr(map)));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void sendUpdateEsGoodsMsg(T promotions) {
|
||||||
|
|
||||||
|
String esPromotionKey = this.getPromotionType().name() + "-" + promotions.getId();
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
// es促销key
|
||||||
|
map.put("esPromotionKey", esPromotionKey);
|
||||||
|
// 促销类型全路径名
|
||||||
|
map.put("promotionsType", promotions.getClass().getName());
|
||||||
|
// 促销实体
|
||||||
|
map.put("promotions", promotions);
|
||||||
|
applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("更新商品索引促销事件", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.UPDATE_GOODS_INDEX_PROMOTIONS.name(), JSONUtil.toJsonStr(map)));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean allowExistSame() {
|
public boolean allowExistSame() {
|
||||||
return false;
|
return false;
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
package cn.lili.modules.promotion.serviceimpl;
|
package cn.lili.modules.promotion.serviceimpl;
|
||||||
|
|
||||||
|
import cn.hutool.core.map.MapBuilder;
|
||||||
import cn.hutool.core.text.CharSequenceUtil;
|
import cn.hutool.core.text.CharSequenceUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import cn.lili.common.enums.PromotionTypeEnum;
|
import cn.lili.common.enums.PromotionTypeEnum;
|
||||||
import cn.lili.common.enums.ResultCode;
|
import cn.lili.common.enums.ResultCode;
|
||||||
|
import cn.lili.common.event.TransactionCommitSendMQEvent;
|
||||||
import cn.lili.common.exception.ServiceException;
|
import cn.lili.common.exception.ServiceException;
|
||||||
|
import cn.lili.common.properties.RocketmqCustomProperties;
|
||||||
import cn.lili.common.utils.DateUtil;
|
import cn.lili.common.utils.DateUtil;
|
||||||
import cn.lili.common.vo.PageVO;
|
import cn.lili.common.vo.PageVO;
|
||||||
import cn.lili.modules.goods.entity.dos.GoodsSku;
|
import cn.lili.modules.goods.entity.dos.GoodsSku;
|
||||||
@ -24,15 +27,18 @@ import cn.lili.modules.promotion.mapper.CouponMapper;
|
|||||||
import cn.lili.modules.promotion.service.*;
|
import cn.lili.modules.promotion.service.*;
|
||||||
import cn.lili.modules.promotion.tools.PromotionTools;
|
import cn.lili.modules.promotion.tools.PromotionTools;
|
||||||
import cn.lili.mybatis.util.PageUtil;
|
import cn.lili.mybatis.util.PageUtil;
|
||||||
|
import cn.lili.rocketmq.tags.GoodsTagsEnum;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.ApplicationEventPublisher;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -70,6 +76,12 @@ public class CouponServiceImpl extends AbstractPromotionsServiceImpl<CouponMappe
|
|||||||
@Autowired
|
@Autowired
|
||||||
private CouponActivityItemService couponActivityItemService;
|
private CouponActivityItemService couponActivityItemService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RocketmqCustomProperties rocketmqCustomProperties;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ApplicationEventPublisher applicationEventPublisher;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 领取优惠券
|
* 领取优惠券
|
||||||
*
|
*
|
||||||
@ -270,9 +282,16 @@ public class CouponServiceImpl extends AbstractPromotionsServiceImpl<CouponMappe
|
|||||||
* @param promotions 优惠券信息
|
* @param promotions 优惠券信息
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void updateEsGoodsIndex(Coupon promotions) {
|
public void updateEsGoodsIndex(Coupon promotions) {
|
||||||
Coupon coupon = JSONUtil.parse(promotions).toBean(Coupon.class);
|
Coupon coupon = JSONUtil.parse(promotions).toBean(Coupon.class);
|
||||||
super.updateEsGoodsIndex(coupon);
|
if (!CouponRangeDayEnum.DYNAMICTIME.name().equals(coupon.getRangeDayType()) && promotions.getStartTime() == null && promotions.getEndTime() == null) {
|
||||||
|
Map<Object, Object> build = MapBuilder.create().put("promotionKey", this.getPromotionType() + "-" + promotions.getId()).put("scopeId", promotions.getScopeId()).build();
|
||||||
|
//删除商品促销消息
|
||||||
|
applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("删除商品促销事件", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.DELETE_GOODS_INDEX_PROMOTIONS.name(), JSONUtil.toJsonStr(build)));
|
||||||
|
} else {
|
||||||
|
super.sendUpdateEsGoodsMsg(promotions);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user