admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/UserMsgVOFactory.java
@@ -1,1306 +1,1913 @@
package com.yeshi.fanli.util.factory.msg;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import com.google.gson.Gson;
import com.yeshi.fanli.dto.msg.MsgInviteContentDTO;
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.dto.msg.MsgRedPackAddContentDTO;
import com.yeshi.fanli.dto.msg.MsgRedPackExchangeContentDTO;
import com.yeshi.fanli.dto.msg.MsgRedPackGiveContentDTO;
import com.yeshi.fanli.entity.bus.msg.MsgAccountDetail;
import com.yeshi.fanli.entity.bus.msg.MsgAccountDetail.MsgTypeAccountTypeEnum;
import com.yeshi.fanli.entity.bus.msg.MsgInviteDetail;
import com.yeshi.fanli.entity.bus.msg.MsgInviteDetail.MsgTypeInviteTypeEnum;
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;
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail.MsgTypeOrderTypeEnum;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail.MsgTypeOtherTypeEnum;
import com.yeshi.fanli.entity.bus.user.BindingAccount;
import com.yeshi.fanli.entity.bus.user.Extract;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
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.UserMsgVO;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class UserMsgVOFactory {
   private final static String COLOR_TITLE = "#888888";
   private final static String COLOR_CONTENT = "#000000";
   private final static String COLOR_HIGHLIGHT_CONTENT = "#E5005C";
   private static BigDecimal filterMoney(BigDecimal money) {
      if (money == null)
         return null;
      else
         return money.setScale(2);
   }
   /**
    * 订单消息
    *
    * @param msg
    * @return
    */
   public static UserMsgVO create(MsgOrderDetail msg, JumpDetailV2 jumpDetail, JSONObject params) {
      UserMsgVO vo = new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_order.png", "订单消息",
            msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), null);
      List<CommonMsgItemVO> items = new ArrayList<>();
      List<ClientTextStyleVO> contentList = new ArrayList<>();
      if (msg.getType() == MsgTypeOrderTypeEnum.found) {
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("订单找回", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("类别", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getOrderId(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单号", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(
               TimeUtil.getGernalTime(msg.getHappendDate().getTime(), "yyyy.MM.dd HH:mm"), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("提交时间", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getState() == 1 ? "订单找回成功" : "订单找回失败", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("找回状态", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getState() == 1 ? "¥" + filterMoney(msg.getPayMoney()) : "无",
               COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("找回金额", COLOR_TITLE), contentList));
      } else if (msg.getType() == MsgTypeOrderTypeEnum.elme) {
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
         String orderId = msg.getOrderId();
         MsgTypeOrderTypeEnum type = msg.getType();
         if (type == MsgTypeOrderTypeEnum.invite || type == MsgTypeOrderTypeEnum.share) {
            orderId = UserUtil.filterOrderId(orderId);
         }
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(orderId, COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单号", COLOR_TITLE), contentList, false));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getType().getDesc(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单类型", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         if (msg.getState() == HongBaoV2.STATE_BUKELINGQU||msg.getState() == HongBaoV2.STATE_KELINGQU)
            contentList.add(new ClientTextStyleVO("已付款", COLOR_HIGHLIGHT_CONTENT));
         else if (msg.getState() == HongBaoV2.STATE_SHIXIAO)
            contentList.add(new ClientTextStyleVO("未付款/已退款", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单状态", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getPayMoney()), COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("付款金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getHongBaoMoney()), COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("返利金额", COLOR_TITLE), contentList));
         if (params != null)
            vo.setParams(params.toString());
      } else {
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
         String orderId = msg.getOrderId();
         MsgTypeOrderTypeEnum type = msg.getType();
         if (type == MsgTypeOrderTypeEnum.invite || type == MsgTypeOrderTypeEnum.share) {
            orderId = UserUtil.filterOrderId(orderId);
         }
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(orderId, COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单号", COLOR_TITLE), contentList, true));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("共", COLOR_CONTENT));
         contentList.add(new ClientTextStyleVO(msg.getGoodsCount() + "", COLOR_HIGHLIGHT_CONTENT));
         contentList.add(new ClientTextStyleVO("件商品", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("商品数量", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getType().getDesc(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单类型", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         if (msg.getState() == MsgOrderDetail.STATE_FK)
            contentList.add(new ClientTextStyleVO("已付款", COLOR_HIGHLIGHT_CONTENT));
         else if (msg.getState() == MsgOrderDetail.STATE_JS)
            contentList.add(new ClientTextStyleVO("已收货", COLOR_HIGHLIGHT_CONTENT));
         else if (msg.getState() == MsgOrderDetail.STATE_SX)
            contentList.add(new ClientTextStyleVO("未付款/已退款", COLOR_HIGHLIGHT_CONTENT));
         else if (msg.getState() == MsgOrderDetail.STATE_WQ)
            contentList.add(new ClientTextStyleVO("已维权", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单状态", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getPayMoney()), COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("付款金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getHongBaoMoney()), COLOR_HIGHLIGHT_CONTENT));
         if (msg.getType() == MsgTypeOrderTypeEnum.fanli)
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("返利金额", COLOR_TITLE), contentList));
         else if (msg.getType() == MsgTypeOrderTypeEnum.share)
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("分享奖金", COLOR_TITLE), contentList));
         else if (msg.getType() == MsgTypeOrderTypeEnum.invite)
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("邀请奖金", COLOR_TITLE), contentList));
         vo.setJumpDetail(jumpDetail);
         if (params != null)
            vo.setParams(params.toString());
      }
      contentList = new ArrayList<>();
      contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
            COLOR_CONTENT));
      items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
      vo.setContentItems(items);
      return vo;
   }
   /**
    * 资金消息
    *
    * @param msg
    * @return
    */
   public static UserMsgVO create(MsgMoneyDetail msg) {
      List<CommonMsgItemVO> items = new ArrayList<>();
      List<ClientTextStyleVO> contentList = new ArrayList<>();
      // 提现
      if (msg.getMsgType() == MsgTypeMoneyTypeEnum.extract) {
         BindingAccount ba = new BindingAccount();
         ba.setAccount(msg.getExtract().getAccount());
         ba.setName(msg.getExtract().getName());
         ba = UserUtil.filterBindingAccount(ba);
         contentList.add(new ClientTextStyleVO("支付宝:" + ba.getName() + " " + ba.getAccount(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现账号", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(
               new ClientTextStyleVO("¥" + filterMoney(msg.getExtract().getMoney()), COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         if (msg.getExtract().getState() == Extract.STATE_NOT_PROCESS
               || msg.getExtract().getState() == Extract.STATE_PROCESSING)
            contentList.add(new ClientTextStyleVO("人工审核中", COLOR_HIGHLIGHT_CONTENT));
         else if (msg.getExtract().getState() == Extract.STATE_PASS)
            contentList.add(new ClientTextStyleVO("已通过", COLOR_HIGHLIGHT_CONTENT));
         else if (msg.getExtract().getState() == Extract.STATE_REJECT)
            contentList.add(new ClientTextStyleVO("提现被拒绝", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现状态", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         if (msg.getExtract().getState() == Extract.STATE_NOT_PROCESS
               || msg.getExtract().getState() == Extract.STATE_PROCESSING)
            contentList.add(new ClientTextStyleVO("无", COLOR_CONTENT));
         else if (msg.getExtract().getState() == Extract.STATE_PASS)
            contentList.add(new ClientTextStyleVO("无", COLOR_CONTENT));
         else if (msg.getExtract().getState() == Extract.STATE_REJECT)
            contentList.add(new ClientTextStyleVO(msg.getExtract().getReason(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态说明", COLOR_TITLE), contentList));
         if (msg.getExtract().getState() != Extract.STATE_REJECT) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(TimeUtil.getGernalTime(
                  msg.getExtract().getExtractTime() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd HH:mm"), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("预计到账", COLOR_TITLE), contentList));
         }
         if (msg.getExtract().getState() == Extract.STATE_PASS) {//
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(
                  TimeUtil.getGernalTime(msg.getExtract().getReceiveTime().getTime(), "yyyy-MM-dd HH:mm"),
                  COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("实际到账", COLOR_TITLE), contentList));
         }
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_extract.png", "提现",
               msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.extractValid) {
         BindingAccount ba = new BindingAccount();
         ba.setAccount(msg.getAlipayAccountValid().getAccount());
         ba.setName(msg.getAlipayAccountValid().getName());
         ba = UserUtil.filterBindingAccount(ba);
         // 支付宝验证
         contentList.add(new ClientTextStyleVO("支付宝:" + ba.getName() + " " + ba.getAccount(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现账号", COLOR_CONTENT), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()), COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("验证成功", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("验证状态", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getStateDesc(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态说明", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_extract.png", "提现账号验证",
               msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.fanli) {
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         // 返利到账
         contentList.add(new ClientTextStyleVO(msg.getOrderId(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("返利订单", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("共", COLOR_CONTENT));
         contentList.add(new ClientTextStyleVO(msg.getGoodsCount() + "", COLOR_HIGHLIGHT_CONTENT));
         contentList.add(new ClientTextStyleVO("件商品", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("商品数量", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("返利金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_fanli.png", "返利到账",
               msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.fanliElme) {
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("饿了么", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         // 返利到账
         contentList.add(new ClientTextStyleVO(msg.getOrderId(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单号", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("返利金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_fanli.png", "返利到账",
               msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.invite || msg.getMsgType() == MsgTypeMoneyTypeEnum.share) {
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         // 邀请奖金,分享奖金
         contentList.add(new ClientTextStyleVO(msg.getOrderCount() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单数量", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("共", COLOR_CONTENT));
         contentList.add(new ClientTextStyleVO(msg.getGoodsCount() + "", COLOR_HIGHLIGHT_CONTENT));
         contentList.add(new ClientTextStyleVO("件商品", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("奖金商品", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("到账金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         Calendar ca = Calendar.getInstance();
         ca.setTime(msg.getCreateTime());
         ca.add(Calendar.MONTH, -1);
         String date = ca.get(Calendar.YEAR) + "年" + (ca.get(Calendar.MONTH) + 1) + "月";
         if (msg.getMsgType() == MsgTypeMoneyTypeEnum.share)
            return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_share_money.png",
                  date + msg.getMsgType().getDesc(),
                  msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
         else
            return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_invite_money.png",
                  date + msg.getMsgType().getDesc(),
                  msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.fanliWeiQuan) {
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getOrderId(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("返利订单", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("订单维权", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("扣除说明", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("返利扣除", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_fanli.png", msg.getMsgType().getDesc(),
               msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.shareWeiQuan) {
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getOrderId(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("邀请订单", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("订单维权", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("扣除说明", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("奖金扣除", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_share_money.png",
               msg.getMsgType().getDesc(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
               items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.inviteWeiQuan) {
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getOrderId(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("邀请订单", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("订单维权", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("扣除说明", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("奖金扣除", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_invite_money.png",
               msg.getMsgType().getDesc(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
               items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.orderReward) {// 奖励订单
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getOrderId(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("奖励订单", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("奖励金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_order_reward.png",
               msg.getMsgType().getDesc(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
               items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.systemEqualize) {// 系统补偿
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("补齐金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getOrderId() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("补齐原因", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/money_detail/icon_system.png",
               msg.getMsgType().getDesc(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
               items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.extractAutoWX) { // 微信自动提现
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("自动提现微信红包成功推送", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("类别", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getStateDesc(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()), COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getDesc(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("说明", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/money_detail/icon_system.png",
               msg.getMsgType().getDesc(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
               items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.subSidy) { // 额外补贴
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getStateDesc(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("类别", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()), COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getDesc(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("来源", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()), COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_subsidy.png",
               msg.getMsgType().getDesc(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
               items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackReceiveOff) { // 红包成功领取
         if (StringUtil.isNullOrEmpty(msg.getContent()))
            return null;
         MsgRedPackGiveContentDTO dto = new Gson().fromJson(msg.getContent(), MsgRedPackGiveContentDTO.class);
         if (dto == null)
            return null;
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getUserInfo() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送人", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getTime() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送时间", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getMoney() + "", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("领取金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_hongbao_give.png",
               dto.getTitle(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
               items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackGiveOff) { // 红包被成功领取
         if (StringUtil.isNullOrEmpty(msg.getContent()))
            return null;
         MsgRedPackGiveContentDTO dto = new Gson().fromJson(msg.getContent(), MsgRedPackGiveContentDTO.class);
         if (dto == null)
            return null;
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getUserInfo() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("领取人", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getTime() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("领取时间", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getMoney() + "", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_hongbao_give.png",
               dto.getTitle(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
               items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackGiveBack) { // 红包未被领取退回
         if (StringUtil.isNullOrEmpty(msg.getContent()))
            return null;
         MsgRedPackGiveContentDTO dto = new Gson().fromJson(msg.getContent(), MsgRedPackGiveContentDTO.class);
         if (dto == null)
            return null;
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getTitle() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送类别", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getMoney() + "", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getGiveTime() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送时间", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getTime() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("退回时间", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_hongbao_give.png",
               MsgTypeMoneyTypeEnum.redPackGiveBack.getDesc(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
               items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackExchangePass) { // 红包提现成功
         if (StringUtil.isNullOrEmpty(msg.getContent()))
            return null;
         MsgRedPackExchangeContentDTO dto = new Gson().fromJson(msg.getContent(), MsgRedPackExchangeContentDTO.class);
         if (dto == null)
            return null;
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(MsgTypeMoneyTypeEnum.redPackExchangePass.getDesc() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("类别", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getTime() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现时间", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getHandle() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("审核方式", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getMoney() + "", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getBalance() + "", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_hongbao_tixian.png",
               dto.getTitle(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
               items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackExchangeReject) { // 红包提现拒绝
         if (StringUtil.isNullOrEmpty(msg.getContent()))
            return null;
         MsgRedPackExchangeContentDTO dto = new Gson().fromJson(msg.getContent(), MsgRedPackExchangeContentDTO.class);
         if (dto == null)
            return null;
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(MsgTypeMoneyTypeEnum.redPackExchangePass.getDesc() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("类别", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getTime() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现时间", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getReason() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("失败原因", COLOR_TITLE), contentList));
         String handle = dto.getHandle();
         if (StringUtil.isNullOrEmpty(handle))
            handle = "无";
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(handle, COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("处理", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_hongbao_tixian.png",
               dto.getTitle(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
               items);
      } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackNewUserReward
            || msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackInviteSucceed
            || msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackFirstSharedOrder
            || msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackMonthSharedOrder) { // 红包邀请获得
         if (StringUtil.isNullOrEmpty(msg.getContent()))
            return null;
         MsgRedPackAddContentDTO dto = new Gson().fromJson(msg.getContent(), MsgRedPackAddContentDTO.class);
         if (dto == null)
            return null;
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getMsgType().getDesc() + "", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("增加原因", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getMoney() + "", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getBalance() + "", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("红包余额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/img/tlj/icon_tlj.png",
               dto.getTitle(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
               items);
      }
      return null;
   }
   /**
    * 账号消息
    *
    * @param msg
    * @return
    */
   public static UserMsgVO create(MsgAccountDetail msg) {
      List<CommonMsgItemVO> items = new ArrayList<>();
      List<ClientTextStyleVO> contentList = new ArrayList<>();
      contentList.add(new ClientTextStyleVO(msg.getTitle() + "", COLOR_CONTENT));
      items.add(new CommonMsgItemVO(new ClientTextStyleVO("事项", COLOR_TITLE), contentList));
      // 状态修改
      contentList = new ArrayList<>();
      int fromIndex = 0;
      int toIndex = 0;
      String stateDesc = msg.getContent();
      if (msg.getType() == MsgTypeAccountTypeEnum.taoBaoAuthFail) {// 淘宝授权失败
         JSONArray array = JSONArray.fromObject(stateDesc);
         for (int i = 0; i < array.size(); i++) {
            String name = array.optJSONObject(i).optString("name");
            String content = array.optJSONObject(i).optString("content");
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(content, i > 0 ? COLOR_HIGHLIGHT_CONTENT : COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO(name, COLOR_TITLE), contentList));
         }
      } else {
         while (stateDesc.indexOf("<highlight>") > -1) {
            fromIndex = stateDesc.indexOf("<highlight>");
            toIndex = stateDesc.indexOf("</highlight>");
            String content1 = stateDesc.substring(0, fromIndex);
            String content2 = stateDesc.substring(fromIndex + "<highlight>".length(), toIndex);
            stateDesc = stateDesc.substring(toIndex + "</highlight>".length(), stateDesc.length());
            if (!StringUtil.isNullOrEmpty(content1)) {
               contentList.add(new ClientTextStyleVO(content1, COLOR_CONTENT));
            }
            if (!StringUtil.isNullOrEmpty(content2)) {
               contentList.add(new ClientTextStyleVO(content2, COLOR_HIGHLIGHT_CONTENT));
            }
         }
         if (!StringUtil.isNullOrEmpty(stateDesc)) {
            contentList.add(new ClientTextStyleVO(stateDesc, COLOR_CONTENT));
         }
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态", COLOR_TITLE), contentList));
      }
      contentList = new ArrayList<>();
      contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu() + "",
            COLOR_CONTENT));
      items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
      return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_account.png", msg.getType().getDesc(),
            msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
   }
   /**
    * 邀请消息
    *
    * @param msg
    * @return
    */
   public static UserMsgVO create(MsgInviteDetail msg) {
      MsgTypeInviteTypeEnum msgType = msg.getMsgType();
      if (msgType != null && msgType == MsgTypeInviteTypeEnum.receiveGift) {
         if (StringUtil.isNullOrEmpty(msg.getDesc()))
            return null;
         MsgInviteContentDTO dto = new Gson().fromJson(msg.getDesc(), MsgInviteContentDTO.class);
         if (dto == null)
            return null;
         List<CommonMsgItemVO> items = new ArrayList<>();
         List<ClientTextStyleVO> contentList = new ArrayList<>();
         if (!StringUtil.isNullOrEmpty(dto.getState())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getState() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getCode())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getCode() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("邀请码", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getInviter())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getInviter() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("邀请人", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getMode())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getMode() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("激活方式", COLOR_TITLE), contentList));
         }
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_invite.png", dto.getTitle(),
               msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
      }
      if (msg.getInviteUser() == null || msg.getInviteUser().getWorker() == null)
         return null;
      List<CommonMsgItemVO> items = new ArrayList<>();
      List<ClientTextStyleVO> contentList = new ArrayList<>();
      LogHelper.test("邀请消息:" + new Gson().toJson(msg));
      contentList.add(new ClientTextStyleVO(msg.getInviteUser().getWorker().getNickName() + "", COLOR_CONTENT,
            msg.getInviteUser().getWorker().getPortrait()));
      items.add(new CommonMsgItemVO(new ClientTextStyleVO("被邀请人", COLOR_TITLE), contentList));
      contentList = new ArrayList<>();
      contentList.add(new ClientTextStyleVO(msg.getDesc() + "", COLOR_HIGHLIGHT_CONTENT));
      items.add(new CommonMsgItemVO(new ClientTextStyleVO("说明", COLOR_TITLE), contentList));
      contentList = new ArrayList<>();
      contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
            COLOR_CONTENT));
      items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
      return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_invite.png", msg.getMsgType().getDesc(),
            msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
   }
   /**
    * 其他消息
    *
    * @param msg
    * @return
    */
   public static UserMsgVO create(MsgOtherDetail msg) {
      List<CommonMsgItemVO> items = new ArrayList<>();
      String icon = null;
      if (msg.getType() == MsgTypeOtherTypeEnum.couponMianDan
            || msg.getType() == MsgTypeOtherTypeEnum.couponWelfareMianDan
            || msg.getType() == MsgTypeOtherTypeEnum.couponReward) {
         if (StringUtil.isNullOrEmpty(msg.getContent()))
            return null;
         MsgOtherCouponContentDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherCouponContentDTO.class);
         if (dto == null)
            return null;
         icon = "http://img.flqapp.com/resource/msg/icon_msg_other_coupon.png";
         List<ClientTextStyleVO> contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getState(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态", COLOR_TITLE), contentList));
         if (!StringUtil.isNullOrEmpty(dto.getOrderId())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getOrderId() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单号", COLOR_TITLE), contentList));
         }
         if (dto.getFanLiMoney() != null) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(dto.getFanLiMoney()), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("预估返利", COLOR_TITLE), contentList));
         }
         if (dto.getOrderFanLiMoney() != null) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(dto.getOrderFanLiMoney()), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单返利", COLOR_TITLE), contentList));
         }
         if (dto.getRewardMoney() != null) {
            contentList = new ArrayList<>();
            contentList
                  .add(new ClientTextStyleVO("¥" + filterMoney(dto.getRewardMoney()), COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("奖励金", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getSource())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getSource() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("来源", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getStartTime()) && !StringUtil.isNullOrEmpty(dto.getEndTime())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getStartTime() + "-" + dto.getEndTime(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("有效期", COLOR_TITLE), contentList));
         }
         if (dto.getLeftDay() != null) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getLeftDay() + "", COLOR_HIGHLIGHT_CONTENT));
            if (msg.getType() == MsgTypeOtherTypeEnum.couponReward) {
               contentList.add(new ClientTextStyleVO("天(未使用将会过期)", COLOR_CONTENT));
            } else if (msg.getType() == MsgTypeOtherTypeEnum.couponMianDan) {
               contentList.add(new ClientTextStyleVO("天(未使用将会过期)", COLOR_CONTENT));
            } else {
               contentList.add(new ClientTextStyleVO("天", COLOR_CONTENT));
            }
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("剩余天数", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getDesc())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getDesc(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("说明", COLOR_TITLE), contentList));
         }
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
      } else if (msg.getType() == MsgTypeOtherTypeEnum.taoLiJin) {
         if (StringUtil.isNullOrEmpty(msg.getContent()))
            return null;
         MsgOtherTaoLiJinContentDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherTaoLiJinContentDTO.class);
         if (dto == null)
            return null;
         icon = "http://img.flqapp.com/resource/msg/icon_msg_other_tlj.png";
         List<ClientTextStyleVO> contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getState(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态", COLOR_TITLE), contentList));
         if (!StringUtil.isNullOrEmpty(dto.getSource())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getSource() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("来源", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getTimeDesc())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getTimeDesc() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("时间", COLOR_TITLE), contentList));
         }
         if (dto.getMoney() != null) {
            contentList = new ArrayList<>();
            contentList.add(
                  new ClientTextStyleVO("¥" + filterMoney(dto.getMoney().setScale(2)), COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("面额", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getReason())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getReason() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("原因", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getResult())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getResult() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("结果", COLOR_TITLE), contentList));
         }
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
      } else if (msg.getType() == MsgTypeOtherTypeEnum.give) {
         if (StringUtil.isNullOrEmpty(msg.getContent()))
            return null;
         MsgOtherGiveContentDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherGiveContentDTO.class);
         if (dto == null)
            return null;
         String type = dto.getType();
         if (type == null)
            return null;
         if (MsgOtherGiveContentDTO.TYEP_COUPON.equalsIgnoreCase(type)) {
            icon = "http://img.flqapp.com/resource/msg/icon_msg_other_coupon.png";
         } else {
            icon = "http://img.flqapp.com/resource/msg/icon_msg_other_tlj.png";
         }
         List<ClientTextStyleVO> contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getGiveType(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送类别", COLOR_TITLE), contentList));
         if (!StringUtil.isNullOrEmpty(dto.getReceiveInfo())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getReceiveInfo() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("领取用户", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getGiveTime())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getGiveTime() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送时间", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getReceiveTime())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getReceiveTime() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("领取时间", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getReturnTime())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getReturnTime() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("退回时间", COLOR_TITLE), contentList));
         }
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         UserMsgVO userMsgVO = new UserMsgVO();
         userMsgVO.setIcon(icon);
         userMsgVO.setTitle(dto.getTitle());
         userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
         userMsgVO.setContentItems(items);
         return userMsgVO;
      } else if (msg.getType() == MsgTypeOtherTypeEnum.exchange) {
         if (StringUtil.isNullOrEmpty(msg.getContent()))
            return null;
         MsgOtherExchangeContentDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherExchangeContentDTO.class);
         if (dto == null)
            return null;
         icon = "http://img.flqapp.com/resource/msg/icon_msg_other_integral.png";
         List<ClientTextStyleVO> contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getState(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态", COLOR_TITLE), contentList));
         if (!StringUtil.isNullOrEmpty(dto.getExpend())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getExpend() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("消耗", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getTotalGold())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getTotalGold() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("剩余", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getThing())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getThing() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("兑换物品", COLOR_TITLE), contentList));
         }
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
      } else if (msg.getType() == MsgTypeOtherTypeEnum.couponActivate) {
         if (StringUtil.isNullOrEmpty(msg.getContent()))
            return null;
         MsgOtherCouponActivateDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherCouponActivateDTO.class);
         if (dto == null)
            return null;
         icon = "http://img.flqapp.com/resource/msg/icon_msg_other_coupon.png";
         List<ClientTextStyleVO> contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(dto.getType(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("类别", COLOR_TITLE), contentList));
         if (!StringUtil.isNullOrEmpty(dto.getExplain())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getExplain() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("说明", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getGiveUser())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getGiveUser() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送人", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getReceiveTime())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getReceiveTime() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("获赠时间", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getValidityTime())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getValidityTime() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("有效期", COLOR_TITLE), contentList));
         }
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         UserMsgVO userMsgVO = new UserMsgVO();
         userMsgVO.setIcon(icon);
         userMsgVO.setTitle(dto.getTitle());
         userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
         userMsgVO.setContentItems(items);
         return userMsgVO;
      } else if (msg.getType() == MsgTypeOtherTypeEnum.firstOrderReward) {
         if (StringUtil.isNullOrEmpty(msg.getContent()))
            return null;
         MsgOtherRewardIntegralDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherRewardIntegralDTO.class);
         if (dto == null)
            return null;
         icon = "http://img.flqapp.com/resource/msg/icon_msg_other_integral.png";
         List<ClientTextStyleVO> contentList = new ArrayList<>();
         if (!StringUtil.isNullOrEmpty(dto.getSource())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getSource() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("来源", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getNum())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getNum() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("数量", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getTotal())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getTotal() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("剩余", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getExplain())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getExplain() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("说明", COLOR_TITLE), contentList));
         }
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         UserMsgVO userMsgVO = new UserMsgVO();
         userMsgVO.setIcon(icon);
         userMsgVO.setTitle(dto.getTitle());
         userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
         userMsgVO.setContentItems(items);
         return userMsgVO;
      } else if (msg.getType() == MsgTypeOtherTypeEnum.systemGive) {
         if (StringUtil.isNullOrEmpty(msg.getContent()))
            return null;
         MsgOtherSystemGiveDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherSystemGiveDTO.class);
         if (dto == null)
            return null;
         icon = "http://img.flqapp.com/resource/msg/icon_msg_other_system_give.png";
         List<ClientTextStyleVO> contentList = new ArrayList<>();
         if (!StringUtil.isNullOrEmpty(dto.getName())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getName() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠品", COLOR_TITLE), contentList));
         }
         if (dto.getCount() != null) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getCount() + "张", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("数量", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getReason())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getReason() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("原因", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getOrderId())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(
                  "[" + Constant.getSourceName(dto.getOrderType()) + "]" + dto.getOrderId() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单", COLOR_TITLE), contentList));
         }
         if (!StringUtil.isNullOrEmpty(dto.getDesc())) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getDesc(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("说明", COLOR_TITLE), contentList));
         }
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         UserMsgVO userMsgVO = new UserMsgVO();
         userMsgVO.setIcon(icon);
         userMsgVO.setTitle(msg.getType().getDesc());
         userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
         userMsgVO.setContentItems(items);
         return userMsgVO;
      }
      return new UserMsgVO(icon, msg.getType().getDesc(),
            msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
   }
}
package com.yeshi.fanli.util.factory.msg;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.yeshi.fanli.dto.msg.MsgAccountVipDTO;
import com.yeshi.fanli.dto.msg.MsgInviteContentDTO;
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.dto.msg.MsgOtherVIPDTO;
import com.yeshi.fanli.dto.msg.MsgRedPackExchangeContentDTO;
import com.yeshi.fanli.dto.msg.MsgRedPackGiveContentDTO;
import com.yeshi.fanli.dto.msg.MsgRedPackTeamRewardContentDTO;
import com.yeshi.fanli.dto.msg.MsgRedPackUseContentDTO;
import com.yeshi.fanli.entity.bus.msg.*;
import com.yeshi.fanli.entity.bus.msg.MsgAccountDetail.MsgTypeAccountTypeEnum;
import com.yeshi.fanli.entity.bus.msg.MsgInviteDetail.MsgTypeInviteTypeEnum;
import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail.MsgTypeMoneyTypeEnum;
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail.MsgTypeOrderTypeEnum;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail.MsgTypeOtherTypeEnum;
import com.yeshi.fanli.entity.bus.user.BindingAccount;
import com.yeshi.fanli.entity.bus.user.Extract;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.lijin.entity.MsgLijinVIPDetail;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import org.yeshi.utils.TimeUtil;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.common.vo.ClientTextStyleVO;
import com.yeshi.fanli.vo.msg.CommonMsgItemVO;
import com.yeshi.fanli.vo.msg.UserMsgVO;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class UserMsgVOFactory {
    private final static String COLOR_TITLE = "#888888";
    private final static String COLOR_CONTENT = "#000000";
    private final static String COLOR_HIGHLIGHT_CONTENT = "#E5005C";
    private static BigDecimal filterMoney(BigDecimal money) {
        if (money == null)
            return null;
        else
            return money.setScale(2);
    }
    /**
     * 订单消息
     *
     * @param msg
     * @return
     */
    public static UserMsgVO create(MsgOrderDetail msg, JumpDetailV2 jumpDetail, JSONObject params) {
        List<CommonMsgItemVO> items = new ArrayList<>();
        // 新版消息
        if (!StringUtil.isNullOrEmpty(msg.getExtraInfo())) {
            Gson gson = new Gson();
            items.addAll(gson.fromJson(msg.getExtraInfo(), new TypeToken<ArrayList<CommonMsgItemVO>>() {
            }.getType()));
            UserMsgVO userMsgVO = new UserMsgVO();
            userMsgVO.setId(msg.getId());
            userMsgVO.setIcon(msg.getType().getIcon());
            userMsgVO.setTitle(msg.getType().getDesc());
            userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
            userMsgVO.setContentItems(items);
            userMsgVO.setJumpDetail(jumpDetail);
            if (params != null)
                userMsgVO.setParams(params.toString());
            return userMsgVO;
        }
        UserMsgVO vo = new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_order.png", "订单消息",
                msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), null);
        List<ClientTextStyleVO> contentList = new ArrayList<>();
        if (msg.getType() == MsgTypeOrderTypeEnum.found) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("订单找回", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("类别", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getOrderId(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单号", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(
                    TimeUtil.getGernalTime(msg.getHappendDate().getTime(), "yyyy.MM.dd HH:mm"), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("提交时间", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getState() == 1 ? "订单找回成功" : "订单找回失败", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("找回状态", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getState() == 1 ? "¥" + filterMoney(msg.getPayMoney()) : "无",
                    COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("找回金额", COLOR_TITLE), contentList));
        } else if (msg.getType() == MsgTypeOrderTypeEnum.elme) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
            String orderId = msg.getOrderId();
            MsgTypeOrderTypeEnum type = msg.getType();
            if (type == MsgTypeOrderTypeEnum.invite) {
                orderId = UserUtil.filterOrderId(orderId);
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(orderId, COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单号", COLOR_TITLE), contentList, false));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getType().getDesc(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单类型", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            if (msg.getState() == HongBaoV2.STATE_BUKELINGQU || msg.getState() == HongBaoV2.STATE_KELINGQU)
                contentList.add(new ClientTextStyleVO("已付款", COLOR_HIGHLIGHT_CONTENT));
            else if (msg.getState() == HongBaoV2.STATE_SHIXIAO)
                contentList.add(new ClientTextStyleVO("未付款/已退款", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单状态", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getPayMoney()), COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("付款金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getHongBaoMoney()), COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("返利金额", COLOR_TITLE), contentList));
            if (params != null)
                vo.setParams(params.toString());
        } else {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
            String orderId = msg.getOrderId();
            MsgTypeOrderTypeEnum type = msg.getType();
            if (type == MsgTypeOrderTypeEnum.invite) {
                orderId = UserUtil.filterOrderId(orderId);
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(orderId, COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单号", COLOR_TITLE), contentList, true));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("共", COLOR_CONTENT));
            contentList.add(new ClientTextStyleVO(msg.getGoodsCount() + "", COLOR_HIGHLIGHT_CONTENT));
            contentList.add(new ClientTextStyleVO("件商品", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("商品数量", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getType().getDesc(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单类型", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            if (msg.getState() == MsgOrderDetail.STATE_FK)
                contentList.add(new ClientTextStyleVO("已付款", COLOR_HIGHLIGHT_CONTENT));
            else if (msg.getState() == MsgOrderDetail.STATE_JS)
                contentList.add(new ClientTextStyleVO("已收货", COLOR_HIGHLIGHT_CONTENT));
            else if (msg.getState() == MsgOrderDetail.STATE_SX)
                contentList.add(new ClientTextStyleVO("未付款/已退款", COLOR_HIGHLIGHT_CONTENT));
            else if (msg.getState() == MsgOrderDetail.STATE_WQ)
                contentList.add(new ClientTextStyleVO("已维权", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单状态", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getPayMoney()), COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("付款金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getHongBaoMoney()), COLOR_HIGHLIGHT_CONTENT));
            if (msg.getType() == MsgTypeOrderTypeEnum.fanli)
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("返利金额", COLOR_TITLE), contentList));
            else if (msg.getType() == MsgTypeOrderTypeEnum.share)
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("分享奖金", COLOR_TITLE), contentList));
            else if (msg.getType() == MsgTypeOrderTypeEnum.invite)
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("邀请奖金", COLOR_TITLE), contentList));
            vo.setJumpDetail(jumpDetail);
            if (params != null)
                vo.setParams(params.toString());
        }
        contentList = new ArrayList<>();
        contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                COLOR_CONTENT));
        items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
        vo.setContentItems(items);
        return vo;
    }
    /**
     * 资金消息
     *
     * @param msg
     * @return
     */
    public static UserMsgVO create(MsgMoneyDetail msg) {
        List<CommonMsgItemVO> items = new ArrayList<>();
        // 新版消息
        if (!StringUtil.isNullOrEmpty(msg.getExtraInfo())) {
            Gson gson = new Gson();
            items.addAll(gson.fromJson(msg.getExtraInfo(), new TypeToken<ArrayList<CommonMsgItemVO>>() {
            }.getType()));
            UserMsgVO userMsgVO = new UserMsgVO();
            userMsgVO.setId(msg.getId());
            userMsgVO.setIcon(msg.getMsgType().getIcon());
            userMsgVO.setTitle(msg.getMsgType().getDesc());
            userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
            userMsgVO.setContentItems(items);
            return userMsgVO;
        }
        List<ClientTextStyleVO> contentList = new ArrayList<>();
        // 提现
        if (msg.getMsgType() == MsgTypeMoneyTypeEnum.extract) {
            BindingAccount ba = new BindingAccount();
            ba.setAccount(msg.getExtract().getAccount());
            ba.setName(msg.getExtract().getName());
            ba = UserUtil.filterBindingAccount(ba);
            contentList.add(new ClientTextStyleVO("支付宝:" + ba.getName() + " " + ba.getAccount(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现账号", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(
                    new ClientTextStyleVO("¥" + filterMoney(msg.getExtract().getMoney()), COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            if (msg.getExtract().getState() == Extract.STATE_NOT_PROCESS
                    || msg.getExtract().getState() == Extract.STATE_PROCESSING)
                contentList.add(new ClientTextStyleVO("人工审核中", COLOR_HIGHLIGHT_CONTENT));
            else if (msg.getExtract().getState() == Extract.STATE_PASS)
                contentList.add(new ClientTextStyleVO("已通过", COLOR_HIGHLIGHT_CONTENT));
            else if (msg.getExtract().getState() == Extract.STATE_REJECT)
                contentList.add(new ClientTextStyleVO("提现被拒绝", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现状态", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            if (msg.getExtract().getState() == Extract.STATE_NOT_PROCESS
                    || msg.getExtract().getState() == Extract.STATE_PROCESSING)
                contentList.add(new ClientTextStyleVO("无", COLOR_CONTENT));
            else if (msg.getExtract().getState() == Extract.STATE_PASS)
                contentList.add(new ClientTextStyleVO("无", COLOR_CONTENT));
            else if (msg.getExtract().getState() == Extract.STATE_REJECT)
                contentList.add(new ClientTextStyleVO(msg.getExtract().getReason(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态说明", COLOR_TITLE), contentList));
            if (msg.getExtract().getState() != Extract.STATE_REJECT) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(TimeUtil.getGernalTime(
                        msg.getExtract().getExtractTime() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd HH:mm"), COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("预计到账", COLOR_TITLE), contentList));
            }
            if (msg.getExtract().getState() == Extract.STATE_PASS) {//
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(
                        TimeUtil.getGernalTime(msg.getExtract().getReceiveTime().getTime(), "yyyy-MM-dd HH:mm"),
                        COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("实际到账", COLOR_TITLE), contentList));
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_extract.png", "提现",
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.extractValid) {
            BindingAccount ba = new BindingAccount();
            ba.setAccount(msg.getAlipayAccountValid().getAccount());
            ba.setName(msg.getAlipayAccountValid().getName());
            ba = UserUtil.filterBindingAccount(ba);
            // 支付宝验证
            contentList.add(new ClientTextStyleVO("支付宝:" + ba.getName() + " " + ba.getAccount(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现账号", COLOR_CONTENT), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()), COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("验证成功", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("验证状态", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getStateDesc(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态说明", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_extract.png", "提现账号验证",
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.fanli) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            // 返利到账
            contentList.add(new ClientTextStyleVO(msg.getOrderId(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("返利订单", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("共", COLOR_CONTENT));
            contentList.add(new ClientTextStyleVO(msg.getGoodsCount() + "", COLOR_HIGHLIGHT_CONTENT));
            contentList.add(new ClientTextStyleVO("件商品", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("商品数量", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("返利金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_fanli.png", "返利到账",
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.fanliElme) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("饿了么", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            // 返利到账
            contentList.add(new ClientTextStyleVO(msg.getOrderId(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单号", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("返利金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_fanli.png", "返利到账",
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.invite || msg.getMsgType() == MsgTypeMoneyTypeEnum.share) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            // 邀请奖金,分享奖金
            contentList.add(new ClientTextStyleVO(msg.getOrderCount() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单数量", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("共", COLOR_CONTENT));
            contentList.add(new ClientTextStyleVO(msg.getGoodsCount() + "", COLOR_HIGHLIGHT_CONTENT));
            contentList.add(new ClientTextStyleVO("件商品", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("奖金商品", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("到账金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            Calendar ca = Calendar.getInstance();
            ca.setTime(msg.getCreateTime());
            ca.add(Calendar.MONTH, -1);
            String date = ca.get(Calendar.YEAR) + "年" + (ca.get(Calendar.MONTH) + 1) + "月";
            if (msg.getMsgType() == MsgTypeMoneyTypeEnum.share)
                return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_share_money.png",
                        date + msg.getMsgType().getDesc(),
                        msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
            else
                return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_invite_money.png",
                        date + msg.getMsgType().getDesc(),
                        msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.fanliWeiQuan) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getOrderId(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("返利订单", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("订单售后", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("扣除说明", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("返利扣除", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_fanli.png", msg.getMsgType().getDesc(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.shareWeiQuan) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getOrderId(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("分享订单", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("订单售后", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("扣除说明", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("奖金扣除", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_share_money.png",
                    msg.getMsgType().getDesc(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
                    items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.inviteWeiQuan) {
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getOrderId(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("邀请订单", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("订单售后", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("扣除说明", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("奖金扣除", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_invite_money.png",
                    msg.getMsgType().getDesc(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
                    items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.orderReward) {// 奖励订单
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getOrderId(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("奖励订单", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("奖励金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_order_reward.png",
                    msg.getMsgType().getDesc(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
                    items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.systemEqualize) {// 系统补偿
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("补齐金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getOrderId() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("补齐原因", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()) + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/money_detail/icon_system.png",
                    msg.getMsgType().getDesc(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
                    items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.extractAutoWX) { // 微信自动提现
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("自动提现微信红包成功推送", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("类别", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getStateDesc(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()), COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getDesc(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("说明", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/money_detail/icon_system.png",
                    msg.getMsgType().getDesc(), msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(),
                    items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.subSidy) { // 额外补贴
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getStateDesc(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("类别", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()), COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getDesc(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("来源", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()), COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_subsidy.png", msg.getMsgType().getDesc(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.orderTeamReward) { // 团队奖励
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getStateDesc(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("类别", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()), COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getDesc(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("来源", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getBalance()), COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_team_reward.png", msg.getMsgType().getDesc(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackReceiveOff) { // 红包成功领取
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgRedPackGiveContentDTO dto = new Gson().fromJson(msg.getContent(), MsgRedPackGiveContentDTO.class);
            if (dto == null)
                return null;
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getUserInfo() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送人", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getTime() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送时间", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getMoney() + "", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("领取金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_hongbao_give.png", dto.getTitle(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackGiveOff) { // 红包被成功领取
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgRedPackGiveContentDTO dto = new Gson().fromJson(msg.getContent(), MsgRedPackGiveContentDTO.class);
            if (dto == null)
                return null;
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getUserInfo() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("领取人", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getTime() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("领取时间", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getMoney() + "", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_hongbao_give.png", dto.getTitle(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackGiveBack) { // 红包未被领取退回
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgRedPackGiveContentDTO dto = new Gson().fromJson(msg.getContent(), MsgRedPackGiveContentDTO.class);
            if (dto == null)
                return null;
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getTitle() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送类别", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getMoney() + "", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getGiveTime() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送时间", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getTime() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("退回时间", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_hongbao_give.png",
                    MsgTypeMoneyTypeEnum.redPackGiveBack.getDesc(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackExchangePass) { // 红包提现成功
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgRedPackExchangeContentDTO dto = new Gson().fromJson(msg.getContent(),
                    MsgRedPackExchangeContentDTO.class);
            if (dto == null)
                return null;
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getMsgType().getDesc() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("类别", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getTime() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现时间", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getHandle() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("审核方式", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getMoney() + "", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getBalance() + "", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("账户余额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_hongbao_tixian.png", dto.getTitle(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackExchangeReject) { // 红包提现拒绝
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgRedPackExchangeContentDTO dto = new Gson().fromJson(msg.getContent(),
                    MsgRedPackExchangeContentDTO.class);
            if (dto == null)
                return null;
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getMsgType().getDesc() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("类别", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getTime() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现时间", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getReason() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("失败原因", COLOR_TITLE), contentList));
            String handle = dto.getHandle();
            if (!StringUtil.isNullOrEmpty(handle)) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(handle, COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("处理", COLOR_TITLE), contentList));
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_hongbao_tixian.png", dto.getTitle(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackForbid) { // 红包封禁消息
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgRedPackExchangeContentDTO dto = new Gson().fromJson(msg.getContent(),
                    MsgRedPackExchangeContentDTO.class);
            if (dto == null)
                return null;
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getReason() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("原因", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getTime() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("封禁时间", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getHandle(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("处理", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/img/tlj/icon_tlj.png", msg.getMsgType().getDesc(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackForbidRemove) { // 红包封禁解除消息
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgRedPackExchangeContentDTO dto = new Gson().fromJson(msg.getContent(),
                    MsgRedPackExchangeContentDTO.class);
            if (dto == null)
                return null;
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getReason() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("原因", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getTime() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("红包状态", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getHandle(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("红包余额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/img/tlj/icon_tlj.png", msg.getMsgType().getDesc(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackDeduct) { // 红包扣除消息
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgRedPackExchangeContentDTO dto = new Gson().fromJson(msg.getContent(),
                    MsgRedPackExchangeContentDTO.class);
            if (dto == null)
                return null;
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getReason() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("原因", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + dto.getMoney() + "", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("扣除金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + dto.getBalance(), COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("红包余额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/img/tlj/icon_tlj.png", msg.getMsgType().getDesc(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackOneStageReward
                || msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackTwoStageReward
                || msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackThreeStageReward) { // 红包邀请获得
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgRedPackTeamRewardContentDTO dto = new Gson().fromJson(msg.getContent(),
                    MsgRedPackTeamRewardContentDTO.class);
            if (dto == null)
                return null;
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getNickName() + "", COLOR_CONTENT, dto.getPortrait()));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("被邀请人", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getStateDesc(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("红包进程", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("¥" + filterMoney(msg.getMoney()) + "", COLOR_HIGHLIGHT_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("红包金额", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/img/tlj/icon_tlj.png", "红包提醒",
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackUseSuccess) { // 红包使用成功
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgRedPackUseContentDTO dto = new Gson().fromJson(msg.getContent(), MsgRedPackUseContentDTO.class);
            if (dto == null)
                return null;
            String useType = "";
            boolean moneyPay = dto.getMoney() != null && dto.getMoney().compareTo(new BigDecimal(0)) > 0;
            boolean hongBaoPay = dto.getHongBao() != null && dto.getHongBao().compareTo(new BigDecimal(0)) > 0;
            if (moneyPay && hongBaoPay) {
                useType = "红包+现金";
            } else if (hongBaoPay)
                useType = "仅红包";
            else if (moneyPay)
                useType = "仅现金";
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("红包使用成功", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getGoodsSetName() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("兑换商品", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(useType, COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("兑换方式", COLOR_TITLE), contentList));
            if (hongBaoPay) {
                contentList = new ArrayList<>();
                contentList.add(
                        new ClientTextStyleVO("¥" + dto.getHongBao().setScale(2).toString(), COLOR_HIGHLIGHT_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("消耗红包", COLOR_TITLE), contentList));
            }
            if (moneyPay) {
                contentList = new ArrayList<>();
                contentList.add(
                        new ClientTextStyleVO("¥" + dto.getMoney().setScale(2).toString(), COLOR_HIGHLIGHT_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("消耗现金", COLOR_TITLE), contentList));
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(
                    "人工审核[" + TimeUtil.getGernalTime(dto.getTime().getTime(), "yyyy.MM.dd HH:mm") + "]",
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("审核方式", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/img/tlj/icon_tlj.png", "红包消息",
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msg.getMsgType() == MsgTypeMoneyTypeEnum.redPackUseFail) { // 红包使用失败
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgRedPackUseContentDTO dto = new Gson().fromJson(msg.getContent(), MsgRedPackUseContentDTO.class);
            if (dto == null)
                return null;
            String useType = "";
            boolean moneyPay = dto.getMoney() != null && dto.getMoney().compareTo(new BigDecimal(0)) > 0;
            boolean hongBaoPay = dto.getHongBao() != null && dto.getHongBao().compareTo(new BigDecimal(0)) > 0;
            if (moneyPay && hongBaoPay) {
                useType = "红包+现金";
            } else if (hongBaoPay)
                useType = "仅红包";
            else if (moneyPay)
                useType = "仅现金";
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("红包使用失败", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getGoodsSetName() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("兑换商品", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(useType, COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("兑换方式", COLOR_TITLE), contentList));
            if (hongBaoPay) {
                contentList = new ArrayList<>();
                contentList.add(
                        new ClientTextStyleVO("¥" + dto.getHongBao().setScale(2).toString(), COLOR_HIGHLIGHT_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("消耗红包", COLOR_TITLE), contentList));
            }
            if (moneyPay) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO("¥" + dto.getMoney().setScale(2).toString() + "[已原路退回]",
                        COLOR_HIGHLIGHT_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("消耗现金", COLOR_TITLE), contentList));
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getReason(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("原因", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/img/tlj/icon_tlj.png", "红包消息",
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        }
        return null;
    }
    /**
     * 账号消息
     *
     * @param msg
     * @return
     */
    public static UserMsgVO create(MsgAccountDetail msg) {
        List<CommonMsgItemVO> items = new ArrayList<>();
        // 新版消息
        if (!StringUtil.isNullOrEmpty(msg.getExtraInfo())) {
            Gson gson = new Gson();
            items.addAll(gson.fromJson(msg.getExtraInfo(), new TypeToken<ArrayList<CommonMsgItemVO>>() {
            }.getType()));
            UserMsgVO userMsgVO = new UserMsgVO();
            userMsgVO.setId(msg.getId());
            userMsgVO.setIcon(msg.getType().getIcon());
            userMsgVO.setTitle(msg.getType().getDesc());
            userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
            userMsgVO.setContentItems(items);
            return userMsgVO;
        }
        List<ClientTextStyleVO> contentList = new ArrayList<>();
        if (msg.getType() == MsgTypeAccountTypeEnum.vipPgrade) {// 等级升级
            contentList.add(new ClientTextStyleVO(msg.getTitle() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("详        情", COLOR_TITLE), contentList));
            MsgAccountVipDTO dto = new Gson().fromJson(msg.getContent(), MsgAccountVipDTO.class);
            if (dto != null) {
                if (!StringUtil.isNullOrEmpty(dto.getStatus())) {
                    contentList = new ArrayList<>();
                    contentList.add(new ClientTextStyleVO(dto.getStatus() + "", COLOR_CONTENT));
                    items.add(new CommonMsgItemVO(new ClientTextStyleVO("状        态", COLOR_TITLE), contentList));
                }
                if (!StringUtil.isNullOrEmpty(dto.getEquity())) {
                    contentList = new ArrayList<>();
                    contentList.add(new ClientTextStyleVO(dto.getEquity() + "", COLOR_CONTENT));
                    items.add(new CommonMsgItemVO(new ClientTextStyleVO("权        益", COLOR_TITLE), contentList));
                }
                if (!StringUtil.isNullOrEmpty(dto.getReason())) {
                    contentList = new ArrayList<>();
                    contentList.add(new ClientTextStyleVO(dto.getReason() + "", COLOR_CONTENT));
                    items.add(new CommonMsgItemVO(new ClientTextStyleVO("原        因", COLOR_TITLE), contentList));
                }
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu() + "",
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备        注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_account.png", msg.getType().getDesc(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        }
        if (msg.getType() == MsgTypeAccountTypeEnum.vipApply) {// vip升级申请
            contentList.add(new ClientTextStyleVO(msg.getTitle() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("申请进度", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getContent() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("说        明", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu() + "",
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备        注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_account.png", msg.getType().getDesc(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        }
        contentList.add(new ClientTextStyleVO(msg.getTitle() + "", COLOR_CONTENT));
        items.add(new CommonMsgItemVO(new ClientTextStyleVO("事项", COLOR_TITLE), contentList));
        // 状态修改
        contentList = new ArrayList<>();
        int fromIndex = 0;
        int toIndex = 0;
        String stateDesc = msg.getContent();
        if (msg.getType() == MsgTypeAccountTypeEnum.taoBaoAuthFail) {// 淘宝授权失败
            JSONArray array = JSONArray.fromObject(stateDesc);
            for (int i = 0; i < array.size(); i++) {
                String name = array.optJSONObject(i).optString("name");
                String content = array.optJSONObject(i).optString("content");
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(content, i > 0 ? COLOR_HIGHLIGHT_CONTENT : COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO(name, COLOR_TITLE), contentList));
            }
        } else {
            while (stateDesc.indexOf("<highlight>") > -1) {
                fromIndex = stateDesc.indexOf("<highlight>");
                toIndex = stateDesc.indexOf("</highlight>");
                String content1 = stateDesc.substring(0, fromIndex);
                String content2 = stateDesc.substring(fromIndex + "<highlight>".length(), toIndex);
                stateDesc = stateDesc.substring(toIndex + "</highlight>".length(), stateDesc.length());
                if (!StringUtil.isNullOrEmpty(content1)) {
                    contentList.add(new ClientTextStyleVO(content1, COLOR_CONTENT));
                }
                if (!StringUtil.isNullOrEmpty(content2)) {
                    contentList.add(new ClientTextStyleVO(content2, COLOR_HIGHLIGHT_CONTENT));
                }
            }
            if (!StringUtil.isNullOrEmpty(stateDesc)) {
                contentList.add(new ClientTextStyleVO(stateDesc, COLOR_CONTENT));
            }
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态", COLOR_TITLE), contentList));
        }
        contentList = new ArrayList<>();
        contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu() + "",
                COLOR_CONTENT));
        items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
        return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_account.png", msg.getType().getDesc(),
                msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
    }
    /**
     * 邀请消息
     *
     * @param msg
     * @return
     */
    public static UserMsgVO create(MsgInviteDetail msg) {
        MsgTypeInviteTypeEnum msgType = msg.getMsgType();
        // 新版消息
        if (!StringUtil.isNullOrEmpty(msg.getExtraInfo())) {
            Gson gson = new Gson();
            List<CommonMsgItemVO> items = new ArrayList<>();
            items.addAll(gson.fromJson(msg.getExtraInfo(), new TypeToken<ArrayList<CommonMsgItemVO>>() {
            }.getType()));
            UserMsgVO userMsgVO = new UserMsgVO();
            userMsgVO.setId(msg.getId());
            userMsgVO.setIcon(msg.getMsgType().getIcon());
            userMsgVO.setTitle(msg.getMsgType().getDesc());
            userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
            userMsgVO.setContentItems(items);
            return userMsgVO;
        }
        if (msgType != null && msgType == MsgTypeInviteTypeEnum.receiveGift) {
            if (StringUtil.isNullOrEmpty(msg.getDesc()))
                return null;
            MsgInviteContentDTO dto = new Gson().fromJson(msg.getDesc(), MsgInviteContentDTO.class);
            if (dto == null)
                return null;
            List<CommonMsgItemVO> items = new ArrayList<>();
            List<ClientTextStyleVO> contentList = new ArrayList<>();
            if (!StringUtil.isNullOrEmpty(dto.getState())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getState() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getCode())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getCode() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("邀请码", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getInviter())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getInviter() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("邀请人", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getMode())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getMode() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("激活方式", COLOR_TITLE), contentList));
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_invite.png", dto.getTitle(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        } else if (msgType == MsgTypeInviteTypeEnum.inviteSucceed) {
            if (msg.getInviteUser() == null || msg.getInviteUser().getWorker() == null)
                return null;
            List<CommonMsgItemVO> items = new ArrayList<>();
            List<ClientTextStyleVO> contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getInviteUser().getWorker().getNickName() + "", COLOR_CONTENT,
                    msg.getInviteUser().getWorker().getPortrait()));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("被邀请人", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO("邀请粉丝成功", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("邀请状态", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getDesc() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("红包相关", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备        注", COLOR_TITLE), contentList));
            return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_invite.png", "邀请提醒 ",
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
        }
        if (msg.getInviteUser() == null || msg.getInviteUser().getWorker() == null)
            return null;
        List<CommonMsgItemVO> items = new ArrayList<>();
        List<ClientTextStyleVO> contentList = new ArrayList<>();
        LogHelper.test("邀请消息:" + new Gson().toJson(msg));
        contentList.add(new ClientTextStyleVO(msg.getInviteUser().getWorker().getNickName() + "", COLOR_CONTENT,
                msg.getInviteUser().getWorker().getPortrait()));
        items.add(new CommonMsgItemVO(new ClientTextStyleVO("被邀请人", COLOR_TITLE), contentList));
        contentList = new ArrayList<>();
        contentList.add(new ClientTextStyleVO(msg.getDesc() + "", COLOR_HIGHLIGHT_CONTENT));
        items.add(new CommonMsgItemVO(new ClientTextStyleVO("说明", COLOR_TITLE), contentList));
        contentList = new ArrayList<>();
        contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                COLOR_CONTENT));
        items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
        return new UserMsgVO(msg.getId(), "http://img.flqapp.com/resource/msg/icon_msg_invite.png", msg.getMsgType().getDesc(),
                msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
    }
    /**
     * 其他消息
     *
     * @param msg
     * @return
     */
    public static UserMsgVO create(MsgOtherDetail msg) {
        List<CommonMsgItemVO> items = new ArrayList<>();
        // 新版消息
        if (!StringUtil.isNullOrEmpty(msg.getExtraInfo())) {
            Gson gson = new Gson();
            items.addAll(gson.fromJson(msg.getExtraInfo(), new TypeToken<ArrayList<CommonMsgItemVO>>() {
            }.getType()));
            UserMsgVO userMsgVO = new UserMsgVO();
            userMsgVO.setId(msg.getId());
            userMsgVO.setIcon(msg.getType().getIcon());
            userMsgVO.setTitle(msg.getType().getDesc());
            userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
            userMsgVO.setContentItems(items);
            return userMsgVO;
        }
        String icon = null;
        if (msg.getType() == MsgTypeOtherTypeEnum.couponMianDan
                || msg.getType() == MsgTypeOtherTypeEnum.couponWelfareMianDan
                || msg.getType() == MsgTypeOtherTypeEnum.couponReward
                || msg.getType() == MsgTypeOtherTypeEnum.freeCouponBuy
                || msg.getType() == MsgTypeOtherTypeEnum.freeCouponGive) {
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgOtherCouponContentDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherCouponContentDTO.class);
            if (dto == null)
                return null;
            icon = "http://img.flqapp.com/resource/msg/icon_msg_other_coupon.png";
            List<ClientTextStyleVO> contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getState(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态", COLOR_TITLE), contentList));
            if (!StringUtil.isNullOrEmpty(dto.getOrderId())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getOrderId() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单号", COLOR_TITLE), contentList));
            }
            if (dto.getFanLiMoney() != null) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO("¥" + filterMoney(dto.getFanLiMoney()), COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("预估返利", COLOR_TITLE), contentList));
            }
            if (dto.getOrderFanLiMoney() != null) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO("¥" + filterMoney(dto.getOrderFanLiMoney()), COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单返利", COLOR_TITLE), contentList));
            }
            if (dto.getRewardMoney() != null) {
                contentList = new ArrayList<>();
                contentList
                        .add(new ClientTextStyleVO("¥" + filterMoney(dto.getRewardMoney()), COLOR_HIGHLIGHT_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("奖励金", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getSource())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getSource() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("来源", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getStartTime()) && !StringUtil.isNullOrEmpty(dto.getEndTime())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getStartTime() + "-" + dto.getEndTime(), COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("有效期", COLOR_TITLE), contentList));
            }
            if (dto.getLeftDay() != null) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getLeftDay() + "", COLOR_HIGHLIGHT_CONTENT));
                if (msg.getType() == MsgTypeOtherTypeEnum.couponReward) {
                    contentList.add(new ClientTextStyleVO("天(未使用将会过期)", COLOR_CONTENT));
                } else if (msg.getType() == MsgTypeOtherTypeEnum.couponMianDan) {
                    contentList.add(new ClientTextStyleVO("天(未使用将会过期)", COLOR_CONTENT));
                } else {
                    contentList.add(new ClientTextStyleVO("天", COLOR_CONTENT));
                }
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("剩余天数", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getDesc())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getDesc(), COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("说明", COLOR_TITLE), contentList));
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
        } else if (msg.getType() == MsgTypeOtherTypeEnum.taoLiJin) {
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgOtherTaoLiJinContentDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherTaoLiJinContentDTO.class);
            if (dto == null)
                return null;
            icon = "http://img.flqapp.com/resource/msg/icon_msg_other_tlj.png";
            List<ClientTextStyleVO> contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getState(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态", COLOR_TITLE), contentList));
            if (!StringUtil.isNullOrEmpty(dto.getSource())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getSource() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("来源", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getTimeDesc())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getTimeDesc() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("时间", COLOR_TITLE), contentList));
            }
            if (dto.getMoney() != null) {
                contentList = new ArrayList<>();
                contentList.add(
                        new ClientTextStyleVO("¥" + filterMoney(dto.getMoney().setScale(2)), COLOR_HIGHLIGHT_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("面额", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getReason())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getReason() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("原因", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getResult())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getResult() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("结果", COLOR_TITLE), contentList));
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
        } else if (msg.getType() == MsgTypeOtherTypeEnum.give) {
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgOtherGiveContentDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherGiveContentDTO.class);
            if (dto == null)
                return null;
            String type = dto.getType();
            if (type == null)
                return null;
            if (MsgOtherGiveContentDTO.TYEP_COUPON.equalsIgnoreCase(type)) {
                icon = "http://img.flqapp.com/resource/msg/icon_msg_other_coupon.png";
            } else {
                icon = "http://img.flqapp.com/resource/msg/icon_msg_other_tlj.png";
            }
            List<ClientTextStyleVO> contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getGiveType(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送类别", COLOR_TITLE), contentList));
            if (!StringUtil.isNullOrEmpty(dto.getReceiveInfo())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getReceiveInfo() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("领取用户", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getGiveTime())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getGiveTime() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送时间", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getReceiveTime())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getReceiveTime() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("领取时间", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getReturnTime())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getReturnTime() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("退回时间", COLOR_TITLE), contentList));
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            UserMsgVO userMsgVO = new UserMsgVO();
            userMsgVO.setId(msg.getId());
            userMsgVO.setIcon(icon);
            userMsgVO.setTitle(dto.getTitle());
            userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
            userMsgVO.setContentItems(items);
            return userMsgVO;
        } else if (msg.getType() == MsgTypeOtherTypeEnum.exchange) {
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgOtherExchangeContentDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherExchangeContentDTO.class);
            if (dto == null)
                return null;
            icon = "http://img.flqapp.com/resource/msg/icon_msg_other_integral.png";
            List<ClientTextStyleVO> contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getState(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态", COLOR_TITLE), contentList));
            if (!StringUtil.isNullOrEmpty(dto.getExpend())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getExpend() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("消耗", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getTotalGold())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getTotalGold() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("剩余", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getThing())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getThing() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("兑换物品", COLOR_TITLE), contentList));
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
        } else if (msg.getType() == MsgTypeOtherTypeEnum.couponActivate) {
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgOtherCouponActivateDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherCouponActivateDTO.class);
            if (dto == null)
                return null;
            icon = "http://img.flqapp.com/resource/msg/icon_msg_other_coupon.png";
            List<ClientTextStyleVO> contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getType(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("类别", COLOR_TITLE), contentList));
            if (!StringUtil.isNullOrEmpty(dto.getExplain())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getExplain() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("说明", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getGiveUser())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getGiveUser() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠送人", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getReceiveTime())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getReceiveTime() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("获赠时间", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getValidityTime())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getValidityTime() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("有效期", COLOR_TITLE), contentList));
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            UserMsgVO userMsgVO = new UserMsgVO();
            userMsgVO.setId(msg.getId());
            userMsgVO.setIcon(icon);
            userMsgVO.setTitle(dto.getTitle());
            userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
            userMsgVO.setContentItems(items);
            return userMsgVO;
        } else if (msg.getType() == MsgTypeOtherTypeEnum.firstOrderReward) {
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgOtherRewardIntegralDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherRewardIntegralDTO.class);
            if (dto == null)
                return null;
            icon = "http://img.flqapp.com/resource/msg/icon_msg_other_integral.png";
            List<ClientTextStyleVO> contentList = new ArrayList<>();
            if (!StringUtil.isNullOrEmpty(dto.getSource())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getSource() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("来源", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getNum())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getNum() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("数量", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getTotal())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getTotal() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("剩余", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getExplain())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getExplain() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("说明", COLOR_TITLE), contentList));
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            UserMsgVO userMsgVO = new UserMsgVO();
            userMsgVO.setId(msg.getId());
            userMsgVO.setIcon(icon);
            userMsgVO.setTitle(dto.getTitle());
            userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
            userMsgVO.setContentItems(items);
            return userMsgVO;
        } else if (msg.getType() == MsgTypeOtherTypeEnum.systemGive) {
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgOtherSystemGiveDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherSystemGiveDTO.class);
            if (dto == null)
                return null;
            icon = "http://img.flqapp.com/resource/msg/icon_msg_other_system_give.png";
            List<ClientTextStyleVO> contentList = new ArrayList<>();
            if (!StringUtil.isNullOrEmpty(dto.getName())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getName() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("赠品", COLOR_TITLE), contentList));
            }
            if (dto.getCount() != null) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getCount() + "张", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("数量", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getReason())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getReason() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("原因", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getOrderId())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(
                        "[" + Constant.getSourceName(dto.getOrderType()) + "]" + dto.getOrderId() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getDesc())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getDesc(), COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("说明", COLOR_TITLE), contentList));
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            UserMsgVO userMsgVO = new UserMsgVO();
            userMsgVO.setId(msg.getId());
            userMsgVO.setIcon(icon);
            userMsgVO.setTitle(msg.getType().getDesc());
            userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
            userMsgVO.setContentItems(items);
            return userMsgVO;
        } else if (msg.getType() == MsgTypeOtherTypeEnum.taoLiJinExchange) {
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgOtherRewardIntegralDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherRewardIntegralDTO.class);
            if (dto == null)
                return null;
            icon = "http://img.flqapp.com/resource/msg/icon_msg_other_system_give.png";
            List<ClientTextStyleVO> contentList = new ArrayList<>();
            if (!StringUtil.isNullOrEmpty(dto.getExplain())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getExplain() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("原        因", COLOR_TITLE), contentList));
            }
            if (dto.getTotal() != null) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getTotal(), COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("可折算额", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getNum())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getNum() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("折算金币", COLOR_TITLE), contentList));
            }
            if (!StringUtil.isNullOrEmpty(dto.getSource())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getSource(), COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("状        态", COLOR_TITLE), contentList));
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备        注", COLOR_TITLE), contentList));
            UserMsgVO userMsgVO = new UserMsgVO();
            userMsgVO.setId(msg.getId());
            userMsgVO.setIcon(icon);
            userMsgVO.setTitle(dto.getTitle());
            userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
            userMsgVO.setContentItems(items);
            return userMsgVO;
        } else if (msg.getType() == MsgTypeOtherTypeEnum.passVIPApply
                || msg.getType() == MsgTypeOtherTypeEnum.rejectVIPApply) {
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgOtherVIPDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherVIPDTO.class);
            if (dto == null)
                return null;
            List<ClientTextStyleVO> contentList = new ArrayList<>();
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getContent1(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("审核状态", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getContent2(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("原        因", COLOR_TITLE), contentList));
            if (!StringUtil.isNullOrEmpty(dto.getContent3())) {
                contentList = new ArrayList<>();
                contentList.add(new ClientTextStyleVO(dto.getContent3() + "", COLOR_CONTENT));
                items.add(new CommonMsgItemVO(new ClientTextStyleVO("升级时间", COLOR_TITLE), contentList));
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备        注", COLOR_TITLE), contentList));
            UserMsgVO userMsgVO = new UserMsgVO();
            userMsgVO.setId(msg.getId());
            userMsgVO.setIcon("http://img.flqapp.com/resource/msg/icon_msg_vip.png");
            userMsgVO.setTitle(msg.getType().getDesc());
            userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
            userMsgVO.setContentItems(items);
            return userMsgVO;
        } else if (msg.getType() == MsgTypeOtherTypeEnum.teamVIPCallBoss) {
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgOtherVIPDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherVIPDTO.class);
            if (dto == null)
                return null;
            List<ClientTextStyleVO> contentList = new ArrayList<>();
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getContent1(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("直接粉丝", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getContent2(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("会员状态", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getContent3() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("特别提醒", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备        注", COLOR_TITLE), contentList));
            UserMsgVO userMsgVO = new UserMsgVO();
            userMsgVO.setId(msg.getId());
            userMsgVO.setIcon("http://img.flqapp.com/resource/msg/icon_msg_notify.png");
            userMsgVO.setTitle(msg.getType().getDesc());
            userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
            userMsgVO.setContentItems(items);
            return userMsgVO;
        } else if (msg.getType() == MsgTypeOtherTypeEnum.teamSplitCallBoss) {
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            MsgOtherVIPDTO dto = new Gson().fromJson(msg.getContent(), MsgOtherVIPDTO.class);
            if (dto == null)
                return null;
            List<ClientTextStyleVO> contentList = new ArrayList<>();
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getContent1(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("直接粉丝", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getContent2(), COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("脱离原因", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(dto.getContent3() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("邀请关系", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu(),
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备        注", COLOR_TITLE), contentList));
            UserMsgVO userMsgVO = new UserMsgVO();
            userMsgVO.setId(msg.getId());
            userMsgVO.setIcon("http://img.flqapp.com/resource/msg/icon_msg_invite_break.png");
            userMsgVO.setTitle(msg.getType().getDesc());
            userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
            userMsgVO.setContentItems(items);
            return userMsgVO;
        } else if (msg.getType() == MsgTypeOtherTypeEnum.vipUpgradeReward) {
            if (StringUtil.isNullOrEmpty(msg.getContent()))
                return null;
            Gson gson = new Gson();
            items.addAll(gson.fromJson(msg.getContent(), new TypeToken<ArrayList<CommonMsgItemVO>>() {
            }.getType()));
            UserMsgVO userMsgVO = new UserMsgVO();
            userMsgVO.setId(msg.getId());
            userMsgVO.setIcon(msg.getType().getIcon());
            userMsgVO.setTitle(msg.getType().getDesc());
            userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
            userMsgVO.setContentItems(items);
            return userMsgVO;
        }
        return new UserMsgVO(msg.getId(), icon, msg.getType().getDesc(),
                msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
    }
    /**
     * 礼金消息
     *
     * @param msg
     * @return
     */
    public static UserMsgVO create(MsgLijinVIPDetail msg, JumpDetailV2 jumpDetail, JSONObject params) {
        List<CommonMsgItemVO> items = new ArrayList<>();
        // 新版消息
        if (!StringUtil.isNullOrEmpty(msg.getExtraInfo())) {
            Gson gson = new Gson();
            items.addAll(gson.fromJson(msg.getExtraInfo(), new TypeToken<ArrayList<CommonMsgItemVO>>() {
            }.getType()));
            UserMsgVO userMsgVO = new UserMsgVO();
            userMsgVO.setId(msg.getId());
            userMsgVO.setIcon(msg.getType().getIcon());
            userMsgVO.setTitle(msg.getType().getDesc());
            userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
            userMsgVO.setContentItems(items);
            userMsgVO.setJumpDetail(jumpDetail);
            if (params != null)
                userMsgVO.setParams(params.toString());
            return userMsgVO;
        }
        return null;
    }
    //TODO 系统消息
    public static UserMsgVO create(UserSystemMsg msg) {
        List<CommonMsgItemVO> items = new ArrayList<>();
        List<ClientTextStyleVO> contentList = null;
        contentList = new ArrayList<>();
        contentList.add(new ClientTextStyleVO(msg.getTitle(), COLOR_CONTENT));
        items.add(new CommonMsgItemVO(new ClientTextStyleVO("标题", COLOR_TITLE), contentList));
        contentList = new ArrayList<>();
        contentList.add(new ClientTextStyleVO(msg.getContent(), COLOR_CONTENT));
        items.add(new CommonMsgItemVO(new ClientTextStyleVO("内容", COLOR_TITLE), contentList));
        UserMsgVO userMsgVO = new UserMsgVO();
        userMsgVO.setId(msg.getId());
        userMsgVO.setIcon("");
        userMsgVO.setTitle(msg.getType().getDesc());
        userMsgVO.setTime(msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime());
        userMsgVO.setContentItems(items);
        return userMsgVO;
    }
}