admin
2020-05-06 24a8d17e007545f7426c48352109aa1a9c6587ee
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgMoneyDetailFactory.java
@@ -2,7 +2,6 @@
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
@@ -11,15 +10,11 @@
import com.google.gson.Gson;
import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail;
import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail.MsgTypeMoneyTypeEnum;
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail.MsgTypeOrderTypeEnum;
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.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import com.yeshi.fanli.vo.msg.CommonMsgItemVO;
import com.yeshi.fanli.vo.msg.CommonMsgItemVOFactory;
@@ -34,7 +29,8 @@
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createExtractMsg(String stateDesc, Long uid, Extract extract, String reason, String alipayNo) {
   public static MsgMoneyDetail createExtractMsg(String stateDesc, Long uid, Extract extract, String reason,
         String alipayNo, String beizu) {
      if (extract == null || uid == null)
         return null;
      
@@ -46,9 +42,9 @@
            new ClientTextStyleVO(String.format("支付宝:%s-姓名:%s",account, name), ClientTextStyleVO.COLOR_CONTENT)));
      
      List<ClientTextStyleVO> contentList = new ArrayList<>();
      contentList.add(new ClientTextStyleVO("¥" + extract.getMoney().setScale(2), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
      contentList.add(new ClientTextStyleVO("¥" + extract.getMoney().setScale(2, BigDecimal.ROUND_DOWN), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
      if (!StringUtil.isNullOrEmpty(alipayNo)) {
         contentList.add(new ClientTextStyleVO(String.format("&支付宝订单号: %s", "*" + alipayNo.substring(alipayNo.length() - 10)), ClientTextStyleVO.COLOR_CONTENT));
         contentList.add(new ClientTextStyleVO(String.format("&支付宝订单号: %s", "*" + alipayNo.substring(alipayNo.length() - 10)), ClientTextStyleVO.COLOR_CONTENT));
      }
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("提现金额", ClientTextStyleVO.COLOR_TITLE),contentList));
      
@@ -59,9 +55,8 @@
         listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("原因", ClientTextStyleVO.COLOR_TITLE),
               new ClientTextStyleVO(reason, ClientTextStyleVO.COLOR_CONTENT)));
      }
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("备注", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO("如有疑问请联系人工客服", ClientTextStyleVO.COLOR_CONTENT)));
            new ClientTextStyleVO(beizu, ClientTextStyleVO.COLOR_CONTENT)));
      
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setBeiZhu(reason);
@@ -103,9 +98,14 @@
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("提现账号", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO(String.format("支付宝:%s-姓名:%s",account, name), ClientTextStyleVO.COLOR_CONTENT)));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("打款金额", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO(money + "", ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT)));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("提现账号", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO(String.format("提现账号收到一笔,来自%s的转账,即绑定成功", appName), ClientTextStyleVO.COLOR_CONTENT)));
            new ClientTextStyleVO("¥" + money.setScale(2, BigDecimal.ROUND_DOWN), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT)));
      List<ClientTextStyleVO> contentList2 = new ArrayList<>();
      contentList2.add(new ClientTextStyleVO("提现账号收到一笔,来自", ClientTextStyleVO.COLOR_CONTENT));
      contentList2.add(new ClientTextStyleVO(appName, ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
      contentList2.add(new ClientTextStyleVO("的转账,即绑定成功", ClientTextStyleVO.COLOR_CONTENT));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("说明", ClientTextStyleVO.COLOR_TITLE),contentList2));
      List<ClientTextStyleVO> contentList = new ArrayList<>();
      contentList.add(new ClientTextStyleVO(String.format("成功%s的提现账号", changeWay), ClientTextStyleVO.COLOR_CONTENT));
      contentList.add(new ClientTextStyleVO( limitDay+"", ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
@@ -142,14 +142,12 @@
      if (change) {
         changeWay = "修改";
      }
      String name = filterName(valid.getName());
      String account = filterAccount(valid.getAccount());
      
      List<CommonMsgItemVO> listMsg = new ArrayList<>();
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("验证状态", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO(String.format("提现账号%s失败", changeWay), ClientTextStyleVO.COLOR_CONTENT)));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("提现账号", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO(String.format("支付宝:%s-姓名:%s",account, name), ClientTextStyleVO.COLOR_CONTENT)));
            new ClientTextStyleVO(String.format("支付宝:%s-姓名:%s",valid.getAccount(), valid.getName()), ClientTextStyleVO.COLOR_CONTENT)));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("原因", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO("请仔细核对填写账号是否有误或距上一次修改时长是否超过30天", ClientTextStyleVO.COLOR_CONTENT)));
   
