创建优惠券活动
This commit is contained in:
parent
16498a6850
commit
8924981556
@ -8,11 +8,12 @@ import lombok.Data;
|
|||||||
|
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 优惠券活动实体类
|
* 优惠券活动实体类
|
||||||
*
|
*
|
||||||
* @author Chopper
|
* @author Bulbasaur
|
||||||
* @date 2020-03-19 10:44 上午
|
* @date 2020-03-19 10:44 上午
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@ -22,13 +23,15 @@ import javax.persistence.Table;
|
|||||||
@ApiModel(value = "优惠券活动实体类")
|
@ApiModel(value = "优惠券活动实体类")
|
||||||
public class CouponActivity extends BasePromotion {
|
public class CouponActivity extends BasePromotion {
|
||||||
|
|
||||||
|
@NotNull(message = "优惠券活动类型不能为空")
|
||||||
@ApiModelProperty(value = "优惠券活动类型")
|
@ApiModelProperty(value = "优惠券活动类型")
|
||||||
private String couponActivityType;
|
private String couponActivityType;
|
||||||
|
|
||||||
|
@NotNull(message = "请选择活动范围")
|
||||||
@ApiModelProperty(value = "活动范围", allowableValues = "ALL:全部会员,DESIGNATED:指定会员")
|
@ApiModelProperty(value = "活动范围", allowableValues = "ALL:全部会员,DESIGNATED:指定会员")
|
||||||
private String activityScope;
|
private String activityScope;
|
||||||
|
|
||||||
@ApiModelProperty(value = "活动范围")
|
@ApiModelProperty(value = "活动范围详情")
|
||||||
private String activityScopeInfo;
|
private String activityScopeInfo;
|
||||||
|
|
||||||
}
|
}
|
@ -12,7 +12,7 @@ import javax.persistence.Table;
|
|||||||
/**
|
/**
|
||||||
* 优惠券活动实体类
|
* 优惠券活动实体类
|
||||||
*
|
*
|
||||||
* @author Chopper
|
* @author Bulbasaur
|
||||||
* @date 2020-03-19 10:44 上午
|
* @date 2020-03-19 10:44 上午
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
|
@ -0,0 +1,21 @@
|
|||||||
|
package cn.lili.modules.promotion.entity.dto;
|
||||||
|
|
||||||
|
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 java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 优惠券活动DTO
|
||||||
|
*
|
||||||
|
* @author Bulbasaur
|
||||||
|
* @date: 2021/5/21 7:16 下午
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CouponActivityDTO extends CouponActivity {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "优惠券列表")
|
||||||
|
private List<CouponActivityItem> couponActivityItems;
|
||||||
|
}
|
@ -1,23 +0,0 @@
|
|||||||
package cn.lili.modules.promotion.entity.enums;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 优惠券活动范围枚举
|
|
||||||
*
|
|
||||||
* @author Bulbasaur
|
|
||||||
* @date: 2021/5/20 6:05 下午
|
|
||||||
*/
|
|
||||||
public enum ActivityRangeEnum {
|
|
||||||
|
|
||||||
ALL("新人赠券"),
|
|
||||||
DESIGNATED("精确发券");
|
|
||||||
|
|
||||||
private final String description;
|
|
||||||
|
|
||||||
ActivityRangeEnum(String str) {
|
|
||||||
this.description = str;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String description() {
|
|
||||||
return description;
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,29 @@
|
|||||||
|
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;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 优惠券活动VO
|
||||||
|
*
|
||||||
|
* @author Bulbasaur
|
||||||
|
* @date: 2021/5/21 7:01 下午
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class CouponActivityVO extends CouponActivity {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "优惠券活动下的优惠券列表")
|
||||||
|
private List<CouponActivityItem> couponActivityItems;
|
||||||
|
|
||||||
|
public CouponActivityVO(CouponActivity couponActivity, List<CouponActivityItem> couponActivityItems) {
|
||||||
|
BeanUtil.copyProperties(couponActivity, this);
|
||||||
|
this.couponActivityItems = couponActivityItems;
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
package cn.lili.modules.promotion.mapper;
|
package cn.lili.modules.promotion.mapper;
|
||||||
|
|
||||||
import cn.lili.modules.promotion.entity.dos.CouponActivity;
|
import cn.lili.modules.promotion.entity.dos.CouponActivityItem;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||||||
* @date: 2021/5/20 6:11 下午
|
* @date: 2021/5/20 6:11 下午
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public interface CouponActivityItemMapper extends BaseMapper<CouponActivity> {
|
public interface CouponActivityItemMapper extends BaseMapper<CouponActivityItem> {
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -3,6 +3,8 @@ package cn.lili.modules.promotion.service;
|
|||||||
import cn.lili.modules.promotion.entity.dos.CouponActivityItem;
|
import cn.lili.modules.promotion.entity.dos.CouponActivityItem;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 优惠券活动-优惠券业务层
|
* 优惠券活动-优惠券业务层
|
||||||
*
|
*
|
||||||
@ -10,4 +12,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
* @date: 2021/5/20 6:10 下午
|
* @date: 2021/5/20 6:10 下午
|
||||||
*/
|
*/
|
||||||
public interface CouponActivityItemService extends IService<CouponActivityItem> {
|
public interface CouponActivityItemService extends IService<CouponActivityItem> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取优惠券活动关联优惠券列表
|
||||||
|
*
|
||||||
|
* @param activityId 优惠券活动ID
|
||||||
|
* @return 优惠券关联优惠券列表
|
||||||
|
*/
|
||||||
|
List<CouponActivityItem> getCouponActivityList(String activityId);
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
package cn.lili.modules.promotion.service;
|
package cn.lili.modules.promotion.service;
|
||||||
|
|
||||||
import cn.lili.modules.promotion.entity.dos.CouponActivity;
|
import cn.lili.modules.promotion.entity.dos.CouponActivity;
|
||||||
|
import cn.lili.modules.promotion.entity.dto.CouponActivityDTO;
|
||||||
|
import cn.lili.modules.promotion.entity.vos.CouponActivityVO;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 优惠券活动业务层
|
* 优惠券活动业务层
|
||||||
*
|
*
|
||||||
@ -11,7 +15,41 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
*/
|
*/
|
||||||
public interface CouponActivityService extends IService<CouponActivity> {
|
public interface CouponActivityService extends IService<CouponActivity> {
|
||||||
|
|
||||||
//创建优惠券活动--精准发券、新人赠券、会员等级赠券
|
/**
|
||||||
|
* 创建优惠券活动--精准发券、新人赠券
|
||||||
|
* @param couponActivityDTO 优惠券活动DTO
|
||||||
|
*/
|
||||||
|
CouponActivityDTO addCouponActivity(CouponActivityDTO couponActivityDTO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改优惠券活动--精准发券、新人赠券
|
||||||
|
* @param couponActivityDTO 优惠券活动DTO
|
||||||
|
*/
|
||||||
|
CouponActivityDTO updateCouponActivity(CouponActivityDTO couponActivityDTO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取优惠券活动VO
|
||||||
|
* 包含优惠券活动信息以及优惠券关联优惠券列表
|
||||||
|
*
|
||||||
|
* @param couponActivityId 优惠券活动ID
|
||||||
|
* @return 优惠券VO
|
||||||
|
*/
|
||||||
|
CouponActivityVO getCouponActivityVO(String couponActivityId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 精准发券
|
||||||
|
*
|
||||||
|
* @param couponActivityId 优惠券活动ID
|
||||||
|
*/
|
||||||
|
void specify(String couponActivityId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 注册赠券
|
||||||
|
*
|
||||||
|
* @param couponActivityIds 优惠券活动ID
|
||||||
|
* @param memberId
|
||||||
|
*/
|
||||||
|
void registered(List<String> couponActivityIds, String memberId);
|
||||||
|
|
||||||
//编辑优惠券活动
|
//编辑优惠券活动
|
||||||
|
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
package cn.lili.modules.promotion.serviceimpl;
|
||||||
|
|
||||||
|
import cn.lili.modules.promotion.entity.dos.CouponActivityItem;
|
||||||
|
import cn.lili.modules.promotion.mapper.CouponActivityItemMapper;
|
||||||
|
import cn.lili.modules.promotion.service.CouponActivityItemService;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 优惠券活动关联优惠券业务层实现
|
||||||
|
*
|
||||||
|
* @author Bulbasaur
|
||||||
|
* @date: 2021/5/21 6:42 下午
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class CouponActivityItemServiceImpl extends ServiceImpl<CouponActivityItemMapper, CouponActivityItem> implements CouponActivityItemService {
|
||||||
|
@Override
|
||||||
|
public List<CouponActivityItem> getCouponActivityList(String activityId) {
|
||||||
|
return this.list(this.lambdaQuery().eq(CouponActivityItem::getActivityId, activityId));
|
||||||
|
}
|
||||||
|
}
|
@ -1,9 +1,30 @@
|
|||||||
package cn.lili.modules.promotion.serviceimpl;
|
package cn.lili.modules.promotion.serviceimpl;
|
||||||
|
|
||||||
|
import cn.lili.common.exception.ServiceException;
|
||||||
|
import cn.lili.common.utils.DateUtil;
|
||||||
|
import cn.lili.modules.member.entity.dos.Member;
|
||||||
|
import cn.lili.modules.member.service.MemberService;
|
||||||
|
import cn.lili.modules.promotion.entity.dos.Coupon;
|
||||||
import cn.lili.modules.promotion.entity.dos.CouponActivity;
|
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.MemberCouponStatusEnum;
|
||||||
|
import cn.lili.modules.promotion.entity.vos.CouponActivityVO;
|
||||||
import cn.lili.modules.promotion.mapper.CouponActivityMapper;
|
import cn.lili.modules.promotion.mapper.CouponActivityMapper;
|
||||||
|
import cn.lili.modules.promotion.service.CouponActivityItemService;
|
||||||
import cn.lili.modules.promotion.service.CouponActivityService;
|
import cn.lili.modules.promotion.service.CouponActivityService;
|
||||||
|
import cn.lili.modules.promotion.service.CouponService;
|
||||||
|
import cn.lili.modules.promotion.service.MemberCouponService;
|
||||||
|
import cn.lili.modules.promotion.tools.PromotionTools;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import groovy.util.logging.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 优惠券活动业务层实现
|
* 优惠券活动业务层实现
|
||||||
@ -11,5 +32,168 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
* @author Bulbasaur
|
* @author Bulbasaur
|
||||||
* @date: 2021/5/20 6:10 下午
|
* @date: 2021/5/20 6:10 下午
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
public class CouponActivityServiceImpl extends ServiceImpl<CouponActivityMapper, CouponActivity> implements CouponActivityService {
|
public class CouponActivityServiceImpl extends ServiceImpl<CouponActivityMapper, CouponActivity> implements CouponActivityService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CouponService couponService;
|
||||||
|
@Autowired
|
||||||
|
private MemberCouponService memberCouponService;
|
||||||
|
@Autowired
|
||||||
|
private CouponActivityItemService couponActivityItemService;
|
||||||
|
@Autowired
|
||||||
|
private MemberService memberService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CouponActivityDTO addCouponActivity(CouponActivityDTO couponActivityDTO) {
|
||||||
|
//检测优惠券活动是否可以添加
|
||||||
|
this.checkParam(couponActivityDTO);
|
||||||
|
//添加优惠券活动
|
||||||
|
this.save(couponActivityDTO);
|
||||||
|
//添加优惠券活动优惠券
|
||||||
|
this.addCouponActivityItems(couponActivityDTO);
|
||||||
|
//发送促销活动开始的延时任务
|
||||||
|
return couponActivityDTO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CouponActivityDTO updateCouponActivity(CouponActivityDTO couponActivityDTO) {
|
||||||
|
//检测优惠券活动是否可以修改
|
||||||
|
this.checkParam(couponActivityDTO);
|
||||||
|
//修改优惠券活动
|
||||||
|
this.updateById(couponActivityDTO);
|
||||||
|
//删除优惠券活动关联的优惠券
|
||||||
|
couponActivityItemService.remove(new LambdaQueryWrapper<CouponActivityItem>()
|
||||||
|
.eq(CouponActivityItem::getActivityId,couponActivityDTO.getId()));
|
||||||
|
//重新添加优惠券活动关联优惠券
|
||||||
|
this.addCouponActivityItems(couponActivityDTO);
|
||||||
|
//更新促销活动的延时任务
|
||||||
|
return couponActivityDTO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CouponActivityVO getCouponActivityVO(String couponActivityId) {
|
||||||
|
CouponActivity couponActivity = this.getById(couponActivityId);
|
||||||
|
CouponActivityVO couponActivityVO = new CouponActivityVO(couponActivity, couponActivityItemService.getCouponActivityList(couponActivityId));
|
||||||
|
return couponActivityVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void specify(String couponActivityId) {
|
||||||
|
//获取优惠券
|
||||||
|
CouponActivity couponActivity = this.getById(couponActivityId);
|
||||||
|
//获取活动优惠券发送范围
|
||||||
|
List<Map<String, Object>> memberList = this.getMemberList(couponActivity);
|
||||||
|
//优惠优惠券活动的优惠券列表
|
||||||
|
List<CouponActivityItem> couponActivityItems = couponActivityItemService.getCouponActivityList(couponActivity.getId());
|
||||||
|
//发送优惠券
|
||||||
|
sendCoupon(memberList, couponActivityItems);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registered(List<String> couponActivityIds, String memberId) {
|
||||||
|
for (String couponActivityId : couponActivityIds) {
|
||||||
|
//获取优惠券
|
||||||
|
CouponActivity couponActivity = this.getById(couponActivityId);
|
||||||
|
//获取会员信息
|
||||||
|
List<Map<String, Object>> memberList = new ArrayList<>();
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
map.put("id", memberId);
|
||||||
|
map.put("nick_name", memberService.getById(memberId).getNickName());
|
||||||
|
memberList.add(map);
|
||||||
|
|
||||||
|
//优惠优惠券活动的优惠券列表
|
||||||
|
List<CouponActivityItem> couponActivityItems = couponActivityItemService.getCouponActivityList(couponActivity.getId());
|
||||||
|
|
||||||
|
//发送优惠券
|
||||||
|
sendCoupon(memberList, couponActivityItems);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送优惠券
|
||||||
|
*
|
||||||
|
* @param memberList 用户列表
|
||||||
|
* @param couponActivityItems 优惠券列表
|
||||||
|
*/
|
||||||
|
private void sendCoupon(List<Map<String, Object>> memberList, List<CouponActivityItem> couponActivityItems) {
|
||||||
|
|
||||||
|
for (CouponActivityItem couponActivityItem : couponActivityItems) {
|
||||||
|
//获取优惠券
|
||||||
|
Coupon coupon = couponService.getCouponDetailFromMongo(couponActivityItem.getCouponId());
|
||||||
|
//判断优惠券是否存在
|
||||||
|
if (coupon != null) {
|
||||||
|
List<MemberCoupon> memberCouponList = new LinkedList<>();
|
||||||
|
//循环会员列表,添加优惠券
|
||||||
|
for (Map<String, Object> map : memberList) {
|
||||||
|
MemberCoupon memberCoupon = new MemberCoupon(coupon);
|
||||||
|
memberCoupon.setMemberId(map.get("id").toString());
|
||||||
|
memberCoupon.setMemberName(map.get("nick_name").toString());
|
||||||
|
memberCoupon.setMemberCouponStatus(MemberCouponStatusEnum.NEW.name());
|
||||||
|
memberCoupon.setIsPlatform(coupon.getStoreId().equals("platform"));
|
||||||
|
//循环优惠券的领取数量
|
||||||
|
for (int i = 1; i <= couponActivityItem.getNum(); i++) {
|
||||||
|
memberCouponList.add(memberCoupon);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//批量添加优惠券
|
||||||
|
memberCouponService.saveBatch(memberCouponList);
|
||||||
|
//添加优惠券已领取数量
|
||||||
|
couponService.receiveCoupon(couponActivityItem.getCouponId(), memberCouponList.size() * couponActivityItem.getNum());
|
||||||
|
} else {
|
||||||
|
log.error("赠送优惠券失败,当前优惠券不存在:" + couponActivityItem.getCouponId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检测优惠券活动参数
|
||||||
|
*
|
||||||
|
* @param couponActivity 优惠券活动
|
||||||
|
*/
|
||||||
|
private void checkParam(CouponActivity couponActivity) {
|
||||||
|
|
||||||
|
//检测活动时间超过当前时间不能进行操作
|
||||||
|
long nowTime = DateUtil.getDateline() * 1000;
|
||||||
|
if (couponActivity.getStartTime().getTime() < nowTime && couponActivity.getEndTime().getTime() > nowTime) {
|
||||||
|
throw new ServiceException("活动时间小于当前时间,不能进行编辑删除操作");
|
||||||
|
}
|
||||||
|
//活动时间需超过当前时间
|
||||||
|
PromotionTools.checkPromotionTime(couponActivity.getStartTime().getTime(), couponActivity.getEndTime().getTime());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取优惠券的范围范围
|
||||||
|
* 此方法用于精准发券
|
||||||
|
*
|
||||||
|
* @param couponActivity 优惠券活动
|
||||||
|
* @return 获取优惠券的会员列表
|
||||||
|
*/
|
||||||
|
private List<Map<String, Object>> getMemberList(CouponActivity couponActivity) {
|
||||||
|
//判断优惠券的发送范围,获取会员列表
|
||||||
|
if (couponActivity.getActivityScope().equals("ALL")) {
|
||||||
|
return memberService.listMaps(new QueryWrapper<Member>()
|
||||||
|
.select("id")
|
||||||
|
.select("nick_name"));
|
||||||
|
} else {
|
||||||
|
return memberService.listMaps(new QueryWrapper<Member>()
|
||||||
|
.select("id")
|
||||||
|
.select("nick_name")
|
||||||
|
.in("id", couponActivity.getActivityScopeInfo()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加优惠券活动关联优惠券
|
||||||
|
* @param couponActivityDTO 优惠券活动DTO
|
||||||
|
*/
|
||||||
|
private void addCouponActivityItems(CouponActivityDTO couponActivityDTO){
|
||||||
|
//创建优惠券活动子列表
|
||||||
|
for(CouponActivityItem couponActivityItem:couponActivityDTO.getCouponActivityItems()){
|
||||||
|
couponActivityItem.setActivityId(couponActivityDTO.getId());
|
||||||
|
}
|
||||||
|
couponActivityItemService.saveBatch(couponActivityDTO.getCouponActivityItems());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,51 @@
|
|||||||
|
package cn.lili.controller.promotion;
|
||||||
|
|
||||||
|
import cn.lili.common.enums.ResultUtil;
|
||||||
|
import cn.lili.common.utils.PageUtil;
|
||||||
|
import cn.lili.common.vo.PageVO;
|
||||||
|
import cn.lili.common.vo.ResultMessage;
|
||||||
|
import cn.lili.modules.promotion.entity.dos.CouponActivity;
|
||||||
|
import cn.lili.modules.promotion.entity.dto.CouponActivityDTO;
|
||||||
|
import cn.lili.modules.promotion.entity.vos.CouponActivityVO;
|
||||||
|
import cn.lili.modules.promotion.service.CouponActivityService;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 优惠券活动
|
||||||
|
*
|
||||||
|
* @author Bulbasaur
|
||||||
|
* @date: 2021/5/21 7:11 下午
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@Api(tags = "管理端,优惠券接口")
|
||||||
|
@RequestMapping("/manager/promotion/coupon")
|
||||||
|
public class CouponActivityManagerController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CouponActivityService couponActivityService;
|
||||||
|
|
||||||
|
@ApiOperation(value = "获取优惠券活动分页")
|
||||||
|
@GetMapping
|
||||||
|
public ResultMessage<IPage<CouponActivity>> getCouponActivityPage(PageVO page) {
|
||||||
|
return ResultUtil.data(couponActivityService.page(PageUtil.initPage(page)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "获取优惠券活动")
|
||||||
|
@ApiImplicitParam(name = "couponActivityId", value = "优惠券活动ID", required = true, paramType = "path")
|
||||||
|
@GetMapping("/getCouponActivity/{couponActivityId}")
|
||||||
|
public ResultMessage<CouponActivityVO> getCouponActivity(@PathVariable String couponActivityId) {
|
||||||
|
return ResultUtil.data(couponActivityService.getCouponActivityVO(couponActivityId));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "添加优惠券活动")
|
||||||
|
@PostMapping("/add")
|
||||||
|
public ResultMessage<CouponActivity> addCouponActivity(@Validated CouponActivityDTO couponActivityDTO) {
|
||||||
|
return ResultUtil.data(couponActivityService.addCouponActivity(couponActivityDTO));
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user