From d28bed1a1275131a5ca37f7da37961e2b518ac07 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 26 八月 2019 13:44:00 +0800 Subject: [PATCH] 淘礼金创建异常处理 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java | 129 ++++++++++++++++++++++++++++++++++++++----- 1 files changed, 114 insertions(+), 15 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java index 20423fc..ab01fe9 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java @@ -39,6 +39,7 @@ import com.yeshi.fanli.entity.bus.msg.MsgInviteDetail; 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.msg.MsgOtherDetail; import com.yeshi.fanli.entity.bus.msg.UserMsgUnReadNum; import com.yeshi.fanli.entity.bus.msg.UserSystemMsg; @@ -76,6 +77,9 @@ import com.yeshi.fanli.util.RedisManager; 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.CommonGoodsFactory; import com.yeshi.fanli.util.factory.msg.UserMsgVOFactory; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; @@ -189,8 +193,15 @@ List<MsgOrderDetail> detailList = msgOrderDetailService.listMsgOrderDetail(uid, page); count = msgOrderDetailService.countMsgOrderDetail(uid); if (detailList != null) - for (MsgOrderDetail detail : detailList) - list.add(UserMsgVOFactory.create(detail)); + for (MsgOrderDetail detail : detailList) { + JSONObject params = new JSONObject(); + params.put("orderNo", detail.getOrderId()); + if (detail.getType() == MsgTypeOrderTypeEnum.share + || detail.getType() == MsgTypeOrderTypeEnum.invite) + params.put("orderHideNo", UserUtil.filterOrderId(detail.getOrderId())); + list.add(UserMsgVOFactory.create(detail, jumpDetailV2Service.getByTypeCache("order_search"), + params)); + } break; case MSG_TYPE_MONEY: userMsgReadStateService.readMoneyMsg(uid); @@ -251,6 +262,7 @@ * @param uid * @param out */ + @RequestSerializableByKey(key="#acceptData.device") @RequestMapping(value = "getUnReadMsgCount", method = RequestMethod.POST) public void getUnReadMsgCount(AcceptData acceptData, Long uid, PrintWriter out) { GsonBuilder androidBuilder = new GsonBuilder().registerTypeAdapter(Integer.class, @@ -292,7 +304,12 @@ data.put("totalCount", 0); } } catch (UserCustomSettingsException e) { - e.printStackTrace(); + } + + if (VersionUtil.greaterThan_1_5_50(acceptData.getPlatform(), acceptData.getVersion())) { + int totalCount = msgDeviceReadStateService.getUnReadCount(acceptData.getDevice(), + "android".equalsIgnoreCase(acceptData.getPlatform()) ? 1 : 2, MsgDeviceReadState.TYPE_KEFU); + data.put("totalCount", totalCount); } out.print(JsonUtil.loadTrueResult(data)); @@ -302,6 +319,12 @@ int totalCount = num.getTypeAccount() + num.getTypeInvite() + num.getTypeMoney() + num.getTypeOrder() + num.getTypeScore() + num.getTypeSystem() + num.getTypeOther(); + + // 1.5.50鍙婁互鍚庣殑鐗堟湰闇�瑕佹坊鍔犺澶囨湭璇绘秷鎭� + if (VersionUtil.greaterThan_1_5_50(acceptData.getPlatform(), acceptData.getVersion())) { + totalCount += msgDeviceReadStateService.getUnReadCount(acceptData.getDevice(), + "android".equalsIgnoreCase(acceptData.getPlatform()) ? 1 : 2, MsgDeviceReadState.TYPE_KEFU); + } JSONObject data = null; if ("android".equalsIgnoreCase(acceptData.getPlatform())) { @@ -576,6 +599,35 @@ out.print(JsonUtil.loadTrueResult(root)); } + private UserCommonMsgVO getKeFuMsg(AcceptData acceptData) { + MsgDeviceReadState kefuState = msgDeviceReadStateService.getByDeviceAndPlatformAndType( + UserCommonMsgVO.TYPE_KEFU, acceptData.getDevice(), + acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2); + // 浜哄伐瀹㈡湇 + UserCommonMsgVO vo = new UserCommonMsgVO("http://img.flqapp.com/resource/msg/icon_kefu.png", "浜哄伐瀹㈡湇", new Date(), + UserCommonMsgVO.TYPE_KEFU, "", false, null, null, 0); + if (kefuState != null) { + vo.setUnReadCount(kefuState.getUnReadCount() == null ? 0 : kefuState.getUnReadCount()); + if (!StringUtil.isNullOrEmpty(kefuState.getLatestContent())) + vo.setLatestMsg(kefuState.getLatestContent()); + + if (vo.getUnReadCount() != null && vo.getUnReadCount() > 0) + vo.setRead(false); + else + vo.setRead(true); + + if (kefuState.getLatestContentTime() != null) + vo.setTime(kefuState.getLatestContentTime()); + + } else + vo.setRead(true); + + if (StringUtil.isNullOrEmpty(vo.getLatestMsg())) + vo.setLatestMsg("[鐐瑰嚮鎵撳紑浜哄伐瀹㈡湇]"); + + return vo; + } + /** * 鑾峰彇娑堟伅鍒楄〃 * @@ -585,6 +637,7 @@ * @param type * @param out */ + @RequestSerializableByKey(key="#acceptData.device") @RequestMapping(value = "getHomeMsgListNew", method = RequestMethod.POST) public void getHomeMsgListNew(AcceptData acceptData, Long uid, PrintWriter out) { if (uid != null && uid == 0) @@ -600,7 +653,7 @@ // 瀹樺浠诲姟 if (uid != null) { MsgCommonDTO guanXuanMsg = msgConfigService.getGuanXuanMsg(); - if (guanXuanMsg != null&&guanXuanMsg.getShow()==true) { + if (guanXuanMsg != null && guanXuanMsg.getShow() == true) { boolean read = false; UserMsgUnReadNum num = userMsgReadStateService.getReadStateByUid(uid); if (num != null && (num.getGuanXuanReadTime() != null @@ -613,16 +666,14 @@ } else commonMsgList.add(new UserCommonMsgVO(guanXuanMsg.getIcon(), guanXuanMsg.getTitle(), guanXuanMsg.getUpdateTime(), UserCommonMsgVO.TYPE_GUANXUAN, guanXuanMsg.getContent(), read, - guanXuanMsg.getJumpDetail(), guanXuanMsg.getParams())); + guanXuanMsg.getJumpDetail(), guanXuanMsg.getParams(), 0)); } } // 杩斿埄鍒稿皬鍔╂墜 MsgCommonDTO zhuShouMsg = msgConfigService.getZhuShouMsg(); - if (zhuShouMsg != null&&zhuShouMsg.getShow()==true) { - + if (zhuShouMsg != null && zhuShouMsg.getShow() == true) { boolean read = false; - MsgDeviceReadState state = msgDeviceReadStateService.getByDeviceAndPlatformAndType( UserCommonMsgVO.TYPE_ZHUSHOU, acceptData.getDevice(), acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2); @@ -637,12 +688,11 @@ } else commonMsgList.add(new UserCommonMsgVO(zhuShouMsg.getIcon(), zhuShouMsg.getTitle(), zhuShouMsg.getUpdateTime(), UserCommonMsgVO.TYPE_ZHUSHOU, zhuShouMsg.getContent(), read, - zhuShouMsg.getJumpDetail(), zhuShouMsg.getParams())); + zhuShouMsg.getJumpDetail(), zhuShouMsg.getParams(), 0)); } // 浜哄伐瀹㈡湇 - commonMsgList.add(new UserCommonMsgVO("http://img.flqapp.com/resource/msg/icon_kefu.png", "浜哄伐瀹㈡湇", new Date(), - UserCommonMsgVO.TYPE_KEFU, "", false, null, null)); + commonMsgList.add(getKeFuMsg(acceptData)); // 鎺ㄨ崘璁板綍 DeviceActive deviceActive = deviceActiveService.getDeviceByDeviceAndPlatform(acceptData.getDevice(), @@ -657,12 +707,12 @@ acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2); boolean read = false; if (state != null && state.getReadTime() != null - && list.get(0).getCreateTime().getTime() < state.getReadTime().getTime()) + && list.get(0).getPushTime().getTime() < state.getReadTime().getTime()) read = true; 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)); + list.get(0).getPushTime(), UserCommonMsgVO.TYPE_RECOMMEND, list.get(0).getContent(), read, + jumpDetailV2Service.getByTypeCache("recommend_list"), null, 0)); } } @@ -695,7 +745,13 @@ List<MsgOrderDetail> detailList = msgOrderDetailService.listMsgOrderDetail(uid, page); if (detailList != null && detailList.size() > 0) { for (MsgOrderDetail detail : detailList) { - UserMsgVO userMsgVO = UserMsgVOFactory.create(detail); + JSONObject params = new JSONObject(); + params.put("orderNo", detail.getOrderId()); + if (detail.getType() == MsgTypeOrderTypeEnum.share + || detail.getType() == MsgTypeOrderTypeEnum.invite) + params.put("orderHideNo", UserUtil.filterOrderId(detail.getOrderId())); + UserMsgVO userMsgVO = UserMsgVOFactory.create(detail, + jumpDetailV2Service.getByTypeCache("order_search"), params); userMsgVO.setType(MSG_TYPE_ORDER); list.add(userMsgVO); } @@ -787,6 +843,29 @@ "http://img.flqapp.com/resource/msg/icon_msg_system.png", getTimeDesc(new Date(), usm.getCreateTime()), num.getTypeSystem())); } + } + + /** + * 鎻愰啋澶у浘 + */ + MsgCommonDTO notify = msgConfigService.getNotifyMsg(); + + if (notify != null && notify.getShow() == true) { + boolean read = false; + MsgDeviceReadState state = msgDeviceReadStateService.getByDeviceAndPlatformAndType( + UserCommonMsgVO.TYPE_NOTIFY, acceptData.getDevice(), + acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2); + if (state != null && state.getReadTime() != null + && zhuShouMsg.getUpdateTime().getTime() < state.getReadTime().getTime()) + read = true; + if (notify.getJumpDetail() == null) + read = true; + // 鏌ヨ鏄惁宸茶 + UserCommonMsgVO vo = new UserCommonMsgVO(notify.getIcon(), notify.getTitle(), notify.getUpdateTime(), + UserCommonMsgVO.TYPE_NOTIFY, notify.getContent(), read, notify.getJumpDetail(), notify.getParams(), + 0); + vo.setPicture(notify.getPicture()); + root.put("notifyMsg", builder.create().toJson(vo)); } root.put("list", builder.create().toJson(listCenter)); @@ -935,4 +1014,24 @@ out.print(JsonUtil.loadTrueResult("")); } + /** + * 涓婁紶鏈�杩戠殑瀹㈡湇娑堟伅 + * + * @param acceptData + * @param content + * @param time + * @param out + */ + @RequestMapping(value = "uploadLatestKeFuMsg", method = RequestMethod.POST) + public void uploadLatestKeFuMsg(AcceptData acceptData, String content, Long datetime, PrintWriter out) { + + if (StringUtil.isNullOrEmpty(content) || datetime == null) { + out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶅畬鏁�")); + return; + } + msgDeviceReadStateService.addUnreadDeviceMsg(MsgDeviceReadState.TYPE_KEFU, acceptData.getDevice(), + "android".equalsIgnoreCase(acceptData.getPlatform()) ? 1 : 2, 0, content, new Date(datetime)); + out.print(JsonUtil.loadTrueResult("")); + } + } -- Gitblit v1.8.0