From 69bee82b81626b82b7f39f0e459e4f56b1699b51 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 13 三月 2019 12:02:16 +0800 Subject: [PATCH] 正式数据库修改 --- fanli/src/main/java/com/yeshi/fanli/controller/client/UserMsgController.java | 93 ++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 77 insertions(+), 16 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 ff7fb65..59b0c0c 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 @@ -32,6 +32,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.MsgOtherDetail; import com.yeshi.fanli.entity.bus.msg.UserMsgUnReadNum; import com.yeshi.fanli.entity.bus.msg.UserSystemMsg; import com.yeshi.fanli.entity.goods.CommonGoods; @@ -49,11 +50,13 @@ import com.yeshi.fanli.service.inter.msg.MsgInviteDetailService; import com.yeshi.fanli.service.inter.msg.MsgMoneyDetailService; import com.yeshi.fanli.service.inter.msg.MsgOrderDetailService; +import com.yeshi.fanli.service.inter.msg.MsgOtherDetailService; import com.yeshi.fanli.service.inter.msg.UserMsgReadStateService; import com.yeshi.fanli.service.inter.msg.UserSystemMsgService; import com.yeshi.fanli.service.inter.user.UserCustomSettingsService; 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.factory.CommonGoodsFactory; @@ -83,6 +86,9 @@ private MsgAccountDetailService msgAccountDetailService; @Resource + private MsgOtherDetailService msgOtherDetailService; + + @Resource private UserMsgReadStateService userMsgReadStateService; @Resource @@ -103,22 +109,27 @@ @Resource private UserCustomSettingsService userCustomSettingsService; + @Resource + private RedisManager redisManager; + // 娑堟伅鐨勭被鍨� final static String MSG_TYPE_ORDER = "order"; final static String MSG_TYPE_MONEY = "money"; final static String MSG_TYPE_ACCOUNT = "account"; final static String MSG_TYPE_INVITE = "invite"; + final static String MSG_TYPE_OTHER = "other"; /** - * 鑾峰彇璁㈠崟娑堟伅鍒楄〃 + * 鑾峰彇娑堟伅鍒楄〃 * * @param acceptData * @param uid * @param page + * @param type * @param out */ @RequestMapping(value = "getMsgList", method = RequestMethod.POST) - public void getOrderMsgList(AcceptData acceptData, Long uid, int page, String type, PrintWriter out) { + public void getMsgList(AcceptData acceptData, Long uid, int page, String type, PrintWriter out) { if (uid == null) { out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); @@ -163,8 +174,26 @@ List<MsgInviteDetail> detailList3 = msgInviteDetailService.listMsgInviteDetail(uid, page); count = msgInviteDetailService.countMsgInviteDetail(uid); if (detailList3 != null) - for (MsgInviteDetail detail : detailList3) - list.add(UserMsgVOFactory.create(detail)); + for (MsgInviteDetail detail : detailList3) { + UserMsgVO vo = UserMsgVOFactory.create(detail); + if (vo != null) + list.add(vo); + else + count--; + } + break; + case MSG_TYPE_OTHER: + userMsgReadStateService.readOtherMsg(uid); + List<MsgOtherDetail> detailList4 = msgOtherDetailService.listMsgOtherDetail(uid, page); + count = msgOtherDetailService.countMsgOtherDetail(uid); + if (detailList4 != null) + for (MsgOtherDetail detail : detailList4) { + UserMsgVO vo = UserMsgVOFactory.create(detail); + if (vo != null) + list.add(vo); + else + count--; + } break; } @@ -190,9 +219,30 @@ return; } UserMsgUnReadNum num = userMsgReadStateService.getReadStateByUid(uid); - JSONObject data = JSONObject.fromObject(JsonUtil.getApiCommonGson().toJson(num)); - data.put("totalCount", num.getTypeAccount() + num.getTypeInvite() + num.getTypeMoney() + num.getTypeOrder() - + num.getTypeScore() + num.getTypeSystem()); + + GsonBuilder androidBuilder = new GsonBuilder().registerTypeAdapter(Integer.class, + new JsonSerializer<Integer>() { + @Override + public JsonElement serialize(Integer value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive("0"); + } else { + if (value >= 100) + return new JsonPrimitive("99+"); + else + return new JsonPrimitive(value); + } + } + }); + 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)); + } else { + data = JSONObject.fromObject(JsonUtil.getApiCommonGson().toJson(num)); + } + data.put("totalCount", totalCount); try { UserSettingsVO vo = userCustomSettingsService.getMySettings(uid); @@ -351,13 +401,24 @@ } } - if (canAdd && session.getAttribute("recommendgoods") == null) { - session.setAttribute("recommendgoods", 1); - if (hour < 12) - addRecommendGoods(uid); - else - addRecommendGoods(uid, acceptData.getImei(), acceptData.getIdfa()); - session.removeAttribute("recommendgoods"); + String key = "recommend-goods-user-" + uid; + if (Constant.IS_OUTNET) { + if (canAdd && StringUtil.isNullOrEmpty(redisManager.getCommonString(key))) { + if (Constant.IS_OUTNET) + redisManager.cacheCommonString(key, "1", 20); + if (hour < 12) + addRecommendGoods(uid); + else + addRecommendGoods(uid, acceptData.getImei(), acceptData.getIdfa()); + session.removeAttribute("recommendgoods"); + } + } else { + if (canAdd) { + if (hour < 12) + addRecommendGoods(uid); + else + addRecommendGoods(uid, acceptData.getImei(), acceptData.getIdfa()); + } } } @@ -406,7 +467,7 @@ volist.add(vo); } - Long time = userInfoService.getUserById(uid).getCreatetime(); + Long time = userInfoService.selectByPKey(uid).getCreatetime(); if (time > TimeUtil.convertToTimeTemp("2019-01-28", "yyyy-MM-dd")) count++;// 璁$畻娆㈣繋璇殑鏁伴噺 @@ -510,7 +571,7 @@ UserMsgUnReadNum num = userMsgReadStateService.getReadStateByUid(uid); int totalNum = num.getTypeAccount() + num.getTypeInvite() + num.getTypeMoney() + num.getTypeOrder() - + num.getTypeScore() + num.getTypeSystem(); + + num.getTypeScore() + num.getTypeSystem() + num.getTypeOther(); if (totalNum == 0) { out.print(JsonUtil.loadFalseResult(1, "娌℃湁鏈娑堟伅")); return; -- Gitblit v1.8.0