@@ -188,24 +186,13 @@
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createOrderReceivedMsg(BigDecimal money, BigDecimal balance, String orderId, int source,
          int goodsCount, Long uid, int type, Date downTime, boolean useCoupon) {
   public static MsgMoneyDetail fanLiOrderReceivedMsg(BigDecimal money, BigDecimal balance, String orderId, int source,
          int goodsCount, Long uid, Date downTime, boolean useCoupon) {
      if (money == null || balance == null || orderId == null || uid == null)
         return null;
      String fanliName = "";
      MsgTypeMoneyTypeEnum typeEnum = null;
      String sourceName = Constant.getSourceName(source);
      if (Constant.TYPE_REBATE == type) {
         fanliName = "自购返利";
         sourceName += "-返利订单";
         typeEnum = MsgTypeMoneyTypeEnum.fanli;
      } else if (Constant.TYPE_SHAER == type) {
         fanliName = "分享奖金:";
         sourceName += "-分享订单";
         typeEnum = MsgTypeMoneyTypeEnum.share;
      }
      String fanliName = "自购返利";
      String sourceName = Constant.getSourceName(source) + "-返利订单";
      if (useCoupon) {
         fanliName = "使用返利奖励券";
      }
@@ -214,20 +201,23 @@
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("到账详情", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO(sourceName, ClientTextStyleVO.COLOR_CONTENT)));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("订单号", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO(orderId, ClientTextStyleVO.COLOR_CONTENT), true));
            new ClientTextStyleVO(orderId, ClientTextStyleVO.COLOR_CONTENT)));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("下单时间", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO(TimeUtil.formatDate(downTime), ClientTextStyleVO.COLOR_CONTENT)));
      List<ClientTextStyleVO> contentList = new ArrayList<>();
      contentList.add(new ClientTextStyleVO("下单时间:" + TimeUtil.formatDate(downTime), ClientTextStyleVO.COLOR_CONTENT));
      contentList.add(new ClientTextStyleVO("-商品数量:共", ClientTextStyleVO.COLOR_CONTENT));
      contentList.add(new ClientTextStyleVO("共", ClientTextStyleVO.COLOR_CONTENT));
      contentList.add(new ClientTextStyleVO(goodsCount + "", ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
      contentList.add(new ClientTextStyleVO("件商品", ClientTextStyleVO.COLOR_CONTENT));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("订单相关", ClientTextStyleVO.COLOR_TITLE), contentList));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("商品数量", ClientTextStyleVO.COLOR_TITLE), contentList));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("到账类目", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO(fanliName, ClientTextStyleVO.COLOR_CONTENT)));
      
      List<ClientTextStyleVO> contentList2 = new ArrayList<>();
      contentList2.add(new ClientTextStyleVO("¥" + money, ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
      contentList2.add(new ClientTextStyleVO("(账户余额¥)"+ balance, ClientTextStyleVO.COLOR_CONTENT));
      contentList2.add(new ClientTextStyleVO("¥" + money.setScale(2, BigDecimal.ROUND_DOWN), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
      contentList2.add(new ClientTextStyleVO("(账户余额¥"+ balance.setScale(2, BigDecimal.ROUND_DOWN) + ")", ClientTextStyleVO.COLOR_CONTENT));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("到账金额", ClientTextStyleVO.COLOR_TITLE), contentList2));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("备注", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO("如有疑问请联系人工客服",   ClientTextStyleVO.COLOR_CONTENT)));
@@ -237,7 +227,7 @@
      detail.setCreateTime(new Date());
      detail.setGoodsCount(goodsCount);
      detail.setMoney(money);
      detail.setMsgType(typeEnum);
      detail.setMsgType(MsgTypeMoneyTypeEnum.fanli);
      detail.setOrderId(orderId);
      detail.setOrderType(source);
      detail.setRead(false);
@@ -246,6 +236,58 @@
      return detail;
   }
   /**
    * 返利到账
    *
    * @param money
    * @param balance
    * @param orderId
    * @param goodsCount
    * @param uid
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail shareOrderReceivedMsg(BigDecimal money, BigDecimal balance, int source, Long uid, Date receivedDate) {
      if (money == null || balance == null || uid == null)
         return null;
      String sourceName = Constant.getSourceName(source) + "-分享订单";
      List<CommonMsgItemVO> listMsg = new ArrayList<>();
      List<ClientTextStyleVO> contentList = new ArrayList<>();
      contentList.add(new ClientTextStyleVO(TimeUtil.getYearOnlyYYYY(receivedDate)+ "年", ClientTextStyleVO.COLOR_CONTENT));
      contentList.add(new ClientTextStyleVO(TimeUtil.getMonthOnlyMM(receivedDate), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
      contentList.add(new ClientTextStyleVO("月", ClientTextStyleVO.COLOR_CONTENT));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("结算月度", ClientTextStyleVO.COLOR_TITLE), contentList));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("到账详情", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO(sourceName, ClientTextStyleVO.COLOR_CONTENT)));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("到账类目", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO("分享奖金", ClientTextStyleVO.COLOR_CONTENT)));
      List<ClientTextStyleVO> contentList2 = new ArrayList<>();
      contentList2.add(new ClientTextStyleVO("¥" + money.setScale(2, BigDecimal.ROUND_DOWN), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
      contentList2.add(new ClientTextStyleVO("(账户余额¥"+ balance.setScale(2, BigDecimal.ROUND_DOWN) + ")", ClientTextStyleVO.COLOR_CONTENT));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("到账金额", ClientTextStyleVO.COLOR_TITLE), contentList2));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("备注", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO("如有疑问请联系人工客服",   ClientTextStyleVO.COLOR_CONTENT)));
      MsgMoneyDetail detail = new MsgMoneyDetail();
      detail.setBalance(balance);
      detail.setCreateTime(new Date());
      detail.setMoney(money);
      detail.setMsgType(MsgTypeMoneyTypeEnum.share);
      detail.setOrderType(source);
      detail.setRead(false);
      detail.setUser(new UserInfo(uid));
      detail.setExtraInfo(new Gson().toJson(listMsg));
      return detail;
   }
   /**
    * 返利维权
    * 
@@ -282,21 +324,23 @@
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("退回详情", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO(sourceName, ClientTextStyleVO.COLOR_CONTENT)));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("订单号", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO(orderId, ClientTextStyleVO.COLOR_CONTENT), true));
            new ClientTextStyleVO(orderId, ClientTextStyleVO.COLOR_CONTENT)));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("下单时间", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO(TimeUtil.formatDate(downTime), ClientTextStyleVO.COLOR_CONTENT)));
      List<ClientTextStyleVO> contentList = new ArrayList<>();
      contentList.add(new ClientTextStyleVO("下单时间:" + TimeUtil.formatDate(downTime), ClientTextStyleVO.COLOR_CONTENT));
      contentList.add(new ClientTextStyleVO("-商品数量:共", ClientTextStyleVO.COLOR_CONTENT));
      contentList.add(new ClientTextStyleVO("共", ClientTextStyleVO.COLOR_CONTENT));
      contentList.add(new ClientTextStyleVO(goodsCount + "", ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
      contentList.add(new ClientTextStyleVO("件商品", ClientTextStyleVO.COLOR_CONTENT));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("订单相关", ClientTextStyleVO.COLOR_TITLE), contentList));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("商品数量", ClientTextStyleVO.COLOR_TITLE), contentList));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("退回原因", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO(weiquan, ClientTextStyleVO.COLOR_CONTENT)));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("到账金额", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO("¥" +fanliMoney.setScale(2) + "(原到账金额)", ClientTextStyleVO.COLOR_CONTENT)));
            new ClientTextStyleVO("¥" +fanliMoney.setScale(2, BigDecimal.ROUND_DOWN) + "(原到账金额)", ClientTextStyleVO.COLOR_CONTENT)));
      
      List<ClientTextStyleVO> contentList2 = new ArrayList<>();
      contentList2.add(new ClientTextStyleVO("¥" + money.setScale(2), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
      contentList2.add(new ClientTextStyleVO("¥" + money.setScale(2, BigDecimal.ROUND_DOWN), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
      contentList2.add(new ClientTextStyleVO("("+ weiquanMoney + ")", ClientTextStyleVO.COLOR_CONTENT));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("退回金额", ClientTextStyleVO.COLOR_TITLE), contentList2));
      
@@ -327,7 +371,8 @@
    * @param beiZhu
    * @return
    */
   public static MsgMoneyDetail createTeamReceivedMsg(Long uid, BigDecimal money, BigDecimal balance, Date receivedDate) {
   public static MsgMoneyDetail createTeamReceivedMsg(Long uid, BigDecimal money, BigDecimal balance, Date receivedDate,
         String teamName) {
      if (money == null || balance == null || uid == null)
         return null;
@@ -339,11 +384,11 @@
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("结算月度", ClientTextStyleVO.COLOR_TITLE), contentList));
      
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("到账类目", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO("团队收益", ClientTextStyleVO.COLOR_CONTENT), true));
            new ClientTextStyleVO(teamName, ClientTextStyleVO.COLOR_CONTENT)));
      
      List<ClientTextStyleVO> contentList2 = new ArrayList<>();
      contentList2.add(new ClientTextStyleVO("¥" + money.setScale(2), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
      contentList2.add(new ClientTextStyleVO("(账户余额¥ "+ balance.setScale(2)+")", ClientTextStyleVO.COLOR_CONTENT));
      contentList2.add(new ClientTextStyleVO("¥" + money.setScale(2, BigDecimal.ROUND_DOWN), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
      contentList2.add(new ClientTextStyleVO("(账户余额¥ "+ balance.setScale(2, BigDecimal.ROUND_DOWN)+")", ClientTextStyleVO.COLOR_CONTENT));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("到账金额", ClientTextStyleVO.COLOR_TITLE), contentList2));
      listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("备注", ClientTextStyleVO.COLOR_TITLE),
            new ClientTextStyleVO("如有疑问请联系人工客服",   ClientTextStyleVO.COLOR_CONTENT)));
