From c6b718c3cadf5e5fff4c2a47fd1247842439f8c7 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期三, 15 四月 2020 10:45:18 +0800 Subject: [PATCH] 团队消息 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java | 115 +++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 90 insertions(+), 25 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 22599b6..4f063a0 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 @@ -1,6 +1,7 @@ package com.yeshi.fanli.controller.client.v2; import java.io.PrintWriter; +import java.lang.reflect.InvocationTargetException; import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; @@ -9,6 +10,7 @@ import javax.annotation.Resource; +import org.apache.commons.beanutils.PropertyUtils; import org.json.simple.JSONArray; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -28,6 +30,7 @@ import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.user.ShamUser; import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; import com.yeshi.fanli.entity.goods.CollectionGoodsV2; import com.yeshi.fanli.entity.goods.CommonGoods; import com.yeshi.fanli.entity.jd.JDGoods; @@ -50,6 +53,7 @@ import com.yeshi.fanli.service.inter.config.BusinessSystemService; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.config.SystemClientParamsService; +import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService; import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service; import com.yeshi.fanli.service.inter.goods.ScanHistoryV2Service; import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService; @@ -72,6 +76,7 @@ import com.yeshi.fanli.service.inter.user.integral.IntegralGetService; import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService; 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 com.yeshi.fanli.util.RedisManager; @@ -91,6 +96,7 @@ import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; +import com.yeshi.fanli.util.user.UserLevelUtil; import com.yeshi.fanli.vo.goods.CouponInfoVO; import com.yeshi.fanli.vo.goods.GoodsDetailExtraVO; import com.yeshi.fanli.vo.goods.GoodsDetailVO; @@ -199,6 +205,26 @@ @Resource private UserVipConfigService userVipConfigService; + @Resource + private GoodsEvaluateService goodsEvaluateService; + + @Resource + private UserLevelManager userLevelManager; + + private ConfigParamsDTO getParamsDTO(String platform, String version, Long uid) { + UserLevelEnum level = UserLevelEnum.daRen; + if (uid != null && uid > 0) { + level = userLevelManager.getUserLevel(uid); + if (level != null) { + if (System.currentTimeMillis() < Constant.NEW_ORDER_FANLI_RULE_TIME) + level = UserLevelUtil.getOldLevel(level); + } + } + if (level == null) + level = UserLevelEnum.daRen; + return hongBaoManageService.getShowComputeRate(platform, version, level); + } + /** * 娣樺疂鍟嗗搧璇︽儏 * @@ -261,6 +287,7 @@ app.setPid(TaoBaoConstant.TAOBAO_COMMON_PID); app.setAdzoneId(TaoBaoConstant.TAOBAO_COMMON_PID.split("_")[3]); goods = TaoKeApiUtil.searchGoodsDetail(id, app); + final TaoBaoGoodsBrief finalGoods = goods; if (goods != null) { ThreadUtil.run(new Runnable() { @@ -274,6 +301,7 @@ } catch (TaobaoGoodsDownException e) { // 鍟嗗搧涓嬫灦 ThreadUtil.run(new Runnable() { + public void run() { taoBaoGoodsUpdateService.offlineTaoBaoGoods(id); } @@ -367,20 +395,23 @@ // 澶ф窐瀹㈠晢鍝佽繃婊� try { - goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods); + goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods, acceptData.getPlatform(), + acceptData.getVersion()); + + // goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods); + } catch (Exception e) { LogHelper.errorDetailInfo(e); } - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion()); + ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid); paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); 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.getVIPShareRate())); + goodsDetail.getMoneyInfo().setShareMoney("楼" + TaoBaoUtil.getGoodsHongBaoMoney(goods, + hongBaoManageService.getShareRate(UserLevelEnum.superVIP))); goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo()); goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo()); } @@ -580,6 +611,28 @@ shareInfoVO.setHelpLink(helpLink); extraVO.setShare(shareInfoVO); + if (goodsDetail.isHasCoupon()) { + // 璁剧疆couponList + List<CouponInfoVO> couponInfoList = new ArrayList<>(); + couponInfoList.add(goodsDetail.getCouponInfo()); + if (Constant.IS_TEST) { + CouponInfoVO coupon = new CouponInfoVO(); + try { + PropertyUtils.copyProperties(coupon, goodsDetail.getCouponInfo()); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } + coupon.setShopCoupon(true); + coupon.setLink( + "https://uland.taobao.com/quan/detail?sellerId=725677994&activityId=d03aa6d23a5a4040afb3942e7ea9a007"); + couponInfoList.add(coupon); + } + goodsDetail.setCouponInfoList(couponInfoList); + } JSONObject object = new JSONObject(); object.put("extra", JsonUtil.getApiCommonGson().toJson(extraVO)); object.put("goods", JsonUtil.getApiCommonGson().toJson(goodsDetail)); @@ -609,7 +662,7 @@ */ @RequestMapping(value = "getDetailJD") public void getDetialJD(AcceptData acceptData, Long id, Long uid, String from, PrintWriter out) { -// uid=2255993L; + // uid=2255993L; // 绯荤粺楠岃瘉 BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages()); @@ -638,14 +691,13 @@ // 淇濆瓨缂撳瓨 jdGoodsCacheUtil.saveGoodsInfo(jdGoods); - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion()); + ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid); paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); 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.getVIPShareRate())); + goodsDetail.getMoneyInfo().setShareMoney("楼" + + JDUtil.getGoodsFanLiMoney(jdGoods, hongBaoManageService.getShareRate(UserLevelEnum.superVIP))); goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo()); goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo()); } @@ -673,8 +725,8 @@ otherInfo.setFanliMoneyPlus("浜笢plus杩斅�" + fanliMoneyPlus); // 浣跨敤濂栧姳鍒告渶楂樿繑 if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) { - maxMoneyPlus = "锛堜含涓減lus杩斅�" - + JDUtil.getGoodsFanLiMoneyPlus(jdGoods, hongBaoManageService.getVIPFanLiRate()) + "锛�"; + maxMoneyPlus = "锛堜含涓減lus杩斅�" + JDUtil.getGoodsFanLiMoneyPlus(jdGoods, + hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP)) + "锛�"; } else maxMoneyPlus = "锛堜含涓減lus鏈�楂樿繑楼" + fanliMoneyPlus.add(MoneyBigDecimalUtil.mul(fanliMoneyPlus, Constant.MAX_REWARD_RATE)) @@ -805,12 +857,18 @@ out.print(JsonUtil.loadTrueResult(object.toString())); final JDGoods goods = jdGoods; - final Long fuid=uid; + final Long fuid = uid; ThreadUtil.run(new Runnable() { public void run() { // 娣诲姞娴忚璁板綍 try { scanHistoryV2Service.addJDScanHistory(fuid, acceptData.getDevice(), goods); + } catch (Exception e) { + e.printStackTrace(); + } + + try { + goodsEvaluateService.updateJDGoods(goods); } catch (Exception e) { e.printStackTrace(); } @@ -843,15 +901,14 @@ return; } - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion()); + ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid); paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); 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.getVIPShareRate())); + goodsDetail.getMoneyInfo().setShareMoney("楼" + PinDuoDuoUtil.getGoodsFanLiMoney(pddGoods, + hongBaoManageService.getShareRate(UserLevelEnum.superVIP))); goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo()); goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo()); } @@ -992,6 +1049,12 @@ } catch (Exception e) { e.printStackTrace(); } + + try { + goodsEvaluateService.updatePDDGoods(pddGoods); + } catch (Exception e) { + e.printStackTrace(); + } } }); } @@ -1023,8 +1086,7 @@ list = list.subList(0, 10); } - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion()); + ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), null); List<GoodsDetailVO> listDetailVO = new ArrayList<GoodsDetailVO>(); for (JDGoods goods : list) { @@ -1065,8 +1127,8 @@ goodsList = goodsList.subList(0, 10); } - ConfigParamsDTO paramsDTO = hongBaoManageService - .getShowComputeRate(acceptData.getPlatform(), acceptData.getVersion()); + ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), + null); for (PDDGoodsDetail goods : goodsList) { listDetailVO.add(GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO)); } @@ -1109,8 +1171,7 @@ if (goodsList != null && goodsList.size() > 0) { - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), - acceptData.getVersion()); + ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), null); goodsList.parallelStream().forEach(goods -> { if (goods != null) { @@ -1204,6 +1265,10 @@ } jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_FANLI + "", uid + ""); + if (jumpLink == null) { + jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, null, JDApiUtil.POSITION_FANLI + "", + uid + ""); + } } else { jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_FANLI + "", uid + ""); @@ -1387,8 +1452,8 @@ Map<String, GoodsDetailVO> tempGoodsList = new HashMap<>(); ConfigParamsDTO params = new ConfigParamsDTO(hongBaoManageService.getFanLiRate(), - hongBaoManageService.getShareRate(), new BigDecimal(80), hongBaoManageService.getVIPFanLiRate()); - hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), acceptData.getVersion()); + hongBaoManageService.getShareRate(), new BigDecimal(80), + hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP)); if (tbGoodsList.size() > 0) { List<TaoBaoGoodsBrief> goodsList = null; -- Gitblit v1.8.0