修复拼团活动单独购买显示拼团价格问题;优化限时抢购和拼团信息显示
This commit is contained in:
parent
cbacab6bdf
commit
5d6ea5b48d
@ -286,6 +286,7 @@ public enum ResultCode {
|
|||||||
PINTUAN_MANUAL_CLOSE_ERROR(42007, "手动关闭拼团活动失败"),
|
PINTUAN_MANUAL_CLOSE_ERROR(42007, "手动关闭拼团活动失败"),
|
||||||
PINTUAN_ADD_ERROR(42008, "添加拼团活动失败"),
|
PINTUAN_ADD_ERROR(42008, "添加拼团活动失败"),
|
||||||
PINTUAN_EDIT_ERROR(42009, "修改拼团活动失败"),
|
PINTUAN_EDIT_ERROR(42009, "修改拼团活动失败"),
|
||||||
|
PINTUAN_EDIT_ERROR_ITS_OPEN(42019, "拼团活动已开启,无法修改拼团活动!"),
|
||||||
PINTUAN_DELETE_ERROR(42010, "删除拼团活动失败"),
|
PINTUAN_DELETE_ERROR(42010, "删除拼团活动失败"),
|
||||||
PINTUAN_JOIN_ERROR(42011, "不能参与自己发起的拼团活动!"),
|
PINTUAN_JOIN_ERROR(42011, "不能参与自己发起的拼团活动!"),
|
||||||
PINTUAN_LIMIT_NUM_ERROR(42012, "购买数量超过拼团活动限制数量!"),
|
PINTUAN_LIMIT_NUM_ERROR(42012, "购买数量超过拼团活动限制数量!"),
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
package cn.lili.modules.goods.entity.dto;
|
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.common.vo.PageVO;
|
||||||
import cn.lili.modules.goods.entity.enums.GoodsAuthEnum;
|
import cn.lili.modules.goods.entity.enums.GoodsAuthEnum;
|
||||||
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
|
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
|
||||||
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;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品查询条件
|
* 商品查询条件
|
||||||
@ -14,6 +15,7 @@ import lombok.Data;
|
|||||||
* @author pikachu
|
* @author pikachu
|
||||||
* @since 2020-02-24 19:27:20
|
* @since 2020-02-24 19:27:20
|
||||||
*/
|
*/
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
public class GoodsSearchParams extends PageVO {
|
public class GoodsSearchParams extends PageVO {
|
||||||
|
|
||||||
@ -72,34 +74,34 @@ public class GoodsSearchParams extends PageVO {
|
|||||||
|
|
||||||
public <T> QueryWrapper<T> queryWrapper() {
|
public <T> QueryWrapper<T> queryWrapper() {
|
||||||
QueryWrapper<T> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<T> queryWrapper = new QueryWrapper<>();
|
||||||
if (StringUtils.isNotEmpty(goodsId)) {
|
if (CharSequenceUtil.isNotEmpty(goodsId)) {
|
||||||
queryWrapper.eq("goods_id", goodsId);
|
queryWrapper.eq("goods_id", goodsId);
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotEmpty(goodsName)) {
|
if (CharSequenceUtil.isNotEmpty(goodsName)) {
|
||||||
queryWrapper.like("goods_name", goodsName);
|
queryWrapper.like("goods_name", goodsName);
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotEmpty(id)) {
|
if (CharSequenceUtil.isNotEmpty(id)) {
|
||||||
queryWrapper.eq("id", id);
|
queryWrapper.eq("id", id);
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotEmpty(storeId)) {
|
if (CharSequenceUtil.isNotEmpty(storeId)) {
|
||||||
queryWrapper.eq("store_id", storeId);
|
queryWrapper.eq("store_id", storeId);
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotEmpty(storeName)) {
|
if (CharSequenceUtil.isNotEmpty(storeName)) {
|
||||||
queryWrapper.like("store_name", storeName);
|
queryWrapper.like("store_name", storeName);
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotEmpty(categoryPath)) {
|
if (CharSequenceUtil.isNotEmpty(categoryPath)) {
|
||||||
queryWrapper.like("category_path", categoryPath);
|
queryWrapper.like("category_path", categoryPath);
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotEmpty(storeCategoryPath)) {
|
if (CharSequenceUtil.isNotEmpty(storeCategoryPath)) {
|
||||||
queryWrapper.like("store_category_path", storeCategoryPath);
|
queryWrapper.like("store_category_path", storeCategoryPath);
|
||||||
}
|
}
|
||||||
if (selfOperated != null) {
|
if (selfOperated != null) {
|
||||||
queryWrapper.eq("self_operated", selfOperated);
|
queryWrapper.eq("self_operated", selfOperated);
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotEmpty(marketEnable)) {
|
if (CharSequenceUtil.isNotEmpty(marketEnable)) {
|
||||||
queryWrapper.eq("market_enable", marketEnable);
|
queryWrapper.eq("market_enable", marketEnable);
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotEmpty(isAuth)) {
|
if (CharSequenceUtil.isNotEmpty(isAuth)) {
|
||||||
queryWrapper.eq("is_auth", isAuth);
|
queryWrapper.eq("is_auth", isAuth);
|
||||||
}
|
}
|
||||||
if (quantity != null) {
|
if (quantity != null) {
|
||||||
@ -108,7 +110,7 @@ public class GoodsSearchParams extends PageVO {
|
|||||||
if (recommend != null) {
|
if (recommend != null) {
|
||||||
queryWrapper.le("recommend", recommend);
|
queryWrapper.le("recommend", recommend);
|
||||||
}
|
}
|
||||||
if (goodsType != null) {
|
if (CharSequenceUtil.isNotEmpty(goodsType)) {
|
||||||
queryWrapper.eq("goods_type", goodsType);
|
queryWrapper.eq("goods_type", goodsType);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,7 +120,7 @@ public class GoodsSearchParams extends PageVO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private <T> void betweenWrapper(QueryWrapper<T> queryWrapper) {
|
private <T> void betweenWrapper(QueryWrapper<T> queryWrapper) {
|
||||||
if (StringUtils.isNotEmpty(price)) {
|
if (CharSequenceUtil.isNotEmpty(price)) {
|
||||||
String[] s = price.split("_");
|
String[] s = price.split("_");
|
||||||
if (s.length > 1) {
|
if (s.length > 1) {
|
||||||
queryWrapper.ge("price", s[1]);
|
queryWrapper.ge("price", s[1]);
|
||||||
|
@ -120,6 +120,7 @@ public class SkuPromotionRender implements CartRenderStep {
|
|||||||
return;
|
return;
|
||||||
case CART:
|
case CART:
|
||||||
case BUY_NOW:
|
case BUY_NOW:
|
||||||
|
return;
|
||||||
case VIRTUAL:
|
case VIRTUAL:
|
||||||
//循环购物车
|
//循环购物车
|
||||||
for (CartVO cartVO : tradeDTO.getCartList()) {
|
for (CartVO cartVO : tradeDTO.getCartList()) {
|
||||||
@ -130,6 +131,10 @@ public class SkuPromotionRender implements CartRenderStep {
|
|||||||
//赋予商品促销信息
|
//赋予商品促销信息
|
||||||
for (PromotionGoods promotionGoods : cartSkuVO.getPromotions()) {
|
for (PromotionGoods promotionGoods : cartSkuVO.getPromotions()) {
|
||||||
|
|
||||||
|
// 忽略拼团活动
|
||||||
|
if (promotionGoods.getPromotionType().equals(PromotionTypeEnum.PINTUAN.name())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
PromotionSkuVO promotionSkuVO = new PromotionSkuVO(promotionGoods.getPromotionType(), promotionGoods.getPromotionId());
|
PromotionSkuVO promotionSkuVO = new PromotionSkuVO(promotionGoods.getPromotionType(), promotionGoods.getPromotionId());
|
||||||
cartSkuVO.setPurchasePrice(promotionGoods.getPrice());
|
cartSkuVO.setPurchasePrice(promotionGoods.getPrice());
|
||||||
cartSkuVO.setSubTotal(CurrencyUtil.mul(promotionGoods.getPrice(), cartSkuVO.getNum()));
|
cartSkuVO.setSubTotal(CurrencyUtil.mul(promotionGoods.getPrice(), cartSkuVO.getNum()));
|
||||||
|
@ -2,18 +2,12 @@ package cn.lili.modules.promotion.serviceimpl;
|
|||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.lili.common.enums.PromotionTypeEnum;
|
||||||
import cn.lili.common.enums.ResultCode;
|
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.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.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.goods.service.GoodsSkuService;
|
||||||
import cn.lili.modules.member.entity.dos.Member;
|
import cn.lili.modules.member.entity.dos.Member;
|
||||||
import cn.lili.modules.member.service.MemberService;
|
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.Pintuan;
|
||||||
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
|
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
|
||||||
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
|
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.PintuanMemberVO;
|
||||||
import cn.lili.modules.promotion.entity.vos.PintuanSearchParams;
|
import cn.lili.modules.promotion.entity.vos.PintuanSearchParams;
|
||||||
import cn.lili.modules.promotion.entity.vos.PintuanShareVO;
|
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.PintuanService;
|
||||||
import cn.lili.modules.promotion.service.PromotionGoodsService;
|
import cn.lili.modules.promotion.service.PromotionGoodsService;
|
||||||
import cn.lili.modules.promotion.tools.PromotionTools;
|
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.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
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) {
|
public boolean modifyPintuan(PintuanVO pintuan) {
|
||||||
PintuanVO pintuanVO = this.checkExist(pintuan.getId());
|
PintuanVO pintuanVO = this.checkExist(pintuan.getId());
|
||||||
if (!pintuan.getPromotionStatus().equals(PromotionStatusEnum.NEW.name())) {
|
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());
|
PromotionTools.checkPromotionTime(pintuan.getStartTime().getTime(), pintuan.getEndTime().getTime());
|
||||||
|
@ -7,6 +7,7 @@ import cn.hutool.core.date.DateTime;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.text.CharSequenceUtil;
|
import cn.hutool.core.text.CharSequenceUtil;
|
||||||
import cn.lili.cache.Cache;
|
import cn.lili.cache.Cache;
|
||||||
|
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;
|
||||||
@ -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.dos.SeckillApply;
|
||||||
import cn.lili.modules.promotion.entity.enums.PromotionApplyStatusEnum;
|
import cn.lili.modules.promotion.entity.enums.PromotionApplyStatusEnum;
|
||||||
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
|
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.entity.vos.*;
|
||||||
import cn.lili.modules.promotion.mapper.SeckillApplyMapper;
|
import cn.lili.modules.promotion.mapper.SeckillApplyMapper;
|
||||||
import cn.lili.modules.promotion.service.PromotionGoodsService;
|
import cn.lili.modules.promotion.service.PromotionGoodsService;
|
||||||
@ -101,11 +101,7 @@ public class SeckillApplyServiceImpl extends ServiceImpl<SeckillApplyMapper, Sec
|
|||||||
timelineVoS.add(seckillTimelineVO);
|
timelineVoS.add(seckillTimelineVO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (timelineVoS.size() > 0) {
|
return timelineVoS;
|
||||||
return timelineVoS;
|
|
||||||
} else {
|
|
||||||
throw new ServiceException(ResultCode.SECKILL_NOT_START_ERROR);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user