From e1a62ec62e7331d97af9302e90e1ce44af8235eb Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 27 一月 2021 15:26:55 +0800 Subject: [PATCH] 拼多多授权绑定 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java | 175 ++++++++++++++++++++++++++++++---------------------------- 1 files changed, 91 insertions(+), 84 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java index 5f45a5a..9f2116b 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java @@ -10,50 +10,50 @@ import javax.annotation.Resource; +import com.yeshi.fanli.entity.SystemEnum; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.yeshi.utils.JsonUtil; -import org.yeshi.utils.taobao.TaoBaoAuthUtil; import org.yeshi.utils.taobao.TbImgUtil; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import com.yeshi.fanli.dto.dataoke.DaTaoKeGoodsResult; +import com.yeshi.goods.facade.dto.taobao.dataoke.DaTaoKeGoodsResult; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.lable.QualityFactory; import com.yeshi.fanli.entity.bus.recommend.Honest; import com.yeshi.fanli.entity.bus.search.HotSearch; -import com.yeshi.fanli.entity.bus.su.search.SuperHotSearch; import com.yeshi.fanli.entity.system.BusinessSystem; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.entity.taobao.PidUser; import com.yeshi.fanli.entity.taobao.SearchFilter; -import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; -import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra; +import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; +import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBriefExtra; import com.yeshi.fanli.entity.taobao.TaoBaoProvince; import com.yeshi.fanli.entity.taobao.TaoBaoSearchNav; import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig; -import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail; -import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2; +import com.yeshi.goods.facade.entity.taobao.dataoke.DaTaoKeDetailV2; import com.yeshi.fanli.service.inter.config.BusinessSystemService; import com.yeshi.fanli.service.inter.config.ConfigService; -import com.yeshi.fanli.service.inter.config.SuperHotSearchService; -import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; +import com.yeshi.fanli.service.inter.config.HotSearchService; import com.yeshi.fanli.service.inter.lable.QualityGoodsService; -import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService; +import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; +import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService; import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; -import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService; +import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service; import com.yeshi.fanli.service.inter.user.HistorySearchService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.EhcacheUtil; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.ThreadUtil; import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil; -import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil; +import com.yeshi.goods.facade.utils.taobao.DaTaoKeApiUtil; import com.yeshi.fanli.util.taobao.SearchFilterUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; +import com.yeshi.fanli.vo.brand.TaoBaoShopVO; import net.sf.ehcache.Element; import net.sf.json.JSONArray; @@ -70,10 +70,10 @@ private ConfigService configService; @Resource - private SuperHotSearchService superHotSearchSerivce; - + private HotSearchService hotSearchService; + @Resource - private HistorySearchService historySearchService; + private HistorySearchService historySearchService; @Resource private HongBaoManageService manageService; @@ -82,44 +82,41 @@ private TaoBaoUnionConfigService taoBaoUnionConfigService; @Resource - private TaoKeGoodsService taoKeGoodsService; - - @Resource private QualityGoodsService qualityGoodsService; @Resource private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil; @Resource - private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService; + private TaoBaoShopService taoBaoShopService; + @Resource + private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; + + + /** + * 鐑棬鎼滅储 + * @param acceptData + * @param goodsType + * @param out + */ @RequestMapping(value = "gethotsearch", method = RequestMethod.POST) - public void getHotSearch(AcceptData acceptData, PrintWriter out) { - BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages()); - if (system == null) { - out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); - return; + public void getHotSearch(AcceptData acceptData, Integer goodsType, PrintWriter out) { + // 榛樿娣樺疂 + if (goodsType == null) { + goodsType = Constant.SOURCE_TYPE_TAOBAO; } - List<SuperHotSearch> superHotSearchList = superHotSearchSerivce - .getSuperHotSearchBySystemIdCache(system.getId()); - if (superHotSearchList == null || superHotSearchList.size() == 0) { + + List<HotSearch> list = hotSearchService.getHotSearchCache(goodsType,acceptData.getSystem()); + if (list == null || list.size() == 0) { out.print(JsonUtil.loadFalseResult("娌℃湁鏁版嵁")); return; } - List<HotSearch> hotSearchList = new ArrayList<HotSearch>(); - for (SuperHotSearch superHotSearch : superHotSearchList) { - HotSearch hotSearch = superHotSearch.getHotSearch(); - if (hotSearch != null) - hotSearchList.add(hotSearch); - } - + JSONObject data = new JSONObject(); - data.put("count", hotSearchList.size()); - data.put("hotSearchList", hotSearchList); - String result = JsonUtil.loadTrueResult(data); - out.print(result); - return; + data.put("count", list.size()); + data.put("hotSearchList", list); + out.print(JsonUtil.loadTrueResult(data)); } @RequestMapping("specialSearch") @@ -151,7 +148,7 @@ data.put("nav", gson.toJson(navList)); List<TaoBaoGoodsBriefExtra> re = new ArrayList<TaoBaoGoodsBriefExtra>(); List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs(); - BigDecimal proportion = manageService.getFanLiRate(); + BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem()); for (TaoBaoGoodsBrief bf : taoBaoGoodsBriefs) { re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), "")); } @@ -176,7 +173,7 @@ String bid = getHistorySearchBid(acceptData); historySearchService.addHistorySearch(kw, bid); BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages()); + acceptData.getPackages(),acceptData.getSystem()); if (system == null) { out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); return; @@ -197,7 +194,7 @@ filter = fastFilter; } } - JSONObject data = search(kw, page, filter, order, startprice, endprice); + JSONObject data = search(acceptData, kw, page, filter, order, startprice, endprice); out.print(JsonUtil.loadTrueResult(data)); } @@ -205,11 +202,11 @@ public JSONObject searchClass(AcceptData acceptData, String kw, int page, String filter, String order, String startprice, String endprice, String md5) { java.lang.System.out.println("searchClass"); - JSONObject data = search(kw, page, filter, order, startprice, endprice); + JSONObject data = search(acceptData, kw, page, filter, order, startprice, endprice); return data; } - private JSONObject search(String kw, int page, String filter, String order, String startprice, String endprice) { + private JSONObject search(AcceptData acceptData, String kw, int page, String filter, String order, String startprice, String endprice) { page = page + 1; SearchFilter sf = new SearchFilter(); @@ -309,7 +306,7 @@ } sf.setParams(params); } - TaoBaoSearchResult result = TaoBaoUtil.search(sf); + TaoBaoSearchResult result = TaoBaoUtil.search(sf,null,null); if (result == null) { return null; } @@ -325,7 +322,7 @@ int fq = sf.getQuan(); int fh = sf.getHongbao(); boolean ft = sf.isTmall(); - BigDecimal proportion = manageService.getFanLiRate(); + BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem()); if (fq == 0 && fh == 0 && !ft) { if (result != null && result.getTaoBaoGoodsBriefs() != null) for (TaoBaoGoodsBrief bf : result.getTaoBaoGoodsBriefs()) { @@ -414,15 +411,20 @@ historySearchService.addHistorySearch(kw, bid); - BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages()); - if (system == null) { - out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); - return; - } + // BusinessSystem system = + // businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), + // acceptData.getPackages()); + // if (system == null) { + // out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); + // return; + // } if (!StringUtil.isNullOrEmpty(kw) && (kw.startsWith("http://") || kw.startsWith("https://"))) { - out.print(JsonUtil.loadFalseResult("鏃犳硶鎼滅储閾炬帴")); + JSONObject data = new JSONObject(); + data.put("result", new JSONArray()); + data.put("count", 0); + data.put("nav", new JSONArray()); + out.print(JsonUtil.loadTrueResult(data)); return; } @@ -453,14 +455,13 @@ JSONObject data = null; if (!recommend) { - // 娣樺疂鎺ュ彛璇锋眰 - data = searchGoods(kw, page, filter, order, startprice, endprice); + data = searchGoods(acceptData, kw, page, filter, order, startprice, endprice,acceptData.getSystem()); } else { // 鎺ㄨ崘锛氱簿閫夊簱 // data = searchQualityGoods(kw, page, filter, order, startprice, // endprice); - data = searchDaTaoKeGoods(kw, page, filter, order, startprice, endprice); + data = searchDaTaoKeGoods(acceptData, kw, page, filter, order, startprice, endprice); } // 鑾峰彇鎺ㄨ崘璇� @@ -470,6 +471,12 @@ listRecommendWords = TaoBaoUtil.getSuguestSearch(kw); if (listRecommendWords == null || listRecommendWords.size() == 0) { listRecommendWords = new ArrayList<String>(); + } + + List<TaoBaoShopVO> listShop =taoBaoShopService.getShopByKey(kw,acceptData.getSystem()); + if (listShop != null && listShop.size() > 0 && listShop.get(0).getListGoods() != null + && listShop.get(0).getListGoods().size() > 2) { + data.put("shop", JsonUtil.getApiCommonGson().toJson(listShop.get(0))); } } @@ -491,8 +498,8 @@ * @param endprice * @return */ - private JSONObject searchGoods(String kw, int page, String filter, String order, String startprice, - String endprice) { + private JSONObject searchGoods(AcceptData acceptData, String kw, int page, String filter, String order, String startprice, + String endprice,SystemEnum system) { page = page + 1; SearchFilter sf = new SearchFilter(); @@ -595,26 +602,26 @@ int id = array.optJSONObject(i).optInt("id"); sf.setProvinceId(id); } else if ("tkRate1".equalsIgnoreCase(ty)) { - setSearchTkRate(0, sf); + setSearchTkRate(0, sf,system); } else if ("tkRate2".equalsIgnoreCase(ty)) { - setSearchTkRate(1, sf); + setSearchTkRate(1, sf,system); } else if ("tkRate3".equalsIgnoreCase(ty)) { - setSearchTkRate(2, sf); + setSearchTkRate(2, sf,system); } else if ("tkRate4".equalsIgnoreCase(ty)) { - setSearchTkRate(3, sf); + setSearchTkRate(3, sf,system); } else if ("tkRate5".equalsIgnoreCase(ty)) { - setSearchTkRate(4, sf); + setSearchTkRate(4, sf,system); } } sf.setParams(params); } // 鎼滅储澶ф窐瀹� - List<DaTaoKeDetail> daTaoKeList = null; + List<DaTaoKeDetailV2> daTaoKeList = null; if (page == 1) - daTaoKeList = daTaoKeGoodsDetailService.listByDtitle(kw); + daTaoKeList = daTaoKeGoodsDetailV2Service.listByDtitle(kw); - TaoBaoSearchResult result = TaoBaoUtil.search(sf); + TaoBaoSearchResult result = TaoBaoUtil.search(sf,null,null); if (result == null) { return null; } @@ -664,7 +671,7 @@ try { if (daTaoKeList != null && daTaoKeList.size() > 0) { Collections.reverse(daTaoKeList); - for (DaTaoKeDetail detail : daTaoKeList) { + for (DaTaoKeDetailV2 detail : daTaoKeList) { taoBaoGoodsBriefs.add(0, TaoBaoUtil.convert(detail)); } } @@ -674,7 +681,7 @@ int fq = sf.getQuan(); int fh = sf.getHongbao(); boolean ft = sf.isTmall(); - BigDecimal proportion = manageService.getFanLiRate(); + BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem()); if (fq == 0 && fh == 0 && !ft) { if (result != null && taoBaoGoodsBriefs != null) for (TaoBaoGoodsBrief bf : taoBaoGoodsBriefs) { @@ -719,7 +726,7 @@ /** * 鎵ц鎼滅储绮鹃�夊簱 * - * @param kw + * @param key * @param page * @param filter * @param order @@ -727,8 +734,8 @@ * @param endprice * @return */ - private JSONObject searchQualityGoods(String key, int page, String filter, String order, String startprice, - String endprice) { + private JSONObject searchQualityGoods(AcceptData acceptData, String key, int page, String filter, String order, String startprice, + String endprice, SystemEnum system) { Integer hasQuan = null; Integer userType = null; @@ -777,7 +784,7 @@ provinceId = array.optJSONObject(i).optInt("id"); } else if ("tkRate1".equalsIgnoreCase(ty)) { // 鑾峰彇瀵瑰簲鍙傛暟 - String value = configService.get("tkRate_range"); + String value = configService.getValue(ConfigKeyEnum.tkRateRange.getKey(),system); if (!StringUtil.isNullOrEmpty(value)) { JSONArray tkRatearray = JSONArray.fromObject(value); if (tkRatearray != null) { @@ -793,7 +800,7 @@ } } else if ("tkRate2".equalsIgnoreCase(ty)) { // 鑾峰彇瀵瑰簲鍙傛暟 - String value = configService.get("tkRate_range"); + String value = configService.getValue(ConfigKeyEnum.tkRateRange.getKey(),system); if (!StringUtil.isNullOrEmpty(value)) { JSONArray tkRatearray = JSONArray.fromObject(value); if (tkRatearray != null) { @@ -809,7 +816,7 @@ } } else if ("tkRate3".equalsIgnoreCase(ty)) { // 鑾峰彇瀵瑰簲鍙傛暟 - String value = configService.get("tkRate_range"); + String value = configService.getValue(ConfigKeyEnum.tkRateRange.getKey(),system); if (!StringUtil.isNullOrEmpty(value)) { JSONArray tkRatearray = JSONArray.fromObject(value); if (tkRatearray != null) { @@ -825,7 +832,7 @@ } } else if ("tkRate4".equalsIgnoreCase(ty)) { // 鑾峰彇瀵瑰簲鍙傛暟 - String value = configService.get("tkRate_range"); + String value = configService.getValue(ConfigKeyEnum.tkRateRange.getKey(),system); if (!StringUtil.isNullOrEmpty(value)) { JSONArray tkRatearray = JSONArray.fromObject(value); if (tkRatearray != null) { @@ -841,7 +848,7 @@ } } else if ("tkRate5".equalsIgnoreCase(ty)) { // 鑾峰彇瀵瑰簲鍙傛暟 - String value = configService.get("tkRate_range"); + String value = configService.getValue(ConfigKeyEnum.tkRateRange.getKey(),system); if (!StringUtil.isNullOrEmpty(value)) { JSONArray tkRatearray = JSONArray.fromObject(value); if (tkRatearray != null) { @@ -865,7 +872,7 @@ userType, start_Price, end_Price, startTkRate, endTkRate, sort); List<TaoBaoGoodsBriefExtra> listExtra = new ArrayList<TaoBaoGoodsBriefExtra>(); - BigDecimal proportion = manageService.getFanLiRate(); + BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem()); /* 閬嶅巻鍒楄〃鏁版嵁 */ if (listQuery != null && listQuery.size() > 0) { for (QualityFactory selectionGoods : listQuery) { @@ -934,9 +941,9 @@ return data; } - private JSONObject searchDaTaoKeGoods(String key, int page, String filter, String order, String startprice, + private JSONObject searchDaTaoKeGoods(AcceptData acceptData, String key, int page, String filter, String order, String startprice, String endprice) { - page=page+1; + page = page + 1; int sort = DaTaoKeApiUtil.SORT_DEFAULT; if ("5".equalsIgnoreCase(order)) { sort = DaTaoKeApiUtil.SORT_COMMISSION; @@ -949,9 +956,9 @@ } List<TaoBaoGoodsBriefExtra> listExtra = new ArrayList<TaoBaoGoodsBriefExtra>(); - BigDecimal proportion = manageService.getFanLiRate(); + BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem()); - DaTaoKeGoodsResult result = DaTaoKeApiUtil.search(key, null, page, 20, sort); + DaTaoKeGoodsResult result = DaTaoKeApiUtil.search(key, null, null, null, page, 20, sort); if (result != null && result.getGoodsList() != null) for (DaTaoKeDetailV2 goods : result.getGoodsList()) { listExtra.add( @@ -977,9 +984,9 @@ * @param i * @param sf */ - public void setSearchTkRate(int i, SearchFilter sf) { + public void setSearchTkRate(int i, SearchFilter sf,SystemEnum system) { // 鑾峰彇瀵瑰簲鍙傛暟 - String value = configService.get("tkRate_range"); + String value = configService.getValue(ConfigKeyEnum.tkRateRange.getKey(),system); if (!StringUtil.isNullOrEmpty(value)) { -- Gitblit v1.8.0