package com.yeshi.fanli.service.impl.msg;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
|
import com.yeshi.fanli.dto.msg.MsgOtherCouponContentDTO;
|
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail.MsgTypeOtherTypeEnum;
|
import com.yeshi.fanli.entity.bus.user.UserInfo;
|
import com.yeshi.fanli.entity.bus.user.UserSystemCoupon;
|
import com.yeshi.fanli.exception.msg.MsgOtherDetailException;
|
import com.yeshi.fanli.service.inter.msg.MsgOtherDetailService;
|
import com.yeshi.fanli.service.inter.msg.UserOtherMsgNotificationService;
|
import com.yeshi.fanli.util.TimeUtil;
|
import com.yeshi.fanli.util.factory.msg.MsgOtherCouponContentDTOFactory;
|
import com.yeshi.fanli.util.factory.msg.MsgOtherDetailFactory;
|
|
@Service
|
public class UserOtherMsgNotificationServiceImpl implements UserOtherMsgNotificationService {
|
|
@Resource
|
private MsgOtherDetailService msgOtherDetailService;
|
|
private Integer getLeftDay(UserSystemCoupon coupon) {
|
if (coupon != null && coupon.getEndTime() != null) {
|
int cha = TimeUtil.getDayDifferenceCount(new Date(), coupon.getEndTime());
|
if (cha < 0)
|
return 0;
|
else
|
return cha + 1;
|
} else
|
return null;
|
}
|
|
@Override
|
public void welfareCouponGet(UserSystemCoupon coupon) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponGet(getLeftDay(coupon),
|
coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "至少成功邀请1个队员后可激活"));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void welfareCouponActive(UserSystemCoupon coupon, UserInfo worker) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponActive(getLeftDay(coupon),
|
"成功邀请队员:" + worker.getNickName(), coupon.getStartTime(), coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "可在首页-免单商品-选择商品-使用"));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void welfareCouponUsing(UserSystemCoupon coupon,String orderId,BigDecimal money) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponUsing(orderId,money,coupon.getStartTime(),
|
coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "实付款-返利=0元购(免单)"));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void welfareCouponUsed(UserSystemCoupon coupon,String orderId) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponUsed(getLeftDay(coupon),"实付款-返利=0元购(免单)",
|
coupon.getStartTime(), coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "参与其他活动可获得更多免单券"));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void welfareCouponWillOutOfDate(UserSystemCoupon coupon) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
|
.createWelfareCouponWillOutOfDate(getLeftDay(coupon), coupon.getStartTime(), coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "至少成功邀请1个队员后可激活"));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void welfareCouponAlreadyOutOfDate(UserSystemCoupon coupon) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
|
.createWelfareCouponAlreadyOutOfDate(coupon.getStartTime(), coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "参与其他活动可获得更多免单券"));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void welfareCouponDrawBack(UserSystemCoupon coupon,String orderId) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
|
.createWelfareCouponAlreadyOutOfDate(coupon.getStartTime(), coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "退回后依然可在有效期内使用"));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void freeSheetCouponGet(UserSystemCoupon coupon) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponGet(getLeftDay(coupon),
|
coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, null));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void freeSheetCouponUsing(UserSystemCoupon coupon) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponUsing(coupon.getSource(),
|
coupon.getStartTime(), coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, null));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void freeSheetCouponUsed(UserSystemCoupon coupon) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponUsed(getLeftDay(coupon),
|
coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, null));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void freeSheetCouponWillOutOfDate(UserSystemCoupon coupon) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponWillOutOfDate(getLeftDay(coupon),
|
coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, null));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void freeSheetCouponAlreadyOutOfDate(UserSystemCoupon coupon) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponAlreadyOutOfDate(coupon.getSource(),
|
coupon.getStartTime(), coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, null));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void rewardCouponGet(UserSystemCoupon coupon) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createRewardCouponGet(getLeftDay(coupon),
|
coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, null));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void rewardCouponUsed(UserSystemCoupon coupon) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createRewardCouponUsed(getLeftDay(coupon),
|
coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, null));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void rewardCouponWillOutOfDate(UserSystemCoupon coupon) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createRewardCouponWillOutOfDate(
|
getLeftDay(coupon), coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, null));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void rewardCouponAlreadyOutOfDate(UserSystemCoupon coupon) {
|
if (coupon == null || coupon.getUid() == null)
|
return;
|
MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
|
.createRewardCouponAlreadyOutOfDate(coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
|
try {
|
msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
|
coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, null));
|
} catch (MsgOtherDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void freeSheetCouponDrawBack(UserSystemCoupon coupon) {
|
// TODO Auto-generated method stub
|
|
}
|
|
}
|