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

[精准发券添加疲劳度][新增]:精准发券修改发券方式及添加疲劳度检查

release_toaliyun_real
Stormeye.Wu 7 лет назад
Родитель
Сommit
aa2e02e391
1 измененных файлов: 22 добавлений и 25 удалений
  1. +22
    -25
      mallinkService/src/main/java/com/iformall/service/impl/CouponInjectServiceImpl.java

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

@@ -8,9 +8,9 @@ import com.iformall.common.IdWorker;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.CouponInjectMapper;
import com.iformall.service.*;
import org.apache.commons.lang3.time.DateUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -42,6 +42,12 @@ public class CouponInjectServiceImpl implements CouponInjectService {
@Autowired
WxMsgConfigService wxMsgConfigService;

@Autowired
PushLimitService pushLimitService;

@Autowired
WxOrderService wxOrderService;


@Override
public PageInfo<CouponInject> listAsPage(CouponInject record, Integer pageIndex, Integer pageSize) {
@@ -212,33 +218,24 @@ public class CouponInjectServiceImpl implements CouponInjectService {
}
private int sendCouponToUser(WxCUser tempCUser,WxCoupon wxCoupon,Long couponInjectId) {
int injectResult = 0;//0注入不成功,1注入卡包成功
boolean checkLimit = false;
// 检查疲劳度
try {
WxCouponOrder wxCouponOrder = new WxCouponOrder();
wxCouponOrder.setCouponId(wxCoupon.getId());
wxCouponOrder.setCouponOrderStatus(0);
wxCouponOrder.setCUserId(tempCUser.getId());
wxCouponOrder.setCouponPrice(0);
wxCouponOrder.setCreateDate(new Date());
if (wxCoupon.getValidType().equals(EnumCouponValidType.BETWEEN_TWO_TIME.getCode())) { //时间范围区间
wxCouponOrder.setExpiredTime(wxCoupon.getValidEndDate());
} else {
Date date = DateUtils.addDays(new Date(), wxCoupon.getValidDays());
wxCouponOrder.setExpiredTime(date);
}
wxCouponOrder.setTenantId(wxCoupon.getTenantId());
Long couponOrderId = wxCouponOrderService.insertOne(wxCouponOrder);
injectResult = 1;
wxCouponActionLogService.addOne(wxCoupon.getTenantId(), wxCoupon.getId(), couponOrderId, 0, couponInjectId);
return injectResult;
//短信通知
} catch (Exception e) {
if(injectResult==0) {
logger.error("注入用户券包异常 :"+tempCUser.getId()+"|"+e.getMessage());
return injectResult;
}
logger.error("调用短信接口异常 :"+tempCUser.getId()+"|"+e.getMessage());
checkLimit = pushLimitService.checkCoupon(tempCUser.getTenantId(), tempCUser.getId(), wxCoupon.getId());
} catch (MallinkException e) {
logger.error(e.getMessage());
}
if (!checkLimit) {
return injectResult;
}
// 发放免费券
WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(tempCUser.getId(), wxCoupon.getId());
if (couponOrder != null) {
wxCouponActionLogService.addOne(tempCUser.getTenantId(), wxCoupon.getId(), couponOrder.getId(), EnumCouponSendSendType.INJECT.getCode(), couponInjectId);
}
injectResult = 1;

return injectResult;
}




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