yujian
2019-08-28 d88c167fc5973a2c15ff1539e4cdab36e4a7842c
fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOtherMsgNotificationServiceImpl.java
@@ -1,7 +1,6 @@
package com.yeshi.fanli.service.impl.msg;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.annotation.Resource;
@@ -10,6 +9,8 @@
import com.google.gson.Gson;
import com.yeshi.fanli.dto.msg.MsgOtherCouponContentDTO;
import com.yeshi.fanli.dto.msg.MsgOtherExchangeContentDTO;
import com.yeshi.fanli.dto.msg.MsgOtherGiveContentDTO;
import com.yeshi.fanli.dto.msg.MsgOtherTaoLiJinContentDTO;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail.MsgTypeOtherTypeEnum;
@@ -147,7 +148,7 @@
            coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, "可在首页-免单商品-选择商品-使用"));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, "首页-免单-选择商品-使用"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
@@ -234,7 +235,7 @@
            coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, "返利已到账后再奖励返利的" + percent + "%"));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, "使用本券已到账的返利再返" + percent + "%"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
@@ -249,7 +250,7 @@
            rewardMoney, orderId);
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, "参与活动可获取更多奖励券"));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, "完成金币任务,兑换更多奖励券"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
@@ -263,7 +264,7 @@
            getLeftDay(coupon), coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, "返利已到账后再奖励返利的" + percent + "%"));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, "使用本券已到账的返利再返" + percent + "%"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
@@ -277,7 +278,7 @@
            .createRewardCouponAlreadyOutOfDate(coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
      try {
         MsgOtherDetail detail = MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), coupon.getId(), dto,
               MsgTypeOtherTypeEnum.couponReward, "参与活动可获取更多奖励券");
               MsgTypeOtherTypeEnum.couponReward, "完成金币任务,兑换更多奖励券");
         detail.setCreateTime(coupon.getEndTime());
         msgOtherDetailService.addMsgOtherDetail(detail);
      } catch (MsgOtherDetailException e) {
@@ -285,6 +286,66 @@
      }
   }
   @Override
   public void couponUsingFreeSheet(UserSystemCoupon coupon, String orderId, BigDecimal money, MsgTypeOtherTypeEnum type) {
      if (coupon == null || coupon.getUid() == null)
         return;
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponUsing(orderId, money,
            coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, type, "实付款-返利=0元购(免单)"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void couponUsedFreeSheet(UserSystemCoupon coupon, String orderId, MsgTypeOtherTypeEnum type) {
      if (coupon == null || coupon.getUid() == null)
         return;
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponUsed(orderId,
            "实付款-返利=0元购(免单)", coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, type, "参与其他活动可获得更多免单券"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void couponDrawBack(UserSystemCoupon coupon, String orderId, MsgTypeOtherTypeEnum type) {
      if (coupon == null || coupon.getUid() == null)
         return;
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponDrawBack(getLeftDay(coupon),
            orderId, coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, type, "退回后依然可在有效期内使用"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void outOfDate(UserSystemCoupon coupon, MsgTypeOtherTypeEnum type) {
      if (coupon == null || coupon.getUid() == null)
         return;
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
            .createRewardCouponAlreadyOutOfDate(coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
      try {
         MsgOtherDetail detail = MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), coupon.getId(), dto,
               type, "参与活动可获取更多奖励券");
         detail.setCreateTime(coupon.getEndTime());
         msgOtherDetailService.addMsgOtherDetail(detail);
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   
   @Override
   public void taoLiJinMsg(Long uid, String beiZhu, MsgOtherTaoLiJinContentDTO content) {
@@ -302,4 +363,37 @@
      }
   }
   @Override
   public void tokenGiveMsg(Long uid, String beiZhu,  MsgOtherGiveContentDTO content) {
      try {
         MsgOtherDetail detail = new MsgOtherDetail();
         detail.setBeiZhu(beiZhu);
         detail.setCreateTime(new Date());
         detail.setRead(false);
         detail.setUser(new UserInfo(uid));
         detail.setContent(new Gson().toJson(content));
         detail.setType(MsgTypeOtherTypeEnum.give);
         msgOtherDetailService.addMsgOtherDetail(detail);
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void exchangeMsg(Long uid, String beiZhu,  MsgOtherExchangeContentDTO content) {
      try {
         MsgOtherDetail detail = new MsgOtherDetail();
         detail.setBeiZhu(beiZhu);
         detail.setCreateTime(new Date());
         detail.setRead(false);
         detail.setUser(new UserInfo(uid));
         detail.setContent(new Gson().toJson(content));
         detail.setType(MsgTypeOtherTypeEnum.exchange);
         msgOtherDetailService.addMsgOtherDetail(detail);
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
}