From dc5be7d38446f70e6ff86df311119c32b41fe7f8 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 28 十一月 2020 16:37:05 +0800 Subject: [PATCH] 大淘客搜索接口升级 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsClassControllerV2.java | 82 +++++++++++++++++++++++----------------- 1 files changed, 47 insertions(+), 35 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsClassControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsClassControllerV2.java index 14cb402..b412053 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsClassControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsClassControllerV2.java @@ -1,7 +1,6 @@ package com.yeshi.fanli.controller.client.v2; import java.io.PrintWriter; -import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -15,23 +14,25 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import com.yeshi.fanli.dto.ConfigParamsDTO; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.clazz.GoodsClass; import com.yeshi.fanli.entity.bus.clazz.GoodsSubClass; import com.yeshi.fanli.entity.bus.clazz.TaoBaoClass; import com.yeshi.fanli.entity.bus.lable.QualityFactory; import com.yeshi.fanli.entity.taobao.SearchFilter; -import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; +import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.clazz.GoodsSubClassLabelService; import com.yeshi.fanli.service.inter.goods.GoodsClassService; import com.yeshi.fanli.service.inter.goods.GoodsSubClassService; import com.yeshi.fanli.service.inter.goods.TaoBaoClassService; -import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; import com.yeshi.fanli.service.inter.lable.LabelClassService; import com.yeshi.fanli.service.inter.lable.QualityGoodsService; import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService; +import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService; +import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; @@ -68,10 +69,13 @@ private TaoBaoClassService taoBaoClassService; @Resource - private HongBaoManageService hongBaoManageService; + private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; @Resource private LabelClassService labelClassService; + + @Resource + private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService; /** * 涓�绾у垎绫� @@ -95,7 +99,6 @@ * 浜岀骇鍒嗙被銆佹爣绛� * * @param acceptData - * @param gcid * @param out */ @RequestMapping(value = "listSubMap", method = RequestMethod.POST) @@ -135,8 +138,10 @@ // 鎬绘潯鏁� long counttotal = 5000; - // 绮鹃�夊簱鏁版嵁涓虹┖鏃讹紝缃戠粶杩涜鏌ヨ - if (listQuery == null || listQuery.size() == 0) { + List<TaoBaoGoodsBrief> updateGoodsList = new ArrayList<>(); + + // 绮鹃�夊簱鏁版嵁灏忎簬10鏃讹紝缃戠粶杩涜鏌ヨ + if (listQuery == null || listQuery.size() < 10) { long count = qualityGoodsService.countQueryClassId(gcid); int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); page = page - totalPage; @@ -161,7 +166,7 @@ filter.setPageSize(pageSize); filter.setCateIds(taoBaoCatIds); - JSONObject result = taoKeGoodsService.searchWuLiaoV2(filter); + JSONObject result = taoKeGoodsService.searchWuLiaoV2(filter,acceptData.getPlatform(),acceptData.getVersion(), acceptData.getSystem()); out.print(JsonUtil.loadTrueResult(result)); return; } @@ -169,9 +174,9 @@ Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); - BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); - BigDecimal shareRate = hongBaoManageService.getShareRate(); - + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(),acceptData.getSystem()); + // 绮鹃�夊簱鏁版嵁 JSONArray array = new JSONArray(); for (QualityFactory selectionGoods : listQuery) { @@ -179,8 +184,8 @@ if (taoBaoGoodsBrief == null) { continue; } - GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate, - shareRate); + updateGoodsList.add(taoBaoGoodsBrief); + GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, paramsDTO); array.add(gson.toJson(goodsDetailVO)); } @@ -189,6 +194,10 @@ data.put("count", counttotal); data.put("result", array); out.print(JsonUtil.loadTrueResult(data)); + try { + taoBaoGoodsUpdateService.addUpdateQueueAsync(updateGoodsList); + } catch (Exception e) { + } } /** @@ -198,15 +207,19 @@ * @param page * @param scid * @param filter - * @param order 鏉ユ簮锛氥�愭帹鑽愶細0 | 缁煎悎锛�4 銆佺患鍚堝彧鐪嬫湁鍒� 1 銆佺患鍚堝彧鐪嬪ぉ鐚� 1 | 浠锋牸锛氫綆鍒伴珮3 楂樺埌浣�2 | 閿�閲忥細1銆� - * 鎺掑簭鍊硷細銆愰攢閲忕敱楂樺埌浣�: 1 锛� 閿�閲忕敱浣庡埌楂� 5锛� 浠锋牸浠庨珮鍒颁綆: 2 锛� 浠锋牸浠庝綆鍒伴珮:3 锛� 鎺ㄥ箍閲忛珮鍒颁綆:4 - * 锛� 鍏朵粬榛樿锛� 閿�閲忕敱楂樺埌浣庛�� + * @param order + * 鏉ユ簮锛氥�愭帹鑽愶細0 | 缁煎悎锛�4 銆佺患鍚堝彧鐪嬫湁鍒� 1 銆佺患鍚堝彧鐪嬪ぉ鐚� 1 | 浠锋牸锛氫綆鍒伴珮3 楂樺埌浣�2 | 閿�閲忥細1銆� + * 鎺掑簭鍊硷細銆愰攢閲忕敱楂樺埌浣�: 1 锛� 閿�閲忕敱浣庡埌楂� 5锛� 浠锋牸浠庨珮鍒颁綆: 2 锛� 浠锋牸浠庝綆鍒伴珮:3 锛� 鎺ㄥ箍閲忛珮鍒颁綆:4 锛� + * 鍏朵粬榛樿锛� 閿�閲忕敱楂樺埌浣庛�� * - * @param startprice 璧峰浠锋牸 - * @param endprice 缁撴潫浠锋牸 - * @param fastFilter fastFilter 鏈夊埜 [{"type":"quantype"}] 澶╃尗鍟嗗搧 - * [{"type":"shoptype"}] - * @param totalSales 閿�閲忎互涓� + * @param startprice + * 璧峰浠锋牸 + * @param endprice + * 缁撴潫浠锋牸 + * @param fastFilter + * fastFilter 鏈夊埜 [{"type":"quantype"}] 澶╃尗鍟嗗搧 [{"type":"shoptype"}] + * @param totalSales + * 閿�閲忎互涓� * @param out */ @RequestMapping(value = "getSubGoods", method = RequestMethod.POST) @@ -236,9 +249,9 @@ if (catesId.endsWith(",")) catesId = catesId.substring(0, catesId.length() - 1); sf.setCateIds(catesId); - + // 鎸夊垎绫诲悕绉版悳绱� - if (!StringUtil.isNullOrEmpty(catesId)) { + if (!StringUtil.isNullOrEmpty(catesId)) { String searchParam = goodsSubClass.getSearchJson(); Gson gs = new Gson(); SearchFilter searchfilter = gs.fromJson(searchParam, SearchFilter.class); @@ -249,9 +262,8 @@ searchfilter.setMaterialId("6707"); taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter, totalSales); - TaoBaoSearchResult searchResult = TaoKeApiUtil.searchWuLiao(searchfilter); + TaoBaoSearchResult searchResult = TaoKeApiUtil.searchWuLiao(searchfilter,null,null); long count = searchResult.getPageEntity().getTotalCount(); - List<TaoBaoGoodsBrief> resultGoodsList = searchResult.getTaoBaoGoodsBriefs(); // 鏌ヨ鏄惁瓒呰繃浜嗘渶澶х殑鍟嗗搧鏁� @@ -265,26 +277,26 @@ searchfilter.setPage((int) (count % 20 == 0 ? count / 20 - 1 : count / 20)); searchfilter.setPageSize(20); searchfilter.setKey(goodsSubClass.getKey()); - TaoBaoSearchResult searchResult2 = TaoKeApiUtil.searchWuLiao(searchfilter); + TaoBaoSearchResult searchResult2 = TaoKeApiUtil.searchWuLiao(searchfilter,null,null); if (searchResult2 != null) { List<TaoBaoGoodsBrief> resultListTemp = searchResult2.getTaoBaoGoodsBriefs(); if (resultListTemp != null) resultGoodsList.addAll(resultListTemp); } } - + Gson gson2 = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) .excludeFieldsWithoutExposeAnnotation().create(); - + JSONArray array = new JSONArray(); - BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); - BigDecimal shareRate = hongBaoManageService.getShareRate(); - if (resultGoodsList != null) + if (resultGoodsList != null) { + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(),acceptData.getSystem()); for (TaoBaoGoodsBrief goods : resultGoodsList) { - GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(goods, null, fanLiRate, shareRate); + GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO); array.add(gson2.toJson(goodsDetailVO)); } - + } JSONObject result = new JSONObject(); result.put("result", array); result.put("count", result.optLong("count") + count); @@ -302,8 +314,8 @@ searchfilter.setKey(goodsSubClass.getKey()); taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter, totalSales); - - JSONObject result = taoKeGoodsService.searchWuLiaoV2(searchfilter); + + JSONObject result = taoKeGoodsService.searchWuLiaoV2(searchfilter,acceptData.getPlatform(),acceptData.getVersion(),acceptData.getSystem()); out.print(JsonUtil.loadTrueResult(result)); return; } -- Gitblit v1.8.0