From 265e7fc98dfa0ac37bcc95a105e42546ffb3d094 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期三, 15 五月 2019 12:11:17 +0800
Subject: [PATCH] 品牌店铺优选查询大淘客商品

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/BrandController.java |  141 +++++++++++++++++++++++++++++++---------------
 1 files changed, 94 insertions(+), 47 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/BrandController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/BrandController.java
index 63ca51b..dccb7e6 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/BrandController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/BrandController.java
@@ -18,19 +18,21 @@
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.brand.BrandClass;
 import com.yeshi.fanli.entity.brand.TaoBaoShopHistory;
-import com.yeshi.fanli.entity.bus.lable.QualityFactory;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoShop;
+import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
 import com.yeshi.fanli.exception.taobao.TaoKeApiException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
 import com.yeshi.fanli.service.inter.brand.BrandClassService;
 import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
 import com.yeshi.fanli.service.inter.brand.TaoBaoShopHistoryService;
+import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
-import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
+import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.ThreadUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 
@@ -56,9 +58,13 @@
 	@Resource
 	private HongBaoManageService manageService;
 
+	
 	@Resource
-	private QualityGoodsService qualityGoodsService;
+	private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
 
+	@Resource
+	private DaTaoKeGoodsService daTaoKeGoodsService;
+	
 	/**
 	 * 鑾峰彇鍝佺墝鍒嗙被
 	 * 
@@ -84,26 +90,6 @@
 		}
 	}
 
-	/**
-	 * 娣诲姞瓒宠抗
-	 * 
-	 * @param acceptData
-	 * @param out
-	 */
-	@RequestMapping(value = "addHistory", method = RequestMethod.POST)
-	public void addHistory(AcceptData acceptData, Long sid, Long uid, PrintWriter out) {
-		try {
-			if (sid == null || sid == 0) {
-				out.print(JsonUtil.loadFalseResult("搴楅摵id涓虹┖"));
-				return;
-			}
-			taoBaoShopHistoryService.addHistory(sid, uid, acceptData.getDevice());
-			out.print(JsonUtil.loadTrueResult("璁板綍鎴愬姛"));
-		} catch (Exception e) {
-			out.print(JsonUtil.loadFalseResult("璁板綍澶辫触"));
-			e.printStackTrace();
-		}
-	}
 
 
 	/**
@@ -137,6 +123,15 @@
 	@RequestMapping(value = "getHistory", method = RequestMethod.POST)
 	public void getHistory(AcceptData acceptData, Integer page, Long uid, Integer type, PrintWriter out) {
 		try {
+			if (type == null) {
+				out.print(JsonUtil.loadFalseResult("绫诲瀷涓嶆纭�"));
+				return;
+			}
+
+			if (page == null || page < 1) {
+				page = 1;
+			}
+			
 			int pageSize;
 			if (type == 1) {
 				pageSize = 4;
@@ -164,13 +159,29 @@
 				for (TaoBaoShopHistory history : listHistory) {
 					TaoBaoShop taoBaoShop = history.getTaoBaoShop();
 					if (taoBaoShop != null) {
+						
+						String shopLink = taoBaoShop.getShopLink();
+						if (StringUtil.isNullOrEmpty(shopLink)) {
+							taoBaoShop.setShopLink(TaoBaoUtil.getShopLink(taoBaoShop.getId()));
+						}
+						
+						String shopNameCustom = taoBaoShop.getShopNameCustom();
+						if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
+							taoBaoShop.setShopName(shopNameCustom);
+						}
+						
+						String shopIconCustom = taoBaoShop.getShopIconCustom();
+						if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
+							taoBaoShop.setShopIcon(shopIconCustom);
+						}
+						
 						list.add(taoBaoShop);
 					}
 				}
 			}
 
 			JSONObject data = new JSONObject();
-			data.put("count", list.size());
+			data.put("count", count);
 			data.put("list", JsonUtil.getApiCommonGson().toJson(list));
 
 			out.print(JsonUtil.loadTrueResult(data));
@@ -207,33 +218,74 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "getShopInfo", method = RequestMethod.POST)
-	public void getShopInfo(AcceptData acceptData, Integer page, Long sid, PrintWriter out) {
+	public void getShopInfo(AcceptData acceptData, Integer page, Long sid, Long uid, PrintWriter out) {
 		try {
+			if (sid == null) {
+				out.print(JsonUtil.loadFalseResult("缂哄け搴楅摵id"));
+				return;
+			}
+			
 			JSONObject data = new JSONObject();
 			if (page == 1) {
 				TaoBaoShop taoBaoShop = taoBaoShopService.selectByPrimaryKey(sid);
 				if (taoBaoShop == null) {
 					out.print(JsonUtil.loadFalseResult("搴楅摵淇℃伅鑾峰彇澶辫触"));
+					return;
 				}
-				taoBaoShop.setShopLink(TaoBaoUtil.getShopLink(taoBaoShop.getId()));
-				data.put("shop", taoBaoShop);
+				String shopLink = taoBaoShop.getShopLink();
+				if (StringUtil.isNullOrEmpty(shopLink)) {
+					taoBaoShop.setShopLink(TaoBaoUtil.getShopLink(taoBaoShop.getId()));
+				}
+				
+				String shopNameCustom = taoBaoShop.getShopNameCustom();
+				if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
+					taoBaoShop.setShopName(shopNameCustom);
+				}
+				
+				String shopIconCustom = taoBaoShop.getShopIconCustom();
+				if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
+					taoBaoShop.setShopIcon(shopIconCustom);
+				}
+				data.put("shop", JsonUtil.getApiCommonGson().toJson(taoBaoShop));
+				
+				
+				ThreadUtil.run(new Runnable() {
+					public void run() {
+						// 娣诲姞瓒宠抗
+						taoBaoShopHistoryService.addHistory(sid, uid, acceptData.getDevice());
+					}
+				});
 			}
 
-			int pageSize = Constant.PAGE_SIZE;
-			List<QualityFactory> listQuery = qualityGoodsService.listByShopId((page - 1) * pageSize, pageSize, sid);
+			
+			// 鍟嗗搧鍒楄〃淇℃伅
+			int pageSize = 50;
+			List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
+			
+			// 鍏堟煡璇㈠ぇ娣樺鏁版嵁
+			List<DaTaoKeDetail> listDaTaoKe = daTaoKeGoodsService.listBySellerId(0, pageSize, sid);
+			if (listDaTaoKe != null && listDaTaoKe.size() > 0) {
+				for (DaTaoKeDetail daTaoKe: listDaTaoKe) {
+					listGoodsBrief.add(TaoBaoUtil.convert(daTaoKe));
+				}
+			}
+			
+			// 涓嶈冻50鏉℃暟鎹�佹煡璇㈢簿閫夊簱
+			if (listGoodsBrief.size() < pageSize) {
+				int needCount = pageSize- listGoodsBrief.size();
+				List<TaoBaoGoodsBrief> listGoods = taoBaoGoodsBriefService.listByShopId(0, needCount, sid);
+				if (listGoods != null && listGoods.size() > 0) {
+					listGoodsBrief.addAll(listGoods);
+				}
+			}
+			
 
-			long count = 0;
 			JSONArray array = new JSONArray();
-			if (listQuery != null && listQuery.size() > 0) {
+			if (listGoodsBrief.size() > 0) {
 				List<Long> listGid = new ArrayList<Long>();
-				for (QualityFactory qualityFactory : listQuery) {
-					TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief();
-					if (taoBaoGoodsBrief == null) {
-						continue;
-					}
+				for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
 					listGid.add(taoBaoGoodsBrief.getAuctionId());
 				}
-
 				// API缃戠粶鎺ュ彛楠岃瘉鏄惁鍦ㄥ敭
 				List<TaoBaoGoodsBrief> listTaoKeGoods = null;
 				try {
@@ -245,17 +297,13 @@
 				} catch (Exception e) {
 					e.printStackTrace();
 				}
+				
 
 				Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
 						.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
-
 				BigDecimal proportion = manageService.getFanLiRate();
-				for (QualityFactory selectionGoods : listQuery) {
-					TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
-					if (taoBaoGoodsBrief == null) {
-						continue;
-					}
-
+				
+				for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
 					if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) {
 						boolean stateSale = false; // 榛樿鍋滃敭
 						Long goodsId = taoBaoGoodsBrief.getAuctionId();
@@ -266,16 +314,15 @@
 								break;
 							}
 						}
-
 						if (!stateSale) {
 							continue;
 						}
 					}
 					array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
 				}
-				count = qualityGoodsService.countByShopId(sid);
 			}
-			data.put("count", count);
+			
+			data.put("count", array.size());
 			data.put("list", array);
 			out.print(JsonUtil.loadTrueResult(data));
 		} catch (Exception e) {

--
Gitblit v1.8.0