refactor(mcwl): 调整促销活动
parent
f5037353d9
commit
ff6b2cdf30
|
@ -4,6 +4,8 @@ package com.mcwl.web.controller.memberCenter;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.mcwl.common.core.domain.AjaxResult;
|
import com.mcwl.common.core.domain.AjaxResult;
|
||||||
import com.mcwl.common.core.domain.R;
|
import com.mcwl.common.core.domain.R;
|
||||||
|
import com.mcwl.common.core.page.PageDomain;
|
||||||
|
import com.mcwl.common.core.page.TableDataInfo;
|
||||||
import com.mcwl.common.utils.SecurityUtils;
|
import com.mcwl.common.utils.SecurityUtils;
|
||||||
import com.mcwl.memberCenter.domain.Member;
|
import com.mcwl.memberCenter.domain.Member;
|
||||||
import com.mcwl.memberCenter.domain.MemberPromotion;
|
import com.mcwl.memberCenter.domain.MemberPromotion;
|
||||||
|
@ -17,10 +19,12 @@ import com.mcwl.memberCenter.service.MemberService;
|
||||||
import com.mcwl.memberCenter.service.PromotionService;
|
import com.mcwl.memberCenter.service.PromotionService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
@ -39,8 +43,6 @@ public class PromotionController {
|
||||||
|
|
||||||
private final MemberPromotionService memberPromotionService;
|
private final MemberPromotionService memberPromotionService;
|
||||||
|
|
||||||
private final MemberService memberService;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建活动
|
* 创建活动
|
||||||
|
@ -67,76 +69,34 @@ public class PromotionController {
|
||||||
/**
|
/**
|
||||||
* 活动列表
|
* 活动列表
|
||||||
*/
|
*/
|
||||||
@GetMapping("promotionList")
|
@PostMapping("promotionList")
|
||||||
@ApiOperation(value = "活动列表")
|
@ApiOperation(value = "活动列表")
|
||||||
public R<List<Promotion>> promotionList() {
|
public TableDataInfo getPromotionList(@Valid @RequestBody PageDomain pageDomain) {
|
||||||
List<Promotion> promotionList = promotionService.lambdaQuery()
|
|
||||||
.gt(Promotion::getEndTime, new Date())
|
return promotionService.getPromotionList(pageDomain);
|
||||||
.list();
|
|
||||||
return R.ok(promotionList);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取当前用户参与的活动
|
* 获取当前用户参与的活动
|
||||||
*/
|
*/
|
||||||
@GetMapping("myPromotionList")
|
@PostMapping("myPromotionList")
|
||||||
@ApiOperation(value = "获取当前用户参与的活动")
|
@ApiOperation(value = "获取当前用户参与的活动")
|
||||||
public R<List<MemberPromotion>> myPromotionList() {
|
public TableDataInfo myPromotionList(@Valid @RequestBody PageDomain pageDomain) {
|
||||||
// 获取当前用户
|
|
||||||
Long userId = SecurityUtils.getUserId();
|
return promotionService.getMyPromotionList(pageDomain);
|
||||||
List<MemberPromotion> memberPromotionList = memberPromotionService.lambdaQuery()
|
|
||||||
.eq(MemberPromotion::getUserId, userId)
|
|
||||||
.list();
|
|
||||||
return R.ok(memberPromotionList);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 参与活动
|
* 参与活动
|
||||||
*/
|
*/
|
||||||
@PostMapping("joinPromotion")
|
@GetMapping("joinPromotion")
|
||||||
@ApiOperation(value = "参与活动")
|
@ApiOperation(value = "参与活动")
|
||||||
public R<Object> joinPromotion(@RequestBody @Valid JoinPromotionDto joinPromotionDto) {
|
public R<Object> joinPromotion(@Valid
|
||||||
// 用户id
|
@NotNull(message = "活动ID不能为空")
|
||||||
Long userId = joinPromotionDto.getUserId();
|
@ApiParam("活动ID")
|
||||||
// 活动id
|
Long promotionId) {
|
||||||
Long promotionId = joinPromotionDto.getPromotionId();
|
|
||||||
// 按活动id查询活动信息
|
|
||||||
Promotion promotion = promotionService.getById(promotionId);
|
|
||||||
|
|
||||||
if (!Optional.ofNullable(promotion).isPresent()) {
|
return promotionService.joinPromotion(promotionId);
|
||||||
return R.fail("活动不存在");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (promotion.getStartTime().after(new Date())) {
|
|
||||||
return R.fail("活动未开始");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 活动是否过期
|
|
||||||
if (promotion.getEndTime().before(new Date())) {
|
|
||||||
return R.fail("活动已过期");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取当前用户是否参与过该活动
|
|
||||||
if (isJoinPromotion(userId, promotionId)) {
|
|
||||||
return R.fail("您已参与过该活动");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 是否在活动期间内订阅或续订会员
|
|
||||||
// if (!isSubscribe(userId, promotion)) {
|
|
||||||
// return AjaxResult.warn("请在活动期间内订阅或续期会员后参加该活动");
|
|
||||||
// }
|
|
||||||
|
|
||||||
Member member = memberService.getUseUserMemberByUserId(userId);
|
|
||||||
|
|
||||||
String memberLevelIds = promotion.getMemberLevelIds();
|
|
||||||
if (!memberLevelIds.contains(member.getMemberLevelId().toString())) {
|
|
||||||
return R.fail("无法参与该活动,请查看活动条件");
|
|
||||||
}
|
|
||||||
MemberPromotion memberPromotion = getMemberPromotion(userId, promotionId);
|
|
||||||
memberPromotionService.save(memberPromotion);
|
|
||||||
|
|
||||||
|
|
||||||
return R.ok();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// private boolean isSubscribe(Long userId, Promotion promotion) {
|
// private boolean isSubscribe(Long userId, Promotion promotion) {
|
||||||
|
@ -153,26 +113,5 @@ public class PromotionController {
|
||||||
// return true;
|
// return true;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
private boolean isJoinPromotion(Long userId, Long promotionId) {
|
|
||||||
MemberPromotion memberPromotion = memberPromotionService.lambdaQuery()
|
|
||||||
.eq(MemberPromotion::getUserId, userId)
|
|
||||||
.eq(MemberPromotion::getPromotionId, promotionId)
|
|
||||||
.one();
|
|
||||||
return memberPromotion != null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static MemberPromotion getMemberPromotion(Long userId, Long promotionId) {
|
|
||||||
MemberPromotion memberPromotion = new MemberPromotion();
|
|
||||||
memberPromotion.setUserId(userId);
|
|
||||||
memberPromotion.setPromotionId(promotionId);
|
|
||||||
memberPromotion.setStatus(PromotionEnum.PARTICIPATE);
|
|
||||||
memberPromotion.setParticipationTime(new Date());
|
|
||||||
memberPromotion.setCreateBy(SecurityUtils.getUsername());
|
|
||||||
memberPromotion.setCreateTime(new Date());
|
|
||||||
memberPromotion.setUpdateBy(SecurityUtils.getUsername());
|
|
||||||
memberPromotion.setUpdateTime(new Date());
|
|
||||||
return memberPromotion;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
package com.mcwl.memberCenter.domain.vo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.mcwl.common.core.domain.BaseEntity;
|
||||||
|
import com.mcwl.memberCenter.enums.PromotionEnum;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 促销活动vo
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel(description = "促销活动")
|
||||||
|
public class PromotionVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "活动id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动名称
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "活动名称")
|
||||||
|
private String activityName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否参与
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "是否参与")
|
||||||
|
private Integer isJoin;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动的详细描述
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "活动的详细描述")
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动开始时间
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "活动开始时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date startTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动结束时间
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "活动结束时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date endTime;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -1,8 +1,24 @@
|
||||||
package com.mcwl.memberCenter.service;
|
package com.mcwl.memberCenter.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.mcwl.common.core.domain.R;
|
||||||
|
import com.mcwl.common.core.page.PageDomain;
|
||||||
|
import com.mcwl.common.core.page.TableDataInfo;
|
||||||
import com.mcwl.memberCenter.domain.MemberPromotion;
|
import com.mcwl.memberCenter.domain.MemberPromotion;
|
||||||
import com.mcwl.memberCenter.domain.Promotion;
|
import com.mcwl.memberCenter.domain.Promotion;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface PromotionService extends IService<Promotion> {
|
public interface PromotionService extends IService<Promotion> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取促销活动列表
|
||||||
|
* @return TableDataInfo
|
||||||
|
*/
|
||||||
|
TableDataInfo getPromotionList(PageDomain pageDomain);
|
||||||
|
|
||||||
|
|
||||||
|
TableDataInfo getMyPromotionList(PageDomain pageDomain);
|
||||||
|
|
||||||
|
R<Object> joinPromotion(Long promotionId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,210 @@
|
||||||
package com.mcwl.memberCenter.service.impl;
|
package com.mcwl.memberCenter.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.mcwl.common.constant.HttpStatus;
|
||||||
|
import com.mcwl.common.core.domain.R;
|
||||||
|
import com.mcwl.common.core.page.PageDomain;
|
||||||
|
import com.mcwl.common.core.page.TableDataInfo;
|
||||||
|
import com.mcwl.common.utils.SecurityUtils;
|
||||||
|
import com.mcwl.memberCenter.domain.Member;
|
||||||
import com.mcwl.memberCenter.domain.MemberPromotion;
|
import com.mcwl.memberCenter.domain.MemberPromotion;
|
||||||
import com.mcwl.memberCenter.domain.Promotion;
|
import com.mcwl.memberCenter.domain.Promotion;
|
||||||
|
import com.mcwl.memberCenter.domain.vo.PromotionVo;
|
||||||
|
import com.mcwl.memberCenter.enums.PromotionEnum;
|
||||||
import com.mcwl.memberCenter.mapper.MemberPromotionMapper;
|
import com.mcwl.memberCenter.mapper.MemberPromotionMapper;
|
||||||
import com.mcwl.memberCenter.mapper.PromotionMapper;
|
import com.mcwl.memberCenter.mapper.PromotionMapper;
|
||||||
import com.mcwl.memberCenter.service.MemberPromotionService;
|
import com.mcwl.memberCenter.service.MemberPromotionService;
|
||||||
|
import com.mcwl.memberCenter.service.MemberService;
|
||||||
import com.mcwl.memberCenter.service.PromotionService;
|
import com.mcwl.memberCenter.service.PromotionService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class PromotionServiceImpl extends ServiceImpl<PromotionMapper, Promotion> implements PromotionService {
|
public class PromotionServiceImpl extends ServiceImpl<PromotionMapper, Promotion> implements PromotionService {
|
||||||
|
|
||||||
|
private final MemberPromotionService memberPromotionService;
|
||||||
|
|
||||||
|
private final MemberService memberService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取促销活动列表
|
||||||
|
*
|
||||||
|
* @return TableDataInfo
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo getPromotionList(PageDomain pageDomain) {
|
||||||
|
|
||||||
|
// 封装用户参加的促销活动, key为促销活动id, value为用户参加的促销活动
|
||||||
|
Map<Long, MemberPromotion> map = new HashMap<>();
|
||||||
|
|
||||||
|
// 获取用户参加的促销活动
|
||||||
|
Long userId = SecurityUtils.getUserId();
|
||||||
|
List<MemberPromotion> memberPromotionList = memberPromotionService.lambdaQuery()
|
||||||
|
.eq(MemberPromotion::getUserId, userId)
|
||||||
|
.eq(MemberPromotion::getStatus, PromotionEnum.PARTICIPATE)
|
||||||
|
.list();
|
||||||
|
for (MemberPromotion memberPromotion : memberPromotionList) {
|
||||||
|
map.put(memberPromotion.getPromotionId(), memberPromotion);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询促销活动列表
|
||||||
|
Page<Promotion> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||||
|
|
||||||
|
LambdaQueryWrapper<Promotion> lqw = new LambdaQueryWrapper<>();
|
||||||
|
lqw.gt(Promotion::getEndTime, new Date());
|
||||||
|
|
||||||
|
baseMapper.selectPage(page, lqw);
|
||||||
|
|
||||||
|
// 封装数据
|
||||||
|
List<PromotionVo> promotionVoList = new ArrayList<>();
|
||||||
|
page.getRecords().forEach(promotion -> {
|
||||||
|
PromotionVo promotionVo = new PromotionVo();
|
||||||
|
BeanUtil.copyProperties(promotion, promotionVo);
|
||||||
|
if (map.containsKey(promotion.getId())) {
|
||||||
|
promotionVo.setIsJoin(1);
|
||||||
|
} else {
|
||||||
|
promotionVo.setIsJoin(0);
|
||||||
|
}
|
||||||
|
promotionVoList.add(promotionVo);
|
||||||
|
});
|
||||||
|
|
||||||
|
// 封装分页结果
|
||||||
|
TableDataInfo rspData = new TableDataInfo();
|
||||||
|
rspData.setCode(HttpStatus.SUCCESS);
|
||||||
|
rspData.setMsg("查询成功");
|
||||||
|
rspData.setRows(promotionVoList);
|
||||||
|
rspData.setTotal(page.getTotal());
|
||||||
|
|
||||||
|
return rspData;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取用户参加的促销活动
|
||||||
|
*
|
||||||
|
* @param pageDomain 分页参数
|
||||||
|
* @return TableDataInfo
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo getMyPromotionList(PageDomain pageDomain) {
|
||||||
|
|
||||||
|
// 获取当前用户
|
||||||
|
Long userId = SecurityUtils.getUserId();
|
||||||
|
|
||||||
|
|
||||||
|
List<Long> memberPromotionIds = new ArrayList<>();
|
||||||
|
// 默认添加一个不存在的id, 防止List为空时in查询出错
|
||||||
|
memberPromotionIds.add(-1L);
|
||||||
|
|
||||||
|
// 查询用户参加的促销活动
|
||||||
|
List<MemberPromotion> memberPromotionList = memberPromotionService.lambdaQuery()
|
||||||
|
.eq(MemberPromotion::getUserId, userId)
|
||||||
|
.eq(MemberPromotion::getStatus, PromotionEnum.PARTICIPATE)
|
||||||
|
.list();
|
||||||
|
for (MemberPromotion memberPromotion : memberPromotionList) {
|
||||||
|
memberPromotionIds.add(memberPromotion.getPromotionId());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询促销活动列表
|
||||||
|
Page<Promotion> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||||
|
|
||||||
|
LambdaQueryWrapper<Promotion> lqw = new LambdaQueryWrapper<>();
|
||||||
|
lqw.in(Promotion::getId, memberPromotionIds);
|
||||||
|
baseMapper.selectPage(page, lqw);
|
||||||
|
|
||||||
|
// 封装数据
|
||||||
|
List<PromotionVo> promotionVoList = new ArrayList<>();
|
||||||
|
page.getRecords().forEach(promotion -> {
|
||||||
|
PromotionVo promotionVo = new PromotionVo();
|
||||||
|
BeanUtil.copyProperties(promotion, promotionVo);
|
||||||
|
promotionVoList.add(promotionVo);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// 封装分页结果
|
||||||
|
TableDataInfo rspData = new TableDataInfo();
|
||||||
|
rspData.setCode(HttpStatus.SUCCESS);
|
||||||
|
rspData.setMsg("查询成功");
|
||||||
|
rspData.setRows(promotionVoList);
|
||||||
|
rspData.setTotal(page.getTotal());
|
||||||
|
|
||||||
|
return rspData;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户参加促销活动
|
||||||
|
*
|
||||||
|
* @param promotionId 促销活动id
|
||||||
|
* @return R
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public R<Object> joinPromotion(Long promotionId) {
|
||||||
|
|
||||||
|
// 用户id
|
||||||
|
Long userId = SecurityUtils.getUserId();
|
||||||
|
|
||||||
|
// 按活动id查询活动信息
|
||||||
|
Promotion promotion = baseMapper.selectById(promotionId);
|
||||||
|
|
||||||
|
if (!Optional.ofNullable(promotion).isPresent()) {
|
||||||
|
return R.fail("活动不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (promotion.getStartTime().after(new Date())) {
|
||||||
|
return R.fail("活动未开始");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 活动是否过期
|
||||||
|
if (promotion.getEndTime().before(new Date())) {
|
||||||
|
return R.fail("活动已过期");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取当前用户是否参与过该活动
|
||||||
|
if (isJoinPromotion(userId, promotionId)) {
|
||||||
|
return R.fail("您已参与过该活动");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 是否在活动期间内订阅或续订会员
|
||||||
|
// if (!isSubscribe(userId, promotion)) {
|
||||||
|
// return AjaxResult.warn("请在活动期间内订阅或续期会员后参加该活动");
|
||||||
|
// }
|
||||||
|
|
||||||
|
Member member = memberService.getUseUserMemberByUserId(userId);
|
||||||
|
String memberLevelId = Objects.isNull(member) ? "-1" : member.getMemberLevelId().toString();
|
||||||
|
|
||||||
|
String memberLevelIds = promotion.getMemberLevelIds();
|
||||||
|
if (!memberLevelIds.contains(memberLevelId)) {
|
||||||
|
return R.fail("会员等级不够,无法参与该活动,请查看活动条件");
|
||||||
|
}
|
||||||
|
MemberPromotion memberPromotion = getMemberPromotion(userId, promotionId);
|
||||||
|
memberPromotionService.save(memberPromotion);
|
||||||
|
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private boolean isJoinPromotion(Long userId, Long promotionId) {
|
||||||
|
MemberPromotion memberPromotion = memberPromotionService.lambdaQuery()
|
||||||
|
.eq(MemberPromotion::getUserId, userId)
|
||||||
|
.eq(MemberPromotion::getPromotionId, promotionId)
|
||||||
|
.one();
|
||||||
|
return memberPromotion != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static MemberPromotion getMemberPromotion(Long userId, Long promotionId) {
|
||||||
|
MemberPromotion memberPromotion = new MemberPromotion();
|
||||||
|
memberPromotion.setUserId(userId);
|
||||||
|
memberPromotion.setPromotionId(promotionId);
|
||||||
|
memberPromotion.setStatus(PromotionEnum.PARTICIPATE);
|
||||||
|
memberPromotion.setParticipationTime(new Date());
|
||||||
|
return memberPromotion;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -129,6 +129,14 @@ public class UserMemberTask {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员参与的促销活动是否过期 每天晚上0点检查 0 0 0 * * ?
|
||||||
|
*/
|
||||||
|
public void checkPromotionExpiredTask() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据会员等级获取积分
|
* 根据会员等级获取积分
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue