From 7dd830c1d6247a8360e6fba6ee8a286b57f0e8b1 Mon Sep 17 00:00:00 2001
From: 喻健 <喻健@Admin>
Date: 星期三, 19 十二月 2018 16:50:49 +0800
Subject: [PATCH] 验证商品是否在售:收藏、选品库、分享记录

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java |  145 ++++++++++++++++++------------------------------
 1 files changed, 55 insertions(+), 90 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java
index 53e7dfe..4d18107 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java
@@ -31,12 +31,14 @@
 import com.yeshi.fanli.entity.bus.share.UserShareGoodsGroup;
 import com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord;
 import com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord.ShareSourceTypeEnum;
+import com.yeshi.fanli.entity.bus.user.UserGoodsStorage;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.goods.CommonGoods;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
 import com.yeshi.fanli.exception.goods.CommonGoodsException;
 import com.yeshi.fanli.exception.share.UserShareGoodsRecordException;
+import com.yeshi.fanli.exception.taobao.TaoKeApiException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
 import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
@@ -52,6 +54,7 @@
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.factory.CommonGoodsFactory;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 
 @Service
 public class UserShareGoodsRecordServiceImpl implements UserShareGoodsRecordService {
@@ -484,88 +487,65 @@
 	public JSONObject getGoodsGroup(Long recordId) throws UserShareGoodsRecordException {
 		
 		JSONArray array = new JSONArray();
-		List<CommonGoods> listUpadteCommonGoods = new ArrayList<CommonGoods>();
 
 		List<UserShareGoodsGroup> list = userShareGoodsGroupService.listByRecordId(recordId);
-		if (list != null && list.size() > 0) {
+		
+		List<Long> listGid = new ArrayList<Long>();
+		for (UserShareGoodsGroup goodsGroup : list) {
+			CommonGoods commonGoods = goodsGroup.getCommonGoods();
+			if (commonGoods == null) {
+				continue;
+			}
+			listGid.add(commonGoods.getGoodsId());
+		}
+		
+		// API缃戠粶鎺ュ彛楠岃瘉鏄惁鍦ㄥ敭
+		List<TaoBaoGoodsBrief> listTaoKeGoods = null;
+		try {
+			listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid);
+		} catch (TaoKeApiException e) {
+			e.printStackTrace();
+		} catch (TaobaoGoodsDownException e) {
+			e.printStackTrace();
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		
 
-			Date nowDate = new Date();
-			long nh = 1000 * 60 * 60;
-			long nd = 1000 * 24 * 60 * 60;
+		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
 
-			Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
-					.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
-
-			Map<String, String> map = hongBaoManageService.convertMap();
-			String proportion = map.get("hongbao_goods_proportion");
-
-			for (UserShareGoodsGroup userShareGoodsGroup : list) {
-				CommonGoods commonGoods = userShareGoodsGroup.getCommonGoods();
-				if (commonGoods == null) {
-					continue;
-				}
-
-				TaoBaoGoodsBrief goodsBrief = null;
-				JSONObject dataObject = new JSONObject();
-
-				// 鏇存柊涓�涓皬鏃朵箣鍐呯殑鍟嗗搧涓嶅啀鏇存柊
-				Integer goodsState = commonGoods.getState();
-				// 鐘舵�佹湭涓嬫灦鏃惰繘琛屾洿鏂�
-				if (goodsState != null && (goodsState != 1 || !goodsState.equals(1))) {
-					Date updateTime = commonGoods.getUpdateTime();
-					if (updateTime != null) {
-						
-						// 璁$畻宸灏戝皬鏃�
-						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(goodsState);
-								listUpadteCommonGoods.add(commonGoods);
-								e.printStackTrace();
-							}
-						}
+		Map<String, String> map = hongBaoManageService.convertMap();
+		String proportion = map.get("hongbao_goods_proportion");
+		
+		for (UserShareGoodsGroup goodsGroup : list) {
+			CommonGoods commonGoods = goodsGroup.getCommonGoods();
+			if (commonGoods == null) {
+				continue;
+			}
+			
+			if (listTaoKeGoods != null && listTaoKeGoods.size() > 0 ) {
+				int state = 1;  // 榛樿鍋滃敭
+				Long goodsId = commonGoods.getGoodsId();
+				for (TaoBaoGoodsBrief taoKeGoods: listTaoKeGoods) {
+					Long auctionId = taoKeGoods.getAuctionId();
+					if (goodsId == auctionId || goodsId.equals(auctionId)) {
+						state = 0; // 鍦ㄥ敭
+						break;
 					}
 				}
-
-				if (goodsBrief == null) {
-					goodsBrief = TaoBaoUtil.convert(commonGoods);
-				} 
-
-				// 鏀瑰彉鍥剧墖灏哄
-				String pictUrl = goodsBrief.getPictUrl();
-				if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) {
-					goodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
-				}
-				
-				userShareGoodsGroup.setId(null);
-				userShareGoodsGroup.setBrowseTime(null);
-				userShareGoodsGroup.setCreateTime(null);
-				userShareGoodsGroup.setUpdateTime(null);
-				userShareGoodsGroup.setRecordId(null);
-				
-				dataObject.put("todayBrowse",userShareGoodsGroup.getTodayBrowse() );
-				dataObject.put("totalBrowse",userShareGoodsGroup.getTotalBrowse() );
-				dataObject.put("totalOrder", userShareGoodsGroup.getTotalOrder());
-				dataObject.put("totalMoney", "楼"+userShareGoodsGroup.getTotalMoney());
-				dataObject.put("goods", gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion, null)));
-				array.add(dataObject);
+				commonGoods.setState(state);
 			}
+			
+			TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
+			
+			JSONObject dataObject = new JSONObject();
+			dataObject.put("todayBrowse",goodsGroup.getTodayBrowse() );
+			dataObject.put("totalBrowse",goodsGroup.getTotalBrowse() );
+			dataObject.put("totalOrder", goodsGroup.getTotalOrder());
+			dataObject.put("totalMoney", "楼"+goodsGroup.getTotalMoney());
+			dataObject.put("goods", gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion, null)));
+			array.add(dataObject);
 		}
 		
 		String title = "";
@@ -578,21 +558,6 @@
 		data.put("title", title);
 		data.put("count", list.size());
 		data.put("result_list", array);
-
-		if (listUpadteCommonGoods.size() > 0) {
-			executor.execute(new Runnable() {
-				@Override
-				public void run() {
-					try {
-						// 鏇存柊绠�鐗堜俊鎭�
-						commonGoodsService.updateBatchCommonGoods(listUpadteCommonGoods);
-					} catch (Exception e) {
-						e.printStackTrace();
-					}
-				}
-			});
-		}
-		
 		return data;
 	}
 

--
Gitblit v1.8.0