From 5a9e4c13d08d3b1cb7da8f50f1097b33bb113b23 Mon Sep 17 00:00:00 2001 From: 喻健 <喻健@Admin> Date: 星期一, 10 十二月 2018 17:52:03 +0800 Subject: [PATCH] 选品库商品优化 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsGroupServiceImpl.java | 77 +++++++++++++++++++++----------------- 1 files changed, 43 insertions(+), 34 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsGroupServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsGroupServiceImpl.java index 23bf316..6771f01 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsGroupServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsGroupServiceImpl.java @@ -100,38 +100,44 @@ /** * 鏇存柊娴忚璁板綍鏁版嵁 - * @param uid - * @param auctionId + * @param shareId 鍒嗕韩id + * @param count 娴忚娆℃暟 */ @Override - public void updateBrowseRecord (Long uid, Long auctionId, int count) throws UserShareGoodsRecordException{ - if (uid == null) { - throw new UserShareGoodsRecordException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"); + public void updateBrowseRecord (Long shareId, int count) throws UserShareGoodsRecordException{ + + if (shareId == null) { + throw new UserShareGoodsRecordException(1, "鍒嗕韩id涓虹┖"); } - if (auctionId == null) { - throw new UserShareGoodsRecordException(1, "鍟嗗搧ID涓嶈兘涓虹┖"); + List<UserShareGoodsGroup> list = listByRecordId(shareId); + if (list == null || list.size() == 0) { + throw new UserShareGoodsRecordException(1, "鍒嗕韩鍟嗗搧宸蹭笉瀛樺湪"); } - UserShareGoodsGroup newestRecord = getNewestRecord(uid, auctionId); + List<UserShareGoodsGroup> listUpdate = new ArrayList<UserShareGoodsGroup>(); - if (newestRecord != null) { + for (UserShareGoodsGroup group: list) { // 娉ㄦ剰锛� 淇敼璁板綍鏁版嵁銆佷絾涓嶅彲淇敼鏇存柊璁剧疆 - UserShareGoodsGroup shareGoodsGroup = new UserShareGoodsGroup(newestRecord.getId()); + UserShareGoodsGroup shareGoodsGroup = new UserShareGoodsGroup(group.getId()); - shareGoodsGroup.setTotalBrowse(newestRecord.getTotalBrowse() + count); + shareGoodsGroup.setTotalBrowse(group.getTotalBrowse() + count); - Date browseTime = newestRecord.getBrowseTime(); + Date browseTime = group.getBrowseTime(); if (DateUtil.isSameDay(browseTime, new Date())) { - shareGoodsGroup.setTodayBrowse(newestRecord.getTodayBrowse() + count); + shareGoodsGroup.setTodayBrowse(group.getTodayBrowse() + count); } else { shareGoodsGroup.setTodayBrowse(count); shareGoodsGroup.setBrowseTime(new Date()); } - updateByPrimaryKeySelective(shareGoodsGroup); + listUpdate.add(shareGoodsGroup); } + + userShareGoodsGroupMapper.updateBatchSelective(listUpdate); + } + /** * 鏇存柊璁㈠崟璁板綍鏁版嵁 @@ -188,7 +194,6 @@ Map<String, String> map = hongBaoManageService.convertMap(); String proportion = map.get("hongbao_goods_proportion"); - String fcRate = map.get("hongbao_fc_ratio"); for (UserShareGoodsGroup userShareGoodsGroup : list) { CommonGoods commonGoods = userShareGoodsGroup.getCommonGoods(); @@ -205,20 +210,29 @@ if (goodsState != null && (goodsState != 1 || !goodsState.equals(1))) { Date updateTime = commonGoods.getUpdateTime(); if (updateTime != null) { - long diff = nowDate.getTime() - updateTime.getTime(); + // 璁$畻宸灏戝皬鏃� - long hour = diff % nd / nh; - if (hour > 1) { - try { - if (commonGoods.getGoodsType() == CommonGoods.GOODS_TYPE_TB) { - goodsBrief = redisManager.getTaoBaoGoodsBrief(commonGoods.getGoodsId()); - goodsBrief.setState(0); - goodsState = 0; - } + long diff = nowDate.getTime() - updateTime.getTime(); + long day = diff / nd; + long hour = diff % nd / nh; + if (hour > 1 || day > 0 ) { + try { + if (commonGoods.getGoodsType() == CommonGoods.GOODS_TYPE_TB) { + goodsBrief = redisManager.getTaoBaoGoodsBrief(commonGoods.getGoodsId()); + + goodsState = 0; + goodsBrief.setState(goodsState); + + CommonGoods upadeteCommonGoods = CommonGoodsFactory.create(goodsBrief); + upadeteCommonGoods.setState(goodsState); + upadeteCommonGoods.setId(commonGoods.getId()); + listUpadteCommonGoods.add(upadeteCommonGoods); + } } catch (TaobaoGoodsDownException e) { // 宸蹭笅鏋� goodsState = 1; - commonGoods.setState(1); + commonGoods.setState(goodsState); + listUpadteCommonGoods.add(commonGoods); e.printStackTrace(); } } @@ -227,21 +241,16 @@ if (goodsBrief == null) { goodsBrief = TaoBaoUtil.convert(commonGoods); - } else { - CommonGoods upadeteCommonGoods = CommonGoodsFactory.create(goodsBrief); - upadeteCommonGoods.setState(goodsState); - listUpadteCommonGoods.add(upadeteCommonGoods); - } + } // 鏀瑰彉鍥剧墖灏哄 String pictUrl = commonGoods.getPicture(); if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) { commonGoods.setPicture(TbImgUtil.getTBSize320Img(pictUrl)); } - - String json = gson - .toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion, fcRate, null)); - + + String json = gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion, null)); + dataObject.put("groupId", userShareGoodsGroup.getId()); dataObject.put("goods", json); array.add(dataObject); -- Gitblit v1.8.0