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