From 3340ed122e19e3943ce4f93eb52103b623a3fc2c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 27 四月 2022 15:43:58 +0800 Subject: [PATCH] 订单消息bug修改 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java | 153 +++++++++++++++++++++++++++++--------------------- 1 files changed, 89 insertions(+), 64 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 f0fbcda..fc51314 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 @@ -1,34 +1,8 @@ package com.yeshi.fanli.controller.client.v2; -import java.io.PrintWriter; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import javax.annotation.Resource; -import javax.servlet.http.HttpSession; - -import com.yeshi.fanli.entity.SystemEnum; -import com.yeshi.fanli.entity.SystemPIDInfo; -import com.yeshi.fanli.exception.pdd.PDDApiException; -import com.yeshi.fanli.exception.taobao.TaoBaoTokenParseException; -import com.yeshi.fanli.lijin.manager.GoodsLijinMnager; -import com.yeshi.fanli.service.inter.pdd.PDDAuthService; -import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; -import com.yeshi.fanli.service.manger.PIDManager; -import com.yeshi.fanli.util.suning.SuningUtil; -import com.yeshi.fanli.util.vipshop.VipShopUtil; -import com.yeshi.goods.facade.utils.taobao.DaTaoKeApiUtil; -import org.springframework.core.task.TaskExecutor; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.yeshi.utils.HttpUtil; -import org.yeshi.utils.JsonUtil; - import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import com.yeshi.common.entity.PageEntity; import com.yeshi.fanli.dto.GoodsMoneyConfigParamsDTO; import com.yeshi.fanli.dto.jd.JDFilter; import com.yeshi.fanli.dto.jd.JDSearchFilter; @@ -42,30 +16,35 @@ import com.yeshi.fanli.dto.vip.VIPSearchFilter; import com.yeshi.fanli.dto.vip.VIPSearchResult; import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo; +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.entity.SystemPIDInfo; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.help.AppPageNotification; +import com.yeshi.fanli.entity.bus.search.HistorySearch; import com.yeshi.fanli.entity.goods.CommonGoods; import com.yeshi.fanli.entity.jd.JDGoods; import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.entity.taobao.SearchFilter; -import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; -import com.yeshi.goods.facade.entity.taobao.dataoke.DaTaoKeDetailV2; +import com.yeshi.fanli.exception.pdd.PDDApiException; +import com.yeshi.fanli.exception.taobao.TaoBaoTokenParseException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.exception.user.TokenRecordException; +import com.yeshi.fanli.lijin.manager.GoodsLijinMnager; import com.yeshi.fanli.service.inter.brand.BrandInfoService; import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.help.AppPageNotificationService; import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService; +import com.yeshi.fanli.service.inter.pdd.PDDAuthService; import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService; -import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service; import com.yeshi.fanli.service.inter.user.HistorySearchService; import com.yeshi.fanli.service.inter.user.TokenRecordService; import com.yeshi.fanli.service.inter.user.integral.IntegralGetService; +import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; import com.yeshi.fanli.service.manger.ClipboardAnalysisManager; import com.yeshi.fanli.service.manger.IClipboardAnalysisResult; -import com.yeshi.common.entity.PageEntity; +import com.yeshi.fanli.service.manger.PIDManager; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.ThreadUtil; @@ -80,10 +59,12 @@ import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil; import com.yeshi.fanli.util.suning.SuningApiUtil; +import com.yeshi.fanli.util.suning.SuningUtil; import com.yeshi.fanli.util.taobao.SearchFilterUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.util.vipshop.VipShopApiUtil; +import com.yeshi.fanli.util.vipshop.VipShopUtil; import com.yeshi.fanli.vo.brand.BrandInfoVO; import com.yeshi.fanli.vo.brand.TaoBaoShopVO; import com.yeshi.fanli.vo.common.JumpDetailContentVO; @@ -91,9 +72,28 @@ import com.yeshi.fanli.vo.msg.TokenVO; import com.yeshi.fanli.vo.recommend.RecommendJumpInfoVO; import com.yeshi.fanli.vo.search.GoodsDocParseResultVO; - +import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; +import com.yeshi.goods.facade.entity.taobao.dataoke.DaTaoKeDetailV2; +import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service; +import com.yeshi.goods.facade.utils.taobao.DaTaoKeApiUtil; import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.springframework.core.task.TaskExecutor; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.yeshi.utils.HttpUtil; +import org.yeshi.utils.IPUtil; +import org.yeshi.utils.JsonUtil; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; +import java.io.PrintWriter; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; @Controller @RequestMapping("api/v2/search") @@ -171,7 +171,7 @@ // 鍘婚櫎鍓嶅悗绌烘牸 text = text.trim(); String originalText = text; - if (acceptData.getSystem() == SystemEnum.yhqjx) { + if (acceptData.getSystem() == SystemEnum.yhqjx || acceptData.getSystem() == SystemEnum.hsb) { Integer sourceType = clipboardAnalysisManager.tejiaParseSourceType(text); JSONObject root = new JSONObject(); root.put("type", 2); @@ -188,7 +188,7 @@ @Override public void onResult(GoodsDocParseResultVO result) { - if (uid == null || acceptData.getSystem() == SystemEnum.yhqjx) { + if (uid == null || (acceptData.getSystem() == SystemEnum.yhqjx || acceptData.getSystem() == SystemEnum.hsb)) { out.print(JsonUtil.loadFalseResult("鏃犳帹鑽�")); return; } @@ -201,7 +201,7 @@ int platformCode = Constant.getPlatformCode(acceptData.getPlatform()); int version = Integer.parseInt(acceptData.getVersion()); JumpDetailContentVO convert = new JumpDetailContentVO(); - convert.setJumpDetail(jumpDetailV2Service.getByTypeCache("web", platformCode, version)); + convert.setJumpDetail(jumpDetailV2Service.getByTypeCache("web", platformCode, version, acceptData.getSystem())); JSONObject convertParams = new JSONObject(); convertParams.put("url", configService.getValue(ConfigKeyEnum.convertDocWebLink.getKey(), acceptData.getSystem())); convertParams.put("clipboard", false); @@ -223,17 +223,17 @@ if (result.getFirstGoods().getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { view = new JumpDetailContentVO(); view.setJumpDetail( - jumpDetailV2Service.getByTypeCache("goodsdetail", platformCode, version)); + jumpDetailV2Service.getByTypeCache("goodsdetail", platformCode, version, acceptData.getSystem())); view.setParams(params); } else if (result.getFirstGoods().getGoodsType() == Constant.SOURCE_TYPE_JD) { view = new JumpDetailContentVO(); view.setJumpDetail( - jumpDetailV2Service.getByTypeCache("goodsdetail_jd", platformCode, version)); + jumpDetailV2Service.getByTypeCache("goodsdetail_jd", platformCode, version, acceptData.getSystem())); view.setParams(params); } else if (result.getFirstGoods().getGoodsType() == Constant.SOURCE_TYPE_PDD) { view = new JumpDetailContentVO(); view.setJumpDetail( - jumpDetailV2Service.getByTypeCache("goodsdetail_pdd", platformCode, version)); + jumpDetailV2Service.getByTypeCache("goodsdetail_pdd", platformCode, version, acceptData.getSystem())); view.setParams(params); } @@ -241,7 +241,7 @@ state = 2; data.put("stateDesc", "閫夋嫨鎼滃埜鎴栬浆閾�"); view = new JumpDetailContentVO(); - view.setJumpDetail(jumpDetailV2Service.getByTypeCache("web", platformCode, version)); + view.setJumpDetail(jumpDetailV2Service.getByTypeCache("web", platformCode, version, acceptData.getSystem())); JSONObject params = new JSONObject(); params.put("url", result.getFirstLink()); view.setParams(params); @@ -301,7 +301,7 @@ acceptData.getPlatform(), acceptData.getVersion(), acceptData.getSystem())); - goodsDetailVO = goodsLijinMnager.loadTBMoneyInfo(acceptData.getSystem(), uid, goodsBrief, goodsDetailVO); + goodsDetailVO = goodsLijinMnager.loadTBMoneyInfo(acceptData.getSystem(), uid, goodsBrief, goodsDetailVO, false); data.put("goods", gson.toJson(goodsDetailVO)); @@ -439,7 +439,7 @@ } RecommendJumpInfoVO left = new RecommendJumpInfoVO("鍘荤湅鐪�", jumpDetailV2Service.getByTypeCache(type, - Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())), params); + Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion()), acceptData.getSystem()), params); data.put("left", gson.toJson(left)); // 鍘荤綉椤� @@ -453,7 +453,7 @@ params.put("url", rightValue); RecommendJumpInfoVO right = new RecommendJumpInfoVO("鏈夋洿楂樿繑鍒╋紵", jumpDetailV2Service.getByTypeCache("web", - Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())), + Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion()), acceptData.getSystem()), params); data.put("right", gson.toJson(right)); } @@ -528,7 +528,7 @@ */ @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) { + Integer order, Long uid, String notifyType, HttpSession session, HttpServletRequest request, PrintWriter out) { if (goodsType == null || goodsType < 1 || goodsType > 5) { out.print(JsonUtil.loadFalseResult(1, "璇蜂紶閫掓纭钩鍙板弬鏁�")); @@ -567,18 +567,17 @@ 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()); - - // 鍔犲叆鎼滅储鍘嗗彶璁板綍 - historySearchService.addHistorySearch(searchkey, bid); + HistorySearch search = new HistorySearch(); + search.setDevice(StringUtil.isNullOrEmpty(acceptData.getUtdid()) ? acceptData.getDevice() : acceptData.getUtdid()); + search.setKey(key); + search.setSystem(acceptData.getSystem()); + search.setUid(uid); + search.setGoodsType(goodsType); + search.setIpInfo(IPUtil.getRemotIP(request) + ":" + request.getRemotePort()); + historySearchService.addHistorySearch(search); } }); + if (searchkey.startsWith("http://") || searchkey.startsWith("https://")) { JSONObject data = new JSONObject(); @@ -635,7 +634,7 @@ @RequestMapping(value = "searchGoodsTJ") public void searchGoodsTJ(AcceptData acceptData, Integer goodsType, String key, Integer page, String filter, - Integer order, Long uid, String notifyType, HttpSession session, PrintWriter out) { + Integer order, Long uid, String notifyType, HttpSession session, HttpServletRequest request, PrintWriter out) { if (goodsType == null || goodsType < 1 || goodsType > 5) { out.print(JsonUtil.loadFalseResult(1, "璇蜂紶閫掓纭钩鍙板弬鏁�")); @@ -657,15 +656,14 @@ 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()); - // 鍔犲叆鎼滅储鍘嗗彶璁板綍 - historySearchService.addHistorySearch(searchkey, bid); + HistorySearch search = new HistorySearch(); + search.setDevice(StringUtil.isNullOrEmpty(acceptData.getUtdid()) ? acceptData.getDevice() : acceptData.getUtdid()); + search.setKey(key); + search.setSystem(acceptData.getSystem()); + search.setUid(uid); + search.setGoodsType(goodsType); + search.setIpInfo(IPUtil.getRemotIP(request) + ":" + request.getRemotePort()); + historySearchService.addHistorySearch(search); } }); @@ -748,6 +746,22 @@ goodsId = id; } } + if (goodsId == null) { + //瑙f瀽閾炬帴 + if (linkList != null && linkList.size() > 0) { + String tempGoodsId = clipboardAnalysisManager.parseTBAuctionIdFromLink(linkList.get(0)); + if (!StringUtil.isNullOrEmpty(tempGoodsId)) { + goodsId = Long.parseLong(tempGoodsId); + } + } + } + } + + //鍟嗗搧ID涓虹┖锛屼笖鏄彛浠ょ殑褰㈠紡灏变互鏈姞鍏ユ窐瀹濊仈鐩熺殑鍟嗗搧澶勭悊 + if (goodsId == null && (linkList != null && linkList.size() > 0) && TaoBaoUtil.isHaveNewVersionTaoBaoToken(key)) { + String[] ks = key.trim().split(" "); + if (ks.length > 1) + key = ks[1].trim(); } } @@ -864,7 +878,7 @@ GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), acceptData.getVersion(), acceptData.getSystem()); - List<GoodsDetailVO> list = goodsLijinMnager.loadTBMoneyInfo(acceptData.getSystem(), uid, goodsBriefList, paramsDTO); + List<GoodsDetailVO> list = goodsLijinMnager.loadTBMoneyInfo(acceptData.getSystem(), uid, goodsBriefList, paramsDTO, false); Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) .excludeFieldsWithoutExposeAnnotation().create(); @@ -1163,6 +1177,17 @@ } } catch (PDDApiException e) { e.printStackTrace(); + if (e.getCode() == PDDApiException.CODE_NOT_AUTH) { + try { + PDDGoodsDetail pddGoodsDetail = PinDuoDuoApiUtil.getGoodsDetail(Long.parseLong(goodsId), PinDuoDuoApiUtil.PID_DEFAULT, Constant.PDD_SEARCH_CUSTOMER_PARAMS); + if (pddGoodsDetail != null) { + count = 1; + goodsList.add(pddGoodsDetail); + } + } catch (Exception e1) { + + } + } } } else { PDDSearchFilter pddfilter = new PDDSearchFilter(); -- Gitblit v1.8.0