| | |
| | | import java.io.PrintWriter; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.math.BigDecimal; |
| | | import java.net.URLDecoder; |
| | | import java.net.URLEncoder; |
| | | import java.util.*; |
| | | |
| | |
| | | import com.yeshi.fanli.service.manger.PIDManager; |
| | | import com.yeshi.fanli.util.*; |
| | | import com.yeshi.fanli.util.goods.GoodsJumpUtil; |
| | | import com.yeshi.fanli.util.goods.douyin.CSJCPSApiUtil; |
| | | import com.yeshi.fanli.util.goods.douyin.DYUtil; |
| | | import com.yeshi.fanli.util.goods.douyin.vo.*; |
| | | import com.yeshi.fanli.vo.common.WXXCXJumpInfoVO; |
| | | import com.yeshi.fanli.vo.pdd.PDDConvertLinkResultVO; |
| | | import com.yeshi.fanli.vo.goods.GoodsJumpLinkVO; |
| | |
| | | // result.getGoods().setCouponLink(link); |
| | | return result.getGoods(); |
| | | } else { |
| | | link = DaTaoKeApiUtil.convertLink(goods.getAuctionId(), dpid); |
| | | link = DaTaoKeApiUtil.convertLink(goods.getAuctionId(), dpid, false); |
| | | if (!StringUtil.isNullOrEmpty(link)) { |
| | | // result.getGoods().setCouponLink(link); |
| | | taoBaoGoodsCacheUtil.cacheBaseConvertLink(goods.getAuctionId(), dpid, link); |
| | |
| | | if ("ios".equalsIgnoreCase(acceptData.getPlatform()) |
| | | && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()), acceptData.getSystem())) |
| | | otherInfo.setRewardCoupon(null); |
| | | |
| | | goodsDetail.setOtherInfo(otherInfo); |
| | | } |
| | | extraVO.setFanliValid(fanliValid); |
| | |
| | | return; |
| | | } |
| | | |
| | | JDGoods jdGoods = JDApiUtil.queryGoodsDetail( id); // 高级接口 |
| | | JDGoods jdGoods = JDApiUtil.queryGoodsDetail(id); // 高级接口 |
| | | if (jdGoods == null) { |
| | | jdGoods = JDUtil.getGoodsDetail(id); // 爬取网页 |
| | | // jdGoods = JDApiUtil.getGoodsDetail(id); // 普通接口 |
| | |
| | | |
| | | if (uid != null) { |
| | | // 是否加入收藏 |
| | | CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(uid, id+"", |
| | | CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(uid, id + "", |
| | | Constant.SOURCE_TYPE_JD); |
| | | extraVO.setCollected(collectionGoods != null ? true : false); |
| | | // 是否加入选品库 |
| | | extraVO.setStorage(userGoodsStorageService.isExistStorage(uid, id+"", Constant.SOURCE_TYPE_JD)); |
| | | extraVO.setStorage(userGoodsStorageService.isExistStorage(uid, id + "", Constant.SOURCE_TYPE_JD)); |
| | | } |
| | | |
| | | // 图文详情 |
| | |
| | | |
| | | if (uid != null) { |
| | | // 是否加入收藏 |
| | | CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(uid, id+"", |
| | | CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(uid, id + "", |
| | | Constant.SOURCE_TYPE_PDD); |
| | | extraVO.setCollected(collectionGoods != null ? true : false); |
| | | // 是否加入选品库 |
| | | extraVO.setStorage(userGoodsStorageService.isExistStorage(uid, id+"", Constant.SOURCE_TYPE_PDD)); |
| | | extraVO.setStorage(userGoodsStorageService.isExistStorage(uid, id + "", Constant.SOURCE_TYPE_PDD)); |
| | | } |
| | | |
| | | extraVO.setIsNative(true); |
| | |
| | | |
| | | if (uid != null) { |
| | | // 是否加入收藏 |
| | | CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(uid, id+"", |
| | | CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(uid, id + "", |
| | | Constant.SOURCE_TYPE_VIP); |
| | | extraVO.setCollected(collectionGoods != null ? true : false); |
| | | // 是否加入选品库 |
| | | extraVO.setStorage(userGoodsStorageService.isExistStorage(uid, id+"", Constant.SOURCE_TYPE_VIP)); |
| | | extraVO.setStorage(userGoodsStorageService.isExistStorage(uid, id + "", Constant.SOURCE_TYPE_VIP)); |
| | | } |
| | | |
| | | extraVO.setIsNative(true); |
| | |
| | | if (uid != null) { |
| | | // 是否加入收藏 |
| | | CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(uid, |
| | | (suningGoodsInfo.getCommodityInfo().getCommodityCode()), Constant.SOURCE_TYPE_SUNING); |
| | | (suningGoodsInfo.getCommodityInfo().getCommodityCode()), Constant.SOURCE_TYPE_SUNING); |
| | | extraVO.setCollected(collectionGoods != null ? true : false); |
| | | // 是否加入选品库 |
| | | extraVO.setStorage(userGoodsStorageService.isExistStorage(uid, |
| | | (suningGoodsInfo.getCommodityInfo().getCommodityCode()), |
| | | (suningGoodsInfo.getCommodityInfo().getCommodityCode()), |
| | | Constant.SOURCE_TYPE_SUNING)); |
| | | } |
| | | |
| | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "getDetailDY", method = RequestMethod.POST) |
| | | public void getDetailDY(AcceptData acceptData, Long id, Long uid, String from, PrintWriter out) { |
| | | // 系统验证 |
| | | BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), |
| | | acceptData.getPackages(), acceptData.getSystem()); |
| | | if (system == null) { |
| | | out.print(JsonUtil.loadFalseResult(1, "系统不存在")); |
| | | return; |
| | | } |
| | | |
| | | DYGoodsDetail dyGoodsDetail = CSJCPSApiUtil.goodsDetail(id); |
| | | if (dyGoodsDetail == null) { |
| | | out.print(JsonUtil.loadFalseResult(2, "商品不存在")); |
| | | return; |
| | | } |
| | | |
| | | GoodsMoneyConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid, acceptData.getSystem()); |
| | | paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(acceptData.getSystem())); |
| | | |
| | | GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertDYGoods(dyGoodsDetail, paramsDTO); |
| | | if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) { |
| | | goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney()); |
| | | goodsDetail.getMoneyInfo().setShareMoney("¥" + DYUtil.getGoodsFanLiMoney(dyGoodsDetail, |
| | | hongBaoManageService.getShareRate(UserLevelEnum.superVIP, acceptData.getSystem()))); |
| | | goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo()); |
| | | goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo()); |
| | | } |
| | | goodsDetail.getMoneyInfo() |
| | | .setRateInfoHelpUrl(configService.getValue(ConfigKeyEnum.goodsDetailFanliRateHelpUrl.getKey(), acceptData.getSystem())); |
| | | |
| | | // 附加信息 |
| | | OtherInfo otherInfo = new OtherInfo(); |
| | | RewardCouponVO rewardCoupon = new RewardCouponVO(); |
| | | rewardCoupon.setJumpDetail(jumpDetailV2Service.getByTypeCache("web", acceptData.getSystem())); |
| | | JSONObject params1 = new JSONObject(); |
| | | if (!VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) |
| | | params1.put("url", configService.getValue(ConfigKeyEnum.specialGuideRewardCouponLink.getKey(), acceptData.getSystem())); |
| | | else |
| | | params1.put("url", userVipConfigService.getValueByKey("vip_link")); |
| | | |
| | | rewardCoupon.setMaxMoney(goodsDetail.getMoneyInfo().getMaxMoney()); |
| | | rewardCoupon.setDesc("返"); |
| | | params1.put("url", userVipConfigService.getValueByKey("vip_link")); |
| | | rewardCoupon.getJumpDetail().setNeedLogin(true); |
| | | |
| | | rewardCoupon.setParams(params1.toString()); |
| | | otherInfo.setRewardCoupon(rewardCoupon); |
| | | if ("ios".equalsIgnoreCase(acceptData.getPlatform()) |
| | | && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()), acceptData.getSystem())) |
| | | otherInfo.setRewardCoupon(null); |
| | | goodsDetail.setOtherInfo(otherInfo); |
| | | |
| | | ShopInfoVO shopInfo = goodsDetail.getShopInfo(); |
| | | if (shopInfo != null) { |
| | | if (shopInfo.getId() == null || shopInfo.getScoreGoods() == null || shopInfo.getScoreLogistics() == null |
| | | || shopInfo.getScoreSeller() == null) { |
| | | goodsDetail.setShopInfo(null); |
| | | } |
| | | } |
| | | |
| | | GoodsDetailExtraVO extraVO = new GoodsDetailExtraVO(); |
| | | extraVO.setIsNative(false); |
| | | // IOS是否正在上线 |
| | | if ("ios".equalsIgnoreCase(acceptData.getPlatform())) { |
| | | String version = acceptData.getVersion(); |
| | | extraVO.setIosOnling(configService.iosOnLining(Integer.parseInt(version), acceptData.getSystem())); |
| | | } |
| | | |
| | | // TODO 图文详情 |
| | | extraVO.setDetailUrl(""); |
| | | |
| | | if (uid != null) { |
| | | // 是否加入收藏 |
| | | CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(uid, id + "", |
| | | Constant.SOURCE_TYPE_DY); |
| | | extraVO.setCollected(collectionGoods != null ? true : false); |
| | | // 是否加入选品库 |
| | | extraVO.setStorage(userGoodsStorageService.isExistStorage(uid, id + "", Constant.SOURCE_TYPE_DY)); |
| | | } |
| | | |
| | | extraVO.setIsNative(true); |
| | | |
| | | // 分享路径 |
| | | String h5Url = String.format("http://%s%s?uid=%s&id=%s", configService.getH5Host(acceptData.getSystem()), |
| | | Constant.systemCommonConfig.getShareGoodsPagePathPDD(), "", id + ""); |
| | | // try { |
| | | // extraVO.setH5Url(HttpUtil.getShortLink(h5Url)); |
| | | // } catch (Exception e) { |
| | | extraVO.setH5Url(h5Url); |
| | | // } |
| | | |
| | | String helpLink = null; |
| | | extraVO.setFanliValid(true); |
| | | extraVO.setShareValid(true); |
| | | |
| | | if (StringUtil.isNullOrEmpty(helpLink)) { |
| | | helpLink = configService.getValue(ConfigKeyEnum.noRebateHelpLink.getKey(), acceptData.getSystem()); |
| | | } |
| | | |
| | | ShareVO shareInfoVO = new ShareVO(); |
| | | shareInfoVO.setHelpLink(helpLink); |
| | | extraVO.setShare(shareInfoVO); |
| | | |
| | | if (extraVO.getListShareUser() == null) { |
| | | extraVO.setListShareUser(new ArrayList<>()); |
| | | } |
| | | |
| | | if (extraVO.getListCouponUser() == null) { |
| | | extraVO.setListCouponUser(new ArrayList<>()); |
| | | } |
| | | |
| | | // 云发单文案信息 |
| | | getCloudInfo(acceptData, uid, goodsDetail, extraVO); |
| | | |
| | | JSONObject object = new JSONObject(); |
| | | object.put("extra", JsonUtil.getApiCommonGson().toJson(extraVO)); |
| | | object.put("goods", JsonUtil.getApiCommonGson().toJson(goodsDetail)); |
| | | out.print(JsonUtil.loadTrueResult(object.toString())); |
| | | |
| | | ThreadUtil.run(new Runnable() { |
| | | public void run() { |
| | | // 添加浏览记录 |
| | | try { |
| | | scanHistoryV2Service.addDYScanHistory(uid, acceptData.getDevice(), dyGoodsDetail); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | try { |
| | | goodsEvaluateService.updateDYGoods(dyGoodsDetail); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * // 云发单文案信息 |
| | |
| | | |
| | | List<JDGoods> list = JDUtil.getRecommendGoodsById(Long.parseLong(id)); |
| | | if (list == null) { |
| | | list = new ArrayList<JDGoods>(); |
| | | list = new ArrayList<>(); |
| | | } else if (list.size() > 10) { |
| | | list = list.subList(0, 10); |
| | | } |
| | |
| | | return; |
| | | } |
| | | |
| | | if (goodsType == Constant.SOURCE_TYPE_DY) { |
| | | DYGoodsDetail goods = CSJCPSApiUtil.goodsDetail(Long.parseLong(id)); |
| | | //goods.getThird_cid() |
| | | DYGoodsSearchFilter searchFilter = new DYGoodsSearchFilter(); |
| | | searchFilter.setPageSize(10); |
| | | searchFilter.setPage(1); |
| | | searchFilter.setThird_cids(Arrays.asList(new Integer[]{goods.getThird_cid()})); |
| | | ListResult listResult = CSJCPSApiUtil.searchGoods(searchFilter); |
| | | |
| | | |
| | | |
| | | List<GoodsDetailVO> listDetailVO = new ArrayList<>(); |
| | | if (listResult != null) { |
| | | if (listResult.getDataList() != null && listResult.getDataList() .size() > 0) { |
| | | List<DYGoods> dyGoodsList=new ArrayList<>(); |
| | | for(Object o:listResult.getDataList()){ |
| | | dyGoodsList.add((DYGoods)o); |
| | | } |
| | | |
| | | GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), |
| | | acceptData.getVersion(), acceptData.getSystem()); |
| | | listDetailVO = goodsLijinMnager.loadOtherMoneyInfo(acceptData.getSystem(), uid, dyGoodsList, paramsDTO); |
| | | } |
| | | } |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("listQuality", JsonUtil.getApiCommonGson().toJson(listDetailVO)); |
| | | data.put("listGuess", JsonUtil.getApiCommonGson().toJson(new ArrayList<GoodsDetailVO>())); |
| | | out.print(JsonUtil.loadTrueResult(data)); |
| | | return; |
| | | } |
| | | |
| | | List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.guessLikeByAuctionId(id, 10); |
| | | // 初始化 |
| | | if (goodsList == null) { |
| | | goodsList = new ArrayList<>(); |
| | | } |
| | | |
| | | List<GoodsDetailVO> listExtra = new ArrayList<GoodsDetailVO>(); |
| | | List<GoodsDetailVO> listExtra = new ArrayList<>(); |
| | | GoodsMoneyConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), null, acceptData.getSystem()); |
| | | |
| | | listExtra = goodsLijinMnager.loadTBMoneyInfo(acceptData.getSystem(), uid, goodsList, paramsDTO, false); |
| | |
| | | integralGetService.addCouponRebate(uid); |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "getDYLink") |
| | | public void getDYLink(AcceptData acceptData, Long uid, String id, String source, PrintWriter out) { |
| | | if (StringUtil.isNullOrEmpty(id)) { |
| | | out.print(JsonUtil.loadFalseResult(1, "商品ID不能为空")); |
| | | return; |
| | | } |
| | | |
| | | if (!SystemInfoUtil.hasFunctions(acceptData.getSystem(), SystemFunction.fanli)) { |
| | | uid = null; |
| | | } else { |
| | | if (uid == null) { |
| | | uid = null; |
| | | } else { |
| | | if (uid == null || uid <= 0) { |
| | | out.print(JsonUtil.loadFalseResult(1, "用户ID不能为空")); |
| | | return; |
| | | } |
| | | UserInfo user = userInfoService.getUserByIdWithMybatis(uid); |
| | | if (user != null && user.getState() != UserInfo.STATE_NORMAL) { |
| | | out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); |
| | | return; |
| | | } |
| | | |
| | | if (userFunctionsLimitService.isLimit(uid, SystemFunction.fanli, new Date())) { |
| | | out.print(JsonUtil.loadFalseResult(1, "该功能限制使用")); |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | DYGoodsDetail goods = CSJCPSApiUtil.goodsDetail(Long.parseLong(id)); |
| | | if (goods == null) { |
| | | out.print(JsonUtil.loadFalseResult(2, "商品已下架")); |
| | | return; |
| | | } |
| | | |
| | | DYConvertResult link = null; |
| | | try { |
| | | link = CSJCPSApiUtil.goodsConvert(goods.getDetail_url(), DYUtil.createFanLiExtraInfo(uid), |
| | | ""); |
| | | } catch (Exception e) { |
| | | out.print(JsonUtil.loadFalseResult(2, "商品转链失败")); |
| | | } |
| | | |
| | | GoodsJumpLinkVO vo = GoodsJumpUtil.getDYJumpInfo(link); |
| | | |
| | | JSONObject data = JSONObject.fromObject(new Gson().toJson(vo)); |
| | | data.put("native", vo.is_native()); |
| | | if (uid != null) |
| | | data.put("userLevel", userLijinMnager.getUserLevelInfo(uid, acceptData.getSystem())); |
| | | out.print(JsonUtil.loadTrueResult(data)); |
| | | |
| | | |
| | | // 获得金币 |
| | | integralGetService.addCouponRebate(uid); |
| | | } |
| | | |
| | | /** |
| | | * 是否在参与推广 |
| | | * |
| | |
| | | if (cg.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { |
| | | tbGoodsList.add(cg.getGoodsId()); |
| | | } else if (cg.getGoodsType() == Constant.SOURCE_TYPE_JD) { |
| | | jdGoodsList.add(Long.parseLong( cg.getGoodsId())); |
| | | jdGoodsList.add(Long.parseLong(cg.getGoodsId())); |
| | | } else if (cg.getGoodsType() == Constant.SOURCE_TYPE_PDD) { |
| | | pddGoodsList.add(Long.parseLong(cg.getGoodsId())); |
| | | } |