yujian
2019-09-27 c833ab8f5968c755ded82eea5e8ce2aca841a0cb
fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOtherMsgNotificationServiceImpl.java
@@ -1,13 +1,23 @@
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.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;
import com.yeshi.fanli.entity.bus.user.UserSystemCoupon;
import com.yeshi.fanli.exception.msg.MsgOtherDetailException;
import com.yeshi.fanli.service.inter.msg.MsgOtherDetailService;
@@ -41,49 +51,49 @@
            coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, null));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "至少成功邀请1个队员后可激活"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void welfareCouponActive(UserSystemCoupon coupon) {
   public void welfareCouponActive(UserSystemCoupon coupon, UserInfo worker) {
      if (coupon == null || coupon.getUid() == null)
         return;
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponActive(getLeftDay(coupon),
            coupon.getStartTime(), coupon.getEndTime());
            "成功邀请队员:" + worker.getNickName(), coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, null));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "可在首页-免单商品-选择商品-使用"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void welfareCouponUsing(UserSystemCoupon coupon) {
   public void welfareCouponUsing(UserSystemCoupon coupon, String orderId, BigDecimal money) {
      if (coupon == null || coupon.getUid() == null)
         return;
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponUsing(coupon.getStartTime(),
            coupon.getEndTime());
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponUsing(orderId, money,
            coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, null));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "实付款-返利=0元购(免单)"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void welfareCouponUsed(UserSystemCoupon coupon) {
   public void welfareCouponUsed(UserSystemCoupon coupon, String orderId) {
      if (coupon == null || coupon.getUid() == null)
         return;
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponUsed(getLeftDay(coupon),
            coupon.getStartTime(), coupon.getEndTime());
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponUsed(orderId,
            "实付款-返利=0元购(免单)", coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, null));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "参与其他活动可获得更多免单券"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
@@ -97,7 +107,7 @@
            .createWelfareCouponWillOutOfDate(getLeftDay(coupon), coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, null));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "至少成功邀请1个队员后可激活"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
@@ -108,10 +118,26 @@
      if (coupon == null || coupon.getUid() == null)
         return;
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
            .createWelfareCouponAlreadyOutOfDate(coupon.getStartTime(), coupon.getEndTime());
            .createWelfareCouponAlreadyOutOfDate(coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
      try {
         MsgOtherDetail detail = MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), coupon.getId(), dto,
               MsgTypeOtherTypeEnum.couponWelfareMianDan, "参与其他活动可获得更多免单券");
         detail.setCreateTime(coupon.getEndTime());
         msgOtherDetailService.addMsgOtherDetail(detail);
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void welfareCouponDrawBack(UserSystemCoupon coupon, String orderId) {
      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, MsgTypeOtherTypeEnum.couponWelfareMianDan, null));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "退回后依然可在有效期内使用"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
@@ -125,49 +151,35 @@
            coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, null));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, "首页-免单-选择商品-使用"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void freeSheetCouponActive(UserSystemCoupon coupon) {
   public void freeSheetCouponUsing(UserSystemCoupon coupon, String orderId, BigDecimal money) {
      if (coupon == null || coupon.getUid() == null)
         return;
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponActive(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(),
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponUsing(orderId, money,
            coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, null));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, "实付款-返利=0元购(免单)"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void freeSheetCouponUsed(UserSystemCoupon coupon) {
   public void freeSheetCouponUsed(UserSystemCoupon coupon, String orderId) {
      if (coupon == null || coupon.getUid() == null)
         return;
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponUsed(getLeftDay(coupon),
            coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponUsed(orderId,
            "实付款-返利=0元购(免单)", coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, null));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, "参与其他活动可获得更多免单券"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
@@ -177,11 +189,11 @@
   public void freeSheetCouponWillOutOfDate(UserSystemCoupon coupon) {
      if (coupon == null || coupon.getUid() == null)
         return;
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponWillOutOfDate(getLeftDay(coupon),
            coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
            .createWelfareCouponWillOutOfDate(getLeftDay(coupon), coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, null));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, "至少成功邀请1个队员后可激活"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
@@ -191,67 +203,71 @@
   public void freeSheetCouponAlreadyOutOfDate(UserSystemCoupon coupon) {
      if (coupon == null || coupon.getUid() == null)
         return;
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponAlreadyOutOfDate(coupon.getSource(),
            coupon.getStartTime(), coupon.getEndTime());
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
            .createWelfareCouponAlreadyOutOfDate(coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, null));
         MsgOtherDetail detail = MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), coupon.getId(), dto,
               MsgTypeOtherTypeEnum.couponMianDan, "参与其他活动可获得更多免单券");
         detail.setCreateTime(coupon.getEndTime());
         msgOtherDetailService.addMsgOtherDetail(detail);
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void rewardCouponGet(UserSystemCoupon coupon) {
   public void freeSheetCouponDrawBack(UserSystemCoupon coupon, String orderId) {
      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, MsgTypeOtherTypeEnum.couponMianDan, "退回后依然可在有效期内使用"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void rewardCouponGet(UserSystemCoupon coupon, int percent) {
      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));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, "返利订单已到账再返" + percent + "%"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void rewardCouponActive(UserSystemCoupon coupon) {
   public void rewardCouponUsed(UserSystemCoupon coupon, BigDecimal oldFanLiMoney, BigDecimal rewardMoney,
         String orderId) {
      if (coupon == null || coupon.getUid() == null)
         return;
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createRewardCouponActive(getLeftDay(coupon),
            coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createRewardCouponUsed(oldFanLiMoney,
            rewardMoney, orderId);
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, null));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, "完成金币任务,兑换更多奖励券"));
      } 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) {
   public void rewardCouponWillOutOfDate(UserSystemCoupon coupon, int percent) {
      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));
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, "返利订单已到账再返" + percent + "%"));
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
@@ -264,11 +280,174 @@
      MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
            .createRewardCouponAlreadyOutOfDate(coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
      try {
         msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
               coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, null));
         MsgOtherDetail detail = MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), coupon.getId(), dto,
               MsgTypeOtherTypeEnum.couponReward, "完成金币任务,兑换更多奖励券");
         detail.setCreateTime(coupon.getEndTime());
         msgOtherDetailService.addMsgOtherDetail(detail);
      } catch (MsgOtherDetailException e) {
         e.printStackTrace();
      }
   }
   @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();
      }
   }
}