yujian
2019-05-20 c4d752a1d340652d9c7d2abb5abff65cdee40d69
fanli/src/main/java/com/yeshi/fanli/controller/client/UserMsgController.java
@@ -253,12 +253,6 @@
    */
   @RequestMapping(value = "getUnReadMsgCount", method = RequestMethod.POST)
   public void getUnReadMsgCount(AcceptData acceptData, Long uid, PrintWriter out) {
      if (uid == null) {
         out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
         return;
      }
      UserMsgUnReadNum num = userMsgReadStateService.getReadStateByUid(uid);
      GsonBuilder androidBuilder = new GsonBuilder().registerTypeAdapter(Integer.class,
            new JsonSerializer<Integer>() {
               @Override
@@ -273,8 +267,42 @@
                  }
               }
            });
      if (uid == null) {
         // 如果用户未登录就读取设备消息
         UserMsgUnReadNum num = new UserMsgUnReadNum();
         num.setTypeAccount(0);
         num.setTypeInvite(0);
         num.setTypeMoney(0);
         num.setTypeOrder(0);
         num.setTypeOther(0);
         num.setTypeScore(0);
         num.setTypeSystem(0);
         JSONObject data = null;
         if ("android".equalsIgnoreCase(acceptData.getPlatform())) {
            data = JSONObject
                  .fromObject(androidBuilder.excludeFieldsWithoutExposeAnnotation().create().toJson(num));
         } else {
            data = JSONObject.fromObject(JsonUtil.getApiCommonGson().toJson(num));
         }
         data.put("totalCount", 0);
         try {
            UserSettingsVO vo = userCustomSettingsService.getMySettings(uid);
            if (vo != null && vo.getNoNewsRedDot() != null && vo.getNoNewsRedDot() == 1) {
               data.put("totalCount", 0);
            }
         } catch (UserCustomSettingsException e) {
            e.printStackTrace();
         }
         out.print(JsonUtil.loadTrueResult(data));
         return;
      }
      UserMsgUnReadNum num = userMsgReadStateService.getReadStateByUid(uid);
      int totalCount = num.getTypeAccount() + num.getTypeInvite() + num.getTypeMoney() + num.getTypeOrder()
            + num.getTypeScore() + num.getTypeSystem() + num.getTypeOther();
      JSONObject data = null;
      if ("android".equalsIgnoreCase(acceptData.getPlatform())) {
         data = JSONObject.fromObject(androidBuilder.excludeFieldsWithoutExposeAnnotation().create().toJson(num));
@@ -567,12 +595,7 @@
      // 单条消息
      List<UserCommonMsgVO> commonMsgList = new ArrayList<>();
      long currentTime = System.currentTimeMillis();
      // 官宣任务
      if (uid != null) {
@@ -593,10 +616,7 @@
                     guanXuanMsg.getJumpDetail(), guanXuanMsg.getParams()));
         }
      }
      // 返利券小助手
      MsgCommonDTO zhuShouMsg = msgConfigService.getZhuShouMsg();
      if (zhuShouMsg != null) {
@@ -619,11 +639,11 @@
                  zhuShouMsg.getUpdateTime(), UserCommonMsgVO.TYPE_ZHUSHOU, zhuShouMsg.getContent(), read,
                  zhuShouMsg.getJumpDetail(), zhuShouMsg.getParams()));
      }
      //人工客服
      // 人工客服
      commonMsgList.add(new UserCommonMsgVO("http://img.flqapp.com/resource/msg/icon_kefu.png", "人工客服", new Date(),
            UserCommonMsgVO.TYPE_KEFU, "", false, null, null));
      // 推荐记录
      DeviceActive deviceActive = deviceActiveService.getDeviceByDeviceAndPlatform(acceptData.getDevice(),
            acceptData.getDevice(), acceptData.getPlatform());
@@ -633,7 +653,7 @@
         List<PushGoods> list = pushGoodsService.listHistoryByPushTime(0, 1, uid, createTime);
         if (list != null && list.size() > 0) {
            MsgDeviceReadState state = msgDeviceReadStateService.getByDeviceAndPlatformAndType(
                  UserCommonMsgVO.TYPE_ZHUSHOU, acceptData.getDevice(),
                  UserCommonMsgVO.TYPE_RECOMMEND, acceptData.getDevice(),
                  acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2);
            boolean read = false;
            if (state != null && state.getReadTime() != null
@@ -854,6 +874,8 @@
   @RequestMapping(value = "setAllMsgRead", method = RequestMethod.POST)
   public void setAllMsgRead(AcceptData acceptData, Long uid, PrintWriter out) {
      msgDeviceReadStateService.setAllMsgRead(acceptData.getDevice(),
            "android".equalsIgnoreCase(acceptData.getPlatform()) ? 1 : 2);
      if (uid == null) {
         out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
         return;