yujian
2020-05-23 28cf328a098334b51a3e9d2d56f983fb8c862211
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/UserMsgVOFactory.java
@@ -6,6 +6,8 @@
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;
@@ -14,6 +16,11 @@
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.MsgAccountDetail;
import com.yeshi.fanli.entity.bus.msg.MsgAccountDetail.MsgTypeAccountTypeEnum;
import com.yeshi.fanli.entity.bus.msg.MsgInviteDetail;
@@ -60,11 +67,31 @@
    * @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<>();
      // 新版消息
      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<>();
@@ -100,7 +127,7 @@
         String orderId = msg.getOrderId();
         MsgTypeOrderTypeEnum type = msg.getType();
         if (type == MsgTypeOrderTypeEnum.invite || type == MsgTypeOrderTypeEnum.share) {
         if (type == MsgTypeOrderTypeEnum.invite) {
            orderId = UserUtil.filterOrderId(orderId);
         }
         contentList = new ArrayList<>();
@@ -112,7 +139,7 @@
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("订单类型", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         if (msg.getState() == HongBaoV2.STATE_BUKELINGQU||msg.getState() == HongBaoV2.STATE_KELINGQU)
         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));
@@ -136,7 +163,7 @@
         String orderId = msg.getOrderId();
         MsgTypeOrderTypeEnum type = msg.getType();
         if (type == MsgTypeOrderTypeEnum.invite || type == MsgTypeOrderTypeEnum.share) {
         if (type == MsgTypeOrderTypeEnum.invite) {
            orderId = UserUtil.filterOrderId(orderId);
         }
         contentList = new ArrayList<>();
@@ -199,9 +226,21 @@
    * @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<>();
      // 提现
@@ -258,7 +297,8 @@
         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", "提现",
         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();
@@ -287,7 +327,7 @@
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_extract.png", "提现账号验证",
         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) {
@@ -319,7 +359,7 @@
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_fanli.png", "返利到账",
         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) {
@@ -346,7 +386,7 @@
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_fanli.png", "返利到账",
         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) {
@@ -387,11 +427,11 @@
         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",
            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("http://img.flqapp.com/resource/msg/icon_msg_invite_money.png",
            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);
@@ -401,12 +441,11 @@
         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("订单售后", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("扣除说明", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
@@ -422,7 +461,7 @@
               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(),
         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<>();
@@ -432,10 +471,10 @@
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO(msg.getOrderId(), 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("订单维权", COLOR_CONTENT));
         contentList.add(new ClientTextStyleVO("订单售后", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("扣除说明", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
@@ -451,7 +490,7 @@
               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",
         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) {
@@ -465,7 +504,7 @@
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("邀请订单", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
         contentList.add(new ClientTextStyleVO("订单维权", COLOR_CONTENT));
         contentList.add(new ClientTextStyleVO("订单售后", COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("扣除说明", COLOR_TITLE), contentList));
         contentList = new ArrayList<>();
@@ -481,7 +520,7 @@
               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",
         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) {// 奖励订单
@@ -507,7 +546,7 @@
               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",
         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) {// 系统补偿
@@ -528,11 +567,468 @@
               COLOR_CONTENT));
         items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
         return new UserMsgVO("http://img.flqapp.com/resource/money_detail/icon_system.png",
         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;
   }
@@ -544,7 +1040,78 @@
    */
   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));
@@ -590,7 +1157,7 @@
      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(),
      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);
   }
@@ -602,6 +1169,23 @@
    */
   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;
@@ -642,7 +1226,32 @@
               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(),
         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);
      }
@@ -665,7 +1274,7 @@
            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(),
      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);
   }
@@ -677,12 +1286,26 @@
    */
   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.couponReward
            || msg.getType() == MsgTypeOtherTypeEnum.freeCouponBuy
            || msg.getType() == MsgTypeOtherTypeEnum.freeCouponGive) {
         if (StringUtil.isNullOrEmpty(msg.getContent()))
            return null;
@@ -861,6 +1484,7 @@
         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());
@@ -946,6 +1570,7 @@
         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());
@@ -993,6 +1618,7 @@
         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());
@@ -1047,14 +1673,182 @@
         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(icon, msg.getType().getDesc(),
      return new UserMsgVO(msg.getId(),icon, msg.getType().getDesc(),
            msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
   }