Просмотр исходного кода

[A端][修改]:卡券批量投放失败列表回传

release_toaliyun_real
hupeng 7 лет назад
Родитель
Сommit
dc1f4ce127
6 измененных файлов: 83 добавлений и 39 удалений
  1. +2
    -2
      mallinkAdmin/src/main/java/com/iformall/controller/MarkingDataReportController.java
  2. +5
    -3
      mallinkService/src/main/java/com/iformall/common/ErrorCode.java
  3. +16
    -4
      mallinkService/src/main/java/com/iformall/domain/vo/WxCouponChannelAddVo.java
  4. +2
    -2
      mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java
  5. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java
  6. +56
    -26
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java

+ 2
- 2
mallinkAdmin/src/main/java/com/iformall/controller/MarkingDataReportController.java Просмотреть файл

@@ -28,13 +28,13 @@ public class MarkingDataReportController extends BaseController {
@ApiOperation("查询券数据")
@GetMapping("/couponData")
public ResultData findCouponData() {
return new ResultData(markingDataReportService.getCouponDate(getTenantId()));
return new ResultData(markingDataReportService.getCouponData(getTenantId()));
}

@ApiOperation("查询券数据列表")
@GetMapping("/couponDataList")
public ResultData findCouponDataList(@ModelAttribute MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageNum, Integer pageSize) {
return new ResultData(markingDataReportService.getCouponDateList(getTenantId(), markingCouponDataReportDto, pageNum, pageSize));
return new ResultData(markingDataReportService.getCouponDataList(getTenantId(), markingCouponDataReportDto, pageNum, pageSize));
}

@ApiOperation("查询场景投放券数据")


+ 5
- 3
mallinkService/src/main/java/com/iformall/common/ErrorCode.java Просмотреть файл

@@ -89,9 +89,11 @@ public enum ErrorCode{
COUPON_CHANNEL_IS_EXISTED(2027, "此券已投放过"),
COUPON_SEND_IS_EXISTED(2028, "此券已经添加到该渠道"),
COUPON_SEND_IS_INVALID(2029, "此发券渠道不存在"),
PUSH_LIMIT_UP_TO_1DAYLIMIT(2030, "此用户一天内发券到达疲劳度限制"),
PUSH_LIMIT_UP_TO_COUPONLIMIT(2031, "此用户发此券到达疲劳度限制"),
PUSH_LIMIT_NOT_INRANG(2032, "不在疲劳度允许的时间段"),
COUPON_SEND_IS_INVALID_TIME(2030, "发放时间不能晚于使用时间"),

PUSH_LIMIT_UP_TO_1DAYLIMIT(2040, "此用户一天内发券到达疲劳度限制"),
PUSH_LIMIT_UP_TO_COUPONLIMIT(2041, "此用户发此券到达疲劳度限制"),
PUSH_LIMIT_NOT_INRANG(2042, "不在疲劳度允许的时间段"),
/**
* 车流 2040
*/


+ 16
- 4
mallinkService/src/main/java/com/iformall/domain/vo/WxCouponChannelAddVo.java Просмотреть файл

@@ -15,11 +15,23 @@ public class WxCouponChannelAddVo implements Serializable {
private String title;
private Integer channelId;
private Date validEndDate;
private String errorMsg;

public String getErrorMsg() {
return errorMsg;
}

public void setErrorMsg(String errorMsg) {
this.errorMsg = errorMsg;
}

public WxCouponChannelAddVo toCouponChannnelVo(WxCoupon wxCoupon, Integer channelId){
if ( wxCoupon != null ) {
this.couponId = wxCoupon.getId();
this.title = wxCoupon.getTitle();
this.validEndDate = wxCoupon.getValidEndDate();
}

public WxCouponChannelAddVo toCouponChannnelVo(WxCoupon wxCoupon,Integer channelId){
this.couponId = wxCoupon.getId();
this.title = wxCoupon.getTitle();
this.validEndDate = wxCoupon.getValidEndDate();
this.channelId = channelId;
return this;
}


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java Просмотреть файл

@@ -13,11 +13,11 @@ import java.util.Map;
* Created by syf on 2018/8/28.
*/
public interface MarkingDataReportService {
Map<String,Object> getCouponDate(String tenantId);
Map<String,Object> getCouponData(String tenantId);

Map<String,Object> getSceneData(String tenantId);

PageInfo<MarkingCouponDataReportVo> getCouponDateList(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageIndex, Integer pageSize);
PageInfo<MarkingCouponDataReportVo> getCouponDataList(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageIndex, Integer pageSize);

PageInfo<MarkingSceneDataVo> getSceneDataList(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageIndex, Integer pageSize);



+ 2
- 2
mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java Просмотреть файл

@@ -93,7 +93,7 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService {

//取的当月券数据
@Override
public Map<String, Object> getCouponDate(String tenantId) {
public Map<String, Object> getCouponData(String tenantId) {
//今日领取券数
//查询coupon order表
int todayCouponCount = wxCouponOrderMapper.findCountByDateLimit(tenantId, addDay(0), addDay(1));
@@ -238,7 +238,7 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService {
}

@Override
public PageInfo<MarkingCouponDataReportVo> getCouponDateList(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageIndex, Integer pageSize) {
public PageInfo<MarkingCouponDataReportVo> getCouponDataList(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageIndex, Integer pageSize) {
HashMap<String, Object> params = new HashMap<>();
params.put("tenantId", tenantId);
if (markingCouponDataReportDto.getStartTime() != null)


+ 56
- 26
mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java Просмотреть файл

@@ -5,6 +5,7 @@ import java.util.stream.Collectors;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCoupon;
@@ -12,6 +13,10 @@ import com.iformall.domain.po.WxCouponChannel;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.vo.WxCouponChannelAddVo;
import com.iformall.domain.vo.WxCouponChannelVo;
import com.iformall.enums.EnumCouponChannelStatus;
import com.iformall.enums.EnumCouponChannelType;
import com.iformall.enums.EnumCouponStatus;
import com.iformall.enums.EnumMerchantStatus;
import com.iformall.mapper.WxCouponChannelMapper;
import com.iformall.mapper.WxMerchantMapper;
import com.iformall.service.WxCouponChannelService;
@@ -69,25 +74,23 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {

@Override
public ResultData addBatch(String[] ids, String[] channelId, String tanantId, Date beginTime, Date endTime) {
boolean result = false;
List<WxCouponChannelAddVo> errorList = new ArrayList<>();
for (String targetIdstr:channelId) {
Integer targetId = Integer.parseInt(targetIdstr);
for (String couponidstr:ids) {
Long couponid = Long.parseLong(couponidstr);
boolean addResult = addCuponChannel(couponid,targetId,tanantId,beginTime,endTime,errorList);
if(addResult){
result = true;
WxCouponChannelAddVo vo = addCouponChannel(couponid,targetId,tanantId,beginTime,endTime);
if(vo != null){
errorList.add(vo);
}
}
}
if(result) {
if(errorList.size()>0) {
return new ResultData(errorList);
}else {
return new ResultData(Result.SUCCESS,"请检查券的有效期以及投放截止时间",errorList);
return new ResultData();
}


}

@Override
@@ -100,40 +103,67 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {
}


public boolean addCuponChannel(Long couponid,Integer channelId,String tanantId,Date beginTime,Date endTime,List<WxCouponChannelAddVo> errorList){
public WxCouponChannelAddVo addCouponChannel(Long couponid,Integer channelId,String tanantId,Date beginTime,Date endTime){

WxCouponChannelAddVo vo = new WxCouponChannelAddVo();

WxCoupon wxCoupon = wxCouponService.getById(couponid);
if(wxCoupon==null){
logger.debug(couponid+ErrorCode.COUPON_IS_EMPTY.getMessage());
vo.toCouponChannnelVo(null,channelId);
vo.setErrorMsg(ErrorCode.COUPON_IS_EMPTY.getMessage());
return vo;
}

WxCouponChannel wxCouponChannelQuery = new WxCouponChannel();
wxCouponChannelQuery.setTenantId(tanantId);
wxCouponChannelQuery.setCouponId(couponid);
wxCouponChannelQuery.setTargetAd(channelId);
wxCouponChannelQuery.setStatus(0);
wxCouponChannelQuery.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode());
List<WxCouponChannel> wxCouponChannels = wxCouponChannelMapper.findList(wxCouponChannelQuery);
if(wxCouponChannels.size()>0){
logger.debug(couponid+"已经投放过了");
return false;
logger.debug(couponid+ErrorCode.COUPON_CHANNEL_IS_EXISTED.getMessage());
vo.toCouponChannnelVo(wxCoupon,channelId);
vo.setErrorMsg(ErrorCode.COUPON_CHANNEL_IS_EXISTED.getMessage());
return vo;
}

WxCoupon wxCoupon = wxCouponService.getById(couponid);
if(wxCoupon==null){
logger.debug(couponid+"没有查到对应的券信息");
return false;

if(wxCoupon.getStatus()!=EnumCouponStatus.COUPON_STATUS_THROW_IN.getCode()) {
logger.debug(wxCoupon.getId()+couponid+ErrorCode.COUPON_IS_TAKE_OFF.getMessage());
vo.toCouponChannnelVo(wxCoupon,channelId);
vo.setErrorMsg(ErrorCode.COUPON_IS_TAKE_OFF.getMessage());
return vo;
}
if(wxCoupon.getStatus()!=0) {
logger.debug(wxCoupon.getId()+"状态不对");
return false;

WxMerchant wxMerchant = new WxMerchant();
wxMerchant.setId(wxCoupon.getMerchantId());
List <WxMerchant> merchants = wxMerchantMapper.findList(wxMerchant);
if(merchants.size() <= 0) {
logger.debug(wxCoupon.getId()+couponid+ErrorCode.MERCHANT_INFO_NOT_FOUND.getMessage());
vo.toCouponChannnelVo(wxCoupon,channelId);
vo.setErrorMsg(ErrorCode.MERCHANT_INFO_NOT_FOUND.getMessage());
return vo;
}

if(merchants.get(0).getStatus().equals(EnumMerchantStatus.NOT_VALID.getCode())) {
logger.debug(wxCoupon.getId()+couponid+ErrorCode.MERCHANT_INFO_NOT_VALID.getMessage());
vo.toCouponChannnelVo(wxCoupon,channelId);
vo.setErrorMsg(ErrorCode.MERCHANT_INFO_NOT_VALID.getMessage());
return vo;
}

if(channelId==1){ //列表默认投放结束时间为有效时间之后
if(channelId.equals(EnumCouponChannelType.COUPON_CHANNEL_ID_LIST.getCode())){ //列表默认投放结束时间为有效时间之后
beginTime = new Date();
endTime = wxCoupon.getValidEndDate();
}

if(channelId==2){
if(channelId.equals(EnumCouponChannelType.COUPON_CHANNEL_ID_TIMED.getCode())){
if(wxCoupon.getValidEndDate()!=null&&wxCoupon.getValidEndDate().before(endTime)){
logger.debug(wxCoupon.getId()+"发放时间不能晚于使用时间");
WxCouponChannelAddVo vo = new WxCouponChannelAddVo();
errorList.add(vo.toCouponChannnelVo(wxCoupon,channelId));
return false;
logger.debug(wxCoupon.getId()+ErrorCode.COUPON_SEND_IS_INVALID_TIME.getMessage());
vo.toCouponChannnelVo(wxCoupon,channelId);
vo.setErrorMsg(ErrorCode.COUPON_SEND_IS_INVALID_TIME.getMessage());
return vo;
}
}

@@ -151,7 +181,7 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {
wxCouponChannel.setBusiness(wxCoupon.getBusiness());
wxCouponChannel.setTitle(wxCoupon.getTitle());
saveOrUpdate(wxCouponChannel);
return true;
return null;
}

/**


Загрузка…
Отмена
Сохранить