|
@@ -1,27 +1,29 @@
|
|
package com.qs.mp.admin.service.impl;
|
|
package com.qs.mp.admin.service.impl;
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.qs.mp.admin.domain.*;
|
|
import com.qs.mp.admin.domain.*;
|
|
import com.qs.mp.admin.domain.param.*;
|
|
import com.qs.mp.admin.domain.param.*;
|
|
|
|
+import com.qs.mp.admin.domain.vo.MarketingListVO;
|
|
import com.qs.mp.admin.mapper.MarketingMapper;
|
|
import com.qs.mp.admin.mapper.MarketingMapper;
|
|
import com.qs.mp.admin.service.*;
|
|
import com.qs.mp.admin.service.*;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
-import com.qs.mp.common.enums.MarketingOnTypeEnum;
|
|
|
|
|
|
+import com.qs.mp.common.enums.MarketingStatusEnum;
|
|
import com.qs.mp.common.enums.TicketPrizeTypeEnum;
|
|
import com.qs.mp.common.enums.TicketPrizeTypeEnum;
|
|
import com.qs.mp.common.exception.ServiceException;
|
|
import com.qs.mp.common.exception.ServiceException;
|
|
import com.qs.mp.common.utils.DateUtils;
|
|
import com.qs.mp.common.utils.DateUtils;
|
|
import com.qs.mp.common.utils.bean.BeanUtils;
|
|
import com.qs.mp.common.utils.bean.BeanUtils;
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.math.BigDecimal;
|
|
|
|
-import java.math.RoundingMode;
|
|
|
|
-import java.time.LocalDateTime;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
@@ -49,6 +51,47 @@ public class MarketingServiceImpl extends ServiceImpl<MarketingMapper, Marketing
|
|
@Autowired
|
|
@Autowired
|
|
private IMarketingAwardsPrizeService marketingAwardsPrizeService;
|
|
private IMarketingAwardsPrizeService marketingAwardsPrizeService;
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public List<MarketingListVO> listMarketing(MarketingQueryParam marketingQueryParam) {
|
|
|
|
+ LambdaQueryWrapper<Marketing> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ if (StringUtils.isNotBlank(marketingQueryParam.getTitle())) {
|
|
|
|
+ queryWrapper.like(Marketing::getTitle, marketingQueryParam.getTitle());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (Objects.nonNull(marketingQueryParam.getStatus())) {
|
|
|
|
+ if (MarketingStatusEnum.CLOSE.getValue().equals(marketingQueryParam.getStatus()) ||
|
|
|
|
+ MarketingStatusEnum.OFF.getValue().equals(marketingQueryParam.getStatus()) ||
|
|
|
|
+ MarketingStatusEnum.ON.getValue().equals(marketingQueryParam.getStatus())) {
|
|
|
|
+ queryWrapper.eq(Marketing::getIsOn, marketingQueryParam.getStatus());
|
|
|
|
+ }else if (MarketingStatusEnum.UNSTART.getValue().equals(marketingQueryParam.getStatus())){
|
|
|
|
+ queryWrapper.gt(Marketing::getStartTime, new Date());
|
|
|
|
+ queryWrapper.eq(Marketing::getIsOn, MarketingStatusEnum.ON.getValue());
|
|
|
|
+ }else if (MarketingStatusEnum.START.getValue().equals(marketingQueryParam.getStatus())){
|
|
|
|
+ queryWrapper.le(Marketing::getStartTime, new Date());
|
|
|
|
+ queryWrapper.ge(Marketing::getEndTime, new Date());
|
|
|
|
+ queryWrapper.eq(Marketing::getIsOn, MarketingStatusEnum.ON.getValue());
|
|
|
|
+ }else if (MarketingStatusEnum.END.getValue().equals(marketingQueryParam.getStatus())){
|
|
|
|
+ queryWrapper.lt(Marketing::getEndTime, new Date());
|
|
|
|
+ queryWrapper.eq(Marketing::getIsOn, MarketingStatusEnum.ON.getValue());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ queryWrapper.orderByDesc(Marketing::getCreatedTime);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ List<MarketingListVO> marketingListVOS = new ArrayList<>();
|
|
|
|
+ List<Marketing> list = this.list(queryWrapper);
|
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
|
+ marketingListVOS = list.stream().map(marketing -> {
|
|
|
|
+ MarketingListVO marketingListVO = new MarketingListVO();
|
|
|
|
+ BeanUtils.copyProperties(marketing, marketingListVO);
|
|
|
|
+ return marketingListVO;
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ return marketingListVOS;
|
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -75,7 +118,7 @@ public class MarketingServiceImpl extends ServiceImpl<MarketingMapper, Marketing
|
|
}
|
|
}
|
|
|
|
|
|
Date now = DateUtils.getNowDate();
|
|
Date now = DateUtils.getNowDate();
|
|
- if (MarketingOnTypeEnum.CLOSE.getValue().equals(marketing.getIsOn()) || now.after(marketing.getStartTime())) {
|
|
|
|
|
|
+ if (MarketingStatusEnum.CLOSE.getValue().equals(marketing.getIsOn()) || now.after(marketing.getStartTime())) {
|
|
throw new ServiceException("活动当前状态不支持修改");
|
|
throw new ServiceException("活动当前状态不支持修改");
|
|
}
|
|
}
|
|
|
|
|