Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop

This commit is contained in:
Chopper 2021-12-13 16:22:27 +08:00
commit 07348357d0
8 changed files with 33 additions and 25 deletions

View File

@ -16,10 +16,12 @@ import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsDTO;
import cn.lili.modules.promotion.entity.vos.PointsGoodsVO;
import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.service.*;
import cn.lili.modules.promotion.service.KanjiaActivityGoodsService;
import cn.lili.modules.promotion.service.KanjiaActivityService;
import cn.lili.modules.promotion.service.PointsGoodsService;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.stereotype.Service;
@ -63,11 +65,6 @@ public class StockUpdateExecute implements OrderStatusChangeEvent {
*/
@Autowired
private PromotionGoodsService promotionGoodsService;
/**
* 促销商品
*/
@Autowired
private SeckillApplyService seckillApplyService;
/**
* 缓存
*/
@ -80,8 +77,6 @@ public class StockUpdateExecute implements OrderStatusChangeEvent {
private KanjiaActivityGoodsService kanjiaActivityGoodsService;
@Autowired
private PointsGoodsService pointsGoodsService;
@Autowired
private MongoTemplate mongoTemplate;
@Override
public void orderChange(OrderMessage orderMessage) {
@ -295,14 +290,12 @@ public class StockUpdateExecute implements OrderStatusChangeEvent {
kanjiaActivityGoodsDTO.setStock(stock);
kanjiaActivityGoodsService.updateById(kanjiaActivityGoodsDTO);
this.mongoTemplate.save(kanjiaActivityGoodsDTO);
//修改积分商品库存
} else if (promotionTypeEnum.equals(PromotionTypeEnum.POINTS_GOODS)) {
PointsGoodsVO pointsGoodsVO = pointsGoodsService.getPointsGoodsDetail(orderItem.getPromotionId());
Integer stock = Integer.parseInt(cache.get(PromotionGoodsService.getPromotionGoodsStockCacheKey(promotionTypeEnum, orderItem.getPromotionId(), orderItem.getSkuId())).toString());
pointsGoodsVO.setActiveStock(stock);
pointsGoodsService.updateById(pointsGoodsVO);
this.mongoTemplate.save(pointsGoodsVO);
} else {
PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams();
searchParams.setPromotionStatus(promotionTypeEnum.name());

View File

@ -13,4 +13,9 @@ public class EsSuffix {
*/
public static final String GOODS_INDEX_NAME = "goods";
/**
* 日志索引后缀
*/
public static final String LOGS_INDEX_NAME = "logs";
}

View File

@ -15,7 +15,6 @@ import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.Objects;
/**
* 订单查询参数
@ -114,23 +113,25 @@ public class OrderSearchParams extends PageVO {
private String orderPromotionType;
public <T> QueryWrapper<T> queryWrapper() {
AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser());
AuthUser currentUser = UserContext.getCurrentUser();
QueryWrapper<T> wrapper = new QueryWrapper<>();
//关键字查询
if (CharSequenceUtil.isNotEmpty(keywords)) {
wrapper.like("o.sn", keywords).or().like("oi.goods_name", keywords);
}
//按卖家查询
wrapper.eq(CharSequenceUtil.equals(currentUser.getRole().name(), UserEnums.STORE.name()), "o.store_id", currentUser.getStoreId());
if (currentUser != null) {
//按卖家查询
wrapper.eq(CharSequenceUtil.equals(currentUser.getRole().name(), UserEnums.STORE.name()), "o.store_id", currentUser.getStoreId());
//店铺查询
wrapper.eq(CharSequenceUtil.equals(currentUser.getRole().name(), UserEnums.MANAGER.name())
&& CharSequenceUtil.isNotEmpty(storeId), "o.store_id", storeId);
//店铺查询
wrapper.eq(CharSequenceUtil.equals(currentUser.getRole().name(), UserEnums.MANAGER.name())
&& CharSequenceUtil.isNotEmpty(storeId), "o.store_id", storeId);
//按买家查询
wrapper.eq(CharSequenceUtil.equals(currentUser.getRole().name(), UserEnums.MEMBER.name()), "o.member_id", currentUser.getId());
//按买家查询
wrapper.eq(CharSequenceUtil.equals(currentUser.getRole().name(), UserEnums.MEMBER.name()) && CharSequenceUtil.isEmpty(memberId), "o.member_id", currentUser.getId());
}
//按照买家查询
wrapper.like(CharSequenceUtil.isNotEmpty(memberId), "o.member_id", memberId);
@ -202,7 +203,7 @@ public class OrderSearchParams extends PageVO {
}
// 依赖订单
wrapper.eq(CharSequenceUtil.isNotEmpty(parentOrderSn), "o.parent_order_sn", parentOrderSn);
wrapper.eq(parentOrderSn != null, "o.parent_order_sn", parentOrderSn);
// 促销活动id
wrapper.eq(CharSequenceUtil.isNotEmpty(promotionId), "o.promotion_id", promotionId);

View File

@ -50,7 +50,7 @@ public class PromotionGoodsSearchParams extends BasePromotionsSearchParams {
if (CharSequenceUtil.isEmpty(this.getScopeType())){
this.setScopeType(PromotionsScopeTypeEnum.PORTION_GOODS.name());
}
QueryWrapper<T> queryWrapper = super.queryWrapper();
QueryWrapper<T> queryWrapper = super.queryWrapper();
if (CharSequenceUtil.isNotEmpty(promotionId)) {
queryWrapper.eq("promotion_id", promotionId);
}

View File

@ -5,6 +5,7 @@ import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.tools.PromotionTools;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -48,7 +49,7 @@ public class KanjiaActivityGoodsParams implements Serializable {
queryWrapper.like("goods_name", goodsName);
}
if (promotionStatus != null) {
queryWrapper.eq("promotion_status", promotionStatus);
queryWrapper.and(PromotionTools.queryPromotionStatus(PromotionsStatusEnum.valueOf(promotionStatus)));
}
if (startTime != null) {
queryWrapper.le("start_time", new Date(startTime));
@ -57,7 +58,6 @@ public class KanjiaActivityGoodsParams implements Serializable {
queryWrapper.ge("end_time", new Date(endTime));
}
if (UserContext.getCurrentUser() != null && UserContext.getCurrentUser().getRole().equals(UserEnums.MEMBER)) {
queryWrapper.gt("stock", 0);
}
queryWrapper.eq("delete_flag", false);

View File

@ -2,6 +2,7 @@ package cn.lili.modules.promotion.serviceimpl;
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.vo.PageVO;
@ -74,7 +75,12 @@ public class KanjiaActivityGoodsServiceImpl extends ServiceImpl<KanJiaActivityGo
kanJiaActivityGoodsDTO.setGoodsName(goodsSku.getGoodsName());
kanJiaActivityGoodsDTO.setOriginalPrice(goodsSku.getPrice());
kanjiaActivityGoodsList.add(kanJiaActivityGoodsDTO);
promotionGoodsList.add(new PromotionGoods(kanJiaActivityGoodsDTO));
PromotionGoods promotionGoods = new PromotionGoods(kanJiaActivityGoodsDTO);
promotionGoods.setPromotionId(kanJiaActivityGoodsDTO.getId());
promotionGoods.setPromotionType(PromotionTypeEnum.KANJIA.name());
promotionGoods.setGoodsId(kanJiaActivityGoodsDTO.getGoodsId());
promotionGoods.setTitle(kanJiaActivityGoodsDTO.getPromotionName());
promotionGoodsList.add(promotionGoods);
}
this.promotionGoodsService.saveBatch(promotionGoodsList);
return this.saveBatch(kanjiaActivityGoodsList);

View File

@ -87,6 +87,7 @@ public class PintuanServiceImpl extends AbstractPromotionsServiceImpl<PintuanMap
searchParams.setPromotionId(pintuanId);
searchParams.setOrderPromotionType(PromotionTypeEnum.PINTUAN.name());
searchParams.setParentOrderSn("");
searchParams.setMemberId("");
List<Order> orders = orderService.queryListByParams(searchParams);
//遍历订单状态为已支付为团长的拼团订单
for (Order order : orders) {

View File

@ -4,6 +4,8 @@ import cn.lili.modules.search.entity.dos.EsGoodsIndex;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
/**
* 商品索引
*
* @author paulG
* @since 2020/10/15
**/