From 73a3d86a47d8da711b609cd224c63526f7d00f9b Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 22 七月 2020 12:49:06 +0800 Subject: [PATCH] 比价相关的bug修复 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java | 1917 +++++++++++++++++++++++++++++------------------------------ 1 files changed, 952 insertions(+), 965 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java index ef38fb2..24575f2 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java @@ -9,6 +9,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpSession; +import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -94,1100 +95,1086 @@ @RequestMapping("api/v2/search") public class SearchControllerV2 { - @Resource - private BusinessSystemService businessSystemService; + @Resource + private ConfigService configService; - @Resource - private ConfigService configService; + @Resource + private HistorySearchService historySearchService; - @Resource - private SuperHotSearchService superHotSearchSerivce; + @Resource + private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil; - @Resource - private HistorySearchService historySearchService; + @Resource + private TaoBaoShopService taoBaoShopService; - @Resource - private HongBaoManageService hongBaoManageService; + @Resource + private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; - @Resource - private TaoBaoUnionConfigService taoBaoUnionConfigService; + @Resource(name = "taskExecutor") + private TaskExecutor executor; - @Resource - private TaoKeGoodsService taoKeGoodsService; + @Resource + private TokenRecordService tokenRecordService; - @Resource - private QualityGoodsService qualityGoodsService; + @Resource + private IntegralGetService integralGetService; - @Resource - private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil; + @Resource + private IntegralGetCacheManager integralGetCacheManager; - @Resource - private TaoBaoShopService taoBaoShopService; + @Resource + private BrandInfoService brandInfoService; - @Resource - private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; + @Resource + private ClipboardAnalysisManager clipboardAnalysisManager; - @Resource(name = "taskExecutor") - private TaskExecutor executor; + @Resource + private JumpDetailV2Service jumpDetailV2Service; - @Resource - private TokenRecordService tokenRecordService; + @Resource + private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; - @Resource - private IntegralGetService integralGetService; + @Resource + private AppPageNotificationService appPageNotificationService; - @Resource - private IntegralGetCacheManager integralGetCacheManager; + @Resource + private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService; - @Resource - private BrandInfoService brandInfoService; + /** + * 绮樿创鏉夸俊鎭帹鑽� + * + * @param acceptData + * @param text + * @param uid + * @param out + */ + @RequestMapping(value = "getRecommendInfo", method = RequestMethod.POST) + public void getRecommendInfo(AcceptData acceptData, String text, Long uid, PrintWriter out) { + if (StringUtil.isNullOrEmpty(text)) { + out.print(JsonUtil.loadFalseResult("鍊间负绌�")); + return; + } + // 鍘婚櫎鍓嶅悗绌烘牸 + text = text.trim(); + String originalText = text; - @Resource - private JDGoodsLinkParseManager jdGoodsLinkParseManager; + JSONObject data = new JSONObject(); - @Resource - private ClipboardAnalysisManager clipboardAnalysisManager; + clipboardAnalysisManager.parse(acceptData.getPlatform(), acceptData.getVersion(), originalText, uid, + new IClipboardAnalysisResult() { - @Resource - private JumpDetailV2Service jumpDetailV2Service; + @Override + public void onResult(GoodsDocParseResultVO result) { + if (uid == null) { + out.print(JsonUtil.loadFalseResult("鏃犳帹鑽�")); + return; + } - @Resource - private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; + JSONObject root = new JSONObject(); + root.put("type", 20); + JSONObject data = new JSONObject(); + data.put("text", originalText); + // + int platformCode = Constant.getPlatformCode(acceptData.getPlatform()); + int version = Integer.parseInt(acceptData.getVersion()); + JumpDetailContentVO convert = new JumpDetailContentVO(); + convert.setJumpDetail(jumpDetailV2Service.getByTypeCache("web", platformCode, version)); + JSONObject convertParams = new JSONObject(); + convertParams.put("url", configService.getValue(ConfigKeyEnum.convertDocWebLink.getKey(), acceptData.getSystem())); + convertParams.put("clipboard", false); + convert.setParams(convertParams); - @Resource - private AppPageNotificationService appPageNotificationService; + JumpDetailContentVO view = null; + JumpDetailContentVO guessLike = null; - /** - * 绮樿创鏉夸俊鎭帹鑽� - * - * @param acceptData - * @param url - * 鍟嗗搧閾炬帴 - * @param out - */ - @RequestMapping(value = "getRecommendInfo", method = RequestMethod.POST) - public void getRecommendInfo(AcceptData acceptData, String text, Long uid, PrintWriter out) { - if (StringUtil.isNullOrEmpty(text)) { - out.print(JsonUtil.loadFalseResult("鍊间负绌�")); - return; - } - // 鍘婚櫎鍓嶅悗绌烘牸 - text = text.trim(); - String originalText = text; + Gson gson = JsonUtil.getApiCommonGson(); + data.put("title", "鏅鸿兘鎼滅储"); - JSONObject data = new JSONObject(); + int state = 0; + if (result.getFirstGoods() != null && result.getFirstGoods().getGoodsId() != null) { + state = 2; + data.put("stateDesc", "閫夋嫨鎼滃埜鎴栬浆閾�"); + JSONObject params = new JSONObject(); + params.put("id", result.getFirstGoods().getGoodsId() + ""); + params.put("from", "杞摼"); + if (result.getFirstGoods().getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { + view = new JumpDetailContentVO(); + view.setJumpDetail( + jumpDetailV2Service.getByTypeCache("goodsdetail", platformCode, version)); + view.setParams(params); + } else if (result.getFirstGoods().getGoodsType() == Constant.SOURCE_TYPE_JD) { + view = new JumpDetailContentVO(); + view.setJumpDetail( + jumpDetailV2Service.getByTypeCache("goodsdetail_jd", platformCode, version)); + view.setParams(params); + } else if (result.getFirstGoods().getGoodsType() == Constant.SOURCE_TYPE_PDD) { + view = new JumpDetailContentVO(); + view.setJumpDetail( + jumpDetailV2Service.getByTypeCache("goodsdetail_pdd", platformCode, version)); + view.setParams(params); + } - clipboardAnalysisManager.parse(acceptData.getPlatform(), acceptData.getVersion(), originalText, uid, - new IClipboardAnalysisResult() { + } else if (!StringUtil.isNullOrEmpty(result.getFirstLink())) { + state = 2; + data.put("stateDesc", "閫夋嫨鎼滃埜鎴栬浆閾�"); + view = new JumpDetailContentVO(); + view.setJumpDetail(jumpDetailV2Service.getByTypeCache("web", platformCode, version)); + JSONObject params = new JSONObject(); + params.put("url", result.getFirstLink()); + view.setParams(params); + } else { + data.put("stateDesc", "鍘昏瘯璇曡浆閾�"); + state = 1; + } + data.put("state", state); + if (convert != null) + data.put("convert", gson.toJson(convert)); + if (view != null) + data.put("view", gson.toJson(view)); - @Override - public void onResult(GoodsDocParseResultVO result) { - if (uid == null) { - out.print(JsonUtil.loadFalseResult("鏃犳帹鑽�")); - return; - } + if (guessLike != null) + data.put("guessLike", gson.toJson(guessLike)); - JSONObject root = new JSONObject(); - root.put("type", 20); - JSONObject data = new JSONObject(); - data.put("text", originalText); - // - int platformCode = Constant.getPlatformCode(acceptData.getPlatform()); - int version = Integer.parseInt(acceptData.getVersion()); - JumpDetailContentVO convert = new JumpDetailContentVO(); - convert.setJumpDetail(jumpDetailV2Service.getByTypeCache("web", platformCode, version)); - JSONObject convertParams = new JSONObject(); - convertParams.put("url", configService.getValue(ConfigKeyEnum.convertDocWebLink.getKey(),acceptData.getSystem())); - convertParams.put("clipboard", false); - convert.setParams(convertParams); + root.put("data", data); + out.print(JsonUtil.loadTrueResult(root)); + return; + } - JumpDetailContentVO view = null; - JumpDetailContentVO guessLike = null; + @Override + public void onResult(String result) { + JSONObject root = new JSONObject(); + root.put("type", 2); + JSONObject data = new JSONObject(); + data.put("title", result); + root.put("data", data); + out.print(JsonUtil.loadTrueResult(root)); + return; + } - Gson gson = JsonUtil.getApiCommonGson(); - data.put("title", "鏅鸿兘鎼滅储"); + @Override + public void onResult(CommonGoods goods) { + if (goods.getGoodsId() != null) { + if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) {// 1.6.5鐗堟湰鍚庤繑鍥炲晢鍝佽鎯� + if (goods.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { + TaoBaoGoodsBrief goodsBrief = null; + String specialId = userExtraTaoBaoInfoService.getSpecialIdByUid(uid); + try { + goodsBrief = TaoKeApiUtil.searchGoodsDetail(goods.getGoodsId(),specialId,null); + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } - int state = 0; - if (result.getFirstGoods() != null && result.getFirstGoods().getGoodsId() != null) { - state = 2; - data.put("stateDesc", "閫夋嫨鎼滃埜鎴栬浆閾�"); - JSONObject params = new JSONObject(); - params.put("id", result.getFirstGoods().getGoodsId() + ""); - params.put("from", "杞摼"); - if (result.getFirstGoods().getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { - view = new JumpDetailContentVO(); - view.setJumpDetail( - jumpDetailV2Service.getByTypeCache("goodsdetail", platformCode, version)); - view.setParams(params); - } else if (result.getFirstGoods().getGoodsType() == Constant.SOURCE_TYPE_JD) { - view = new JumpDetailContentVO(); - view.setJumpDetail( - jumpDetailV2Service.getByTypeCache("goodsdetail_jd", platformCode, version)); - view.setParams(params); - } else if (result.getFirstGoods().getGoodsType() == Constant.SOURCE_TYPE_PDD) { - view = new JumpDetailContentVO(); - view.setJumpDetail( - jumpDetailV2Service.getByTypeCache("goodsdetail_pdd", platformCode, version)); - view.setParams(params); - } + if (goodsBrief != null) { + goods = CommonGoodsFactory.create(goodsBrief); + Gson gson = JsonUtil + .getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) + .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd") + .create(); + data.put("type", 3); + data.put("goods", + gson.toJson( + GoodsDetailVOFactory.convertCommonGoods(goods, + orderHongBaoMoneyComputeService.getShowComputeRate( + acceptData.getPlatform(), + acceptData.getVersion(), acceptData.getSystem())))); + // 璺宠浆璇︽儏 + if (VersionUtil.greaterThan_2_1_3(acceptData.getPlatform(), + acceptData.getVersion())) { + buildGoodsClick(data, goods, acceptData, gson); + } - } else if (!StringUtil.isNullOrEmpty(result.getFirstLink())) { - state = 2; - data.put("stateDesc", "閫夋嫨鎼滃埜鎴栬浆閾�"); - view = new JumpDetailContentVO(); - view.setJumpDetail(jumpDetailV2Service.getByTypeCache("web", platformCode, version)); - JSONObject params = new JSONObject(); - params.put("url", result.getFirstLink()); - view.setParams(params); - } else { - data.put("stateDesc", "鍘昏瘯璇曡浆閾�"); - state = 1; - } - data.put("state", state); - if (convert != null) - data.put("convert", gson.toJson(convert)); - if (view != null) - data.put("view", gson.toJson(view)); + out.print(JsonUtil.loadTrueResult(data)); + return; + } + } else { + Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) + .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd") + .create(); + data.put("type", 3); + data.put("goods", + gson.toJson( + GoodsDetailVOFactory.convertCommonGoods(goods, + orderHongBaoMoneyComputeService.getShowComputeRate( + acceptData.getPlatform(), + acceptData.getVersion(), acceptData.getSystem())))); + // if + // (VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), + // acceptData.getVersion())) { + // buildGoodsClick(data, goods, acceptData, + // gson); + // } + out.print(JsonUtil.loadTrueResult(data)); + return; + } + } else { + // 浣庝簬1.6.5鐗堟湰 + JSONObject taoBaoGoodsJSON = new JSONObject(); + taoBaoGoodsJSON.put("title", goods.getTitle()); + taoBaoGoodsJSON.put("zkPrice", goods.getPrice() + ""); + taoBaoGoodsJSON.put("id", goods.getGoodsId()); + taoBaoGoodsJSON.put("goodsType", goods.getGoodsType()); + if (goods.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { + taoBaoGoodsJSON.put("url", + "http://item.taobao.com/item.htm?id=" + goods.getGoodsId()); + } else if (goods.getGoodsType() == Constant.SOURCE_TYPE_JD) { + taoBaoGoodsJSON.put("url", + String.format("https://item.jd.com/%s.html", goods.getGoodsId() + "")); + } else if (goods.getGoodsType() == Constant.SOURCE_TYPE_PDD) { + taoBaoGoodsJSON.put("url", + "http://yangkeduo.com/goods.html?goods_id=" + goods.getGoodsId()); + } + data.put("goods", taoBaoGoodsJSON); + List<String> picList = new ArrayList<>(); + picList.add(goods.getPicture()); + data.put("imgs", picList); + JSONObject root = new JSONObject(); + root.put("type", 1); + root.put("data", data); + out.print(JsonUtil.loadTrueResult(root)); + return; + } + } - if (guessLike != null) - data.put("guessLike", gson.toJson(guessLike)); + JSONObject goodsJSON = new JSONObject(); + goodsJSON.put("title", goods.getTitle()); + goodsJSON.put("pictUrl", goods.getPicture()); - root.put("data", data); - out.print(JsonUtil.loadTrueResult(root)); - return; - } + data.put("type", 4); + data.put("desc", "璇ュ晢鍝佹棤鎺ㄥ箍淇℃伅"); + data.put("goods", goodsJSON); + out.print(JsonUtil.loadTrueResult(data)); + return; + } - @Override - public void onResult(String result) { - JSONObject root = new JSONObject(); - root.put("type", 2); - JSONObject data = new JSONObject(); - data.put("title", result); - root.put("data", data); - out.print(JsonUtil.loadTrueResult(root)); - return; - } + @Override + public void onResult(TokenVO tokenVO) { + out.print(JsonUtil.loadTrueResult(tokenVO)); + return; + } - @Override - public void onResult(CommonGoods goods) { - if (goods.getGoodsId() != null) { - if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) {// 1.6.5鐗堟湰鍚庤繑鍥炲晢鍝佽鎯� - if (goods.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { - TaoBaoGoodsBrief goodsBrief = null; - try { - goodsBrief = TaoKeApiUtil.searchGoodsDetail(goods.getGoodsId()); - } catch (TaobaoGoodsDownException e) { - e.printStackTrace(); - } + @Override + public void none() { + out.print(JsonUtil.loadFalseResult("鏃犳帹鑽�")); + } - if (goodsBrief != null) { - goods = CommonGoodsFactory.create(goodsBrief); - Gson gson = JsonUtil - .getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) - .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd") - .create(); - data.put("type", 3); - data.put("goods", - gson.toJson( - GoodsDetailVOFactory.convertCommonGoods(goods, - orderHongBaoMoneyComputeService.getShowComputeRate( - acceptData.getPlatform(), - acceptData.getVersion(),acceptData.getSystem())))); - // 璺宠浆璇︽儏 - if (VersionUtil.greaterThan_2_1_3(acceptData.getPlatform(), - acceptData.getVersion())) { - buildGoodsClick(data, goods, acceptData, gson); - } + @Override + public void needLogin(String msg) { + out.print(JsonUtil.loadFalseResult(1001, msg)); + } + }); + } - out.print(JsonUtil.loadTrueResult(data)); - return; - } - } else { - Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) - .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd") - .create(); - data.put("type", 3); - data.put("goods", - gson.toJson( - GoodsDetailVOFactory.convertCommonGoods(goods, - orderHongBaoMoneyComputeService.getShowComputeRate( - acceptData.getPlatform(), - acceptData.getVersion(),acceptData.getSystem())))); - // if - // (VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), - // acceptData.getVersion())) { - // buildGoodsClick(data, goods, acceptData, - // gson); - // } - out.print(JsonUtil.loadTrueResult(data)); - return; - } - } else { - // 浣庝簬1.6.5鐗堟湰 - JSONObject taoBaoGoodsJSON = new JSONObject(); - taoBaoGoodsJSON.put("title", goods.getTitle()); - taoBaoGoodsJSON.put("zkPrice", goods.getPrice() + ""); - taoBaoGoodsJSON.put("id", goods.getGoodsId()); - taoBaoGoodsJSON.put("goodsType", goods.getGoodsType()); - if (goods.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { - taoBaoGoodsJSON.put("url", - "http://item.taobao.com/item.htm?id=" + goods.getGoodsId()); - } else if (goods.getGoodsType() == Constant.SOURCE_TYPE_JD) { - taoBaoGoodsJSON.put("url", - String.format("https://item.jd.com/%s.html", goods.getGoodsId() + "")); - } else if (goods.getGoodsType() == Constant.SOURCE_TYPE_PDD) { - taoBaoGoodsJSON.put("url", - "http://yangkeduo.com/goods.html?goods_id=" + goods.getGoodsId()); - } - data.put("goods", taoBaoGoodsJSON); - List<String> picList = new ArrayList<>(); - picList.add(goods.getPicture()); - data.put("imgs", picList); - JSONObject root = new JSONObject(); - root.put("type", 1); - root.put("data", data); - out.print(JsonUtil.loadTrueResult(root)); - return; - } - } + private void buildGoodsClick(JSONObject data, CommonGoods goods, AcceptData acceptData, Gson gson) { - JSONObject goodsJSON = new JSONObject(); - goodsJSON.put("title", goods.getTitle()); - goodsJSON.put("pictUrl", goods.getPicture()); + JSONObject params = new JSONObject(); + params.put("id", goods.getGoodsId() + ""); + params.put("from", "鐚滀綘鍠滄"); - data.put("type", 4); - data.put("desc", "璇ュ晢鍝佹棤鎺ㄥ箍淇℃伅"); - data.put("goods", goodsJSON); - out.print(JsonUtil.loadTrueResult(data)); - return; - } + String type = ""; + switch (goods.getGoodsType()) { + case Constant.SOURCE_TYPE_TAOBAO: + type = "goodsdetail"; + break; + case Constant.SOURCE_TYPE_JD: + type = "goodsdetail_jd"; + break; + case Constant.SOURCE_TYPE_PDD: + type = "goodsdetail_pdd"; + break; + case Constant.SOURCE_TYPE_VIP: + type = "goodsdetail_vip"; + break; + case Constant.SOURCE_TYPE_SUNING: + type = "goodsdetail_suning"; + break; - @Override - public void onResult(TokenVO tokenVO) { - out.print(JsonUtil.loadTrueResult(tokenVO)); - return; - } + } - @Override - public void none() { - out.print(JsonUtil.loadFalseResult("鏃犳帹鑽�")); - } + RecommendJumpInfoVO left = new RecommendJumpInfoVO("鍘荤湅鐪�", jumpDetailV2Service.getByTypeCache(type, + Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())), params); + data.put("left", gson.toJson(left)); - @Override - public void needLogin(String msg) { - out.print(JsonUtil.loadFalseResult(1001, msg)); - } - }); - } + // 鍘荤綉椤� + String rightValue = configService.getByVersion(ConfigKeyEnum.clipboardRecommendGoodsMakeMore.getKey(), + acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()), acceptData.getSystem()); - private void buildGoodsClick(JSONObject data, CommonGoods goods, AcceptData acceptData, Gson gson) { + if (StringUtil.isNullOrEmpty(rightValue)) { + data.remove("left"); + } else { + params = new JSONObject(); + params.put("url", rightValue); - JSONObject params = new JSONObject(); - params.put("id", goods.getGoodsId() + ""); - params.put("from", "鐚滀綘鍠滄"); + RecommendJumpInfoVO right = new RecommendJumpInfoVO("鏈夋洿楂樿繑鍒╋紵", jumpDetailV2Service.getByTypeCache("web", + Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())), + params); + data.put("right", gson.toJson(right)); + } + } - String type = ""; - switch (goods.getGoodsType()) { - case Constant.SOURCE_TYPE_TAOBAO: - type = "goodsdetail"; - break; - case Constant.SOURCE_TYPE_JD: - type = "goodsdetail_jd"; - break; - case Constant.SOURCE_TYPE_PDD: - type = "goodsdetail_pdd"; - break; - case Constant.SOURCE_TYPE_VIP: - type = "goodsdetail_vip"; - break; - case Constant.SOURCE_TYPE_SUNING: - type = "goodsdetail_suning"; - break; + /** + * 鍙d护棰嗗彇 + * + * @param acceptData + * @param uid + * @param token + * @param out + */ + @RequestSerializableByKey(key = "'tokenReceive-'+#uid") + @RequestMapping(value = "tokenReceive", method = RequestMethod.POST) + public void tokenReceive(AcceptData acceptData, Long uid, String token, PrintWriter out) { + try { + String msg = tokenRecordService.receiveToken(token, uid, acceptData); + out.print(JsonUtil.loadTrueResult(msg)); + } catch (TokenRecordException e) { + out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + } + } - } + /** + * 鎼滅储鍊欓�夎瘝 + * + * @param acceptData + * @param kw + * @param out + */ + @RequestMapping(value = "suggestSearch", method = RequestMethod.POST) + public void getSugguestSearch(AcceptData acceptData, String kw, Integer goodsType, PrintWriter out) { + if (goodsType == null) { + out.print(JsonUtil.loadFalseResult("骞冲彴绫诲瀷涓嶈兘涓虹┖")); + return; + } - RecommendJumpInfoVO left = new RecommendJumpInfoVO("鍘荤湅鐪�", jumpDetailV2Service.getByTypeCache(type, - Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())), params); - data.put("left", gson.toJson(left)); + List<String> list = null; + if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { + list = TaoBaoUtil.getSuguestSearch(kw); + } else if (goodsType == Constant.SOURCE_TYPE_JD) { + list = JDUtil.suggestSearch(kw); + } else if (goodsType == Constant.SOURCE_TYPE_PDD) { + list = PinDuoDuoUtil.suggestSearch(kw); + } - // 鍘荤綉椤� - String rightValue = configService.getByVersion(ConfigKeyEnum.clipboardRecommendGoodsMakeMore.getKey(), - acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()),acceptData.getSystem()); + if (list == null || list.size() == 0) { + out.print(JsonUtil.loadFalseResult("鏆傛棤寤鸿鍐呭")); + return; + } - if (StringUtil.isNullOrEmpty(rightValue)) { - data.remove("left"); - } else { - params = new JSONObject(); - params.put("url", rightValue); + JSONArray array = new JSONArray(); + for (String words : list) { + array.add(words); + } + out.print(JsonUtil.loadTrueResult(array)); + } - RecommendJumpInfoVO right = new RecommendJumpInfoVO("鏈夋洿楂樿繑鍒╋紵", jumpDetailV2Service.getByTypeCache("web", - Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())), - params); - data.put("right", gson.toJson(right)); - } - } + /** + * @param acceptData + * @param goodsType + * @param key + * @param page + * @param filter + * @param order 閿�閲忕敱楂樺埌浣�:1 銆� 浠锋牸浠庨珮鍒颁綆:2 銆� 浠锋牸浠庝綆鍒伴珮:3 銆� 鎺ㄥ箍閲忛珮鍒颁綆:4锛堢患鍚堥粯璁わ級銆佽繑鍒╂瘮楂樺埌浣�:5 + * * 銆佽繑鍒╂瘮浣庡埌楂�:6 銆佹帹鑽�20 + * @param uid + * @param notifyType + * @param session + * @param out + */ + @RequestMapping(value = "searchGoods") + public void searchGoods(AcceptData acceptData, Integer goodsType, String key, Integer page, String filter, + Integer order, Long uid, String notifyType, HttpSession session, PrintWriter out) { - /** - * 鍙d护棰嗗彇 - * - * @param acceptData - * @param kw - * @param goodsType - * @param out - */ - @RequestSerializableByKey(key = "'tokenReceive-'+#uid") - @RequestMapping(value = "tokenReceive", method = RequestMethod.POST) - public void tokenReceive(AcceptData acceptData, Long uid, String token, PrintWriter out) { - try { - String msg = tokenRecordService.receiveToken(token, uid, acceptData); - out.print(JsonUtil.loadTrueResult(msg)); - } catch (TokenRecordException e) { - out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); - } - } + if (goodsType == null || goodsType < 1 || goodsType > 5) { + out.print(JsonUtil.loadFalseResult(1, "璇蜂紶閫掓纭钩鍙板弬鏁�")); + return; + } - /** - * 鎼滅储鍊欓�夎瘝 - * - * @param acceptData - * @param kw - * @param out - */ - @RequestMapping(value = "suggestSearch", method = RequestMethod.POST) - public void getSugguestSearch(AcceptData acceptData, String kw, Integer goodsType, PrintWriter out) { - if (goodsType == null) { - out.print(JsonUtil.loadFalseResult("骞冲彴绫诲瀷涓嶈兘涓虹┖")); - return; - } + if (page == null || page < 1) { + out.print(JsonUtil.loadFalseResult(1, "椤电爜涓嶈兘灏忎簬1")); + return; + } - List<String> list = null; - if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { - list = TaoBaoUtil.getSuguestSearch(kw); - } else if (goodsType == Constant.SOURCE_TYPE_JD) { - list = JDUtil.suggestSearch(kw); - } else if (goodsType == Constant.SOURCE_TYPE_PDD) { - list = PinDuoDuoUtil.suggestSearch(kw); - } + if (StringUtil.isNullOrEmpty(key)) { + out.print(JsonUtil.loadFalseResult(1, "璇疯緭鍏ユ悳绱㈠唴瀹�")); + return; + } + final String searchkey = key.trim(); - if (list == null || list.size() == 0) { - out.print(JsonUtil.loadFalseResult("鏆傛棤寤鸿鍐呭")); - return; - } + if (uid != null) { + if (page == 1) { + integralGetCacheManager.cacheSearchGoods(acceptData.getDevice(), System.currentTimeMillis()); + } else if (page > 1) { + Long lastTime = integralGetCacheManager.getLastSearchTime(acceptData.getDevice()); + if (lastTime != null && System.currentTimeMillis() - lastTime >= 15 * 1000L) {// 瓒呰繃15s娴忚 + integralGetCacheManager.clearSearchTime(acceptData.getDevice()); + ThreadUtil.run(new Runnable() { + @Override + public void run() { + // 澧炲姞閲戝竵 + integralGetService.addSearchResultScan(uid, key); + } + }); + } + } + } - JSONArray array = new JSONArray(); - for (String words : list) { - array.add(words); - } - out.print(JsonUtil.loadTrueResult(array)); - } + executor.execute(new Runnable() { + @Override + public void run() { + StringBuffer sb = new StringBuffer(); + String link = "#$$$#"; + String platform = acceptData.getPlatform(); + String packages = acceptData.getPackages(); + String device = acceptData.getDevice(); + sb.append(platform).append(link).append(packages).append(link).append(device); + String bid = StringUtil.Md5(sb.toString()); - /** - * 鎼滅储-鏂扮増 - * - * @param acceptData - * @param kw - * @param page - * @param filter - * @param order - * 閿�閲忕敱楂樺埌浣�:1 銆� 浠锋牸浠庨珮鍒颁綆:2 銆� 浠锋牸浠庝綆鍒伴珮:3 銆� 鎺ㄥ箍閲忛珮鍒颁綆:4锛堢患鍚堥粯璁わ級銆佽繑鍒╂瘮楂樺埌浣�:5 - * 銆佽繑鍒╂瘮浣庡埌楂�:6 銆佹帹鑽�20 - * @param startprice - * @param endprice - * @param fastFilter - * @param out - */ - @RequestMapping(value = "searchGoods") - public void searchGoods(AcceptData acceptData, Integer goodsType, String key, Integer page, String filter, - Integer order, Long uid, String notifyType, HttpSession session, PrintWriter out) { + // 鍔犲叆鎼滅储鍘嗗彶璁板綍 + historySearchService.addHistorySearch(searchkey, bid); + } + }); - if (goodsType == null || goodsType < 1 || goodsType > 5) { - out.print(JsonUtil.loadFalseResult(1, "璇蜂紶閫掓纭钩鍙板弬鏁�")); - return; - } + if (searchkey.startsWith("http://") || searchkey.startsWith("https://")) { + JSONObject data = new JSONObject(); + data.put("result", new JSONArray()); + data.put("count", 0); + out.print(JsonUtil.loadTrueResult(data)); + return; + } + AppPageNotification ap = null; + if (page == 1) { + ap = appPageNotificationService.getValidNotificationByTypeCache(notifyType, acceptData.getPlatform(), + Integer.parseInt(acceptData.getVersion()), acceptData.getSystem()); + // 娌℃湁閫氱煡 + if (ap == null || !ap.getShow()) { + ap = null; + } - if (page == null || page < 1) { - out.print(JsonUtil.loadFalseResult(1, "椤电爜涓嶈兘灏忎簬1")); - return; - } + // else {// 鏈夐�氱煡 + // Gson gson = new + // GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); + // out.print(JsonUtil.loadTrueResult(gson.toJson(ap))); + // } + } - if (StringUtil.isNullOrEmpty(key)) { - out.print(JsonUtil.loadFalseResult(1, "璇疯緭鍏ユ悳绱㈠唴瀹�")); - return; - } - final String searchkey = key.trim(); + /*--------- 浜笢鍟嗗搧 -------*/ + if (goodsType.intValue() == Constant.SOURCE_TYPE_JD) { + searchJDGoods(acceptData, searchkey, page, filter, order, ap, out); + return; + } - if (uid != null) { - if (page == 1) { - integralGetCacheManager.cacheSearchGoods(acceptData.getDevice(), System.currentTimeMillis()); - } else if (page > 1) { - Long lastTime = integralGetCacheManager.getLastSearchTime(acceptData.getDevice()); - if (lastTime != null && System.currentTimeMillis() - lastTime >= 15 * 1000L) {// 瓒呰繃15s娴忚 - integralGetCacheManager.clearSearchTime(acceptData.getDevice()); - ThreadUtil.run(new Runnable() { - @Override - public void run() { - // 澧炲姞閲戝竵 - integralGetService.addSearchResultScan(uid, key); - } - }); - } - } - } + /*-------- 鎷煎澶氬晢鍝� -------*/ + if (goodsType.intValue() == Constant.SOURCE_TYPE_PDD) { + searchPDDGoods(acceptData, searchkey, page, filter, order, ap, out); + return; + } - executor.execute(new Runnable() { - @Override - public void run() { - StringBuffer sb = new StringBuffer(); - String link = "#$$$#"; - String platform = acceptData.getPlatform(); - String packages = acceptData.getPackages(); - String device = acceptData.getDevice(); - sb.append(platform).append(link).append(packages).append(link).append(device); - String bid = StringUtil.Md5(sb.toString()); + /*-------- 鍞搧浼氬晢鍝� ------*/ + if (goodsType.intValue() == Constant.SOURCE_TYPE_VIP) { + searchVIPGoods(acceptData, searchkey, page, filter, order, ap, out); + return; + } - // 鍔犲叆鎼滅储鍘嗗彶璁板綍 - historySearchService.addHistorySearch(searchkey, bid); - } - }); + /*-------- 鑻忓畞鍟嗗搧 ------*/ + if (goodsType.intValue() == Constant.SOURCE_TYPE_SUNING) { + searchSuningGoods(acceptData, searchkey, page, filter, order, ap, out); + return; + } - if (searchkey.startsWith("http://") || searchkey.startsWith("https://")) { - JSONObject data = new JSONObject(); - data.put("result", new JSONArray()); - data.put("count", 0); - out.print(JsonUtil.loadTrueResult(data)); - return; - } - AppPageNotification ap = null; - if (page == 1) { - ap = appPageNotificationService.getValidNotificationByTypeCache(notifyType, acceptData.getPlatform(), - Integer.parseInt(acceptData.getVersion()),acceptData.getSystem()); - // 娌℃湁閫氱煡 - if (ap == null || !ap.getShow()) { - ap = null; - } + /*-------- 娣樺疂鍟嗗搧 -------*/ + searchTaoBaoGoods(acceptData, uid, searchkey, page, filter, order, ap, out); - // else {// 鏈夐�氱煡 - // Gson gson = new - // GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); - // out.print(JsonUtil.loadTrueResult(gson.toJson(ap))); - // } - } + } - /*--------- 浜笢鍟嗗搧 -------*/ - if (goodsType.intValue() == Constant.SOURCE_TYPE_JD) { - searchJDGoods(acceptData, searchkey, page, filter, order, ap, out); - return; - } + /** + * 鎵ц鎼滅储-鏂扮増 + * + * @param acceptData + * @param uid + * @param key + * @param page + * @param filter + * @param order + * @param ap + * @param out + */ + private void searchTaoBaoGoods(AcceptData acceptData, Long uid, String key, Integer page, String filter, Integer order, + AppPageNotification ap, PrintWriter out) { + SearchFilter sf = new SearchFilter(); + sf.setKey(SearchFilterUtil.filterSearchContent(key)); + sf.setPage(page); + sf.setPageSize(Constant.PAGE_SIZE); - /*-------- 鎷煎澶氬晢鍝� -------*/ - if (goodsType.intValue() == Constant.SOURCE_TYPE_PDD) { - searchPDDGoods(acceptData, searchkey, page, filter, order, ap, out); - return; - } + if (order != null) { + if (order == 1) { // 閿�閲忛珮鍒颁綆 + sf.setSort(TaoBaoUtil.SORT_SALE_HIGH_TO_LOW); + } else if (order == 2) { // 浠锋牸楂樺埌浣� + sf.setSort(TaoBaoUtil.SORT_PRICE_HIGH_TO_LOW); + } else if (order == 3) { // 浠锋牸浣庡埌楂� + sf.setSort(TaoBaoUtil.SORT_PRICE_LOW_TO_HIGH); + } else if (order == 4) { // 杩斿埄姣旈珮鍒颁綆 + sf.setSort(TaoBaoUtil.SORT_TKRATE_HIGH_TO_LOW); + } + } - /*-------- 鍞搧浼氬晢鍝� ------*/ - if (goodsType.intValue() == Constant.SOURCE_TYPE_VIP) { - searchVIPGoods(acceptData, searchkey, page, filter, order, ap, out); - return; - } + if (!StringUtil.isNullOrEmpty(filter)) { + JSONObject jsonfilter = JSONObject.fromObject(filter); + Boolean coupon = jsonfilter.optBoolean("coupon"); + if (coupon != null && coupon) { + sf.setQuan(1); // 鏈夊埜 + } - /*-------- 鑻忓畞鍟嗗搧 ------*/ - if (goodsType.intValue() == Constant.SOURCE_TYPE_SUNING) { - searchSuningGoods(acceptData, searchkey, page, filter, order, ap, out); - return; - } + Boolean tmall = jsonfilter.optBoolean("tmall"); + if (tmall != null && tmall) { + sf.setTmall(true); // 澶╃尗 + } - /*-------- 娣樺疂鍟嗗搧 -------*/ - searchTaoBaoGoods(acceptData, searchkey, page, filter, order, ap, out); + String minPrice = jsonfilter.optString("minPrice"); + if (!StringUtil.isNullOrEmpty(minPrice)) { + sf.setStartPrice(new BigDecimal(minPrice)); + } - } + String maxPrice = jsonfilter.optString("maxPrice"); + if (!StringUtil.isNullOrEmpty(maxPrice)) { + sf.setEndPrice(new BigDecimal(maxPrice)); + } + } - /** - * 鎵ц鎼滅储-鏂扮増 - * - * @param kw - * @param page - * @param filter - * @param order - * @param startprice - * @param endprice - * @return - */ - private void searchTaoBaoGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order, - AppPageNotification ap, PrintWriter out) { - SearchFilter sf = new SearchFilter(); - sf.setKey(SearchFilterUtil.filterSearchContent(key)); - sf.setPage(page); - sf.setPageSize(Constant.PAGE_SIZE); + // 鎼滅储澶ф窐瀹� + List<DaTaoKeDetailV2> daTaoKeList = null; + if (page == 1) { + daTaoKeList = daTaoKeGoodsDetailV2Service.listByDtitle(key); + } - if (order != null) { - if (order == 1) { // 閿�閲忛珮鍒颁綆 - sf.setSort(TaoBaoUtil.SORT_SALE_HIGH_TO_LOW); - } else if (order == 2) { // 浠锋牸楂樺埌浣� - sf.setSort(TaoBaoUtil.SORT_PRICE_HIGH_TO_LOW); - } else if (order == 3) { // 浠锋牸浣庡埌楂� - sf.setSort(TaoBaoUtil.SORT_PRICE_LOW_TO_HIGH); - } else if (order == 4) { // 杩斿埄姣旈珮鍒颁綆 - sf.setSort(TaoBaoUtil.SORT_TKRATE_HIGH_TO_LOW); - } - } + String specialId = null; + if (uid != null) { + specialId = userExtraTaoBaoInfoService.getSpecialIdByUid(uid); + } - if (!StringUtil.isNullOrEmpty(filter)) { - JSONObject jsonfilter = JSONObject.fromObject(filter); - Boolean coupon = jsonfilter.optBoolean("coupon"); - if (coupon != null && coupon) { - sf.setQuan(1); // 鏈夊埜 - } - - Boolean tmall = jsonfilter.optBoolean("tmall"); - if (tmall != null && tmall) { - sf.setTmall(true); // 澶╃尗 - } - - String minPrice = jsonfilter.optString("minPrice"); - if (!StringUtil.isNullOrEmpty(minPrice)) { - sf.setStartPrice(new BigDecimal(minPrice)); - } - - String maxPrice = jsonfilter.optString("maxPrice"); - if (!StringUtil.isNullOrEmpty(maxPrice)) { - sf.setEndPrice(new BigDecimal(maxPrice)); - } - } - - // 鎼滅储澶ф窐瀹� - List<DaTaoKeDetailV2> daTaoKeList = null; - if (page == 1) { - daTaoKeList = daTaoKeGoodsDetailV2Service.listByDtitle(key); - } - - // 娣樺疂api鎼滅储鍟嗗搧 - TaoBaoSearchResult result = TaoBaoUtil.search(sf); + // 娣樺疂api鎼滅储鍟嗗搧 + TaoBaoSearchResult result = TaoBaoUtil.search(sf, specialId, null); - // 鎼滅储缁撴灉缂撳瓨鍒皉edis - if (result != null && result.getTaoBaoGoodsBriefs() != null && result.getTaoBaoGoodsBriefs().size() > 0) { - ThreadUtil.run(new Runnable() { - @Override - public void run() { - // 鏇存柊鍒扮珐瀛� - for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs()) - taoBaoGoodsCacheUtil.saveCommonTaoBaoGoodsInfo(goods); - } - }); - } + // 鎼滅储缁撴灉缂撳瓨鍒皉edis + if (result != null && result.getTaoBaoGoodsBriefs() != null && result.getTaoBaoGoodsBriefs().size() > 0) { + ThreadUtil.run(new Runnable() { + @Override + public void run() { + // 鏇存柊鍒扮珐瀛� + for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs()) + taoBaoGoodsCacheUtil.saveCommonTaoBaoGoodsInfo(goods); + } + }); + } - List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = null; - if (result != null) { - taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs(); - } - if (taoBaoGoodsBriefs == null) { - taoBaoGoodsBriefs = new ArrayList<>(); - } + List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = null; + if (result != null) { + taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs(); + } + if (taoBaoGoodsBriefs == null) { + taoBaoGoodsBriefs = new ArrayList<>(); + } - if (daTaoKeList != null && daTaoKeList.size() > 0) { - try { - Collections.reverse(daTaoKeList); - for (DaTaoKeDetailV2 detail : daTaoKeList) { - taoBaoGoodsBriefs.add(0, TaoBaoUtil.convert(detail)); - } - } catch (Exception e) { - } - } + if (daTaoKeList != null && daTaoKeList.size() > 0) { + try { + Collections.reverse(daTaoKeList); + for (DaTaoKeDetailV2 detail : daTaoKeList) { + taoBaoGoodsBriefs.add(0, TaoBaoUtil.convert(detail)); + } + } catch (Exception e) { + } + } - List<GoodsDetailVO> list = new ArrayList<GoodsDetailVO>(); - ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion(),acceptData.getSystem()); + List<GoodsDetailVO> list = new ArrayList<GoodsDetailVO>(); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(), acceptData.getSystem()); - for (TaoBaoGoodsBrief goods : taoBaoGoodsBriefs) { - list.add(GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO)); - } + for (TaoBaoGoodsBrief goods : taoBaoGoodsBriefs) { + list.add(GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO)); + } - Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) - .excludeFieldsWithoutExposeAnnotation().create(); + Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) + .excludeFieldsWithoutExposeAnnotation().create(); - JSONObject data = new JSONObject(); - data.put("result", gson.toJson(list)); - data.put("count", result.getTaoBaoHead().getDocsfound()); + JSONObject data = new JSONObject(); + data.put("result", gson.toJson(list)); + data.put("count", result.getTaoBaoHead().getDocsfound()); - if (page == 1) { // 绗竴椤佃繑鍥炲簵閾轰俊鎭� - String platform = acceptData.getPlatform(); - String version = acceptData.getVersion(); - if (("ios".equalsIgnoreCase(platform) && VersionUtil.greaterThan_2_0_5(platform, version)) - || ("android".equalsIgnoreCase(platform) && VersionUtil.greaterThan_2_0_2(platform, version))) { - BrandInfoVO brandInfoVO = null; - try { - brandInfoVO = brandInfoService.listByAlikeName(key, acceptData.getPlatform(), - acceptData.getVersion(),acceptData.getSystem()); - } catch (Exception e) { - } - if (brandInfoVO != null) - data.put("shop", JsonUtil.getApiCommonGson().toJson(brandInfoVO)); - } else { - List<TaoBaoShopVO> listShop = taoBaoShopService.getShopByKeyV2(key, acceptData.getPlatform(), - acceptData.getVersion(),acceptData.getSystem()); - if (listShop != null && listShop.size() > 0 && listShop.get(0).getListGoodsVO() != null - && listShop.get(0).getListGoodsVO().size() > 2) { - TaoBaoShopVO taoBaoShop = listShop.get(0); - if (("ios".equalsIgnoreCase(platform) && VersionUtil.greaterThan_2_0(platform, version)) - || ("android".equalsIgnoreCase(platform) - && VersionUtil.greaterThan_2_0_1(platform, version))) { - BrandInfoVO brandInfoVO = new BrandInfoVO(); - brandInfoVO.setId(taoBaoShop.getId()); - brandInfoVO.setName(taoBaoShop.getShopName()); - brandInfoVO.setIcon(taoBaoShop.getShopIcon()); - brandInfoVO.setListGoods(taoBaoShop.getListGoodsVO()); - data.put("shop", JsonUtil.getApiCommonGson().toJson(brandInfoVO)); - } else { - data.put("shop", JsonUtil.getApiCommonGson().toJson(taoBaoShop)); - } - } - } - } + if (page == 1) { // 绗竴椤佃繑鍥炲簵閾轰俊鎭� + String platform = acceptData.getPlatform(); + String version = acceptData.getVersion(); + if (("ios".equalsIgnoreCase(platform) && VersionUtil.greaterThan_2_0_5(platform, version)) + || ("android".equalsIgnoreCase(platform) && VersionUtil.greaterThan_2_0_2(platform, version))) { + BrandInfoVO brandInfoVO = null; + try { + brandInfoVO = brandInfoService.listByAlikeName(key, acceptData.getPlatform(), + acceptData.getVersion(), acceptData.getSystem()); + } catch (Exception e) { + } + if (brandInfoVO != null) + data.put("shop", JsonUtil.getApiCommonGson().toJson(brandInfoVO)); + } else { + List<TaoBaoShopVO> listShop = taoBaoShopService.getShopByKeyV2(key, acceptData.getPlatform(), + acceptData.getVersion(), acceptData.getSystem()); + if (listShop != null && listShop.size() > 0 && listShop.get(0).getListGoodsVO() != null + && listShop.get(0).getListGoodsVO().size() > 2) { + TaoBaoShopVO taoBaoShop = listShop.get(0); + if (("ios".equalsIgnoreCase(platform) && VersionUtil.greaterThan_2_0(platform, version)) + || ("android".equalsIgnoreCase(platform) + && VersionUtil.greaterThan_2_0_1(platform, version))) { + BrandInfoVO brandInfoVO = new BrandInfoVO(); + brandInfoVO.setId(taoBaoShop.getId()); + brandInfoVO.setName(taoBaoShop.getShopName()); + brandInfoVO.setIcon(taoBaoShop.getShopIcon()); + brandInfoVO.setListGoods(taoBaoShop.getListGoodsVO()); + data.put("shop", JsonUtil.getApiCommonGson().toJson(brandInfoVO)); + } else { + data.put("shop", JsonUtil.getApiCommonGson().toJson(taoBaoShop)); + } + } + } + } - out.print(JsonUtil.loadTrueResult(buildSearchResult(data, ap))); - } + out.print(JsonUtil.loadTrueResult(buildSearchResult(data, ap))); + } - private JSONObject buildSearchResult(JSONObject data, AppPageNotification ap) { - if (ap != null && data != null) { - Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); - data.put("notification", gson.toJson(ap)); - } - return data; - } + private JSONObject buildSearchResult(JSONObject data, AppPageNotification ap) { + if (ap != null && data != null) { + Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); + data.put("notification", gson.toJson(ap)); + } + return data; + } - /** - * 浜笢 - * - * @param kw - * @param page - * @param filter - * @param order - * @param startprice - * @param endprice - * @return - */ - private void searchJDGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order, - AppPageNotification ap, PrintWriter out) { + /** + * @param acceptData + * @param key + * @param page + * @param filter + * @param order + * @param ap + * @param out + */ + private void searchJDGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order, + AppPageNotification ap, PrintWriter out) { - JDSearchResult result = null; - boolean hasCoupon = false; - String way = configService.getValue(ConfigKeyEnum.jdApiSearchKey.getKey(),acceptData.getSystem()); - if ("1".equals(way)) { - JDFilter filterAPI = new JDFilter(); - filterAPI.setKeyword(SearchFilterUtil.filterSearchContent(key)); - filterAPI.setPageIndex(page); - filterAPI.setPageSize(Constant.PAGE_SIZE); + JDSearchResult result = null; + boolean hasCoupon = false; + String way = configService.getValue(ConfigKeyEnum.jdApiSearchKey.getKey(), acceptData.getSystem()); + if ("1".equals(way)) { + JDFilter filterAPI = new JDFilter(); + filterAPI.setKeyword(SearchFilterUtil.filterSearchContent(key)); + filterAPI.setPageIndex(page); + filterAPI.setPageSize(Constant.PAGE_SIZE); - if (order != null) { - int sort = order.intValue(); - switch (sort) { - case 1: // 閿�閲� desc - filterAPI.setSort(JDFilter.SORT_DESC); - filterAPI.setSortName(JDFilter.SORTNAME_ORDER_COUNT_30DAYS); - break; - case 2: // 浠锋牸鈥攄esc - filterAPI.setSort(JDFilter.SORT_DESC); - filterAPI.setSortName(JDFilter.SORTNAME_PRICE); - break; - case 3: // 浠锋牸鈥攁sc - filterAPI.setSort(JDFilter.SORT_ASC); - filterAPI.setSortName(JDFilter.SORTNAME_PRICE); - break; - case 4: // 杩斿埄姣斺�擠ESC - filterAPI.setSort(JDFilter.SORT_DESC); - filterAPI.setSortName(JDFilter.SORTNAME_COMMISSION_SHARE); - break; - default: - break; - } - } + if (order != null) { + int sort = order.intValue(); + switch (sort) { + case 1: // 閿�閲� desc + filterAPI.setSort(JDFilter.SORT_DESC); + filterAPI.setSortName(JDFilter.SORTNAME_ORDER_COUNT_30DAYS); + break; + case 2: // 浠锋牸鈥攄esc + filterAPI.setSort(JDFilter.SORT_DESC); + filterAPI.setSortName(JDFilter.SORTNAME_PRICE); + break; + case 3: // 浠锋牸鈥攁sc + filterAPI.setSort(JDFilter.SORT_ASC); + filterAPI.setSortName(JDFilter.SORTNAME_PRICE); + break; + case 4: // 杩斿埄姣斺�擠ESC + filterAPI.setSort(JDFilter.SORT_DESC); + filterAPI.setSortName(JDFilter.SORTNAME_COMMISSION_SHARE); + break; + default: + break; + } + } - if (!StringUtil.isNullOrEmpty(filter)) { - JSONObject jsonfilter = JSONObject.fromObject(filter); - Boolean coupon = jsonfilter.optBoolean("coupon"); - if (coupon != null && coupon) { - hasCoupon = true; - filterAPI.setIsCoupon(1); // 鏈夊埜 - } + if (!StringUtil.isNullOrEmpty(filter)) { + JSONObject jsonfilter = JSONObject.fromObject(filter); + Boolean coupon = jsonfilter.optBoolean("coupon"); + if (coupon != null && coupon) { + hasCoupon = true; + filterAPI.setIsCoupon(1); // 鏈夊埜 + } - Boolean zy = jsonfilter.optBoolean("zy"); - if (zy != null && zy) { - filterAPI.setOwner("g"); // 鑷惀 - } + Boolean zy = jsonfilter.optBoolean("zy"); + if (zy != null && zy) { + filterAPI.setOwner("g"); // 鑷惀 + } - String minPrice = jsonfilter.optString("minPrice"); - if (!StringUtil.isNullOrEmpty(minPrice)) { - filterAPI.setPricefrom(Double.parseDouble(minPrice)); - } + String minPrice = jsonfilter.optString("minPrice"); + if (!StringUtil.isNullOrEmpty(minPrice)) { + filterAPI.setPricefrom(Double.parseDouble(minPrice)); + } - String maxPrice = jsonfilter.optString("maxPrice"); - if (!StringUtil.isNullOrEmpty(maxPrice)) { - filterAPI.setPriceto(Double.parseDouble(maxPrice)); - } - } + String maxPrice = jsonfilter.optString("maxPrice"); + if (!StringUtil.isNullOrEmpty(maxPrice)) { + filterAPI.setPriceto(Double.parseDouble(maxPrice)); + } + } - result = JDApiUtil.queryByKey(filterAPI); - } else { - // 缃戦〉鐖彇 - JDSearchFilter jdfilter = new JDSearchFilter(); - jdfilter.setKey(SearchFilterUtil.filterSearchContent(key)); - jdfilter.setPageNo(page); - jdfilter.setPageSize(Constant.PAGE_SIZE); + result = JDApiUtil.queryByKey(filterAPI); + } else { + // 缃戦〉鐖彇 + JDSearchFilter jdfilter = new JDSearchFilter(); + jdfilter.setKey(SearchFilterUtil.filterSearchContent(key)); + jdfilter.setPageNo(page); + jdfilter.setPageSize(Constant.PAGE_SIZE); - if (order != null) { - int sort = order.intValue(); - switch (sort) { - case 1: // 閿�閲� desc - jdfilter.setSort(JDSearchFilter.SORT_DESC); - jdfilter.setSortName(JDSearchFilter.SORTNAME_ORDER_COUNT_30DAYS); - break; - case 2: // 浠锋牸鈥攄esc - jdfilter.setSort(JDSearchFilter.SORT_DESC); - jdfilter.setSortName(JDSearchFilter.SORTNAME_PRICE); - break; - case 3: // 浠锋牸鈥攁sc - jdfilter.setSort(JDSearchFilter.SORT_ASC); - jdfilter.setSortName(JDSearchFilter.SORTNAME_PRICE); - break; - case 4: // 杩斿埄姣斺�擠ESC - jdfilter.setSort(JDSearchFilter.SORT_DESC); - jdfilter.setSortName(JDSearchFilter.SORTNAME_COMMISSION_SHARE); - break; - default: - break; - } - } + if (order != null) { + int sort = order.intValue(); + switch (sort) { + case 1: // 閿�閲� desc + jdfilter.setSort(JDSearchFilter.SORT_DESC); + jdfilter.setSortName(JDSearchFilter.SORTNAME_ORDER_COUNT_30DAYS); + break; + case 2: // 浠锋牸鈥攄esc + jdfilter.setSort(JDSearchFilter.SORT_DESC); + jdfilter.setSortName(JDSearchFilter.SORTNAME_PRICE); + break; + case 3: // 浠锋牸鈥攁sc + jdfilter.setSort(JDSearchFilter.SORT_ASC); + jdfilter.setSortName(JDSearchFilter.SORTNAME_PRICE); + break; + case 4: // 杩斿埄姣斺�擠ESC + jdfilter.setSort(JDSearchFilter.SORT_DESC); + jdfilter.setSortName(JDSearchFilter.SORTNAME_COMMISSION_SHARE); + break; + default: + break; + } + } - if (!StringUtil.isNullOrEmpty(filter)) { - JSONObject jsonfilter = JSONObject.fromObject(filter); - Boolean coupon = jsonfilter.optBoolean("coupon"); - if (coupon != null && coupon) { - hasCoupon = true; - jdfilter.setHasCoupon(1); // 鏈夊埜 - } + if (!StringUtil.isNullOrEmpty(filter)) { + JSONObject jsonfilter = JSONObject.fromObject(filter); + Boolean coupon = jsonfilter.optBoolean("coupon"); + if (coupon != null && coupon) { + hasCoupon = true; + jdfilter.setHasCoupon(1); // 鏈夊埜 + } - Boolean zy = jsonfilter.optBoolean("zy"); - if (zy != null && zy) { - jdfilter.setIsZY(1); // 鑷惀 - } + Boolean zy = jsonfilter.optBoolean("zy"); + if (zy != null && zy) { + jdfilter.setIsZY(1); // 鑷惀 + } - Boolean delivery = jsonfilter.optBoolean("delivery"); - if (delivery != null && delivery) { - jdfilter.setDeliveryType(1); // 浜笢閰嶉�� - } + Boolean delivery = jsonfilter.optBoolean("delivery"); + if (delivery != null && delivery) { + jdfilter.setDeliveryType(1); // 浜笢閰嶉�� + } - String minPrice = jsonfilter.optString("minPrice"); - if (!StringUtil.isNullOrEmpty(minPrice)) { - if (minPrice.contains(".")) { - minPrice = minPrice.replace(".", "-"); - minPrice = minPrice.split("-")[0]; - } - jdfilter.setFromPrice(Integer.parseInt(minPrice)); - } + String minPrice = jsonfilter.optString("minPrice"); + if (!StringUtil.isNullOrEmpty(minPrice)) { + if (minPrice.contains(".")) { + minPrice = minPrice.replace(".", "-"); + minPrice = minPrice.split("-")[0]; + } + jdfilter.setFromPrice(Integer.parseInt(minPrice)); + } - String maxPrice = jsonfilter.optString("maxPrice"); - if (!StringUtil.isNullOrEmpty(maxPrice)) { - if (maxPrice.contains(".")) { - maxPrice = maxPrice.replace(".", "-"); - maxPrice = maxPrice.split("-")[0]; - } - jdfilter.setToPrice(Integer.parseInt(maxPrice)); - } - } - result = JDUtil.searchByKey(jdfilter); + String maxPrice = jsonfilter.optString("maxPrice"); + if (!StringUtil.isNullOrEmpty(maxPrice)) { + if (maxPrice.contains(".")) { + maxPrice = maxPrice.replace(".", "-"); + maxPrice = maxPrice.split("-")[0]; + } + jdfilter.setToPrice(Integer.parseInt(maxPrice)); + } + } + result = JDUtil.searchByKey(jdfilter); - } + } - long count = 0; - JSONObject data = new JSONObject(); - JSONArray array = new JSONArray(); - if (result != null) { - PageEntity pageEntity = result.getPageEntity(); - if (pageEntity != null) { - count = pageEntity.getTotalCount(); - } + long count = 0; + JSONObject data = new JSONObject(); + JSONArray array = new JSONArray(); + if (result != null) { + PageEntity pageEntity = result.getPageEntity(); + if (pageEntity != null) { + count = pageEntity.getTotalCount(); + } - List<JDGoods> goodsList = result.getGoodsList(); - if (goodsList != null && goodsList.size() > 0) { - Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) - .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); - ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion(),acceptData.getSystem()); - for (JDGoods goods : goodsList) { - GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, paramsDTO); - if (hasCoupon) { - if (goodsDetailVO.isHasCoupon()) { - array.add(gson.toJson(goodsDetailVO)); - } - } else { - array.add(gson.toJson(goodsDetailVO)); - } - } - } - } + List<JDGoods> goodsList = result.getGoodsList(); + if (goodsList != null && goodsList.size() > 0) { + Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) + .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(), acceptData.getSystem()); + for (JDGoods goods : goodsList) { + GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, paramsDTO); + if (hasCoupon) { + if (goodsDetailVO.isHasCoupon()) { + array.add(gson.toJson(goodsDetailVO)); + } + } else { + array.add(gson.toJson(goodsDetailVO)); + } + } + } + } - data.put("result", array); - data.put("count", count); - out.print(JsonUtil.loadTrueResult(buildSearchResult(data, ap))); - } + data.put("result", array); + data.put("count", count); + out.print(JsonUtil.loadTrueResult(buildSearchResult(data, ap))); + } - /** - * 鎷煎澶� - * @param acceptData - * @param key - * @param page - * @param filter - * @param order - * @param ap - * @param out - */ - private void searchPDDGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order, - AppPageNotification ap, PrintWriter out) { - PDDSearchFilter pddfilter = new PDDSearchFilter(); - pddfilter.setKw(SearchFilterUtil.filterSearchContent(key)); - pddfilter.setPage(page); - pddfilter.setPageSize(Constant.PAGE_SIZE); + /** + * 鎷煎澶� + * + * @param acceptData + * @param key + * @param page + * @param filter + * @param order + * @param ap + * @param out + */ + private void searchPDDGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order, + AppPageNotification ap, PrintWriter out) { + PDDSearchFilter pddfilter = new PDDSearchFilter(); + pddfilter.setKw(SearchFilterUtil.filterSearchContent(key)); + pddfilter.setPage(page); + pddfilter.setPageSize(Constant.PAGE_SIZE); - if (order != null) { - int sort = order.intValue(); - switch (sort) { - case 1: // 閿�閲� desc - pddfilter.setSortType(6); - break; - case 2: // 浠锋牸鈥攄esc - pddfilter.setSortType(4); - break; - case 3: // 浠锋牸鈥攁sc - pddfilter.setSortType(3); - break; - case 4: // 杩斿埄姣斺�攄esc - pddfilter.setSortType(2); - break; - default: // 缁煎悎鎺掑簭 - pddfilter.setSortType(0); - break; - } - } + if (order != null) { + int sort = order.intValue(); + switch (sort) { + case 1: // 閿�閲� desc + pddfilter.setSortType(6); + break; + case 2: // 浠锋牸鈥攄esc + pddfilter.setSortType(4); + break; + case 3: // 浠锋牸鈥攁sc + pddfilter.setSortType(3); + break; + case 4: // 杩斿埄姣斺�攄esc + pddfilter.setSortType(2); + break; + default: // 缁煎悎鎺掑簭 + pddfilter.setSortType(0); + break; + } + } - if (!StringUtil.isNullOrEmpty(filter)) { - JSONObject jsonfilter = JSONObject.fromObject(filter); - Boolean coupon = jsonfilter.optBoolean("coupon"); - if (coupon != null && coupon) { - pddfilter.setHasCoupon(true); // 鏈夊埜 - } + if (!StringUtil.isNullOrEmpty(filter)) { + JSONObject jsonfilter = JSONObject.fromObject(filter); + Boolean coupon = jsonfilter.optBoolean("coupon"); + if (coupon != null && coupon) { + pddfilter.setHasCoupon(true); // 鏈夊埜 + } - Boolean brand = jsonfilter.optBoolean("brand"); - if (brand != null && brand) { - pddfilter.setIsBrand(true); // 鏄惁鏄搧鐗� - } - } + Boolean brand = jsonfilter.optBoolean("brand"); + if (brand != null && brand) { + pddfilter.setIsBrand(true); // 鏄惁鏄搧鐗� + } + } - int count = 0; - JSONObject data = new JSONObject(); - JSONArray array = new JSONArray(); + int count = 0; + JSONObject data = new JSONObject(); + JSONArray array = new JSONArray(); - PDDGoodsResult result = PinDuoDuoApiUtil.searchGoods(pddfilter); - if (result != null) { - count = result.getTotalCount(); - Gson gson = JsonUtil.getApiCommonGson(); - List<PDDGoodsDetail> goodsList = result.getGoodsList(); - if (goodsList != null && goodsList.size() > 0) { - ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion(),acceptData.getSystem()); + PDDGoodsResult result = PinDuoDuoApiUtil.searchGoods(pddfilter); + if (result != null) { + count = result.getTotalCount(); + Gson gson = JsonUtil.getApiCommonGson(); + List<PDDGoodsDetail> goodsList = result.getGoodsList(); + if (goodsList != null && goodsList.size() > 0) { + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(), acceptData.getSystem()); - for (PDDGoodsDetail goods : goodsList) { - GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO); - array.add(gson.toJson(goodsDetailVO)); - } - } - } + for (PDDGoodsDetail goods : goodsList) { + GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO); + array.add(gson.toJson(goodsDetailVO)); + } + } + } - data.put("result", array); - data.put("count", count); - out.print(JsonUtil.loadTrueResult(buildSearchResult(data, ap))); - } + data.put("result", array); + data.put("count", count); + out.print(JsonUtil.loadTrueResult(buildSearchResult(data, ap))); + } - /** - * 鎼滅储鍞搧浼氬晢鍝� - * @Title: searchVIPGoods - * @Description: - * @param acceptData - * @param key - * @param page - * @param filter - * @param order - * @param out - * void 杩斿洖绫诲瀷 - * @throws - */ - private void searchVIPGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order, - AppPageNotification ap, PrintWriter out) { - VIPSearchFilter searchFilter = new VIPSearchFilter(); - searchFilter.setKeyword(key); - searchFilter.setPage(page); - searchFilter.setPageSize(Constant.PAGE_SIZE); + /** + * 鎼滅储鍞搧浼氬晢鍝� + * + * @param acceptData + * @param key + * @param page + * @param filter + * @param order + * @param out void 杩斿洖绫诲瀷 + * @throws + * @Title: searchVIPGoods + * @Description: + */ + private void searchVIPGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order, + AppPageNotification ap, PrintWriter out) { + VIPSearchFilter searchFilter = new VIPSearchFilter(); + searchFilter.setKeyword(key); + searchFilter.setPage(page); + searchFilter.setPageSize(Constant.PAGE_SIZE); - if (order != null) { - int sort = order.intValue(); - switch (sort) { - case 2: // 浠锋牸鈥攄esc - searchFilter.setFieldName("price"); - searchFilter.setOrder(1); - break; - case 3: // 浠锋牸鈥攁sc - searchFilter.setFieldName("price"); - searchFilter.setOrder(0); - break; - case 5: // 鎶樻墸鈥攁ec - searchFilter.setFieldName("discount"); - searchFilter.setOrder(0); - break; - default: // 缁煎悎鎺掑簭 - break; - } - } + if (order != null) { + int sort = order.intValue(); + switch (sort) { + case 2: // 浠锋牸鈥攄esc + searchFilter.setFieldName("price"); + searchFilter.setOrder(1); + break; + case 3: // 浠锋牸鈥攁sc + searchFilter.setFieldName("price"); + searchFilter.setOrder(0); + break; + case 5: // 鎶樻墸鈥攁ec + searchFilter.setFieldName("discount"); + searchFilter.setOrder(0); + break; + default: // 缁煎悎鎺掑簭 + break; + } + } - if (!StringUtil.isNullOrEmpty(filter)) { - JSONObject jsonfilter = JSONObject.fromObject(filter); - String minPrice = jsonfilter.optString("minPrice"); - if (!StringUtil.isNullOrEmpty(minPrice)) { - searchFilter.setPriceStart(minPrice); - } + if (!StringUtil.isNullOrEmpty(filter)) { + JSONObject jsonfilter = JSONObject.fromObject(filter); + String minPrice = jsonfilter.optString("minPrice"); + if (!StringUtil.isNullOrEmpty(minPrice)) { + searchFilter.setPriceStart(minPrice); + } - String maxPrice = jsonfilter.optString("maxPrice"); - if (!StringUtil.isNullOrEmpty(maxPrice)) { - searchFilter.setPriceEnd(maxPrice); - } - } + String maxPrice = jsonfilter.optString("maxPrice"); + if (!StringUtil.isNullOrEmpty(maxPrice)) { + searchFilter.setPriceEnd(maxPrice); + } + } - int count = 0; - JSONObject data = new JSONObject(); - JSONArray array = new JSONArray(); + int count = 0; + JSONObject data = new JSONObject(); + JSONArray array = new JSONArray(); - VIPSearchResult result = VipShopApiUtil.search(searchFilter); - if (result != null) { - count = result.getTotal(); - Gson gson = JsonUtil.getApiCommonGson(); - List<VIPGoodsInfo> goodsList = result.getGoodsList(); - if (goodsList != null && goodsList.size() > 0) { - ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion(),acceptData.getSystem()); + VIPSearchResult result = VipShopApiUtil.search(searchFilter); + if (result != null) { + count = result.getTotal(); + Gson gson = JsonUtil.getApiCommonGson(); + List<VIPGoodsInfo> goodsList = result.getGoodsList(); + if (goodsList != null && goodsList.size() > 0) { + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(), acceptData.getSystem()); - for (VIPGoodsInfo goods : goodsList) { - GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertVIPGoods(goods, paramsDTO); - array.add(gson.toJson(goodsDetailVO)); - } - } - } + for (VIPGoodsInfo goods : goodsList) { + GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertVIPGoods(goods, paramsDTO); + array.add(gson.toJson(goodsDetailVO)); + } + } + } - data.put("result", array); - data.put("count", count); - out.print(JsonUtil.loadTrueResult(buildSearchResult(data, ap))); - } + data.put("result", array); + data.put("count", count); + out.print(JsonUtil.loadTrueResult(buildSearchResult(data, ap))); + } - /** - * 鎼滅储鍞搧浼氬晢鍝� - * @Title: searchVIPGoods - * @Description: - * @param acceptData - * @param key - * @param page - * @param filter - * @param order - * @param out - * void 杩斿洖绫诲瀷 - * @throws - */ - private void searchSuningGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order, - AppPageNotification ap, PrintWriter out) { - SuningQueryModel searchFilter = new SuningQueryModel(); - searchFilter.setKeyword(key); - searchFilter.setPageIndex(page); - searchFilter.setSize(10); + /** + * 鎼滅储鍞搧浼氬晢鍝� + * + * @param acceptData + * @param key + * @param page + * @param filter + * @param order + * @param out void 杩斿洖绫诲瀷 + * @throws + * @Title: searchVIPGoods + * @Description: + */ + private void searchSuningGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order, + AppPageNotification ap, PrintWriter out) { + SuningQueryModel searchFilter = new SuningQueryModel(); + searchFilter.setKeyword(key); + searchFilter.setPageIndex(page); + searchFilter.setSize(10); - if (order != null) { - if (order == 1) { // 閿�閲忛珮鍒颁綆 - searchFilter.setSortType(2); - } else if (order == 2) { // 浠锋牸楂樺埌浣� - searchFilter.setSortType(3); - } else if (order == 3) { // 浠锋牸浣庡埌楂� - searchFilter.setSortType(4); - } else if (order == 4) { // 杩斿埄姣旈珮鍒颁綆 - searchFilter.setSortType(5); - } - } + if (order != null) { + if (order == 1) { // 閿�閲忛珮鍒颁綆 + searchFilter.setSortType(2); + } else if (order == 2) { // 浠锋牸楂樺埌浣� + searchFilter.setSortType(3); + } else if (order == 3) { // 浠锋牸浣庡埌楂� + searchFilter.setSortType(4); + } else if (order == 4) { // 杩斿埄姣旈珮鍒颁綆 + searchFilter.setSortType(5); + } + } - if (!StringUtil.isNullOrEmpty(filter)) { - JSONObject jsonfilter = JSONObject.fromObject(filter); - Boolean coupon = jsonfilter.optBoolean("coupon"); - if (coupon != null && coupon) { - searchFilter.setCoupon(1); // 鏈夊埜 - } + if (!StringUtil.isNullOrEmpty(filter)) { + JSONObject jsonfilter = JSONObject.fromObject(filter); + Boolean coupon = jsonfilter.optBoolean("coupon"); + if (coupon != null && coupon) { + searchFilter.setCoupon(1); // 鏈夊埜 + } - Boolean snfwservice = jsonfilter.optBoolean("snfwservice");// 鑻忓畞鏈嶅姟 - if (snfwservice != null && snfwservice) { - searchFilter.setSnfwservice(1); - } + Boolean snfwservice = jsonfilter.optBoolean("snfwservice");// 鑻忓畞鏈嶅姟 + if (snfwservice != null && snfwservice) { + searchFilter.setSnfwservice(1); + } - Boolean snhwg = jsonfilter.optBoolean("snhwg");// 鑻忓畞鍥介檯 - if (snhwg != null && snhwg) { - searchFilter.setSnhwg(1); - } + Boolean snhwg = jsonfilter.optBoolean("snhwg");// 鑻忓畞鍥介檯 + if (snhwg != null && snhwg) { + searchFilter.setSnhwg(1); + } - Boolean suningService = jsonfilter.optBoolean("suningService");// 鑻忓畞鑷惀 - if (suningService != null && suningService) { - searchFilter.setSuningService(1); - } + Boolean suningService = jsonfilter.optBoolean("suningService");// 鑻忓畞鑷惀 + if (suningService != null && suningService) { + searchFilter.setSuningService(1); + } - Boolean pgSearch = jsonfilter.optBoolean("pgSearch");// 鎷艰喘 - if (pgSearch != null && pgSearch) { - searchFilter.setPgSearch(1); - } + Boolean pgSearch = jsonfilter.optBoolean("pgSearch");// 鎷艰喘 + if (pgSearch != null && pgSearch) { + searchFilter.setPgSearch(1); + } - String minPrice = jsonfilter.optString("minPrice"); - if (!StringUtil.isNullOrEmpty(minPrice)) { - searchFilter.setStartPrice(minPrice); - } + String minPrice = jsonfilter.optString("minPrice"); + if (!StringUtil.isNullOrEmpty(minPrice)) { + searchFilter.setStartPrice(minPrice); + } - String maxPrice = jsonfilter.optString("maxPrice"); - if (!StringUtil.isNullOrEmpty(maxPrice)) { - searchFilter.setEndPrice(maxPrice); - } - } + String maxPrice = jsonfilter.optString("maxPrice"); + if (!StringUtil.isNullOrEmpty(maxPrice)) { + searchFilter.setEndPrice(maxPrice); + } + } - JSONObject data = new JSONObject(); - JSONArray array = new JSONArray(); + JSONObject data = new JSONObject(); + JSONArray array = new JSONArray(); - List<SuningGoodsInfo> resultList = null; - List<SuningGoodsInfo> list = SuningApiUtil.searchGoodsOld(searchFilter); - if (list != null && list.size() > 0) { - List<String> listId = new ArrayList<>(); - for (SuningGoodsInfo goodsInfo : list) { - SuningCommodityInfo info = goodsInfo.getCommodityInfo(); - if (info != null) { - listId.add(info.getCommodityCode() + "-" + info.getSupplierCode()); - } - } - resultList = SuningApiUtil.getGoodsDetailList(listId); - } + List<SuningGoodsInfo> resultList = null; + List<SuningGoodsInfo> list = SuningApiUtil.searchGoodsOld(searchFilter); + if (list != null && list.size() > 0) { + List<String> listId = new ArrayList<>(); + for (SuningGoodsInfo goodsInfo : list) { + SuningCommodityInfo info = goodsInfo.getCommodityInfo(); + if (info != null) { + listId.add(info.getCommodityCode() + "-" + info.getSupplierCode()); + } + } + resultList = SuningApiUtil.getGoodsDetailList(listId); + } - if (resultList != null) { - Gson gson = JsonUtil.getApiCommonGson(); - if (resultList != null && resultList.size() > 0) { - ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion(),acceptData.getSystem()); + if (resultList != null) { + Gson gson = JsonUtil.getApiCommonGson(); + if (resultList != null && resultList.size() > 0) { + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(), acceptData.getSystem()); - for (SuningGoodsInfo goods : resultList) { - GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertSuningGoods(goods, paramsDTO); - array.add(gson.toJson(goodsDetailVO)); - } - } - } + for (SuningGoodsInfo goods : resultList) { + GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertSuningGoods(goods, paramsDTO); + array.add(gson.toJson(goodsDetailVO)); + } + } + } - data.put("result", array); - data.put("count", 1000); - out.print(JsonUtil.loadTrueResult(buildSearchResult(data, ap))); - } + data.put("result", array); + data.put("count", 1000); + out.print(JsonUtil.loadTrueResult(buildSearchResult(data, ap))); + } } -- Gitblit v1.8.0