yujian
2020-01-18 f4a0f2acc63d7785eab108419a4e16f5f688cb95
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgMoneyDetailFactory.java
@@ -1,15 +1,18 @@
package com.yeshi.fanli.util.factory.msg;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Date;
import org.yeshi.utils.StringUtil;
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.ExtractWeiXinRecord;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
public class MsgMoneyDetailFactory {
@@ -25,13 +28,14 @@
      if (extract == null || uid == null)
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setBeiZhu(StringUtil.isNullOrEmpty(beiZhu) ? "无" : beiZhu);
      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;
   }
@@ -47,13 +51,39 @@
      if (extract == null || uid == null)
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setBeiZhu(StringUtil.isNullOrEmpty(beiZhu) ? "无" : beiZhu);
      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 createExtractAutoMsg(ExtractWeiXinRecord extractRecord, String stateDesc, String desc,
         String beiZhu) {
      if (extractRecord == null)
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setUser(new UserInfo(extractRecord.getUid()));
      detail.setRead(false);
      detail.setMoney(extractRecord.getMoney());
      detail.setMsgType(MsgTypeMoneyTypeEnum.extractAutoWX);
      detail.setExtract(new Extract(extractRecord.getId()));
      detail.setStateDesc(stateDesc);
      detail.setDesc(desc);
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      return detail;
   }
@@ -69,13 +99,14 @@
      if (extract == null || uid == null)
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setBeiZhu(StringUtil.isNullOrEmpty(beiZhu) ? "无" : beiZhu);
      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;
   }
@@ -88,17 +119,16 @@
    * @return
    */
   public static MsgMoneyDetail createAlipayAccountValidMsg(AlipayAccountValidNormalHistory valid, Long uid,
         String company, BigDecimal money, String beiZhu) {
      if (valid == null || uid == null || company == null)
         String appName, BigDecimal money, String beiZhu) {
      if (valid == null || uid == null || appName == null)
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setAlipayAccountValid(valid);
      detail.setBeiZhu(StringUtil.isNullOrEmpty(beiZhu) ? "无" : beiZhu);
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setMoney(money);
      detail.setStateDesc(String
            .format("已向你的提现支付宝转入一笔来自于“%s”总额为%s元的转账,收到即提现帐号验证成功。", company, MoneyBigDecimalUtil.getWithNoZera(money))
            .toString());
      detail.setStateDesc(String.format("你的支付宝将收到一笔,理由\"来自于%s的支付宝验证打款\"和对方账户\"%s支付宝验证\"的%s元转账。", appName, appName,
            MoneyBigDecimalUtil.getWithNoZera(money)).toString());
      detail.setMsgType(MsgTypeMoneyTypeEnum.extractValid);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
@@ -116,19 +146,49 @@
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createFailiMsg(BigDecimal money, BigDecimal balance, String orderId, int goodsCount,
         Long uid, String beiZhu) {
   public static MsgMoneyDetail createFailiMsg(BigDecimal money, BigDecimal balance, String orderId, int orderType,
         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(StringUtil.isNullOrEmpty(beiZhu) ? "无" : beiZhu);
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setGoodsCount(goodsCount);
      detail.setMoney(money);
      detail.setMsgType(MsgTypeMoneyTypeEnum.fanli);
      detail.setOrderId(orderId);
      detail.setOrderType(orderType);
      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, int orderType, 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.setOrderType(orderType);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
@@ -146,14 +206,14 @@
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createInviteMsg(BigDecimal money, BigDecimal balance, int orderCount, int goodsCount,
         Long uid, String beiZhu) {
   public static MsgMoneyDetail createInviteMsg(BigDecimal money, BigDecimal balance, int orderType, 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(StringUtil.isNullOrEmpty(beiZhu) ? "无" : beiZhu);
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setGoodsCount(goodsCount);
      detail.setMoney(money);
@@ -161,6 +221,36 @@
      detail.setOrderCount(orderCount);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      detail.setOrderType(orderType);
      return detail;
   }
   /**
    * 邀请赚维权
    *
    * @param uid
    * @param orderId
    * @param money
    * @param balance
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createInviteWeiQuanMsg(Long uid, String orderId, int orderType, 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));
      detail.setOrderType(orderType);
      return detail;
   }
@@ -176,16 +266,17 @@
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createShareMsg(BigDecimal money, BigDecimal balance, int orderCount, int goodsCount,
         Long uid, String beiZhu) {
   public static MsgMoneyDetail createShareMsg(BigDecimal money, BigDecimal balance, int orderType, 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(StringUtil.isNullOrEmpty(beiZhu) ? "无" : beiZhu);
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setGoodsCount(goodsCount);
      detail.setOrderType(orderType);
      detail.setMoney(money);
      detail.setMsgType(MsgTypeMoneyTypeEnum.share);
      detail.setOrderCount(orderCount);
@@ -195,4 +286,139 @@
      return detail;
   }
   /**
    * 分享赚维权
    *
    * @param uid
    * @param orderId
    * @param money
    * @param balance
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createShareWeiQuanMsg(Long uid, String orderId, int orderType, 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));
      detail.setOrderType(orderType);
      return detail;
   }
   public static MsgMoneyDetail createOrderRewardMsg(Long uid, String orderId, int orderType, 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.orderReward);
      detail.setOrderId(orderId);
      detail.setRead(false);
      detail.setOrderType(orderType);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
   public static MsgMoneyDetail createSystemEqualizeMsg(Long uid, String reason, BigDecimal money, BigDecimal balance,
         String beiZhu) {
      if (money == 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.systemEqualize);
      detail.setOrderId(reason);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
   public static MsgMoneyDetail createElmeFanliMsg(Long uid, String orderId, BigDecimal money, BigDecimal balance,
         String beiZhu) {
      if (money == 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.fanliElme);
      detail.setOrderId(orderId);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
   /**
    * 邀请订单补贴
    *
    * @param uid
    * @param date
    * @param from
    * @param money
    * @param balance
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createInviteOrderSubSidyMsg(Long uid, Date date, String from, BigDecimal money,
         BigDecimal balance, String beiZhu) {
      if (money == 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.subSidy);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      Calendar calendar = Calendar.getInstance();
      calendar.setTime(date);
      detail.setStateDesc(String.format("%s年%s月额外补贴到账", calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH)));
      detail.setDesc(from);
      return detail;
   }
   /**
    * 红包相关信息
    * @param uid
    * @param type
    * @param content
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createRedPackMsg(Long uid, MsgTypeMoneyTypeEnum type, String content, String beiZhu) {
      if (uid == null || type == null || StringUtil.isNullOrEmpty(content))
         return null;
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setUser(new UserInfo(uid));
      detail.setRead(false);
      detail.setContent(content);
      detail.setMsgType(type);
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      return detail;
   }
}