admin
2020-02-17 e26a53e729c16a36825a399f26e7ab069890320a
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserMsgController.java
@@ -31,10 +31,12 @@
import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail;
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail;
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail.MsgTypeOrderTypeEnum;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail;
import com.yeshi.fanli.entity.bus.msg.UserMsgUnReadNum;
import com.yeshi.fanli.entity.bus.msg.UserSystemMsg;
import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.exception.user.UserCustomSettingsException;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.money.msg.MsgMoneyDetailService;
import com.yeshi.fanli.service.inter.msg.MsgConfigService;
@@ -48,6 +50,7 @@
import com.yeshi.fanli.util.JumpDetailUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
import com.yeshi.fanli.util.factory.msg.UserMsgVOFactory;
@@ -55,6 +58,7 @@
import com.yeshi.fanli.vo.msg.UserMsgCenter;
import com.yeshi.fanli.vo.msg.UserMsgVO;
import com.yeshi.fanli.vo.msg.UserSystemMsgVO;
import com.yeshi.fanli.vo.user.UserSettingsVO;
import net.sf.json.JSONObject;
@@ -92,7 +96,6 @@
   @Resource
   private MsgDeviceReadStateService msgDeviceReadStateService;
   // 消息的类型
   final static String MSG_TYPE_ORDER = "order";
   final static String MSG_TYPE_MONEY = "money";
@@ -100,10 +103,9 @@
   final static String MSG_TYPE_INVITE = "invite";
   final static String MSG_TYPE_OTHER = "other";
   /**
    * 消息列表
    *
    * @param acceptData
    * @param uid
    * @param page
@@ -152,7 +154,6 @@
                  zhuShouMsg.getUpdateTime(), UserCommonMsgVO.TYPE_ZHUSHOU, zhuShouMsg.getContent(), read,
                  wxmpJumDetail, zhuShouMsg.getParams(), 0));
            
         }
      }
@@ -165,10 +166,12 @@
            for (MsgOrderDetail detail : detailList) {
               JSONObject params = new JSONObject();
               params.put("orderNo", detail.getOrderId());
               if (detail.getType() == MsgTypeOrderTypeEnum.share || detail.getType() == MsgTypeOrderTypeEnum.invite)
               if (detail.getType() == MsgTypeOrderTypeEnum.share
                     || detail.getType() == MsgTypeOrderTypeEnum.invite)
                  params.put("orderHideNo", UserUtil.filterOrderId(detail.getOrderId()));
               
               JumpDetailV2 wxmpJumDetail = JumpDetailUtil.getWXMPJumDetail(jumpDetailV2Service.getByTypeCache("order_search"));
               JumpDetailV2 wxmpJumDetail = JumpDetailUtil
                     .getWXMPJumDetail(jumpDetailV2Service.getByTypeCache("order_search"));
               
               UserMsgVO userMsgVO = UserMsgVOFactory.create(detail, wxmpJumDetail, params);
               userMsgVO.setType(MSG_TYPE_ORDER);
@@ -240,7 +243,8 @@
         UserMsgUnReadNum num = userMsgReadStateService.getReadStateByUid(uid);
         UserSystemMsg usm = userSystemMsgService.getLatestUserSystemMsg(uid);
         if (usm != null) {
            UserSystemMsgVO userSystemMsgVO = new UserSystemMsgVO(usm.getId(), usm.getType().name(), usm.getSolved(), "系统消息", usm.getTitle(),
            UserSystemMsgVO userSystemMsgVO = new UserSystemMsgVO(usm.getId(), usm.getType().name(),
                  usm.getSolved(), "系统消息", usm.getTitle(),
                  usm.getTimeTag() == 1 ? "http://img.flqapp.com/resource/msg/icon_emergent.png" : "",
                  "http://img.flqapp.com/resource/msg/icon_msg_system.png",
                  getTimeDesc(new Date(), usm.getCreateTime()), num.getTypeSystem());
@@ -290,7 +294,6 @@
      }
   }
   
   private GsonBuilder getTimeDescJsonBuilder(GsonBuilder builder) {
      builder = builder.registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
         @Override
@@ -318,6 +321,7 @@
   
   /**
    *  消息未读清理
    *
    * @param acceptData
    * @param uid
    * @param out
@@ -353,5 +357,19 @@
      out.print(JsonUtil.loadTrueResult(""));
   }
   @RequestMapping(value = "getUnReadMsgCount", method = RequestMethod.POST)
   public void getUnReadMsgCount(AcceptData acceptData, Long uid, PrintWriter out) {
      JSONObject data = new JSONObject();
      if (uid == null) {
         data.put("totalCount", 0);
      } else {
         UserMsgUnReadNum num = userMsgReadStateService.getReadStateByUid(uid);
         int totalCount = num.getTypeAccount() + num.getTypeInvite() + num.getTypeMoney() + num.getTypeOrder()
               + num.getTypeScore() + num.getTypeSystem() + num.getTypeOther();
         data.put("totalCount", totalCount>=100?"99+":totalCount+"");
      }
      out.print(JsonUtil.loadTrueResult(data));
   }
}