Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop
This commit is contained in:
commit
07348357d0
@ -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.dto.KanjiaActivityGoodsDTO;
|
||||||
import cn.lili.modules.promotion.entity.vos.PointsGoodsVO;
|
import cn.lili.modules.promotion.entity.vos.PointsGoodsVO;
|
||||||
import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams;
|
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 lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
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.StringRedisTemplate;
|
||||||
import org.springframework.data.redis.core.script.DefaultRedisScript;
|
import org.springframework.data.redis.core.script.DefaultRedisScript;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -63,11 +65,6 @@ public class StockUpdateExecute implements OrderStatusChangeEvent {
|
|||||||
*/
|
*/
|
||||||
@Autowired
|
@Autowired
|
||||||
private PromotionGoodsService promotionGoodsService;
|
private PromotionGoodsService promotionGoodsService;
|
||||||
/**
|
|
||||||
* 促销商品
|
|
||||||
*/
|
|
||||||
@Autowired
|
|
||||||
private SeckillApplyService seckillApplyService;
|
|
||||||
/**
|
/**
|
||||||
* 缓存
|
* 缓存
|
||||||
*/
|
*/
|
||||||
@ -80,8 +77,6 @@ public class StockUpdateExecute implements OrderStatusChangeEvent {
|
|||||||
private KanjiaActivityGoodsService kanjiaActivityGoodsService;
|
private KanjiaActivityGoodsService kanjiaActivityGoodsService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private PointsGoodsService pointsGoodsService;
|
private PointsGoodsService pointsGoodsService;
|
||||||
@Autowired
|
|
||||||
private MongoTemplate mongoTemplate;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void orderChange(OrderMessage orderMessage) {
|
public void orderChange(OrderMessage orderMessage) {
|
||||||
@ -295,14 +290,12 @@ public class StockUpdateExecute implements OrderStatusChangeEvent {
|
|||||||
kanjiaActivityGoodsDTO.setStock(stock);
|
kanjiaActivityGoodsDTO.setStock(stock);
|
||||||
|
|
||||||
kanjiaActivityGoodsService.updateById(kanjiaActivityGoodsDTO);
|
kanjiaActivityGoodsService.updateById(kanjiaActivityGoodsDTO);
|
||||||
this.mongoTemplate.save(kanjiaActivityGoodsDTO);
|
|
||||||
//修改积分商品库存
|
//修改积分商品库存
|
||||||
} else if (promotionTypeEnum.equals(PromotionTypeEnum.POINTS_GOODS)) {
|
} else if (promotionTypeEnum.equals(PromotionTypeEnum.POINTS_GOODS)) {
|
||||||
PointsGoodsVO pointsGoodsVO = pointsGoodsService.getPointsGoodsDetail(orderItem.getPromotionId());
|
PointsGoodsVO pointsGoodsVO = pointsGoodsService.getPointsGoodsDetail(orderItem.getPromotionId());
|
||||||
Integer stock = Integer.parseInt(cache.get(PromotionGoodsService.getPromotionGoodsStockCacheKey(promotionTypeEnum, orderItem.getPromotionId(), orderItem.getSkuId())).toString());
|
Integer stock = Integer.parseInt(cache.get(PromotionGoodsService.getPromotionGoodsStockCacheKey(promotionTypeEnum, orderItem.getPromotionId(), orderItem.getSkuId())).toString());
|
||||||
pointsGoodsVO.setActiveStock(stock);
|
pointsGoodsVO.setActiveStock(stock);
|
||||||
pointsGoodsService.updateById(pointsGoodsVO);
|
pointsGoodsService.updateById(pointsGoodsVO);
|
||||||
this.mongoTemplate.save(pointsGoodsVO);
|
|
||||||
} else {
|
} else {
|
||||||
PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams();
|
PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams();
|
||||||
searchParams.setPromotionStatus(promotionTypeEnum.name());
|
searchParams.setPromotionStatus(promotionTypeEnum.name());
|
||||||
|
@ -13,4 +13,9 @@ public class EsSuffix {
|
|||||||
*/
|
*/
|
||||||
public static final String GOODS_INDEX_NAME = "goods";
|
public static final String GOODS_INDEX_NAME = "goods";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日志索引后缀
|
||||||
|
*/
|
||||||
|
public static final String LOGS_INDEX_NAME = "logs";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,6 @@ import lombok.EqualsAndHashCode;
|
|||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单查询参数
|
* 订单查询参数
|
||||||
@ -114,13 +113,14 @@ public class OrderSearchParams extends PageVO {
|
|||||||
private String orderPromotionType;
|
private String orderPromotionType;
|
||||||
|
|
||||||
public <T> QueryWrapper<T> queryWrapper() {
|
public <T> QueryWrapper<T> queryWrapper() {
|
||||||
AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser());
|
AuthUser currentUser = UserContext.getCurrentUser();
|
||||||
QueryWrapper<T> wrapper = new QueryWrapper<>();
|
QueryWrapper<T> wrapper = new QueryWrapper<>();
|
||||||
|
|
||||||
//关键字查询
|
//关键字查询
|
||||||
if (CharSequenceUtil.isNotEmpty(keywords)) {
|
if (CharSequenceUtil.isNotEmpty(keywords)) {
|
||||||
wrapper.like("o.sn", keywords).or().like("oi.goods_name", keywords);
|
wrapper.like("o.sn", keywords).or().like("oi.goods_name", keywords);
|
||||||
}
|
}
|
||||||
|
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.STORE.name()), "o.store_id", currentUser.getStoreId());
|
||||||
|
|
||||||
@ -129,8 +129,9 @@ public class OrderSearchParams extends PageVO {
|
|||||||
&& CharSequenceUtil.isNotEmpty(storeId), "o.store_id", storeId);
|
&& 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);
|
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
|
// 促销活动id
|
||||||
wrapper.eq(CharSequenceUtil.isNotEmpty(promotionId), "o.promotion_id", promotionId);
|
wrapper.eq(CharSequenceUtil.isNotEmpty(promotionId), "o.promotion_id", promotionId);
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@ import cn.hutool.core.text.CharSequenceUtil;
|
|||||||
import cn.lili.common.security.context.UserContext;
|
import cn.lili.common.security.context.UserContext;
|
||||||
import cn.lili.common.security.enums.UserEnums;
|
import cn.lili.common.security.enums.UserEnums;
|
||||||
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
|
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
|
||||||
|
import cn.lili.modules.promotion.tools.PromotionTools;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -48,7 +49,7 @@ public class KanjiaActivityGoodsParams implements Serializable {
|
|||||||
queryWrapper.like("goods_name", goodsName);
|
queryWrapper.like("goods_name", goodsName);
|
||||||
}
|
}
|
||||||
if (promotionStatus != null) {
|
if (promotionStatus != null) {
|
||||||
queryWrapper.eq("promotion_status", promotionStatus);
|
queryWrapper.and(PromotionTools.queryPromotionStatus(PromotionsStatusEnum.valueOf(promotionStatus)));
|
||||||
}
|
}
|
||||||
if (startTime != null) {
|
if (startTime != null) {
|
||||||
queryWrapper.le("start_time", new Date(startTime));
|
queryWrapper.le("start_time", new Date(startTime));
|
||||||
@ -57,7 +58,6 @@ public class KanjiaActivityGoodsParams implements Serializable {
|
|||||||
queryWrapper.ge("end_time", new Date(endTime));
|
queryWrapper.ge("end_time", new Date(endTime));
|
||||||
}
|
}
|
||||||
if (UserContext.getCurrentUser() != null && UserContext.getCurrentUser().getRole().equals(UserEnums.MEMBER)) {
|
if (UserContext.getCurrentUser() != null && UserContext.getCurrentUser().getRole().equals(UserEnums.MEMBER)) {
|
||||||
|
|
||||||
queryWrapper.gt("stock", 0);
|
queryWrapper.gt("stock", 0);
|
||||||
}
|
}
|
||||||
queryWrapper.eq("delete_flag", false);
|
queryWrapper.eq("delete_flag", false);
|
||||||
|
@ -2,6 +2,7 @@ package cn.lili.modules.promotion.serviceimpl;
|
|||||||
|
|
||||||
|
|
||||||
import cn.hutool.core.text.CharSequenceUtil;
|
import cn.hutool.core.text.CharSequenceUtil;
|
||||||
|
import cn.lili.common.enums.PromotionTypeEnum;
|
||||||
import cn.lili.common.enums.ResultCode;
|
import cn.lili.common.enums.ResultCode;
|
||||||
import cn.lili.common.exception.ServiceException;
|
import cn.lili.common.exception.ServiceException;
|
||||||
import cn.lili.common.vo.PageVO;
|
import cn.lili.common.vo.PageVO;
|
||||||
@ -74,7 +75,12 @@ public class KanjiaActivityGoodsServiceImpl extends ServiceImpl<KanJiaActivityGo
|
|||||||
kanJiaActivityGoodsDTO.setGoodsName(goodsSku.getGoodsName());
|
kanJiaActivityGoodsDTO.setGoodsName(goodsSku.getGoodsName());
|
||||||
kanJiaActivityGoodsDTO.setOriginalPrice(goodsSku.getPrice());
|
kanJiaActivityGoodsDTO.setOriginalPrice(goodsSku.getPrice());
|
||||||
kanjiaActivityGoodsList.add(kanJiaActivityGoodsDTO);
|
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);
|
this.promotionGoodsService.saveBatch(promotionGoodsList);
|
||||||
return this.saveBatch(kanjiaActivityGoodsList);
|
return this.saveBatch(kanjiaActivityGoodsList);
|
||||||
|
@ -87,6 +87,7 @@ public class PintuanServiceImpl extends AbstractPromotionsServiceImpl<PintuanMap
|
|||||||
searchParams.setPromotionId(pintuanId);
|
searchParams.setPromotionId(pintuanId);
|
||||||
searchParams.setOrderPromotionType(PromotionTypeEnum.PINTUAN.name());
|
searchParams.setOrderPromotionType(PromotionTypeEnum.PINTUAN.name());
|
||||||
searchParams.setParentOrderSn("");
|
searchParams.setParentOrderSn("");
|
||||||
|
searchParams.setMemberId("");
|
||||||
List<Order> orders = orderService.queryListByParams(searchParams);
|
List<Order> orders = orderService.queryListByParams(searchParams);
|
||||||
//遍历订单状态为已支付,为团长的拼团订单
|
//遍历订单状态为已支付,为团长的拼团订单
|
||||||
for (Order order : orders) {
|
for (Order order : orders) {
|
||||||
|
@ -4,6 +4,8 @@ import cn.lili.modules.search.entity.dos.EsGoodsIndex;
|
|||||||
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
|
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 商品索引
|
||||||
|
*
|
||||||
* @author paulG
|
* @author paulG
|
||||||
* @since 2020/10/15
|
* @since 2020/10/15
|
||||||
**/
|
**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user