From d28bed1a1275131a5ca37f7da37961e2b518ac07 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 26 八月 2019 13:44:00 +0800 Subject: [PATCH] 淘礼金创建异常处理 --- fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java | 80 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 75 insertions(+), 5 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java index 13e3adf..109b565 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java @@ -28,8 +28,10 @@ import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService; import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService; import com.yeshi.fanli.util.StringUtil; +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.goods.GoodsDetailVO; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -38,7 +40,7 @@ public class TaoKeGoodsServiceImpl implements TaoKeGoodsService { @Resource - private HongBaoManageService manageService; + private HongBaoManageService hongBaoManageService; @Resource private TaoBaoShopService taoBaoShopService; @@ -78,7 +80,7 @@ Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); - BigDecimal proportion = manageService.getFanLiRate(); + BigDecimal proportion = hongBaoManageService.getFanLiRate(); listGoods.parallelStream().forEach(taoBaoGoodsBrief -> { @@ -205,7 +207,7 @@ int fh = sf.getHongbao(); boolean ft = sf.isTmall(); - BigDecimal proportion = manageService.getFanLiRate(); + BigDecimal proportion = hongBaoManageService.getFanLiRate(); if (fq == 0 && fh == 0 && !ft) { if (result != null && result.getTaoBaoGoodsBriefs() != null) @@ -258,6 +260,74 @@ proportion.toString(), ""); re.add(taoBaoGoodsBriefExtra); } + } + } + + Gson gson2 = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) + .excludeFieldsWithoutExposeAnnotation().create(); + + data.put("result", gson2.toJson(re)); + data.put("count", result.getTaoBaoHead().getDocsfound()); + + return data; + } + + + @Override + @Cacheable(value = "searchWuLiaoCache", key = "'searchWuLiaoV2-'+#sf") + public JSONObject searchWuLiaoV2(SearchFilter sf) { + + // 娣樺疂鐗╂枡鎺ュ彛鏌ヨ + TaoBaoSearchResult result = TaoKeApiUtil.searchWuLiao(sf); + + List<TaoBaoSearchNav> navList = TaoBaoUtil.getBaseNav(); + if (result.getNavList() != null) + navList.addAll(result.getNavList()); + + Gson gson = new GsonBuilder().create(); + JSONObject data = new JSONObject(); + data.put("nav", gson.toJson(navList)); + + List<GoodsDetailVO> re = new ArrayList<GoodsDetailVO>(); + List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs(); + + int fq = sf.getQuan(); + int fh = sf.getHongbao(); + boolean ft = sf.isTmall(); + + BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); + BigDecimal shareRate = hongBaoManageService.getShareRate(); + + if (fq == 0 && fh == 0 && !ft) { + if (result != null && result.getTaoBaoGoodsBriefs() != null) + for (TaoBaoGoodsBrief bf : result.getTaoBaoGoodsBriefs()) { + int count = bf.getBiz30day(); + + String startBiz30day = sf.getStartBiz30day(); + if (!StringUtil.isNullOrEmpty(startBiz30day)) { + int biz30day = Integer.parseInt(startBiz30day); + if (count < biz30day) { + continue; + } + } + + GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(bf, null, fanLiRate, shareRate); + re.add(goodsDetailVO); + } + } else { + if (taoBaoGoodsBriefs != null) + for (TaoBaoGoodsBrief taoBaoGoodsBrief : taoBaoGoodsBriefs) { + + int count = taoBaoGoodsBrief.getBiz30day(); + String startBiz30day = sf.getStartBiz30day(); + if (!StringUtil.isNullOrEmpty(startBiz30day)) { + int biz30day = Integer.parseInt(startBiz30day); + if (count < biz30day) { + break; + } + } + GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate, shareRate); + re.add(goodsDetailVO); } } @@ -414,7 +484,7 @@ int fh = sf.getHongbao(); boolean ft = sf.isTmall(); - BigDecimal proportion = manageService.getFanLiRate(); + BigDecimal proportion = hongBaoManageService.getFanLiRate(); if (fq == 0 && fh == 0 && !ft) { if (result != null && result.getTaoBaoGoodsBriefs() != null) @@ -568,7 +638,7 @@ Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); - BigDecimal proportion = manageService.getFanLiRate(); + BigDecimal proportion = hongBaoManageService.getFanLiRate(); /* 閬嶅巻鍒楄〃鏁版嵁 */ for (QualityFactory selectionGoods : listQuality) { -- Gitblit v1.8.0