|
@@ -1,5 +1,6 @@
|
|
|
package com.chelvc.cloud.vehicle.server.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.map.MapBuilder;
|
|
|
import cn.hutool.core.text.CharSequenceUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
@@ -10,6 +11,7 @@ import com.chelvc.cloud.vehicle.api.util.PromotionUtils;
|
|
|
import com.chelvc.cloud.vehicle.server.entity.BasePromotion;
|
|
|
import com.chelvc.cloud.vehicle.server.entity.PromotionGoods;
|
|
|
import com.chelvc.cloud.vehicle.server.service.AbstractPromotionService;
|
|
|
+import com.chelvc.cloud.vehicle.server.service.PromotionGoodsService;
|
|
|
import com.chelvc.framework.base.exception.ResourceUnavailableException;
|
|
|
import com.chelvc.framework.common.util.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -36,12 +38,6 @@ public abstract class AbstractPromotionServiceImpl<M extends BaseMapper<T>, T ex
|
|
|
@Autowired
|
|
|
private PromotionGoodsService promotionGoodsService;
|
|
|
|
|
|
- /**
|
|
|
- * rocketMq配置
|
|
|
- */
|
|
|
- @Autowired
|
|
|
- private RocketmqCustomProperties rocketmqCustomProperties;
|
|
|
-
|
|
|
@Autowired
|
|
|
private ApplicationEventPublisher applicationEventPublisher;
|
|
|
|
|
@@ -104,7 +100,7 @@ public abstract class AbstractPromotionServiceImpl<M extends BaseMapper<T>, T ex
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
|
- public boolean updateStatus(List<String> ids, Long startTime, Long endTime) {
|
|
|
+ public boolean updateStatus(List<Long> ids, Long startTime, Long endTime) {
|
|
|
List<T> promotionsList = this.list(new QueryWrapper<T>().in("id", ids));
|
|
|
for (T t : promotionsList) {
|
|
|
if (startTime != null && endTime != null) {
|
|
@@ -133,8 +129,8 @@ public abstract class AbstractPromotionServiceImpl<M extends BaseMapper<T>, T ex
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
|
- public boolean removePromotion(List<String> ids) {
|
|
|
- for (String id : ids) {
|
|
|
+ public boolean removePromotion(List<Long> ids) {
|
|
|
+ for (Long id : ids) {
|
|
|
T promotions = this.getById(id);
|
|
|
this.checkStatus(promotions);
|
|
|
promotions.setStartTime(null);
|
|
@@ -153,7 +149,7 @@ public abstract class AbstractPromotionServiceImpl<M extends BaseMapper<T>, T ex
|
|
|
@Override
|
|
|
public void initPromotion(T promotions) {
|
|
|
if (StringUtils.isEmpty(promotions.getScopeType())) {
|
|
|
- promotions.setScopeType(PromotionScopeType.PORTION_GOODS.name());
|
|
|
+ promotions.setScopeType(PromotionScopeType.ALL);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -176,7 +172,7 @@ public abstract class AbstractPromotionServiceImpl<M extends BaseMapper<T>, T ex
|
|
|
public void checkStatus(T promotion) {
|
|
|
T byId = this.getById(promotion.getId());
|
|
|
if (byId == null) {
|
|
|
- throw new ResourceUnavailableException(ResultCode.PROMOTION_ACTIVITY_ERROR);
|
|
|
+ throw new ResourceUnavailableException("当前促销活动不存在");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -190,23 +186,23 @@ public abstract class AbstractPromotionServiceImpl<M extends BaseMapper<T>, T ex
|
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
|
public boolean updatePromotionsGoods(T promotion) {
|
|
|
if (promotion.getStartTime() == null && promotion.getEndTime() == null) {
|
|
|
- this.promotionGoodsService.deletePromotionGoods(Collections.singletonList(promotions.getId()));
|
|
|
+ this.promotionGoodsService.deletePromotionGoods(Collections.singletonList(promotion.getId()));
|
|
|
return true;
|
|
|
}
|
|
|
boolean result = true;
|
|
|
- if (CharSequenceUtil.equalsAny(promotion.getScopeType(), PromotionScopeType.ALL.name(),
|
|
|
+ if (CharSequenceUtil.equalsAny(promotion.getScopeType().name(), PromotionScopeType.ALL.name(),
|
|
|
PromotionScopeType.PORTION_GOODS_CATEGORY.name())) {
|
|
|
PromotionGoods promotionGoods = new PromotionGoods();
|
|
|
- promotionGoods.setScopeId(promotions.getScopeId());
|
|
|
- promotionGoods.setScopeType(promotions.getScopeType());
|
|
|
- promotionGoods.setPromotionId(promotions.getId());
|
|
|
- promotionGoods.setStoreId(promotions.getStoreId());
|
|
|
- promotionGoods.setStoreName(promotions.getStoreName());
|
|
|
- promotionGoods.setStartTime(promotions.getStartTime());
|
|
|
- promotionGoods.setEndTime(promotions.getEndTime());
|
|
|
- promotionGoods.setPromotionType(this.getPromotionType().name());
|
|
|
- promotionGoods.setTitle(promotions.getPromotionName());
|
|
|
- this.promotionGoodsService.deletePromotionGoods(Collections.singletonList(promotions.getId()));
|
|
|
+ promotionGoods.setScopeId(promotion.getScopeId());
|
|
|
+ promotionGoods.setScopeType(promotion.getScopeType());
|
|
|
+ promotionGoods.setPromotionId(promotion.getId());
|
|
|
+ promotionGoods.setMerchantId(promotion.getMerchantId());
|
|
|
+ promotionGoods.setMerchantName(promotion.getMerchantName());
|
|
|
+ promotionGoods.setStartTime(promotion.getStartTime());
|
|
|
+ promotionGoods.setEndTime(promotion.getEndTime());
|
|
|
+ promotionGoods.setPromotionType(this.getPromotionType());
|
|
|
+ promotionGoods.setTitle(promotion.getPromotionName());
|
|
|
+ this.promotionGoodsService.deletePromotionGoods(Collections.singletonList(promotion.getId()));
|
|
|
result = this.promotionGoodsService.save(promotionGoods);
|
|
|
}
|
|
|
return result;
|
|
@@ -215,26 +211,27 @@ public abstract class AbstractPromotionServiceImpl<M extends BaseMapper<T>, T ex
|
|
|
/**
|
|
|
* 更新促销信息到商品索引
|
|
|
*
|
|
|
- * @param promotions 促销实体
|
|
|
+ * @param promotion 促销实体
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
|
- public void updateEsGoodsIndex(T promotions) {
|
|
|
- if (promotions.getStartTime() == null && promotions.getEndTime() == null) {
|
|
|
- Map<Object, Object> build = MapBuilder.create().put("promotionKey", this.getPromotionType() + "-" + promotions.getId()).put("scopeId", promotions.getScopeId()).build();
|
|
|
+ public void updateEsGoodsIndex(T promotion) {
|
|
|
+ if (promotion.getStartTime() == null && promotion.getEndTime() == null) {
|
|
|
+ Map<Object, Object> build = MapBuilder.create().put("promotionKey", this.getPromotionType()
|
|
|
+ + "-" + promotion.getId()).put("scopeId", promotion.getScopeId()).build();
|
|
|
//删除商品促销消息
|
|
|
- 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 {
|
|
|
|
|
|
- String esPromotionKey = this.getPromotionType().name() + "-" + promotions.getId();
|
|
|
+ String esPromotionKey = this.getPromotionType().name() + "-" + promotion.getId();
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
// es促销key
|
|
|
map.put("esPromotionKey", esPromotionKey);
|
|
|
// 促销类型全路径名
|
|
|
- map.put("promotionsType", promotions.getClass().getName());
|
|
|
+ map.put("promotionsType", promotion.getClass().getName());
|
|
|
// 促销实体
|
|
|
- map.put("promotions", promotions);
|
|
|
- applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("更新商品索引促销事件", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.UPDATE_GOODS_INDEX_PROMOTIONS.name(), JSONUtil.toJsonStr(map)));
|
|
|
+ map.put("promotions", promotion);
|
|
|
+// applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("更新商品索引促销事件", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.UPDATE_GOODS_INDEX_PROMOTIONS.name(), JSONUtil.toJsonStr(map)));
|
|
|
}
|
|
|
}
|
|
|
|