From f1016fdc979107dde7b4bf4570d04758043da8e8 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期五, 15 三月 2019 17:07:57 +0800 Subject: [PATCH] 首页-消息-猜你喜欢改为根据用户设备推荐 --- fanli/src/main/java/com/yeshi/fanli/controller/client/UserMsgController.java | 37 +++++++++++++++++++++---------------- 1 files changed, 21 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 59b0c0c..f83d1dc 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 @@ -295,7 +295,7 @@ return builder; } - private void addRecommendGoods(Long uid, String imei, String idfa) { + private void addRecommendGoods(Long uid, String device, String imei, String idfa) { TaoBaoSearchResult result = TaoKeApiUtil.guessDeviceLike(1, 50, imei, idfa); if (result != null && result.getTaoBaoGoodsBriefs() != null) { for (int i = 0; i < result.getTaoBaoGoodsBriefs().size(); i++) { @@ -326,7 +326,7 @@ } } try { - recommendUserGoodsService.addRecommend(uid, "", goodsList); + recommendUserGoodsService.addRecommend(uid, device, "", goodsList); } catch (RecommendUserGoodsException e) { e.printStackTrace(); } @@ -334,7 +334,7 @@ } } - private void addRecommendGoods(Long uid) { + private void addRecommendGoods(Long uid, String device) { List<QualityFactory> qfList = qualityFactoryService.listByMinSalesCountOrderByCreateTimeDesc(10000, 1, 20); if (qfList != null && qfList != null) { for (int i = 0; i < qfList.size(); i++) { @@ -365,7 +365,7 @@ } } try { - recommendUserGoodsService.addRecommend(uid, "", goodsList); + recommendUserGoodsService.addRecommend(uid, device, "", goodsList); } catch (RecommendUserGoodsException e) { e.printStackTrace(); } @@ -383,15 +383,18 @@ */ @RequestMapping(value = "getHomeMsgList", method = RequestMethod.POST) public void getHomeMsgList(AcceptData acceptData, Long uid, int page, HttpSession session, PrintWriter out) { - if (uid == null) { - out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + + String device = acceptData.getDevice(); + if (device == null || device.trim().length() == 0) { + out.print(JsonUtil.loadFalseResult("璁惧鍙蜂笉鑳戒负绌�")); return; } - + if (page == 1) { boolean canAdd = false; int hour = Calendar.getInstance().get(Calendar.HOUR); - RecommendUserGoods goods = recommendUserGoodsService.getLatestRecommendUserGoods(uid); + RecommendUserGoods goods = recommendUserGoodsService.getLatestRecommendUserGoodsByDevice(device); + if (goods == null) { canAdd = true; } else { @@ -401,30 +404,32 @@ } } - String key = "recommend-goods-user-" + uid; + //String key = "recommend-goods-user-" + uid; + String key = "recommend-goods-user-" + device; 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); + addRecommendGoods(uid, device); else - addRecommendGoods(uid, acceptData.getImei(), acceptData.getIdfa()); + addRecommendGoods(uid, device, acceptData.getImei(), acceptData.getIdfa()); session.removeAttribute("recommendgoods"); } } else { if (canAdd) { if (hour < 12) - addRecommendGoods(uid); + addRecommendGoods(uid, device); else - addRecommendGoods(uid, acceptData.getImei(), acceptData.getIdfa()); + addRecommendGoods(uid, device, acceptData.getImei(), acceptData.getIdfa()); } } } List<UserHomeMsgVO> volist = new ArrayList<>(); - List<RecommendUserGoods> list = recommendUserGoodsService.listRecommend(uid, page, Constant.PAGE_SIZE); - long count = recommendUserGoodsService.countRecommend(uid);// + + List<RecommendUserGoods> list = recommendUserGoodsService.listRecommendGoodsByDevice(device, page, Constant.PAGE_SIZE); + long count = recommendUserGoodsService.countRecommendGoodsByDevice(device); Date now = new Date(); for (RecommendUserGoods goods : list) { @@ -486,7 +491,7 @@ JSONObject root = new JSONObject(); root.put("msgList", new Gson().toJson(volist)); - if (page == 1) { + if (page == 1 && uid != null) { UserMsgUnReadNum num = userMsgReadStateService.getReadStateByUid(uid); UserSystemMsg usm = userSystemMsgService.getLatestUserSystemMsg(uid); if (usm != null) -- Gitblit v1.8.0