yujian
2019-09-27 c833ab8f5968c755ded82eea5e8ce2aca841a0cb
fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOtherMsgNotificationServiceImpl.java
@@ -7,7 +7,14 @@
import org.springframework.stereotype.Service;
import com.google.gson.Gson;
import com.yeshi.fanli.dto.msg.MsgOtherCouponActivateDTO;
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.MsgOtherRewardIntegralDTO;
import com.yeshi.fanli.dto.msg.MsgOtherSystemGiveDTO;
import com.yeshi.fanli.dto.msg.MsgOtherTaoLiJinContentDTO;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail.MsgTypeOtherTypeEnum;
import com.yeshi.fanli.entity.bus.user.UserInfo;
@@ -144,7 +151,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();
      }
@@ -231,7 +238,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();
      }
@@ -246,7 +253,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();
      }
@@ -260,7 +267,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();
      }
@@ -274,7 +281,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) {
@@ -282,4 +289,165 @@
      }
   }
   @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 giveCouponActivateMsg(Long uid, String beiZhu, MsgOtherCouponActivateDTO 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.couponActivate);
         msgOtherDetailService.addMsgOtherDetail(detail);
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void taoLiJinMsg(Long uid, String beiZhu, MsgOtherTaoLiJinContentDTO 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.taoLiJin);
         msgOtherDetailService.addMsgOtherDetail(detail);
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @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();
      }
   }
   @Override
   public void firstOrderRewardMsg(Long uid, String beiZhu,  MsgOtherRewardIntegralDTO 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.firstOrderReward);
         msgOtherDetailService.addMsgOtherDetail(detail);
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void systemGiveRewardCoupon(Long uid, String beiZhu, MsgOtherSystemGiveDTO dto) {
      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(dto));
         detail.setType(MsgTypeOtherTypeEnum.systemGive);
         msgOtherDetailService.addMsgOtherDetail(detail);
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
}