yujian
2020-01-03 c9cbdfa41d645d42eeaa7e06d550d4ef8ac328e7
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java
@@ -88,19 +88,19 @@
import com.yeshi.fanli.service.inter.homemodule.SpecialService;
import com.yeshi.fanli.service.inter.homemodule.SuperSpecialService;
import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.lable.QualityFlashSaleService;
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.money.UserMoneyExtraService;
import com.yeshi.fanli.service.inter.monitor.MonitorService;
import com.yeshi.fanli.service.inter.order.OrderService;
import com.yeshi.fanli.service.inter.order.ShareGoodsActivityOrderService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsService;
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.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService;
import com.yeshi.fanli.service.inter.tlj.DeviceTaoLiJinRecordService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinRecordService;
import com.yeshi.fanli.service.inter.user.ShamUserService;
@@ -109,9 +109,9 @@
import com.yeshi.fanli.service.inter.user.UserGoodsStorageService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.UserMoneyExtraService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.RedisKeyEnum;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
@@ -242,7 +242,7 @@
   private TaoBaoShopService taoBaoShopService;
   @Resource
   private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
   private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
   @Resource
   private UserMoneyExtraService userMoneyExtraService;
@@ -252,9 +252,6 @@
   @Resource
   private ConfigTaoLiJinService configTaoLiJinService;
   @Resource
   private DeviceTaoLiJinRecordService deviceTaoLiJinRecordService;
   @Resource
   private DeviceSexService deviceSexService;
@@ -618,7 +615,7 @@
      // 获取淘客参数
      ClientTBPid clientTBPid = null;
      if (simpleGoods.getMaterialLibType() != null && simpleGoods.getMaterialLibType() == 1) {
      if (TaoBaoUtil.isSpecialGoods(simpleGoods.getMaterialLibType())) {
         String pid = TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT;
         clientTBPid = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET,
               pid.split("_")[2], pid.split("_")[3]);
@@ -1077,7 +1074,7 @@
         return;
      }
      List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.getRelationGoodsRecommend(id, 6);
      List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.guessLikeByAuctionId(id, 6);
      if (goodsList == null)
         goodsList = new ArrayList<>();
