From 2012b3b5db3c6b06535a68f775bcc81b16151b90 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 06 九月 2019 16:54:00 +0800 Subject: [PATCH] 加入任务 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 111 insertions(+), 7 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 8c8a445..483edb9 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,9 +39,11 @@ 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; +import com.yeshi.fanli.entity.bus.user.UserInfoExtra; import com.yeshi.fanli.entity.common.JumpDetailV2; import com.yeshi.fanli.entity.goods.CommonGoods; import com.yeshi.fanli.entity.goods.RecommendUserGoods; @@ -71,11 +73,15 @@ import com.yeshi.fanli.service.inter.push.DeviceActiveService; import com.yeshi.fanli.service.inter.push.PushGoodsService; import com.yeshi.fanli.service.inter.user.UserCustomSettingsService; +import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.util.Constant; 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; @@ -151,6 +157,9 @@ @Resource private MsgDeviceReadStateService msgDeviceReadStateService; + @Resource + private UserInfoExtraService userInfoExtraService; + // 娑堟伅鐨勭被鍨� final static String MSG_TYPE_ORDER = "order"; final static String MSG_TYPE_MONEY = "money"; @@ -189,8 +198,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 +267,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,9 +309,14 @@ 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); + } + data.put("mineCount", 0); out.print(JsonUtil.loadTrueResult(data)); return; } @@ -303,6 +325,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())) { data = JSONObject.fromObject(androidBuilder.excludeFieldsWithoutExposeAnnotation().create().toJson(num)); @@ -310,6 +338,18 @@ data = JSONObject.fromObject(JsonUtil.getApiCommonGson().toJson(num)); } data.put("totalCount", totalCount); + // "鎴戠殑"閫夐」瑙掓爣 + int welfareCenterNews = 0; + if (uid != null) { + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); + if (userInfoExtra != null) { + if (userInfoExtra.getCouponNews() != null) { + welfareCenterNews = userInfoExtra.getCouponNews(); + } + } + } + + data.put("mineCount", welfareCenterNews); try { UserSettingsVO vo = userCustomSettingsService.getMySettings(uid); @@ -452,6 +492,9 @@ public void getHomeMsgList(AcceptData acceptData, Long uid, int page, HttpSession session, PrintWriter out) { if (uid != null && uid == 0) uid = null; + if (uid != null) + userSystemMsgService.syncSystemZNX(uid); + String device = acceptData.getDevice(); if (device == null || device.trim().length() == 0) { out.print(JsonUtil.loadFalseResult("璁惧鍙蜂笉鑳戒负绌�")); @@ -592,7 +635,15 @@ 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; } @@ -606,10 +657,14 @@ * @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) uid = null; + if (uid != null) { + userSystemMsgService.syncSystemZNX(uid); + } List<UserMsgCenter> listCenter = new ArrayList<>(); @@ -675,11 +730,11 @@ 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, + list.get(0).getPushTime(), UserCommonMsgVO.TYPE_RECOMMEND, list.get(0).getContent(), read, jumpDetailV2Service.getByTypeCache("recommend_list"), null, 0)); } } @@ -713,7 +768,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); } @@ -805,6 +866,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)); @@ -953,4 +1037,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