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/GoodsControllerV2.java | 115 ++++++++++++++++++++++++++++----------------------------- 1 files changed, 56 insertions(+), 59 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java index b891c76..091d2e6 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java @@ -9,6 +9,8 @@ import javax.annotation.Resource; +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; import org.json.simple.JSONArray; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -26,7 +28,7 @@ import com.yeshi.fanli.dto.pdd.PDDSearchFilter; import com.yeshi.fanli.dto.suning.SuningGoodsInfo; import com.yeshi.fanli.dto.suning.SuningGoodsInfoRecommend; -import com.yeshi.fanli.dto.taobao.DaTaoKeFilterResult; +import com.yeshi.goods.facade.dto.taobao.dataoke.DaTaoKeFilterResult; import com.yeshi.fanli.dto.vip.VIPConvertResultDTO; import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo; import com.yeshi.fanli.entity.accept.AcceptData; @@ -47,10 +49,10 @@ import com.yeshi.fanli.entity.taobao.ClientTBPid; import com.yeshi.fanli.entity.taobao.TLJBuyGoods; import com.yeshi.fanli.entity.taobao.TLJFreeBuyGoods; -import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; -import com.yeshi.fanli.entity.taobao.TaoBaoShop; +import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; +import com.yeshi.common.entity.taobao.TaoBaoShop; import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig; -import com.yeshi.fanli.entity.taobao.TaoKeAppInfo; +import com.yeshi.common.entity.taobao.TaoKeAppInfo; import com.yeshi.fanli.exception.taobao.TaoKeApiException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsUpdateException; @@ -73,7 +75,7 @@ import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService; import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService; import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; -import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service; +import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service; import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService; import com.yeshi.fanli.service.inter.user.ShamUserService; import com.yeshi.fanli.service.inter.user.TBPidService; @@ -85,17 +87,17 @@ import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService; import com.yeshi.fanli.service.manger.user.UserLevelManager; import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.MoneyBigDecimalUtil; +import org.yeshi.utils.MoneyBigDecimalUtil; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TaoBaoConstant; import com.yeshi.fanli.util.ThreadUtil; -import com.yeshi.fanli.util.TimeUtil; +import org.yeshi.utils.TimeUtil; import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.cache.JDGoodsCacheUtil; import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil; import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil; -import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil; +import com.yeshi.goods.facade.utils.taobao.DaTaoKeApiUtil; import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; import com.yeshi.fanli.util.factory.goods.ShopInfoVOFactory; import com.yeshi.fanli.util.jd.JDApiUtil; @@ -117,7 +119,7 @@ import com.yeshi.fanli.vo.goods.RewardCouponVO; import com.yeshi.fanli.vo.goods.ShareVO; import com.yeshi.fanli.vo.goods.ShopInfoVO; -import com.yeshi.fanli.vo.msg.ClientTextStyleVO; +import com.yeshi.common.vo.ClientTextStyleVO; import com.yeshi.fanli.vo.tlj.NewUserHongBao; import com.yeshi.fanli.vo.tlj.ReduceHongBao; @@ -140,9 +142,6 @@ private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil; @Resource - private RedisManager redisManager; - - @Resource private TaoBaoShopService taoBaoShopService; @Resource @@ -150,9 +149,6 @@ @Resource private CollectionGoodsV2Service collectionGoodsV2Service; - - @Resource - private TaoBaoGoodsBriefService taoBaoGoodsBriefService; @Resource private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService; @@ -171,15 +167,6 @@ @Resource private UserGoodsStorageService userGoodsStorageService; - - @Resource - private ConfigTaoLiJinService configTaoLiJinService; - - @Resource - private UserInfoExtraService userInfoExtraService; - - @Resource - private UserMoneyExtraService userMoneyExtraService; @Resource private ScanHistoryV2Service scanHistoryV2Service; @@ -208,8 +195,6 @@ @Resource private TLJFreeBuyGoodsService tljFreeBuyGoodsService; - @Resource - private UserTaoLiJinNewbiesService userTaoLiJinNewbiesService; @Resource private UserVIPInfoService userVIPInfoService; @@ -226,7 +211,10 @@ @Resource private HongBaoManageService hongBaoManageService; - private ConfigParamsDTO getParamsDTO(String platform, String version, Long uid) { + @Resource + private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService; + + private ConfigParamsDTO getParamsDTO(String platform, String version, Long uid, SystemEnum system) { UserLevelEnum level = UserLevelEnum.daRen; if (uid != null && uid > 0) { level = userLevelManager.getUserLevel(uid); @@ -237,7 +225,8 @@ } if (level == null) level = UserLevelEnum.daRen; - return orderHongBaoMoneyComputeService.getShowComputeRate(platform, version, level); + + return orderHongBaoMoneyComputeService.getShowComputeRate(platform, version, level, system); } private TaoBaoGoodsBrief filterDaTaoKeGoodsInfo(TaoBaoGoodsBrief goods) { @@ -289,7 +278,7 @@ } BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages()); + acceptData.getPackages(), acceptData.getSystem()); if (system == null) { out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�")); return; @@ -368,7 +357,7 @@ try { goods = TaoKeApiUtil.searchGoodsDetail(id, app); if (goods.getTkRate() == null || new BigDecimal(0).compareTo(goods.getTkRate()) == 0) { - TaoBaoGoodsBrief linkInfo = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app); + TaoBaoGoodsBrief linkInfo = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app,null,null); if (linkInfo != null) { goods.setAuctionUrl(linkInfo.getAuctionUrl()); goods.setCouponLink(linkInfo.getCouponLink()); @@ -405,6 +394,7 @@ TaoBaoGoodsBrief tb = goods; + if (tb == null) { out.print(JsonUtil.loadFalseResult(2, "鍟嗗搧涓嶅瓨鍦�")); return; @@ -414,7 +404,14 @@ tb.setImgList(new ArrayList<>()); } - // tb.getImgList().add(0, tb.getPictUrl()); + + if (uid != null && uid > 0) { + String specialId = userExtraTaoBaoInfoService.getSpecialIdByUid(uid); + //鑾峰彇鏈�鏂扮殑姣斾緥 + TaoBaoGoodsBrief rateGoods = TaoKeApiUtil.specialConvertCoupon(tb.getAuctionId(), TaoBaoConstant.getSpecialAuthAppInfo(), specialId, null); + if (rateGoods != null) + tb.setMinTkRate(rateGoods.getTkRate()); + } List<String> finalImgList = new ArrayList<>(); for (String img : tb.getImgList()) { @@ -447,14 +444,14 @@ LogHelper.errorDetailInfo(e); } - ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid); - paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); + ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid, acceptData.getSystem()); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(acceptData.getSystem())); GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO); if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) { goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney()); goodsDetail.getMoneyInfo().setShareMoney("楼" + TaoBaoUtil.getGoodsHongBaoMoney(goods, - hongBaoManageService.getShareRate(UserLevelEnum.superVIP), true)); + hongBaoManageService.getShareRate(UserLevelEnum.superVIP, acceptData.getSystem()), true)); goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo()); goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo()); } @@ -696,7 +693,7 @@ // uid=2255993L; // 绯荤粺楠岃瘉 BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages()); + acceptData.getPackages(), acceptData.getSystem()); if (system == null) { out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�")); return; @@ -722,13 +719,13 @@ // 淇濆瓨缂撳瓨 jdGoodsCacheUtil.saveGoodsInfo(jdGoods); - ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid); - paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); + ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid, acceptData.getSystem()); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(acceptData.getSystem())); GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertJDGoods(jdGoods, paramsDTO); if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) { goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney()); goodsDetail.getMoneyInfo().setShareMoney("楼" - + JDUtil.getGoodsFanLiMoney(jdGoods, hongBaoManageService.getShareRate(UserLevelEnum.superVIP))); + + JDUtil.getGoodsFanLiMoney(jdGoods, hongBaoManageService.getShareRate(UserLevelEnum.superVIP, acceptData.getSystem()))); goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo()); goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo()); } @@ -752,12 +749,12 @@ jdGoods.setCommissionPlus(threeClass.getSelfComm()); // plus杩斿埄 BigDecimal fanliMoneyPlus = JDUtil.getGoodsFanLiMoneyPlus(jdGoods, - hongBaoManageService.getFanLiRate()); + hongBaoManageService.getFanLiRate(acceptData.getSystem())); otherInfo.setFanliMoneyPlus("浜笢plus杩斅�" + fanliMoneyPlus); // 浣跨敤濂栧姳鍒告渶楂樿繑 if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) { maxMoneyPlus = "锛堜含涓減lus杩斅�" + JDUtil.getGoodsFanLiMoneyPlus(jdGoods, - hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP)) + "锛�"; + hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP, acceptData.getSystem())) + "锛�"; } else maxMoneyPlus = "锛堜含涓減lus鏈�楂樿繑楼" + fanliMoneyPlus.add(MoneyBigDecimalUtil.mul(fanliMoneyPlus, Constant.MAX_REWARD_RATE)) @@ -924,7 +921,7 @@ public void getDetialPDD(AcceptData acceptData, Long id, Long uid, String from, PrintWriter out) { // 绯荤粺楠岃瘉 BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages()); + acceptData.getPackages(), acceptData.getSystem()); if (system == null) { out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�")); return; @@ -936,14 +933,14 @@ return; } - ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid); - paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); + ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid, acceptData.getSystem()); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(acceptData.getSystem())); GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertPDDGoods(pddGoods, paramsDTO); if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) { goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney()); goodsDetail.getMoneyInfo().setShareMoney("楼" + PinDuoDuoUtil.getGoodsFanLiMoney(pddGoods, - hongBaoManageService.getShareRate(UserLevelEnum.superVIP))); + hongBaoManageService.getShareRate(UserLevelEnum.superVIP, acceptData.getSystem()))); goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo()); goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo()); } @@ -1122,7 +1119,7 @@ public void getDetialVIP(AcceptData acceptData, Long id, Long uid, String from, PrintWriter out) { // 绯荤粺楠岃瘉 BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages()); + acceptData.getPackages(), acceptData.getSystem()); if (system == null) { out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�")); return; @@ -1134,14 +1131,14 @@ return; } - ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid); - paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); + ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid, acceptData.getSystem()); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(acceptData.getSystem())); GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertVIPGoods(vipGoodsInfo, paramsDTO); if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) { goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney()); goodsDetail.getMoneyInfo().setShareMoney("楼" + VipShopUtil.getGoodsFanLiMoney(vipGoodsInfo, - hongBaoManageService.getShareRate(UserLevelEnum.superVIP))); + hongBaoManageService.getShareRate(UserLevelEnum.superVIP, acceptData.getSystem()))); goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo()); goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo()); } @@ -1251,7 +1248,7 @@ public void getDetialSuning(AcceptData acceptData, String id, Long uid, String from, PrintWriter out) { // 绯荤粺楠岃瘉 BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages()); + acceptData.getPackages(), acceptData.getSystem()); if (system == null) { out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�")); return; @@ -1266,14 +1263,14 @@ return; } - ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid); - paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); + ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid, acceptData.getSystem()); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(acceptData.getSystem())); GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertSuningGoods(suningGoodsInfo, paramsDTO); if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) { goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney()); goodsDetail.getMoneyInfo().setShareMoney("楼" + SuningUtil.getGoodsFanLiMoney(suningGoodsInfo, - hongBaoManageService.getShareRate(UserLevelEnum.superVIP))); + hongBaoManageService.getShareRate(UserLevelEnum.superVIP, acceptData.getSystem()))); goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo()); goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo()); } @@ -1464,7 +1461,7 @@ list = list.subList(0, 10); } - ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), null); + ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), null, acceptData.getSystem()); List<GoodsDetailVO> listDetailVO = new ArrayList<GoodsDetailVO>(); for (JDGoods goods : list) { @@ -1506,7 +1503,7 @@ } ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), - null); + null, acceptData.getSystem()); for (PDDGoodsDetail goods : goodsList) { listDetailVO.add(GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO)); } @@ -1552,7 +1549,7 @@ if (resultList != null) { if (resultList != null && resultList.size() > 0) { ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion()); + acceptData.getVersion(), acceptData.getSystem()); for (SuningGoodsInfo goods : resultList) { GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertSuningGoods(goods, paramsDTO); @@ -1575,7 +1572,7 @@ } List<GoodsDetailVO> listExtra = new ArrayList<GoodsDetailVO>(); - ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), null); + ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), null, acceptData.getSystem()); goodsList.parallelStream().forEach(goods -> { if (goods != null) { listExtra.add(GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO)); @@ -1940,9 +1937,9 @@ Map<String, GoodsDetailVO> tempGoodsList = new HashMap<>(); - ConfigParamsDTO params = new ConfigParamsDTO(hongBaoManageService.getFanLiRate(), - hongBaoManageService.getShareRate(), new BigDecimal(80), - hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP)); + ConfigParamsDTO params = new ConfigParamsDTO(hongBaoManageService.getFanLiRate(acceptData.getSystem()), + hongBaoManageService.getShareRate(acceptData.getSystem()), new BigDecimal(80), + hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP, acceptData.getSystem())); if (tbGoodsList.size() > 0) { List<TaoBaoGoodsBrief> goodsList = null; -- Gitblit v1.8.0