diff --git a/buyer-api/src/main/java/cn/lili/controller/promotion/CouponBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/promotion/CouponBuyerController.java index 9d213b55..4d0dfed4 100644 --- a/buyer-api/src/main/java/cn/lili/controller/promotion/CouponBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/promotion/CouponBuyerController.java @@ -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> getCoupons(CouponSearchParams param, PageVO pageVo) { + public ResultMessage> 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> getCouponsByCanUse(CouponSearchParams param, Double totalPrice, PageVO pageVo) { + public ResultMessage> 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)); diff --git a/buyer-api/src/main/java/cn/lili/controller/promotion/KanjiaGoodsActivityBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/promotion/KanjiaGoodsActivityBuyerController.java index 51b2dab2..6f6ab3ef 100644 --- a/buyer-api/src/main/java/cn/lili/controller/promotion/KanjiaGoodsActivityBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/promotion/KanjiaGoodsActivityBuyerController.java @@ -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; diff --git a/buyer-api/src/main/java/cn/lili/controller/promotion/PintuanBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/promotion/PintuanBuyerController.java index 84fe7c16..62e928c8 100644 --- a/buyer-api/src/main/java/cn/lili/controller/promotion/PintuanBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/promotion/PintuanBuyerController.java @@ -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; diff --git a/buyer-api/src/main/java/cn/lili/controller/promotion/PointsGoodsBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/promotion/PointsGoodsBuyerController.java index 4dc38065..08932f1f 100644 --- a/buyer-api/src/main/java/cn/lili/controller/promotion/PointsGoodsBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/promotion/PointsGoodsBuyerController.java @@ -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; diff --git a/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java b/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java index 39fdf01a..9fd89c58 100644 --- a/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java @@ -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; diff --git a/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java b/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java index 214f8ff6..790b3b9d 100644 --- a/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java +++ b/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSalePriceDetailDTO.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSalePriceDetailDTO.java index 1f126b9e..f18d6bd5 100644 --- a/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSalePriceDetailDTO.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSalePriceDetailDTO.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/order/cart/entity/vo/CartSkuVO.java b/framework/src/main/java/cn/lili/modules/order/cart/entity/vo/CartSkuVO.java index cd986b28..59058dde 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/entity/vo/CartSkuVO.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/entity/vo/CartSkuVO.java @@ -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 promotions; - - @ApiModelProperty(value = "参与促销活动更新时间(一天更新一次) 例如时间为:2020-01-01 00:00:01") - private Date updatePromotionTime; - @ApiModelProperty("商品促销活动集合,key 为 促销活动类型,value 为 促销活动实体信息 ") private Map 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(); diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java index 4c40767e..f217efd5 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CouponRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CouponRender.java index ef5f0e0c..0157b7bc 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CouponRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CouponRender.java @@ -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 memberCouponList = memberCouponService.getMemberCoupons(); + MemberCouponSearchParams searchParams = new MemberCouponSearchParams(); + searchParams.setMemberId(UserContext.getCurrentUser().getId()); + searchParams.setMemberCouponStatus(MemberCouponStatusEnum.NEW.name()); + searchParams.setPromotionStatus(PromotionsStatusEnum.START.name()); + List memberCouponList = memberCouponService.getMemberCoupons(searchParams); if (!memberCouponList.isEmpty()) { this.checkMemberExistCoupon(tradeDTO, memberCouponList); diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java index 6ff74e3c..613de67c 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java index 6c339a65..cd0334ea 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java index 833fb8c2..67fe15e4 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java @@ -885,22 +885,6 @@ public class OrderServiceImpl extends ServiceImpl 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); - } - } - } - /** * 普通商品订单确认 * 修改订单状态为待发货 diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dto/BasePromotions.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/BasePromotions.java similarity index 98% rename from framework/src/main/java/cn/lili/modules/promotion/entity/dto/BasePromotions.java rename to framework/src/main/java/cn/lili/modules/promotion/entity/dos/BasePromotions.java index 512dfe24..0ec44505 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dto/BasePromotions.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/BasePromotions.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Coupon.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Coupon.java index c7948947..0a8f172d 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Coupon.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Coupon.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/CouponActivity.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/CouponActivity.java index 5db90bfc..fdc2615e 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/CouponActivity.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/CouponActivity.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/FullDiscount.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/FullDiscount.java index e7ea4388..e6e18ed7 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/FullDiscount.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/FullDiscount.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/KanjiaActivityGoods.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/KanjiaActivityGoods.java index acf01efe..8f6626ed 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/KanjiaActivityGoods.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/KanjiaActivityGoods.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Pintuan.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Pintuan.java index 4e4a485b..a7b75ff5 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Pintuan.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Pintuan.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/PointsGoods.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/PointsGoods.java index c3d692ba..8239ac39 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/PointsGoods.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/PointsGoods.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Seckill.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Seckill.java index 54c0230d..75b21f8c 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Seckill.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Seckill.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/BasePromotionsSearchParams.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/BasePromotionsSearchParams.java similarity index 97% rename from framework/src/main/java/cn/lili/modules/promotion/entity/vos/BasePromotionsSearchParams.java rename to framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/BasePromotionsSearchParams.java index 5999e332..b07aea26 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/BasePromotionsSearchParams.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/BasePromotionsSearchParams.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/CouponSearchParams.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/CouponSearchParams.java similarity index 93% rename from framework/src/main/java/cn/lili/modules/promotion/entity/vos/CouponSearchParams.java rename to framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/CouponSearchParams.java index 279c73b0..50ff6350 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/CouponSearchParams.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/CouponSearchParams.java @@ -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: diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/FullDiscountSearchParams.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/FullDiscountSearchParams.java similarity index 96% rename from framework/src/main/java/cn/lili/modules/promotion/entity/vos/FullDiscountSearchParams.java rename to framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/FullDiscountSearchParams.java index d1f0adb5..c49c8e24 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/FullDiscountSearchParams.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/FullDiscountSearchParams.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dto/KanJiaActivityLogQuery.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/KanJiaActivityLogQuery.java similarity index 94% rename from framework/src/main/java/cn/lili/modules/promotion/entity/dto/KanJiaActivityLogQuery.java rename to framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/KanJiaActivityLogQuery.java index 0639bc89..dbdd86ea 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dto/KanJiaActivityLogQuery.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/KanJiaActivityLogQuery.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/kanjia/KanjiaActivityGoodsParams.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/KanjiaActivityGoodsParams.java similarity index 91% rename from framework/src/main/java/cn/lili/modules/promotion/entity/vos/kanjia/KanjiaActivityGoodsParams.java rename to framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/KanjiaActivityGoodsParams.java index f1740fe6..e8fbc84f 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/kanjia/KanjiaActivityGoodsParams.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/KanjiaActivityGoodsParams.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dto/KanjiaActivityQuery.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/KanjiaActivityQuery.java similarity index 93% rename from framework/src/main/java/cn/lili/modules/promotion/entity/dto/KanjiaActivityQuery.java rename to framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/KanjiaActivityQuery.java index 332a7d39..c31d2ab4 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dto/KanjiaActivityQuery.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/KanjiaActivityQuery.java @@ -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; - /** * 砍价活动参与实体类 diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/kanjia/KanjiaActivitySearchParams.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/KanjiaActivitySearchParams.java similarity index 92% rename from framework/src/main/java/cn/lili/modules/promotion/entity/vos/kanjia/KanjiaActivitySearchParams.java rename to framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/KanjiaActivitySearchParams.java index 24c10cbd..6b7560ae 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/kanjia/KanjiaActivitySearchParams.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/KanjiaActivitySearchParams.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/MemberCouponSearchParams.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/MemberCouponSearchParams.java new file mode 100644 index 00000000..de0fc500 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/MemberCouponSearchParams.java @@ -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 QueryWrapper queryWrapper() { + QueryWrapper 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; + } + + +} diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/PintuanSearchParams.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/PintuanSearchParams.java similarity index 95% rename from framework/src/main/java/cn/lili/modules/promotion/entity/vos/PintuanSearchParams.java rename to framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/PintuanSearchParams.java index c49cf6af..7524655d 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/PintuanSearchParams.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/PintuanSearchParams.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/PointsGoodsSearchParams.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/PointsGoodsSearchParams.java similarity index 96% rename from framework/src/main/java/cn/lili/modules/promotion/entity/vos/PointsGoodsSearchParams.java rename to framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/PointsGoodsSearchParams.java index 11a7df3a..8b6e118b 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/PointsGoodsSearchParams.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/PointsGoodsSearchParams.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/PromotionGoodsSearchParams.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/PromotionGoodsSearchParams.java similarity index 97% rename from framework/src/main/java/cn/lili/modules/promotion/entity/vos/PromotionGoodsSearchParams.java rename to framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/PromotionGoodsSearchParams.java index b3da07fc..01f5f211 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/PromotionGoodsSearchParams.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/PromotionGoodsSearchParams.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/SeckillSearchParams.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/SeckillSearchParams.java similarity index 97% rename from framework/src/main/java/cn/lili/modules/promotion/entity/vos/SeckillSearchParams.java rename to framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/SeckillSearchParams.java index a19f4ec7..74f59153 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/SeckillSearchParams.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dto/search/SeckillSearchParams.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/AbstractPromotionsService.java b/framework/src/main/java/cn/lili/modules/promotion/service/AbstractPromotionsService.java index e0afee22..241f7781 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/AbstractPromotionsService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/AbstractPromotionsService.java @@ -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 extends ISe * 更新促销商品信息 * * @param promotions 促销实体 + * @return */ - void updatePromotionsGoods(T promotions); + boolean updatePromotionsGoods(T promotions); /** * 更新促销信息到商品索引 diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/CouponService.java b/framework/src/main/java/cn/lili/modules/promotion/service/CouponService.java index f81dde24..47b95335 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/CouponService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/CouponService.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityGoodsService.java b/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityGoodsService.java index 4f84cf77..860d38fc 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityGoodsService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityGoodsService.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityLogService.java b/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityLogService.java index 12e591d8..c6a3de22 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityLogService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityLogService.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityService.java b/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityService.java index e2a5e2e4..4d653290 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityService.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/MemberCouponService.java b/framework/src/main/java/cn/lili/modules/promotion/service/MemberCouponService.java index 56355b2e..6f4178cf 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/MemberCouponService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/MemberCouponService.java @@ -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 { * @param pageVo 分页参数 * @return 会员优惠券列表 */ - IPage getMemberCoupons(CouponSearchParams param, PageVO pageVo); + IPage getMemberCoupons(MemberCouponSearchParams param, PageVO pageVo); /** - * 获取会员所有优惠券 + * 获取会员优惠券列表 * + * @param pageVo 分页参数 + * @param param 查询参数 * @return 会员优惠券列表 */ - List getMemberCoupons(); + List getMemberCoupons(MemberCouponSearchParams param); /** * 获取会员优惠券列表 * * @param param 查询参数 - * @param pageVo 分页参数 * @param totalPrice 当前商品总价 + * @param pageVo 分页参数 * @return 会员优惠券列表 */ - IPage getMemberCouponsByCanUse(CouponSearchParams param, Double totalPrice, PageVO pageVo); + IPage getMemberCouponsByCanUse(MemberCouponSearchParams param, Double totalPrice, PageVO pageVo); /** * 获取当前会员当前商品可用的会员优惠券 diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/PromotionGoodsService.java b/framework/src/main/java/cn/lili/modules/promotion/service/PromotionGoodsService.java index 93a186d1..f019298b 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/PromotionGoodsService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/PromotionGoodsService.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/SeckillApplyService.java b/framework/src/main/java/cn/lili/modules/promotion/service/SeckillApplyService.java index b9244031..99b60133 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/SeckillApplyService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/SeckillApplyService.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java index 5264f309..e05fa0a4 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java @@ -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, T extends BasePromotions> extends ServiceImpl implements AbstractPromotionsService { /** @@ -69,8 +70,9 @@ public abstract class AbstractPromotionsServiceImpl, 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, 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, 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, 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; } /** diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java index f9a99c45..f7961151 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java @@ -137,10 +137,11 @@ public class CouponActivityServiceImpl extends AbstractPromotionsServiceImpl 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; } diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityGoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityGoodsServiceImpl.java index e36027ac..7b4e8db4 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityGoodsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityGoodsServiceImpl.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityLogServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityLogServiceImpl.java index b0bfde1c..21c4a344 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityLogServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityLogServiceImpl.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityServiceImpl.java index 704b4387..828bf7d0 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityServiceImpl.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java index 0b305710..acea35dc 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java @@ -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 getMemberCoupons(CouponSearchParams param, PageVO pageVo) { + public IPage getMemberCoupons(MemberCouponSearchParams param, PageVO pageVo) { QueryWrapper queryWrapper = param.queryWrapper(); return this.page(PageUtil.initPage(pageVo), queryWrapper); } + /** + * 获取会员优惠券列表 + * + * @param param 查询参数 + * @return 会员优惠券列表 + */ @Override - public List getMemberCoupons() { - AuthUser authUser = Objects.requireNonNull(UserContext.getCurrentUser()); - LambdaQueryWrapper 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 getMemberCoupons(MemberCouponSearchParams param) { + return this.list(param.queryWrapper()); } /** @@ -116,7 +116,7 @@ public class MemberCouponServiceImpl extends ServiceImpl getMemberCouponsByCanUse(CouponSearchParams param, Double totalPrice, PageVO pageVo) { + public IPage getMemberCouponsByCanUse(MemberCouponSearchParams param, Double totalPrice, PageVO pageVo) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); List storeIds = new ArrayList<>(Arrays.asList(param.getStoreId().split(","))); storeIds.add(PromotionTools.PLATFORM_ID); diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java index deb9abcb..4f06e820 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java @@ -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