@@ -359,237 +404,6 @@
      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;
   }
   /**
    * 分享赚到账
    *
    * @param money
    * @param balance
    * @param orderCount
    * @param goodsCount
    * @param uid
    * @param beiZhu
    * @return
    */
   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(beiZhu);
      detail.setCreateTime(new Date());
      detail.setGoodsCount(goodsCount);
      detail.setOrderType(orderType);
      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, 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;
   }
   /**
    * 团队奖励
    * @Title: createOrderTeamRewardMsg
    * @Description:
    * @param uid
    * @param date
    * @param from
    * @param money
    * @param balance
    * @param beiZhu
    * @return
    * MsgMoneyDetail 返回类型
    * @throws
    */
   public static MsgMoneyDetail createOrderTeamRewardMsg(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.orderTeamReward);
      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;
   }
   
   private static String filterName(String oldname) {
      String name = "";
@@ -628,14 +442,14 @@
      } else {// 其他
         if (alipayAccount.length() >= 6) {
            for (int i = 0; i < alipayAccount.length(); i++) {
               if (i < 3 || i >= alipayAccount.length() - 2)
               if (i < alipayAccount.length() - 4)
                  account += alipayAccount.charAt(i);
               else
                  account += "*";
            }
         } else {
            for (int i = 0; i < alipayAccount.length(); i++) {
               if (i < 1 || i >= alipayAccount.length() - 1)
               if (i <  alipayAccount.length() - 1)
                  account += alipayAccount.charAt(i);
               else
                  account += "*";
@@ -646,9 +460,44 @@
   }
   
   
   /**
    * 红包相关信息
    * @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;
   }
   
   
   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;
   }
   
}