yujian
2019-01-22 88b54772dbcf5ecab1e2316e4e4626ac901b8908
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgMoneyDetailFactory.java
@@ -1,5 +1,282 @@
package com.yeshi.fanli.util.factory.msg;
import java.math.BigDecimal;
import java.util.Date;
import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail;
import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail.MsgTypeMoneyTypeEnum;
import com.yeshi.fanli.entity.bus.user.AlipayAccountValidNormalHistory;
import com.yeshi.fanli.entity.bus.user.Extract;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
public class MsgMoneyDetailFactory {
   /**
    * 提现申请消息
    *
    * @param extract
    * @param uid
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createExtractApplyMsg(Extract extract, Long uid, String beiZhu) {
      if (extract == null || uid == null)
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setExtract(extract);
      detail.setMoney(extract.getMoney());
      detail.setMsgType(MsgTypeMoneyTypeEnum.extract);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      detail.setStateDesc("人工审核中");
      return detail;
   }
   /**
    * 提现成功消息
    *
    * @param extract
    * @param uid
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createExtractSuccessMsg(Extract extract, Long uid, String beiZhu) {
      if (extract == null || uid == null)
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setExtract(extract);
      detail.setMoney(extract.getMoney());
      detail.setMsgType(MsgTypeMoneyTypeEnum.extract);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      detail.setStateDesc("提现成功");
      return detail;
   }
   /**
    * 提现失败消息
    *
    * @param extract
    * @param uid
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createExtractFailMsg(Extract extract, Long uid, String beiZhu) {
      if (extract == null || uid == null)
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setExtract(extract);
      detail.setMoney(extract.getMoney());
      detail.setMsgType(MsgTypeMoneyTypeEnum.extract);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      detail.setStateDesc("提现失败");
      return detail;
   }
   /**
    * 账号验证消息
    *
    * @param valid
    * @param uid
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createAlipayAccountValidMsg(AlipayAccountValidNormalHistory valid, Long uid,
         String company, BigDecimal money, String beiZhu) {
      if (valid == null || uid == null || company == null)
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setAlipayAccountValid(valid);
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setMoney(money);
      detail.setStateDesc(String
            .format("已向你的提现支付宝转入一笔来自于“%s”总额为%s元的转账,收到即提现帐号验证成功。", company, MoneyBigDecimalUtil.getWithNoZera(money))
            .toString());
      detail.setMsgType(MsgTypeMoneyTypeEnum.extractValid);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
   /**
    * 返利到账
    *
    * @param money
    * @param balance
    * @param orderId
    * @param goodsCount
    * @param uid
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createFailiMsg(BigDecimal money, BigDecimal balance, String orderId, int goodsCount,
         Long uid, String beiZhu) {
      if (money == null || balance == null || orderId == null || uid == null)
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setBalance(balance);
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setGoodsCount(goodsCount);
      detail.setMoney(money);
      detail.setMsgType(MsgTypeMoneyTypeEnum.fanli);
      detail.setOrderId(orderId);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
   /**
    * 返利维权
    *
    * @param uid
    * @param orderId
    * @param money
    * @param balance
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createFailiWeiQuanMsg(Long uid, String orderId, BigDecimal money, BigDecimal balance,
         String beiZhu) {
      if (money == null || orderId == null || money == null || uid == null)
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setBalance(balance);
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setMoney(money);
      detail.setMsgType(MsgTypeMoneyTypeEnum.fanliWeiQuan);
      detail.setOrderId(orderId);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
   /**
    * 邀请赚到账
    *
    * @param money
    * @param balance
    * @param orderCount
    * @param goodsCount
    * @param uid
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createInviteMsg(BigDecimal money, BigDecimal balance, int orderCount, int goodsCount,
         Long uid, String beiZhu) {
      if (money == null || balance == null || uid == null)
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setBalance(balance);
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setGoodsCount(goodsCount);
      detail.setMoney(money);
      detail.setMsgType(MsgTypeMoneyTypeEnum.invite);
      detail.setOrderCount(orderCount);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
   /**
    * 邀请赚维权
    *
    * @param uid
    * @param orderId
    * @param money
    * @param balance
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createInviteWeiQuanMsg(Long uid, String orderId, BigDecimal money, BigDecimal balance,
         String beiZhu) {
      if (money == null || orderId == null || money == null || uid == null)
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setBalance(balance);
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setMoney(money);
      detail.setMsgType(MsgTypeMoneyTypeEnum.inviteWeiQuan);
      detail.setOrderId(orderId);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
   /**
    * 分享赚到账
    *
    * @param money
    * @param balance
    * @param orderCount
    * @param goodsCount
    * @param uid
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createShareMsg(BigDecimal money, BigDecimal balance, int orderCount, int goodsCount,
         Long uid, String beiZhu) {
      if (money == null || balance == null || uid == null)
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setBalance(balance);
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setGoodsCount(goodsCount);
      detail.setMoney(money);
      detail.setMsgType(MsgTypeMoneyTypeEnum.share);
      detail.setOrderCount(orderCount);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
   /**
    * 分享赚维权
    *
    * @param uid
    * @param orderId
    * @param money
    * @param balance
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createShareWeiQuanMsg(Long uid, String orderId, BigDecimal money, BigDecimal balance,
         String beiZhu) {
      if (money == null || orderId == null || money == null || uid == null)
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setBalance(balance);
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setMoney(money);
      detail.setMsgType(MsgTypeMoneyTypeEnum.shareWeiQuan);
      detail.setOrderId(orderId);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
}