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