From 2b35e920a8873ba81530f4d86002a459185725ff Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 06 九月 2019 16:44:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/BrandControllerV2.java |  293 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 293 insertions(+), 0 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/BrandControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/BrandControllerV2.java
index 205a4d5..73f9629 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/BrandControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/BrandControllerV2.java
@@ -15,7 +15,9 @@
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.brand.BrandInfo;
 import com.yeshi.fanli.entity.brand.TaoBaoShopHistory;
+import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoShop;
 import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
@@ -23,8 +25,11 @@
 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.BrandInfoRecordService;
+import com.yeshi.fanli.service.inter.brand.BrandInfoService;
 import com.yeshi.fanli.service.inter.brand.TaoBaoShopHistoryService;
 import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
+import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
@@ -35,7 +40,9 @@
 import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.vo.brand.BrandInfoVO;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
+import com.yeshi.fanli.vo.goods.ShopInfoVO;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -67,6 +74,16 @@
 
 	@Resource
 	private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
+	
+	@Resource
+	private BrandInfoService brandInfoService;
+	
+	@Resource
+	private SwiperPictureService swiperPictureService;
+	
+	@Resource
+	private BrandInfoRecordService brandInfoRecordService;
+	
 
 	/**
 	 * 搴楅摵鍒楄〃
@@ -310,4 +327,280 @@
 		taoBaoGoodsUpdateService.addUpdateQueueAsync(listGoodsBrief);
 	}
 
+	
+	
+	
+	/**
+	 * 鍝佺墝鍒楄〃鍒楄〃
+	 * 
+	 * @param acceptData
+	 * @param out
+	 */
+	@RequestMapping(value = "getList", method = RequestMethod.POST)
+	public void getList(AcceptData acceptData, Integer page, Long cid, Long uid, PrintWriter out) {
+		if (page == null || page < 1) {
+			out.print(JsonUtil.loadFalseResult("椤电爜涓嶆纭�"));
+			return;
+		}
+		
+		if (cid != null && cid == 0) {
+			cid = null;
+		}
+		
+		JSONObject data = new JSONObject();
+		if (page == 1 && cid != null) {
+			List<BrandInfo> brandlist = brandInfoService.listValidBrandInfoCache(cid);
+			if(brandlist == null)
+				brandlist = new ArrayList<BrandInfo>();
+			data.put("brandlist", JsonUtil.getApiCommonGson().toJson(brandlist));
+		}
+		
+		
+		long count = brandInfoService.countBrandInfo(cid);
+		
+		List<BrandInfoVO> list = brandInfoService.listBrandInfoCache((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, cid);
+		if (list == null)
+			list = new ArrayList<BrandInfoVO>();
+		
+		GsonBuilder gb = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder());
+		gb.excludeFieldsWithoutExposeAnnotation();
+		Gson gson = gb.create();
+		
+		data.put("count", count);
+		data.put("list", gson.toJson(list));
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+	
+	
+	/**
+	 * 搴楅摵璇︽儏杩囨浮椤�
+	 * 
+	 * @param acceptData
+	 * @param out
+	 */
+	@RequestMapping(value = "getShopInfoV2", method = RequestMethod.POST)
+	public void getShopInfoV2(AcceptData acceptData, Integer page, Long id, Long uid, PrintWriter out) {
+		
+		if (id == null) {
+			out.print(JsonUtil.loadFalseResult("缂哄け搴楅摵id"));
+			return;
+		}
+		
+		List<TaoBaoShop> shopList = new ArrayList<TaoBaoShop>();
+		List<SwiperPicture> topPicList = new ArrayList<>();
+		
+		JSONObject data = new JSONObject();
+		if (page == 1) {
+			// 2銆侀《閮ㄨ疆鎾浘
+			List<SwiperPicture> oldtopPicList = swiperPictureService.getByBannerCard("index_top");
+			if (oldtopPicList != null && oldtopPicList.size() > 0)
+				topPicList.addAll(oldtopPicList);
+			TaoBaoShop taoBaoShop = taoBaoShopService.selectByPrimaryKey(id);
+			if (taoBaoShop == null) {
+				out.print(JsonUtil.loadFalseResult("搴楅摵淇℃伅鑾峰彇澶辫触"));
+				return;
+			}
+			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);
+			}
+
+			Integer userType = taoBaoShop.getUserType();
+			if (userType == null || userType == 0) {
+				taoBaoShop.setUserType(10);
+			} else {
+				taoBaoShop.setUserType(11);
+			}
+
+			shopList.add(taoBaoShop);
+			ThreadUtil.run(new Runnable() {
+				public void run() {
+					// 娣诲姞瓒宠抗
+					taoBaoShopHistoryService.addHistory(id, uid, acceptData.getDevice());
+				}
+			});
+		}
+		data.put("picList", JsonUtil.getApiCommonGson().toJson(topPicList));
+		data.put("shopList", JsonUtil.getApiCommonGson().toJson(shopList));
+		
+
+		// 鍟嗗搧鍒楄〃淇℃伅
+		int pageSize = 50;
+		List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
+
+		// 鍏堟煡璇㈠ぇ娣樺鏁版嵁
+		List<DaTaoKeDetail> listDaTaoKe = daTaoKeGoodsService.listBySellerId(0, pageSize, id);
+		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, id);
+			if (listGoods != null && listGoods.size() > 0) {
+
+				if (listGoodsBrief.size() > 0) {
+					for (int i = 0; i < listGoods.size(); i++) {
+						long aid = listGoods.get(i).getAuctionId();
+						boolean isRepeat = false;
+						for (TaoBaoGoodsBrief goodsBrief : listGoodsBrief) {
+							long auctionId = goodsBrief.getAuctionId();
+							if (auctionId == aid) {
+								isRepeat = true;
+								break;
+							}
+						}
+						if (isRepeat) {
+							listGoods.remove(i);
+							i--;
+						}
+					}
+				}
+
+				listGoodsBrief.addAll(listGoods);
+			}
+		}
+
+		JSONArray array = new JSONArray();
+		if (listGoodsBrief.size() > 0) {
+			List<Long> listGid = new ArrayList<Long>();
+			for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
+				listGid.add(taoBaoGoodsBrief.getAuctionId());
+			}
+			// 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();
+			}
+
+			Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+					.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+
+			BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
+			BigDecimal shareRate = hongBaoManageService.getShareRate();
+
+			// 鍟嗗搧淇℃伅杩囨护
+			listGoodsBrief = taoBaoGoodsUpdateService.filterImportantTaoBaoGoods(listGoodsBrief);
+
+			for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
+				if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) {
+					boolean stateSale = false; // 榛樿鍋滃敭
+					Long goodsId = taoBaoGoodsBrief.getAuctionId();
+					for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) {
+						Long auctionId = taoKeGoods.getAuctionId();
+						if (goodsId == auctionId || goodsId.equals(auctionId)) {
+							stateSale = true; // 鍦ㄥ敭
+							break;
+						}
+					}
+					if (!stateSale) {
+						continue;
+					}
+				}
+				GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate,
+						shareRate);
+				array.add(gson.toJson(goodsDetailVO));
+			}
+		}
+
+		data.put("count", array.size());
+		data.put("list", array);
+		out.print(JsonUtil.loadTrueResult(data));
+		// 娣诲姞鍒版洿鏂板垪琛�
+		taoBaoGoodsUpdateService.addUpdateQueueAsync(listGoodsBrief);
+	}
+	
+	
+	
+	/**
+	 * 搴楅摵瓒宠抗
+	 * 
+	 * @param acceptData
+	 * @param type
+	 *            绮鹃��1锛� 瓒宠抗鍒楄〃2
+	 * @param out
+	 */
+	@RequestMapping(value = "getHistoryV2", method = RequestMethod.POST)
+	public void getHistoryV2(AcceptData acceptData, Integer page, Long uid, Integer type, PrintWriter out) {
+		if (type == null) {
+			out.print(JsonUtil.loadFalseResult("绫诲瀷涓嶆纭�"));
+			return;
+		}
+
+		if (page == null || page < 1) {
+			out.print(JsonUtil.loadFalseResult("椤电爜涓嶆纭�"));
+			return;
+		}
+
+		int pageSize;
+		if (type == 1) {
+			pageSize = 4;
+		} else {
+			pageSize = Constant.PAGE_SIZE;
+		}
+		
+		long count = 0;
+		List<TaoBaoShopHistory> listHistory = null;
+		if (uid == null || uid == 0) {
+			String device = acceptData.getDevice();
+			count = taoBaoShopHistoryService.countByDevice(device);
+			if (count > 0) {
+				listHistory = taoBaoShopHistoryService.listByDevice((page - 1) * pageSize, pageSize, device);
+			}
+		} else {
+			count = taoBaoShopHistoryService.countByUid(uid);
+			if (count > 0) {
+				listHistory = taoBaoShopHistoryService.listByUid((page - 1) * pageSize, pageSize, uid);
+			}
+		}
+		
+		List<BrandInfo> list = new ArrayList<BrandInfo>();
+		if (listHistory != null && listHistory.size() > 0) {
+			for (TaoBaoShopHistory history : listHistory) {
+				TaoBaoShop taoBaoShop = history.getTaoBaoShop();
+				if (taoBaoShop == null)
+					continue;
+					
+				String shopNameCustom = taoBaoShop.getShopNameCustom();
+				if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
+					taoBaoShop.setShopName(shopNameCustom);
+				}
+				
+				String shopIconCustom = taoBaoShop.getShopIconCustom();
+				if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
+					taoBaoShop.setShopIcon(shopIconCustom);
+				}
+				
+				BrandInfo brandInfo = new BrandInfo();
+				brandInfo.setId(taoBaoShop.getId());
+				brandInfo.setName(taoBaoShop.getShopName());
+				brandInfo.setIcon(taoBaoShop.getShopIcon());
+			    list.add(brandInfo);
+			}
+		}
+		
+		JSONObject data = new JSONObject();
+		data.put("count", count);
+		data.put("list", JsonUtil.getApiCommonGson().toJson(list));
+		out.print(JsonUtil.loadTrueResult(data));
+	}
 }

--
Gitblit v1.8.0