修复拼团活动单独购买显示拼团价格问题;优化限时抢购和拼团信息显示

This commit is contained in:
paulGao 2021-10-08 16:24:20 +08:00
parent cbacab6bdf
commit 5d6ea5b48d
5 changed files with 33 additions and 29 deletions

View File

@ -286,6 +286,7 @@ public enum ResultCode {
PINTUAN_MANUAL_CLOSE_ERROR(42007, "手动关闭拼团活动失败"),
PINTUAN_ADD_ERROR(42008, "添加拼团活动失败"),
PINTUAN_EDIT_ERROR(42009, "修改拼团活动失败"),
PINTUAN_EDIT_ERROR_ITS_OPEN(42019, "拼团活动已开启,无法修改拼团活动!"),
PINTUAN_DELETE_ERROR(42010, "删除拼团活动失败"),
PINTUAN_JOIN_ERROR(42011, "不能参与自己发起的拼团活动!"),
PINTUAN_LIMIT_NUM_ERROR(42012, "购买数量超过拼团活动限制数量!"),

View File

@ -1,12 +1,13 @@
package cn.lili.modules.goods.entity.dto;
import cn.lili.common.utils.StringUtils;
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.goods.entity.enums.GoodsAuthEnum;
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 商品查询条件
@ -14,6 +15,7 @@ import lombok.Data;
* @author pikachu
* @since 2020-02-24 19:27:20
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class GoodsSearchParams extends PageVO {
@ -72,34 +74,34 @@ public class GoodsSearchParams extends PageVO {
public <T> QueryWrapper<T> queryWrapper() {
QueryWrapper<T> queryWrapper = new QueryWrapper<>();
if (StringUtils.isNotEmpty(goodsId)) {
if (CharSequenceUtil.isNotEmpty(goodsId)) {
queryWrapper.eq("goods_id", goodsId);
}
if (StringUtils.isNotEmpty(goodsName)) {
if (CharSequenceUtil.isNotEmpty(goodsName)) {
queryWrapper.like("goods_name", goodsName);
}
if (StringUtils.isNotEmpty(id)) {
if (CharSequenceUtil.isNotEmpty(id)) {
queryWrapper.eq("id", id);
}
if (StringUtils.isNotEmpty(storeId)) {
if (CharSequenceUtil.isNotEmpty(storeId)) {
queryWrapper.eq("store_id", storeId);
}
if (StringUtils.isNotEmpty(storeName)) {
if (CharSequenceUtil.isNotEmpty(storeName)) {
queryWrapper.like("store_name", storeName);
}
if (StringUtils.isNotEmpty(categoryPath)) {
if (CharSequenceUtil.isNotEmpty(categoryPath)) {
queryWrapper.like("category_path", categoryPath);
}
if (StringUtils.isNotEmpty(storeCategoryPath)) {
if (CharSequenceUtil.isNotEmpty(storeCategoryPath)) {
queryWrapper.like("store_category_path", storeCategoryPath);
}
if (selfOperated != null) {
queryWrapper.eq("self_operated", selfOperated);
}
if (StringUtils.isNotEmpty(marketEnable)) {
if (CharSequenceUtil.isNotEmpty(marketEnable)) {
queryWrapper.eq("market_enable", marketEnable);
}
if (StringUtils.isNotEmpty(isAuth)) {
if (CharSequenceUtil.isNotEmpty(isAuth)) {
queryWrapper.eq("is_auth", isAuth);
}
if (quantity != null) {
@ -108,7 +110,7 @@ public class GoodsSearchParams extends PageVO {
if (recommend != null) {
queryWrapper.le("recommend", recommend);
}
if (goodsType != null) {
if (CharSequenceUtil.isNotEmpty(goodsType)) {
queryWrapper.eq("goods_type", goodsType);
}
@ -118,7 +120,7 @@ public class GoodsSearchParams extends PageVO {
}
private <T> void betweenWrapper(QueryWrapper<T> queryWrapper) {
if (StringUtils.isNotEmpty(price)) {
if (CharSequenceUtil.isNotEmpty(price)) {
String[] s = price.split("_");
if (s.length > 1) {
queryWrapper.ge("price", s[1]);

View File

@ -120,6 +120,7 @@ public class SkuPromotionRender implements CartRenderStep {
return;
case CART:
case BUY_NOW:
return;
case VIRTUAL:
//循环购物车
for (CartVO cartVO : tradeDTO.getCartList()) {
@ -130,6 +131,10 @@ public class SkuPromotionRender implements CartRenderStep {
//赋予商品促销信息
for (PromotionGoods promotionGoods : cartSkuVO.getPromotions()) {
// 忽略拼团活动
if (promotionGoods.getPromotionType().equals(PromotionTypeEnum.PINTUAN.name())) {
continue;
}
PromotionSkuVO promotionSkuVO = new PromotionSkuVO(promotionGoods.getPromotionType(), promotionGoods.getPromotionId());
cartSkuVO.setPurchasePrice(promotionGoods.getPrice());
cartSkuVO.setSubTotal(CurrencyUtil.mul(promotionGoods.getPrice(), cartSkuVO.getNum()));

View File

@ -2,18 +2,12 @@ package cn.lili.modules.promotion.serviceimpl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.enums.ResultCode;
import cn.lili.trigger.util.DelayQueueTools;
import cn.lili.trigger.enums.DelayTypeEnums;
import cn.lili.trigger.message.PromotionMessage;
import cn.lili.common.exception.ServiceException;
import cn.lili.trigger.interfaces.TimeTrigger;
import cn.lili.trigger.model.TimeExecuteConstant;
import cn.lili.trigger.model.TimeTriggerMsg;
import cn.lili.common.utils.DateUtil;
import cn.lili.mybatis.util.PageUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.common.utils.DateUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.goods.service.GoodsSkuService;
import cn.lili.modules.member.entity.dos.Member;
import cn.lili.modules.member.service.MemberService;
@ -24,7 +18,6 @@ import cn.lili.modules.order.order.service.OrderService;
import cn.lili.modules.promotion.entity.dos.Pintuan;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.modules.promotion.entity.vos.PintuanMemberVO;
import cn.lili.modules.promotion.entity.vos.PintuanSearchParams;
import cn.lili.modules.promotion.entity.vos.PintuanShareVO;
@ -33,6 +26,13 @@ import cn.lili.modules.promotion.mapper.PintuanMapper;
import cn.lili.modules.promotion.service.PintuanService;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import cn.lili.modules.promotion.tools.PromotionTools;
import cn.lili.mybatis.util.PageUtil;
import cn.lili.trigger.enums.DelayTypeEnums;
import cn.lili.trigger.interfaces.TimeTrigger;
import cn.lili.trigger.message.PromotionMessage;
import cn.lili.trigger.model.TimeExecuteConstant;
import cn.lili.trigger.model.TimeTriggerMsg;
import cn.lili.trigger.util.DelayQueueTools;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@ -219,7 +219,7 @@ public class PintuanServiceImpl extends ServiceImpl<PintuanMapper, Pintuan> impl
public boolean modifyPintuan(PintuanVO pintuan) {
PintuanVO pintuanVO = this.checkExist(pintuan.getId());
if (!pintuan.getPromotionStatus().equals(PromotionStatusEnum.NEW.name())) {
throw new ServiceException(ResultCode.PINTUAN_EDIT_ERROR);
throw new ServiceException(ResultCode.PINTUAN_EDIT_ERROR_ITS_OPEN);
}
//检查促销时间
PromotionTools.checkPromotionTime(pintuan.getStartTime().getTime(), pintuan.getEndTime().getTime());

View File

@ -7,6 +7,7 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.cache.Cache;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.vo.PageVO;
@ -17,7 +18,6 @@ import cn.lili.modules.promotion.entity.dos.Seckill;
import cn.lili.modules.promotion.entity.dos.SeckillApply;
import cn.lili.modules.promotion.entity.enums.PromotionApplyStatusEnum;
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.modules.promotion.entity.vos.*;
import cn.lili.modules.promotion.mapper.SeckillApplyMapper;
import cn.lili.modules.promotion.service.PromotionGoodsService;
@ -101,11 +101,7 @@ public class SeckillApplyServiceImpl extends ServiceImpl<SeckillApplyMapper, Sec
timelineVoS.add(seckillTimelineVO);
}
}
if (timelineVoS.size() > 0) {
return timelineVoS;
} else {
throw new ServiceException(ResultCode.SECKILL_NOT_START_ERROR);
}
return timelineVoS;
}
@Override