yujian
2020-01-18 f4a0f2acc63d7785eab108419a4e16f5f688cb95
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgInviteDetailFactory.java
@@ -1,5 +1,141 @@
package com.yeshi.fanli.util.factory.msg;
import java.util.Date;
import com.google.gson.Gson;
import com.yeshi.fanli.dto.msg.MsgInviteContentDTO;
import com.yeshi.fanli.entity.bus.msg.MsgInviteDetail;
import com.yeshi.fanli.entity.bus.msg.MsgInviteDetail.MsgTypeInviteTypeEnum;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.util.StringUtil;
public class MsgInviteDetailFactory {
   /**
    * 邀请成功
    *
    * @param threeSale
    * @param uid
    * @return
    */
   public static MsgInviteDetail createInviteSuccess(ThreeSale threeSale, Long uid, String beiZhu) {
      if (threeSale == null || uid == null)
         return null;
      MsgInviteDetail detail = new MsgInviteDetail();
      if (StringUtil.isNullOrEmpty(beiZhu))
         detail.setBeiZhu("无");
      else
         detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setDesc("恭喜你,成功邀请一个粉丝");
      detail.setInviteUser(threeSale);
      detail.setMsgType(MsgTypeInviteTypeEnum.invite);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
   /**
    *   邀请成功
    *
    * @param threeSale
    * @param uid
    * @return
    */
   public static MsgInviteDetail createInviteSuccess2_1(Long uid, ThreeSale threeSale) {
      if (threeSale == null || uid == null)
         return null;
      MsgInviteDetail detail = new MsgInviteDetail();
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      detail.setInviteUser(threeSale);
      detail.setMsgType(MsgTypeInviteTypeEnum.inviteSucceed);
      detail.setDesc("粉丝(好友)熟练使用App可获得红包");
      detail.setBeiZhu("满足获得红包条件后系统将自动下发到“我的-红包”中");
      detail.setCreateTime(new Date());
      detail.setUpdateTime(new Date());
      return detail;
   }
   /**
    * 扫描邀请二维码成功,但是未登录
    *
    * @param threeSale
    * @param uid
    * @return
    */
   public static MsgInviteDetail createInviteScanSuccess(ThreeSale threeSale, Long uid, String beiZhu) {
      if (threeSale == null || uid == null)
         return null;
      MsgInviteDetail detail = new MsgInviteDetail();
      if (StringUtil.isNullOrEmpty(beiZhu))
         detail.setBeiZhu("无");
      else
         detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setDesc("恭喜你,有新粉丝加入你的队列,若对方60天内未激活将会与你脱离邀请关系");
      detail.setInviteUser(threeSale);
      detail.setMsgType(MsgTypeInviteTypeEnum.invite);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
   /**
    * 邀请失败
    *
    * @param threeSale
    * @param uid
    * @return
    */
   public static MsgInviteDetail createInviteFail(ThreeSale threeSale, Long uid, String beiZhu) {
      if (threeSale == null || uid == null)
         return null;
      MsgInviteDetail detail = new MsgInviteDetail();
      if (StringUtil.isNullOrEmpty(beiZhu))
         detail.setBeiZhu("无");
      else
         detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setDesc("抱歉,该粉丝因60天内未激活,已脱离了你的队列,可以试着重新邀请");
      detail.setInviteUser(threeSale);
      detail.setMsgType(MsgTypeInviteTypeEnum.invite);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
   /**
    *  领取信息激活邀请关系
    *
    * @param threeSale
    * @param uid
    * @return
    */
   public static MsgInviteDetail receiveGift(Long uid, String beiZhu, MsgInviteContentDTO content) {
      if (content == null || uid == null)
         return null;
      MsgInviteDetail detail = new MsgInviteDetail();
      if (StringUtil.isNullOrEmpty(beiZhu))
         detail.setBeiZhu("无");
      else
         detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setUpdateTime(new Date());
      detail.setDesc(new Gson().toJson(content));
      detail.setMsgType(MsgTypeInviteTypeEnum.receiveGift);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
}