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/v2/RecommendControllerV2.java | 176 ++++++++++++++++++++++++++-------------------------------- 1 files changed, 78 insertions(+), 98 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java index 1a25475..c2bfc52 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java @@ -1,35 +1,22 @@ package com.yeshi.fanli.controller.client.v2; -import java.io.PrintWriter; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collections; -import java.util.List; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.yeshi.utils.JsonUtil; - import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.yeshi.fanli.dto.ConfigParamsDTO; -import com.yeshi.fanli.dto.dataoke.DingDongTime; +import com.yeshi.goods.facade.dto.taobao.dataoke.DingDongTime; import com.yeshi.fanli.dto.jd.JDSearchResult; import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; import com.yeshi.fanli.dto.pdd.PDDGoodsResult; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.homemodule.Special; -import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture; +import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; import com.yeshi.fanli.entity.common.JumpDetailV2; import com.yeshi.fanli.entity.jd.JDGoods; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.entity.taobao.TLJBuyGoods; -import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; +import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; -import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2; +import com.yeshi.goods.facade.entity.taobao.dataoke.DaTaoKeDetailV2; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; import com.yeshi.fanli.service.inter.config.ConfigService; @@ -43,19 +30,14 @@ import com.yeshi.fanli.service.inter.lable.QualityFlashSaleService; import com.yeshi.fanli.service.inter.lable.QualityGoodsService; import com.yeshi.fanli.service.inter.monitor.MonitorService; +import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService; import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; import com.yeshi.fanli.service.inter.pdd.PDDGoodsService; import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService; -import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService; -import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service; +import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service; import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService; -import com.yeshi.fanli.tag.PageEntity; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.RedisManager; -import com.yeshi.fanli.util.StringUtil; -import com.yeshi.fanli.util.TaoBaoConstant; -import com.yeshi.fanli.util.TimeUtil; -import com.yeshi.fanli.util.VersionUtil; +import com.yeshi.common.entity.PageEntity; +import com.yeshi.fanli.util.*; import com.yeshi.fanli.util.factory.MonitorFactory; import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; import com.yeshi.fanli.util.taobao.DaTaoKeUtil; @@ -64,20 +46,33 @@ import com.yeshi.fanli.vo.goods.GoodsDetailVO; import com.yeshi.fanli.vo.goods.OtherInfo; import com.yeshi.fanli.vo.goods.SpikeTimeVO; -import com.yeshi.fanli.vo.msg.ClientTextStyleVO; +import com.yeshi.fanli.vo.homemodule.BannerVO; +import com.yeshi.common.vo.ClientTextStyleVO; import com.yeshi.fanli.vo.search.SearchKeyTOPVO; import com.yeshi.fanli.vo.search.SearchKeyVO; import com.yeshi.fanli.vo.tlj.ReduceHongBao; - import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.yeshi.utils.JsonUtil; +import org.yeshi.utils.TimeUtil; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.io.PrintWriter; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collections; +import java.util.List; @Controller @RequestMapping("api/v2/recommend") public class RecommendControllerV2 { @Resource - private HongBaoManageService hongBaoManageService; + private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; @Resource private QualityGoodsService qualityGoodsService; @@ -96,9 +91,6 @@ @Resource private QualityFlashSaleService qualityFlashSaleService; - - @Resource - private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService; @Resource private RecommendGoodsDeleteHistoryService recommendGoodsDeleteHistoryService; @@ -132,6 +124,9 @@ @Resource private HongBaoV2CountService hongBaoV2CountService; + + @Resource + private HongBaoManageService hongBaoManageService; /** * 鏂扮増鎺ㄨ崘涓撻绠$悊(1.5.3) @@ -143,40 +138,40 @@ public void getRecommendIndex(AcceptData acceptData, Long uid, PrintWriter out) { try { // 鑾峰彇璁惧瀹氫箟鎬у埆 - int deviceSex = deviceSexService.getDeviceSex(acceptData.getDevice()); + int deviceSex = deviceSexService.getDeviceSex(acceptData.getDevice(),acceptData.getSystem()); // 1銆佷笓棰樻ā鍧� - JSONObject root = specialService.listCacheSpecialToIndex(acceptData, deviceSex); + JSONObject root = specialService.listCacheSpecialToIndex(acceptData, deviceSex,acceptData.getSystem()); // 2銆侀《閮ㄨ疆鎾浘 - List<SwiperPicture> oldtopPicList = swiperPictureService.getByBannerCardAndVersion("index_top", - acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion())); + List<BannerVO> oldtopPicList = swiperPictureService.getByBannerCardAndVersion("index_top", + acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()),acceptData.getSystem()); - List<SwiperPicture> topPicList = new ArrayList<>(); + List<BannerVO> topPicList = new ArrayList<>(); if (oldtopPicList != null && oldtopPicList.size() > 0) topPicList.addAll(oldtopPicList); root.put("topPicList", JsonUtil.getApiCommonGson().toJson(topPicList)); // 3銆侀個璇锋湁濂� - List<SwiperPicture> invitePicList = null; + List<BannerVO> invitePicList = null; if ("ios".equalsIgnoreCase(acceptData.getPlatform()) - && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) { + && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()),acceptData.getSystem())) { // 濡傛灉IOS褰撳墠鐗堟湰澶勪簬瀹℃牳鐘舵�佸氨涓嶈繑鍥� } else { invitePicList = swiperPictureService.getByBannerCardAndVersion("index_invite", acceptData.getPlatform(), - Integer.parseInt(acceptData.getVersion())); + Integer.parseInt(acceptData.getVersion()),acceptData.getSystem()); } if (invitePicList == null) { - invitePicList = new ArrayList<SwiperPicture>(); + invitePicList = new ArrayList<BannerVO>(); } root.put("invitePicList", JsonUtil.getApiCommonGson().toJson(invitePicList)); // 4銆両OS鐨勫簳閮ㄧ綉椤甸摼鎺� String platform = acceptData.getPlatform(); if ("ios".equalsIgnoreCase(platform)) { - root.put("htmlLink", configService.get("index_html_link_ios")); + root.put("htmlLink", configService.getValue(ConfigKeyEnum.indexHtmlLinkIos.getKey(),acceptData.getSystem())); } root.put("spikeGoods", getSpikeGoodsContent(acceptData)); @@ -236,8 +231,10 @@ } JSONArray array = null; - String timekey = String.format("spikeGoods_hour_new-%s-%s", acceptData.getPlatform(), acceptData.getVersion()); - String cachekey = String.format("spikeGoodsList_new-%s-%s", acceptData.getPlatform(), acceptData.getVersion()); + String timekey = RedisKeyEnum.getRedisKey(RedisKeyEnum.spikeGoodsHourNew,acceptData.getPlatform() +"-"+acceptData.getVersion()); + String cachekey = RedisKeyEnum.getRedisKey(RedisKeyEnum.spikeGoodsListNew,acceptData.getPlatform() +"-"+acceptData.getVersion()); + + Calendar nowCalendar = Calendar.getInstance(); nowCalendar.setTimeInMillis(nowTime); int hour = nowCalendar.get(Calendar.HOUR_OF_DAY); @@ -261,10 +258,6 @@ if (array == null) { array = new JSONArray(); - - BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); - BigDecimal shareRate = hongBaoManageService.getShareRate(); - Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); @@ -279,8 +272,8 @@ /* 閬嶅巻鍒楄〃鏁版嵁 */ - ConfigParamsDTO configParamsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion()); + ConfigParamsDTO configParamsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(),acceptData.getSystem()); for (DaTaoKeDetailV2 detail : listGoods) { TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(detail); @@ -290,7 +283,7 @@ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, configParamsDTO); JSONObject params = new JSONObject(); - params.put("url", configService.get("spike_goods_link") + "?id=" + taoBaoGoodsBrief.getAuctionId()); + params.put("url", configService.getValue(ConfigKeyEnum.spikeGoodsLink.getKey(),acceptData.getSystem()) + "?id=" + taoBaoGoodsBrief.getAuctionId()); JSONObject goods = new JSONObject(); goods.put("goods", gson.toJson(detailVO)); @@ -325,7 +318,7 @@ } root.put("imgList", imgArray); JSONObject params = new JSONObject(); - params.put("url", configService.get("spike_goods_link")); + params.put("url", configService.getValue(ConfigKeyEnum.spikeGoodsLink.getKey(),acceptData.getSystem())); root.put("params", params); root.put("jumpDetail", jumpDetail); root.put("name", "闄愭椂绉掓潃"); @@ -335,7 +328,7 @@ root.put("endTime", endTime > 0 ? endTime : 0); root.put("listgoods", array); JSONObject params = new JSONObject(); - params.put("url", configService.get("spike_goods_link")); + params.put("url", configService.getValue(ConfigKeyEnum.spikeGoodsLink.getKey(),acceptData.getSystem())); root.put("params", params); root.put("jumpDetail", jumpDetail); } @@ -351,9 +344,6 @@ * 闄愭椂绉掓潃鍒楄〃 * * @param acceptData - * @param page - * @param auctionId - * @param time * @param out */ @RequestMapping("getSpikTime") @@ -384,8 +374,6 @@ * * @param acceptData * @param page - * @param auctionId - * @param time * @param out */ @RequestMapping("getSpikeGoodsList") @@ -411,8 +399,8 @@ Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); if (detailList != null) { - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion()); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(),acceptData.getSystem()); for (DaTaoKeDetailV2 detail : detailList) { array.add(gson.toJson(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(detail), paramsDTO))); @@ -458,7 +446,7 @@ */ private JSONObject getSearchDiscoveryInfo(AcceptData acceptData) { JSONArray array = new JSONArray(); - String keys = configService.getSearchDiscoveryKeys(); + String keys = configService.getSearchDiscoveryKeys(acceptData.getSystem()); if (!StringUtil.isNullOrEmpty(keys)) { JSONArray arrayKeys = JSONArray.fromObject(keys); for (int i = 0; i < arrayKeys.size(); i++) { @@ -474,7 +462,7 @@ } JSONObject params = new JSONObject(); - params.put("url", configService.get("search_discovery_h5_link")); + params.put("url", configService.getValue(ConfigKeyEnum.searchDiscoveryH5Link.getKey(),acceptData.getSystem())); JSONObject root = new JSONObject(); root.put("picture", "http://img.flqapp.com/resource/home_search_found.png"); @@ -530,12 +518,10 @@ /** * 鏍规嵁璁惧淇℃伅鑾峰彇鐚滀綘鍠滄鐨勫唴瀹� - * * @param acceptData - * @param imei - * -Android鐨処MEI淇℃伅 - * @param idfa - * -IOS鐨刬dfa骞垮憡鏍囪瘑淇℃伅 + * @param page + * @param request + * @param out */ public void taoBaoGuessUserLikeByDevice(AcceptData acceptData, int page, HttpServletRequest request, PrintWriter out) { @@ -556,8 +542,8 @@ } } - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion()); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(),acceptData.getSystem()); for (TaoBaoGoodsBrief goods : goodsList) { GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO); @@ -576,13 +562,13 @@ if (list != null && list.size() > 0) { BigDecimal rateBuy = TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE; ConfigParamsDTO paramsBuy = new ConfigParamsDTO(rateBuy, rateBuy, Constant.MAX_REWARD_RATE, - hongBaoManageService.getVIPFanLiRate()); + hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP,acceptData.getSystem())); for (int i = list.size() - 1; i >= 0; i--) { TLJBuyGoods goods = list.get(i); GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods.getGoods(), paramsBuy); String hongBao = TaoBaoUtil.getGoodsHongBaoInfo(goods.getGoods(), - TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE); + TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE,false); ReduceHongBao reduceHongBao = new ReduceHongBao(); reduceHongBao.setLeft(goods.getLeftHongBaoCount()); @@ -615,7 +601,7 @@ if (!StringUtil.isNullOrEmpty(imei) || !StringUtil.isNullOrEmpty(idfa)) { long startTime = java.lang.System.currentTimeMillis(); - TaoBaoSearchResult result = TaoKeApiUtil.guessDeviceLike(page, 50, imei, idfa); + TaoBaoSearchResult result = TaoKeApiUtil.guessDeviceLike(page, 50, imei, idfa,""); if (result != null && result.getTaoBaoGoodsBriefs() != null) { // 绛涢�� @@ -626,14 +612,14 @@ // filter try { - gList = daTaoKeGoodsDetailService.filterTaoBaoGoods(gList); + gList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(gList); } catch (Exception e) { } // 璁惧鎺ㄨ崘 if (gList != null) { - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion()); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(),acceptData.getSystem()); for (TaoBaoGoodsBrief goods : gList) { if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && goods.getCouponAmount() != null && goods.getCouponAmount().compareTo(new BigDecimal("5")) >= 0 @@ -668,10 +654,10 @@ } } } - JSONArray localArray = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize,acceptData.getPlatform(),acceptData.getVersion()); + JSONArray localArray = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize,acceptData.getPlatform(),acceptData.getVersion(),acceptData.getSystem()); array.addAll(localArray); } else {// 浠庣簿閫夊簱鏉� - array = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize,acceptData.getPlatform(),acceptData.getVersion()); + array = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize,acceptData.getPlatform(),acceptData.getVersion(),acceptData.getSystem()); if (array == null) { out.print(JsonUtil.loadFalseResult("娌℃湁鏇村浜�")); return; @@ -692,7 +678,7 @@ * @param out */ private void getIndexJDGoods(AcceptData acceptData, int page, PrintWriter out) { - JDSearchResult result = jdGoodsService.getIndexJDGoods(page); + JDSearchResult result = jdGoodsService.getIndexJDGoods(page,acceptData.getSystem()); long count = 0; JSONObject data = new JSONObject(); JSONArray array = new JSONArray(); @@ -704,8 +690,8 @@ List<JDGoods> goodsList = result.getGoodsList(); if (goodsList != null && goodsList.size() > 0) { - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion()); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(),acceptData.getSystem()); Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); @@ -737,8 +723,8 @@ Gson gson = JsonUtil.getApiCommonGson(); List<PDDGoodsDetail> goodsList = result.getGoodsList(); if (goodsList != null && goodsList.size() > 0) { - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion()); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(),acceptData.getSystem()); for (PDDGoodsDetail goods : goodsList) { GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO); @@ -766,13 +752,13 @@ int count = 0; List<SearchKeyTOPVO> list = new ArrayList<SearchKeyTOPVO>(); - String keys = configService.getSearchDiscoveryKeys(); + String keys = configService.getSearchDiscoveryKeys(acceptData.getSystem()); if (!StringUtil.isNullOrEmpty(keys)) { JSONArray arrayKeys = JSONArray.fromObject(keys); if (arrayKeys != null && arrayKeys.size() > 0) { count = arrayKeys.size(); - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion()); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(),acceptData.getSystem()); int j = 1; for (int i = (page - 1) * 3; i < arrayKeys.size(); i++) { @@ -827,7 +813,7 @@ int platformCode = Constant.getPlatformCode(acceptData.getPlatform()); List<Special> list = specialService.listByPlaceKey("special_channel_activity", platformCode, - Integer.parseInt(acceptData.getVersion())); + Integer.parseInt(acceptData.getVersion()),acceptData.getSystem()); long time = System.currentTimeMillis(); // 鍒犻櫎灏氭湭鍚敤鐨勮繃鏈熺殑 @@ -836,12 +822,7 @@ if (special.getState() == 1L) { list.remove(i--); } else { - if (special.getStartTime() != null && special.getEndTime() != null) - special.setTimeTask(true); - else - special.setTimeTask(false); - - if (special.isTimeTask()) { + if (special.getStartTime() != null && special.getEndTime() != null) { if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) { list.remove(i--); } else// 璁剧疆鍊掕鏃� @@ -868,14 +849,13 @@ * * @param acceptData * @param uid - * @param callback * @param out */ @RequestMapping(value = "getGuide") public void getGuide(AcceptData acceptData, Long uid, PrintWriter out) { String tips = null; if (uid == null || uid <= 0) { - tips = configService.get("tip_guide_new_user"); + tips = configService.getValue(ConfigKeyEnum.tipGuideNewUser.getKey(),acceptData.getSystem()); } else { long rebateOrder = hongBaoV2CountService.countRebateOrder(uid); long shareOrInviteOrder = hongBaoV2CountService.countShareOrInviteOrder(uid); @@ -883,13 +863,13 @@ // 鐔熷鐗� } else if (rebateOrder <= 0 && shareOrInviteOrder <= 0) { // 鏂颁汉鐗� - tips = configService.get("tip_guide_new_user"); + tips = configService.getValue(ConfigKeyEnum.tipGuideNewUser.getKey(),acceptData.getSystem()); } else if (rebateOrder > 0 && shareOrInviteOrder <= 0) { // 鐪侀挶鐗� - tips = configService.get("tip_guide_save_money"); + tips = configService.getValue(ConfigKeyEnum.tipGuideSaveMoney.getKey(),acceptData.getSystem()); } else { // 璧氶挶鐗� - tips = configService.get("tip_guide_share_invite"); + tips = configService.getValue(ConfigKeyEnum.tipGuideShareInvite.getKey(),acceptData.getSystem()); } } -- Gitblit v1.8.0