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 18e46793..a91fff96 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,7 @@ package cn.lili.modules.promotion.entity.dos; import cn.lili.modules.promotion.entity.dto.BasePromotion; +import cn.lili.modules.promotion.entity.enums.CouponActivitySendTypeEnum; import cn.lili.modules.promotion.entity.enums.CouponActivityTypeEnum; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; @@ -31,6 +32,9 @@ public class CouponActivity extends BasePromotion { @ApiModelProperty(value = "优惠券活动类型", allowableValues = "REGISTERED:新人赠券,SPECIFY:精确发券") private String couponActivityType; + /** + * @see CouponActivitySendTypeEnum + */ @NotNull(message = "请选择活动范围") @ApiModelProperty(value = "活动范围", allowableValues = "ALL:全部会员,DESIGNATED:指定会员") private String activityScope; diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/enums/CouponActivitySendTypeEnum.java b/framework/src/main/java/cn/lili/modules/promotion/entity/enums/CouponActivitySendTypeEnum.java new file mode 100644 index 00000000..29faba67 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/enums/CouponActivitySendTypeEnum.java @@ -0,0 +1,23 @@ +package cn.lili.modules.promotion.entity.enums; + +/** + * 优惠券活动发送类型枚举 + * + * @author Bulbasaur + * @date: 2021/5/20 5:47 下午 + */ +public enum CouponActivitySendTypeEnum { + + ALL("全部会员"), + DESIGNATED("指定会员"); + + private final String description; + + CouponActivitySendTypeEnum(String str) { + this.description = str; + } + + public String description() { + return description; + } +} diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/CouponActivityItemVO.java b/framework/src/main/java/cn/lili/modules/promotion/entity/vos/CouponActivityItemVO.java index 47dc2630..da003d29 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/CouponActivityItemVO.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/vos/CouponActivityItemVO.java @@ -2,6 +2,7 @@ package cn.lili.modules.promotion.entity.vos; import cn.lili.modules.promotion.entity.dos.CouponActivityItem; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** * 优惠券活动的优惠券VO @@ -9,6 +10,7 @@ import io.swagger.annotations.ApiModelProperty; * @author Bulbasaur * @date: 2021/6/18 11:00 上午 */ +@Data public class CouponActivityItemVO extends CouponActivityItem { @ApiModelProperty(value = "优惠券名称") diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/CouponActivityVO.java b/framework/src/main/java/cn/lili/modules/promotion/entity/vos/CouponActivityVO.java index aeaa37a8..0a8a9d26 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/vos/CouponActivityVO.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/vos/CouponActivityVO.java @@ -2,7 +2,6 @@ package cn.lili.modules.promotion.entity.vos; import cn.lili.common.utils.BeanUtil; import cn.lili.modules.promotion.entity.dos.CouponActivity; -import cn.lili.modules.promotion.entity.dos.CouponActivityItem; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.NoArgsConstructor; @@ -24,6 +23,6 @@ public class CouponActivityVO extends CouponActivity { public CouponActivityVO(CouponActivity couponActivity, List couponActivityItemVOS) { BeanUtil.copyProperties(couponActivity, this); - this.couponActivityItems = couponActivityItems; + this.couponActivityItems = couponActivityItemVOS; } } diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/CouponActivityService.java b/framework/src/main/java/cn/lili/modules/promotion/service/CouponActivityService.java index 6992fb95..7b5fd0d4 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/CouponActivityService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/CouponActivityService.java @@ -19,12 +19,14 @@ public interface CouponActivityService extends IService { /** * 创建优惠券活动--精准发券、新人赠券 + * * @param couponActivityDTO 优惠券活动DTO */ CouponActivityDTO addCouponActivity(CouponActivityDTO couponActivityDTO); /** * 修改优惠券活动--精准发券、新人赠券 + * * @param couponActivityDTO 优惠券活动DTO */ CouponActivityDTO updateCouponActivity(CouponActivityDTO couponActivityDTO); @@ -49,18 +51,13 @@ public interface CouponActivityService extends IService { * 注册赠券 * * @param couponActivityList 优惠券活动 - * @param member 会员 + * @param member 会员 */ void registered(List couponActivityList, Member member); - //删除优惠券活动 - - //关闭优惠券活动 + /** + * 关闭优惠券活动 + */ boolean updateCouponActivityStatus(String id, PromotionStatusEnum promotionStatus); - //开启优惠券活动 - - //查看优惠券活动 - - //查看优惠券活动 } 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 5f68ef81..33b06d31 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 @@ -10,6 +10,7 @@ import cn.lili.modules.promotion.entity.dos.CouponActivity; import cn.lili.modules.promotion.entity.dos.CouponActivityItem; import cn.lili.modules.promotion.entity.dos.MemberCoupon; import cn.lili.modules.promotion.entity.dto.CouponActivityDTO; +import cn.lili.modules.promotion.entity.enums.CouponActivitySendTypeEnum; import cn.lili.modules.promotion.entity.enums.MemberCouponStatusEnum; import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum; import cn.lili.modules.promotion.entity.vos.CouponActivityVO; @@ -51,8 +52,8 @@ public class CouponActivityServiceImpl extends ServiceImpl 10) { + throw new ServiceException("优惠券活动最多指定10个优惠券"); + } else { + for (CouponActivityItem item : couponActivity.getCouponActivityItems()) { + if (item.getNum() == null || item.getNum() <= 0) { + throw new ServiceException("赠券数量必须大于0"); + } + } + } } /** diff --git a/manager-api/src/main/java/cn/lili/controller/promotion/CouponActivityManagerController.java b/manager-api/src/main/java/cn/lili/controller/promotion/CouponActivityManagerController.java index 2ca35d8b..ac9575a4 100644 --- a/manager-api/src/main/java/cn/lili/controller/promotion/CouponActivityManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/promotion/CouponActivityManagerController.java @@ -54,21 +54,13 @@ public class CouponActivityManagerController { return ResultUtil.data(couponActivityService.addCouponActivity(couponActivityDTO)); } - @ApiOperation(value = "修改优惠券活动") - @PutMapping("/{id}") - public ResultMessage updateCouponActivity(@PathVariable String id, CouponActivityDTO couponActivityDTO) { - couponActivityDTO.setId(id); - return ResultUtil.data(couponActivityService.updateCouponActivity(couponActivityDTO)); - } - - @ApiOperation(value = "关闭、启动优惠券") + @ApiOperation(value = "关闭优惠券活动") @ApiImplicitParams({ - @ApiImplicitParam(name = "id", value = "优惠券活动ID", required = true, dataType = "String", paramType = "path"), - @ApiImplicitParam(name = "promotionStatus", value = "活动状态", required = true, dataType = "String", paramType = "path") + @ApiImplicitParam(name = "id", value = "优惠券活动ID", required = true, dataType = "String", paramType = "path") }) - @PutMapping("/updateStatus/{id}/{promotionStatus}") - public ResultMessage updateStatus(@PathVariable String id, @PathVariable String promotionStatus) { - if (couponActivityService.updateCouponActivityStatus(id, PromotionStatusEnum.valueOf(promotionStatus))) { + @PutMapping("/close/{id}") + public ResultMessage updateStatus(@PathVariable String id) { + if (couponActivityService.updateCouponActivityStatus(id, PromotionStatusEnum.END)) { return ResultUtil.success(ResultCode.SUCCESS); } throw new ServiceException(ResultCode.ERROR);