From dff9fb704649978cfb6fb798732f15f2be2ce936 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期三, 15 五月 2019 15:16:55 +0800 Subject: [PATCH] 大淘客好店推荐 只显示2个 --- fanli/src/main/java/com/yeshi/fanli/controller/client/UserMsgController.java | 119 +++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 82 insertions(+), 37 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserMsgController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserMsgController.java index 542d64b..fceb700 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserMsgController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserMsgController.java @@ -253,12 +253,8 @@ */ @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); - + int deviceCount = msgDeviceReadStateService.getUnReadCount(acceptData.getDevice(), + "android".equalsIgnoreCase(acceptData.getPlatform()) ? 1 : 2); GsonBuilder androidBuilder = new GsonBuilder().registerTypeAdapter(Integer.class, new JsonSerializer<Integer>() { @Override @@ -273,8 +269,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", deviceCount); + + 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(); + + num.getTypeScore() + num.getTypeSystem() + num.getTypeOther() + deviceCount; + JSONObject data = null; if ("android".equalsIgnoreCase(acceptData.getPlatform())) { data = JSONObject.fromObject(androidBuilder.excludeFieldsWithoutExposeAnnotation().create().toJson(num)); @@ -567,24 +597,28 @@ // 鍗曟潯娑堟伅 List<UserCommonMsgVO> commonMsgList = new ArrayList<>(); - commonMsgList.add(new UserCommonMsgVO("http://img.flqapp.com/resource/msg/icon_kefu.png", "浜哄伐瀹㈡湇", new Date(), - UserCommonMsgVO.TYPE_KEFU, "", false, null, null)); + long currentTime = System.currentTimeMillis(); - // 鎺ㄨ崘璁板綍 - DeviceActive deviceActive = deviceActiveService.getDeviceByDeviceAndPlatform(acceptData.getDevice(), - acceptData.getDevice(), acceptData.getPlatform()); - if (deviceActive != null) { - // 璁惧娉ㄥ唽鏃堕棿 - Date createTime = deviceActive.getCreateTime(); - List<PushGoods> list = pushGoodsService.listHistoryByPushTime(0, 1, uid, createTime); - if (list != null && list.size() > 0) { - commonMsgList.add(new UserCommonMsgVO("http://img.flqapp.com/resource/msg/icon_recommend.png", "鎺ㄨ崘璁板綍", - list.get(0).getCreateTime(), UserCommonMsgVO.TYPE_RECOMMEND, list.get(0).getContent(), false, - jumpDetailV2Service.getByTypeCache("recommend_list"), null)); + // 瀹樺浠诲姟 + if (uid != null) { + MsgCommonDTO guanXuanMsg = msgConfigService.getGuanXuanMsg(); + if (guanXuanMsg != null) { + boolean read = false; + UserMsgUnReadNum num = userMsgReadStateService.getReadStateByUid(uid); + if (num != null && (num.getGuanXuanReadTime() != null + && guanXuanMsg.getUpdateTime().getTime() < num.getGuanXuanReadTime().getTime())) + read = true; + // 鏌ヨ鏄惁宸茶 + if ((guanXuanMsg.getStartTime() != null && currentTime < guanXuanMsg.getStartTime().getTime()) + || (guanXuanMsg.getEndTime() != null && currentTime > guanXuanMsg.getEndTime().getTime())) { + // 涓嶆樉绀� + } else + commonMsgList.add(new UserCommonMsgVO(guanXuanMsg.getIcon(), guanXuanMsg.getTitle(), + guanXuanMsg.getUpdateTime(), UserCommonMsgVO.TYPE_GUANXUAN, guanXuanMsg.getContent(), read, + guanXuanMsg.getJumpDetail(), guanXuanMsg.getParams())); } } - long currentTime = System.currentTimeMillis(); // 杩斿埄鍒稿皬鍔╂墜 MsgCommonDTO zhuShouMsg = msgConfigService.getZhuShouMsg(); if (zhuShouMsg != null) { @@ -608,23 +642,29 @@ zhuShouMsg.getJumpDetail(), zhuShouMsg.getParams())); } - // 瀹樺浠诲姟 - if (uid != null) { - MsgCommonDTO guanXuanMsg = msgConfigService.getGuanXuanMsg(); - if (guanXuanMsg != null) { + // 浜哄伐瀹㈡湇 + 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()); + if (deviceActive != null) { + // 璁惧娉ㄥ唽鏃堕棿 + Date createTime = deviceActive.getCreateTime(); + List<PushGoods> list = pushGoodsService.listHistoryByPushTime(0, 1, uid, createTime); + if (list != null && list.size() > 0) { + MsgDeviceReadState state = msgDeviceReadStateService.getByDeviceAndPlatformAndType( + UserCommonMsgVO.TYPE_ZHUSHOU, acceptData.getDevice(), + acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2); boolean read = false; - UserMsgUnReadNum num = userMsgReadStateService.getReadStateByUid(uid); - if (num != null && (num.getGuanXuanReadTime() != null - && guanXuanMsg.getUpdateTime().getTime() < num.getGuanXuanReadTime().getTime())) + if (state != null && state.getReadTime() != null + && list.get(0).getCreateTime().getTime() < state.getReadTime().getTime()) read = true; - // 鏌ヨ鏄惁宸茶 - if ((guanXuanMsg.getStartTime() != null && currentTime < guanXuanMsg.getStartTime().getTime()) - || (guanXuanMsg.getEndTime() != null && currentTime > guanXuanMsg.getEndTime().getTime())) { - // 涓嶆樉绀� - } else - commonMsgList.add(new UserCommonMsgVO(guanXuanMsg.getIcon(), guanXuanMsg.getTitle(), - guanXuanMsg.getUpdateTime(), UserCommonMsgVO.TYPE_GUANXUAN, guanXuanMsg.getContent(), read, - guanXuanMsg.getJumpDetail(), guanXuanMsg.getParams())); + + commonMsgList.add(new UserCommonMsgVO("http://img.flqapp.com/resource/msg/icon_recommend.png", "鎺ㄨ崘璁板綍", + list.get(0).getCreateTime(), UserCommonMsgVO.TYPE_RECOMMEND, list.get(0).getContent(), read, + jumpDetailV2Service.getByTypeCache("recommend_list"), null)); } } @@ -740,6 +780,9 @@ UserMsgUnReadNum num = userMsgReadStateService.getReadStateByUid(uid); UserSystemMsg usm = userSystemMsgService.getLatestUserSystemMsg(uid); if (usm != null) { + // commonMsgList.add(0,new UserCommonMsgVO(icon, "绯荤粺娑堟伅", time, + // type, latestMsg, , + // jumpDetailV2Service.getByTypeCache("system_msg"), params)); root.put("systemMsg", new UserSystemMsgVO(usm.getId(), usm.getType().name(), usm.getSolved(), "绯荤粺娑堟伅", usm.getTitle(), usm.getTimeTag() == 1 ? "http://img.flqapp.com/resource/msg/icon_emergent.png" : "", @@ -833,6 +876,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; @@ -886,7 +931,7 @@ msgDeviceReadStateService.setDeviceMsgRead(UserCommonMsgVO.TYPE_RECOMMEND, acceptData.getDevice(), (acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2)); } else if (type.equalsIgnoreCase(UserCommonMsgVO.TYPE_ZHUSHOU)) { - msgDeviceReadStateService.setDeviceMsgRead(UserCommonMsgVO.TYPE_RECOMMEND, acceptData.getDevice(), + msgDeviceReadStateService.setDeviceMsgRead(UserCommonMsgVO.TYPE_ZHUSHOU, acceptData.getDevice(), (acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2)); } out.print(JsonUtil.loadTrueResult("")); -- Gitblit v1.8.0