admin
2019-08-26 d28bed1a1275131a5ca37f7da37961e2b518ac07
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/UserMsgVOFactory.java
@@ -1,18 +1,27 @@
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.MsgOtherCouponContentDTO;
import com.yeshi.fanli.dto.msg.MsgOtherTaoLiJinContentDTO;
import com.yeshi.fanli.entity.bus.msg.MsgAccountDetail;
import com.yeshi.fanli.entity.bus.msg.MsgInviteDetail;
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.MsgAccountDetail.MsgTypeAccountTypeEnum;
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.util.MoneyBigDecimalUtil;
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;
@@ -20,11 +29,21 @@
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);
   }
   /**
    * 订单消息
@@ -32,58 +51,105 @@
    * @param msg
    * @return
    */
   public static UserMsgVO create(MsgOrderDetail msg) {
   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<>();
      contentList.add(new ClientTextStyleVO(msg.getOrderId(), COLOR_CONTENT));
      items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单号", COLOR_TITLE), contentList));
      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("共", 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.getOrderId(), 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<>();
         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<>();
      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));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getState() == 1 ? "订单找回成功" : "订单找回失败", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("找回状态", COLOR_TITLE), contentList));
      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));
      contentList = new ArrayList<>();
      contentList.add(new ClientTextStyleVO("¥" + MoneyBigDecimalUtil.getWithNoZera(msg.getPayMoney()),
            COLOR_HIGHLIGHT_CONTENT));
      items.add(new CommonMsgItemVO(new ClientTextStyleVO("付款金额", COLOR_TITLE), contentList));
      } else {
      contentList = new ArrayList<>();
      contentList.add(new ClientTextStyleVO("¥" + MoneyBigDecimalUtil.getWithNoZera(msg.getHongBaoMoney()),
            COLOR_HIGHLIGHT_CONTENT));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(Constant.getSourceName(msg.getOrderType()), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("渠道来源", COLOR_TITLE), contentList));
      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));
         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));
      return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_order.png", "订单消息",
            msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
      vo.setContentItems(items);
      return vo;
   }
   /**
@@ -110,8 +176,8 @@
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现账号", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + MoneyBigDecimalUtil.getWithNoZera(msg.getExtract().getMoney()),
               COLOR_HIGHLIGHT_CONTENT));
         contentList.add(
               new ClientTextStyleVO("¥" + filterMoney(msg.getExtract().getMoney()), COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现金额", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
@@ -134,11 +200,12 @@
            contentList.add(new ClientTextStyleVO(msg.getExtract().getReason(), COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态说明", COLOR_TITLE), contentList));
         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_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(
@@ -164,12 +231,11 @@
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("提现账号", COLOR_CONTENT), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + MoneyBigDecimalUtil.getWithNoZera(msg.getMoney()),
               COLOR_HIGHLIGHT_CONTENT));
         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));
         contentList.add(new ClientTextStyleVO("验证成功", COLOR_HIGHLIGHT_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("验证状态", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
@@ -184,6 +250,12 @@
         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));
@@ -195,14 +267,12 @@
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("商品数量", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + MoneyBigDecimalUtil.getWithNoZera(msg.getMoney()) + "",
               COLOR_HIGHLIGHT_CONTENT));
         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("¥" + MoneyBigDecimalUtil.getWithNoZera(msg.getBalance()) + "",
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("账号余额", COLOR_TITLE), contentList));
         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(),
@@ -214,6 +284,12 @@
      } 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));
@@ -226,14 +302,12 @@
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("奖金商品", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + MoneyBigDecimalUtil.getWithNoZera(msg.getMoney()) + "",
               COLOR_HIGHLIGHT_CONTENT));
         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("¥" + MoneyBigDecimalUtil.getWithNoZera(msg.getBalance()) + "",
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("账号余额", COLOR_TITLE), contentList));
         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(),
@@ -250,11 +324,17 @@
                  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.png",
            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));
@@ -263,14 +343,12 @@
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("扣除说明", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + MoneyBigDecimalUtil.getWithNoZera(msg.getMoney()) + "",
               COLOR_HIGHLIGHT_CONTENT));
         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("¥" + MoneyBigDecimalUtil.getWithNoZera(msg.getBalance()) + "",
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("账号余额", COLOR_TITLE), contentList));
         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(),
@@ -280,6 +358,13 @@
         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));
@@ -288,14 +373,12 @@
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("扣除说明", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + MoneyBigDecimalUtil.getWithNoZera(msg.getMoney()) + "",
               COLOR_HIGHLIGHT_CONTENT));
         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("¥" + MoneyBigDecimalUtil.getWithNoZera(msg.getBalance()) + "",
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("账号余额", COLOR_TITLE), contentList));
         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(),
@@ -306,6 +389,12 @@
               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));
@@ -314,14 +403,12 @@
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("扣除说明", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("¥" + MoneyBigDecimalUtil.getWithNoZera(msg.getMoney()) + "",
               COLOR_HIGHLIGHT_CONTENT));
         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("¥" + MoneyBigDecimalUtil.getWithNoZera(msg.getBalance()) + "",
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("账号余额", COLOR_TITLE), contentList));
         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(),
@@ -329,6 +416,53 @@
         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);
      }
@@ -346,7 +480,7 @@
      List<CommonMsgItemVO> items = new ArrayList<>();
      List<ClientTextStyleVO> contentList = new ArrayList<>();
      contentList.add(new ClientTextStyleVO(msg.getType().getDesc() + "", COLOR_CONTENT));
      contentList.add(new ClientTextStyleVO(msg.getTitle() + "", COLOR_CONTENT));
      items.add(new CommonMsgItemVO(new ClientTextStyleVO("事项", COLOR_TITLE), contentList));
      // 状态修改
@@ -355,24 +489,36 @@
      int fromIndex = 0;
      int toIndex = 0;
      String stateDesc = msg.getContent();
      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 (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));
         }
         if (!StringUtil.isNullOrEmpty(content1)) {
            contentList.add(new ClientTextStyleVO(content1, COLOR_CONTENT));
      } 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(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));
      }
      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() + "",
@@ -389,9 +535,11 @@
    * @return
    */
   public static UserMsgVO create(MsgInviteDetail msg) {
      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));
@@ -409,4 +557,142 @@
            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));
            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));
      }
      return new UserMsgVO(icon, msg.getType().getDesc(),
            msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
   }
}