@@ -1309,8 +1306,7 @@
       * 
       */
      // if (Constant.IS_OUTNET) {
      String key = "linkParse-" + acceptData.getDevice() + "-" + id;
      String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaolinkParse, acceptData.getDevice() + "-" + id);
      String value = redisManager.getCommonString(key);
      if (!StringUtil.isNullOrEmpty(value)) {
         out.print(JsonUtil.loadFalseResult(11, "请求频率限制"));
@@ -1431,7 +1427,7 @@
               // filter
               try {
                  gList = daTaoKeGoodsDetailService.filterTaoBaoGoods(gList);
                  gList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(gList);
               } catch (Exception e) {
               }
@@ -1599,7 +1595,8 @@
      if (!StringUtil.isNullOrEmpty(specialCard)) {
         try {
            listswiper = swiperPictureService.getByBannerCard(swiperCard);
            listswiper = swiperPictureService.getByBannerCardAndVersion(swiperCard, acceptData.getPlatform(),
                  Integer.parseInt(acceptData.getVersion()));
            if (listswiper == null) {
               listswiper = new ArrayList<SwiperPicture>();
@@ -1719,7 +1716,7 @@
         JSONObject root = specialService.listCacheSpecialToIndex(acceptData, deviceSex);
         // 2、顶部轮播图
         List<SwiperPicture> topPicList = getSwiperByCard("index_top");
         List<SwiperPicture> topPicList = getSwiperByCard("index_top", acceptData);
         if (topPicList == null) {
            topPicList = new ArrayList<SwiperPicture>();
         }
@@ -1731,7 +1728,7 @@
               && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) {
            // 如果IOS当前版本处于审核状态就不返回
         } else {
            invitePicList = getSwiperByCard("index_invite");
            invitePicList = getSwiperByCard("index_invite", acceptData);
         }
         if (invitePicList == null) {
@@ -1772,15 +1769,16 @@
         return null;
      }
      List<SwiperPicture> invitePicList = getSwiperByCard("index_invite");
      List<SwiperPicture> invitePicList = getSwiperByCard("index_invite", acceptData);
      return invitePicList;
   }
   public List<SwiperPicture> getSwiperByCard(String card) {
   public List<SwiperPicture> getSwiperByCard(String card, AcceptData acceptData) {
      List<SwiperPicture> swiperList = null;
      try {
         swiperList = swiperPictureService.getByBannerCard(card);
         swiperList = swiperPictureService.getByBannerCardAndVersion(card, acceptData.getPlatform(),
               Integer.parseInt(acceptData.getVersion()));
      } catch (Exception e) {
         try {
            LogHelper.errorDetailInfo(e);
@@ -1829,8 +1827,8 @@
      nextTime.set(Calendar.MILLISECOND, 0);
      JSONArray array = null;
      String timekey = String.format("spikeGoods_hour-%s-%s", acceptData.getPlatform(), acceptData.getVersion());
      String cachekey = String.format("spikeGoodsList-%s-%s", acceptData.getPlatform(), acceptData.getVersion());
      String timekey = RedisKeyEnum.getRedisKey(RedisKeyEnum.spikeGoodsHour,acceptData.getPlatform() +"-"+acceptData.getVersion());
      String cachekey = RedisKeyEnum.getRedisKey(RedisKeyEnum.spikeGoodsList,acceptData.getPlatform() +"-"+acceptData.getVersion());
      String timeValue = redisManager.getCommonString(timekey);
      if (timeValue == null || !timeValue.equals(hour + "")) {
@@ -2075,7 +2073,7 @@
      // 大淘客商品过滤
      try {
         goods = daTaoKeGoodsDetailService.filterTaoBaoGoods(goods);
         goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods);
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
      }
@@ -2471,7 +2469,7 @@
      try {
         List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.getRelationGoodsRecommend(id, 10);
         List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.guessLikeByAuctionId(id, 10);
         // 初始化
         if (goodsList == null) {
            goodsList = new ArrayList<TaoBaoGoodsBrief>();
@@ -2555,50 +2553,35 @@
    * @param out
    */
   @RequestMapping(value = "getSpecialActivities")
   public void getSpecialActivities(AcceptData acceptData, Long uid, PrintWriter out) {
      try {
         int platformCode = Constant.getPlatformCode(acceptData.getPlatform());
         List<Special> listSpecial = specialService.listByVersion(0, Integer.MAX_VALUE, "special_activities",
               platformCode, Integer.parseInt(acceptData.getVersion()));
         List<Special> list = new ArrayList<Special>();
         if (listSpecial != null) {
            list.addAll(listSpecial);
         }
   public void getSpecialActivities(AcceptData acceptData, Long uid, PrintWriter out, String callback) {
      List<Special> listSpecial = specialService.listByVersion(0, Integer.MAX_VALUE, "special_activities",
            acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
         for (int i = 0; i < list.size(); i++) {
            Special special = list.get(i);
            JumpDetailV2 jumpDetail = special.getJumpDetail();
            if (jumpDetail != null) {
               jumpDetail.setNeedLogin(special.isJumpLogin());
               special.setJumpDetail(jumpDetail);
            }
            String name = special.getName();
            if (StringUtil.isNullOrEmpty(name)) {
               continue;
            }
            // 是否需要弹出框
            if (name.equals("账户等级特权")) {
               if (!VersionUtil.greaterThan_1_5_60(acceptData.getPlatform(), acceptData.getVersion())) {
                  list.remove(i);
                  i--;
               } else {
                  if (uid != null) {
                     special.setElastic(userTaoLiJinOriginService.hasRankHongBao(uid));
                  }
               }
            }
         }
         JSONObject root = new JSONObject();
         root.put("special", JsonUtil.getApiCommonGson().toJson(list));
         out.print(JsonUtil.loadTrueResult(root));
      } catch (Exception e) {
         e.printStackTrace();
      List<Special> list = new ArrayList<Special>();
      if (listSpecial != null) {
         list.addAll(listSpecial);
      }
      for (int i = 0; i < list.size(); i++) {
         Special special = list.get(i);
         JumpDetailV2 jumpDetail = special.getJumpDetail();
         if (jumpDetail != null) {
            jumpDetail.setNeedLogin(special.isJumpLogin());
            special.setJumpDetail(jumpDetail);
         }
         String name = special.getName();
         if (StringUtil.isNullOrEmpty(name)) {
            continue;
         }
      }
      JSONObject root = new JSONObject();
      root.put("special", JsonUtil.getApiCommonGson().toJson(list));
      if (StringUtil.isNullOrEmpty(callback))
         out.print(JsonUtil.loadTrueResult(root));
      else
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(root));
   }
}