yujian
2019-03-14 4aadf484e193995c23ee1d5bb1971a497d2f9a0d
fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java
@@ -46,14 +46,13 @@
import com.yeshi.fanli.entity.bus.user.Order;
import com.yeshi.fanli.entity.bus.user.ShamUser;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.common.ImageInfo;
import com.yeshi.fanli.entity.common.JumpDetail;
import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.goods.ScanHistoryV2;
import com.yeshi.fanli.entity.system.System;
import com.yeshi.fanli.entity.system.BusinessSystem;
import com.yeshi.fanli.entity.system.SystemClientParams;
import com.yeshi.fanli.entity.taobao.ClientTBPid;
import com.yeshi.fanli.entity.taobao.PidUser;
@@ -72,11 +71,11 @@
import com.yeshi.fanli.exception.user.UserCustomSettingsException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.BusinessSystemService;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.config.JumpDetailService;
import com.yeshi.fanli.service.inter.config.SystemClientParamsService;
import com.yeshi.fanli.service.inter.config.SystemConfigService;
import com.yeshi.fanli.service.inter.config.SystemService;
import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
import com.yeshi.fanli.service.inter.goods.RecommendBannerService;
@@ -129,7 +128,7 @@
   private RecommendBannerService recommendService;
   @Resource
   private SystemService systemService;
   private BusinessSystemService businessSystemService;
   @Resource
   private SuperRecommendBannerService superRecommendBannerService;
@@ -235,10 +234,9 @@
   @Resource
   private ShareGoodsActivityOrderService shareGoodsActivityOrderService;
   @Resource
   private UserInfoExtraService userInfoExtraService;
   @RequestMapping(value = "getrecommendsection")
   public void getRecommendSection(AcceptData acceptData, int index, PrintWriter out) {
@@ -247,7 +245,7 @@
         index = 0;
      }
      System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
@@ -325,7 +323,7 @@
   @RequestMapping(value = "getHonestList")
   public void getHonestList(AcceptData acceptData, PrintWriter out) {
      System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      List<Honest> honestList = null;
      List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
      if ((Integer.parseInt(acceptData.getVersion()) >= 20 && "android".equalsIgnoreCase(acceptData.getPlatform()))
@@ -492,7 +490,7 @@
   @RequestMapping(value = "getrecommendspecial")
   public void getRecommendSpecial(AcceptData acceptData, PrintWriter out) {
      System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -534,7 +532,7 @@
   @RequestMapping(value = "guessLike", method = RequestMethod.POST)
   public void guessLike(AcceptData acceptData, PrintWriter out) {
      System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -572,7 +570,7 @@
   @RequestMapping(value = "getrecommendbanner")
   public void getRecommendBanner(AcceptData acceptData, PrintWriter out) {
      System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      JSONObject json = new JSONObject();
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -639,50 +637,43 @@
         out.print(JsonUtil.loadFalseResult(1, "请上传id"));
         return;
      }
      System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      // 淘特价
      if (system.getId() == 7) {
         system = systemService.getSystem("ANDROID", Constant.systemCommonConfig.getAndroidPackageName());
      }
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
      }
      // 获取淘客参数
      ClientTBPid clientTBPid = null;
      // 用户已经登录
      if (!StringUtil.isNullOrEmpty(uid) && Long.parseLong(uid) > 0) {
         TBPid tbPid = null;
         if (acceptData.getPlatform().equalsIgnoreCase("android")) {
            tbPid = tbPidService.getTBPid(Long.parseLong(uid), PidUser.TYPE_FANLI_ANDROID);
            if (tbPid != null) {
               String siteId = tbPid.getPid().split("_")[2];
               String adzoneId = tbPid.getPid().split("_")[3];
               TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppIdCache(siteId);
               clientTBPid = new ClientTBPid(config.getAppKey(), tbPid.getPid(), siteId, adzoneId);
            } else {
               clientTBPid = tbPidService.getAndroidDefault();
            }
         } else {
            tbPid = tbPidService.getTBPid(Long.parseLong(uid), PidUser.TYPE_FANLI_IOS);
            if (tbPid != null) {
               String siteId = tbPid.getPid().split("_")[2];
               String adzoneId = tbPid.getPid().split("_")[3];
               TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppIdCache(siteId);
               clientTBPid = new ClientTBPid(config.getAppKey(), tbPid.getPid(), siteId, adzoneId);
            } else {
               clientTBPid = tbPidService.getIOSDefault();
            }
         }
      } else {
         if (acceptData.getPlatform().equalsIgnoreCase("android"))
            clientTBPid = tbPidService.getAndroidDefault();
         else
            clientTBPid = tbPidService.getIOSDefault();
      // 获取会员推广位或者默认推广位
      TaoBaoGoodsBrief simpleGoods = null;
      try {
         simpleGoods = redisManager.getTaoBaoGoodsBrief(Long.parseLong(id));
      } catch (NumberFormatException e2) {
         e2.printStackTrace();
      } catch (TaobaoGoodsDownException e2) {
         e2.printStackTrace();
      }
      if (simpleGoods == null) {
         out.print(JsonUtil.loadFalseResult(2, "商品已下架"));
         return;
      }
      // 获取淘客参数
      ClientTBPid clientTBPid = null;
      if (simpleGoods.getMaterialLibType() != null && simpleGoods.getMaterialLibType() == 1) {
         String pid = Constant.TAOBAO_SPECIAL_PID_DEFAULT;
         clientTBPid = new ClientTBPid(Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET,
               pid.split("_")[2], pid.split("_")[3]);
      } else {
         if (acceptData.getPlatform().equalsIgnoreCase("android")) {
            clientTBPid = tbPidService.getAndroidDefault();
         } else {
            clientTBPid = tbPidService.getIOSDefault();
         }
      }
      TaoBaoGoodsBrief tb = null;
      try {
         TaoKeAppInfo app = new TaoKeAppInfo();
@@ -804,7 +795,7 @@
         out.print(JsonUtil.loadFalseResult(1, "请上传id"));
         return;
      }
      System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -1171,7 +1162,7 @@
   // 根据商品获取推荐
   @RequestMapping(value = "getgoodsrecommend", method = RequestMethod.POST)
   public void getGoodsRecommend(final AcceptData acceptData, long id, PrintWriter out) {
      System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
@@ -1274,7 +1265,7 @@
      String[] orderArr = order.split(",");
      for (String tbOrder : orderArr) {
         Order or = new Order();
         or.setBeizhu("系统添加");
         or.setBeizhu("接口添加");
         or.setCreatetime(java.lang.System.currentTimeMillis());
         or.setDrawbackTime(0L);
         or.setOrderId(tbOrder.trim());
@@ -1307,7 +1298,7 @@
         return;
      }
      page = page + 1;
      System sys = systemService.getSystem(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem sys = businessSystemService.getBusinessSystem(acceptData.getPlatform(), acceptData.getPackages());
      if (sys == null) {
         out.print(JsonUtil.loadFalseResult(1, "不存在该系统"));
         return;
@@ -1352,7 +1343,7 @@
   @RequestMapping(value = "deletescanhistory", method = RequestMethod.POST)
   public void deleteScanHistory(AcceptData acceptData, String type, String uid, String ids, PrintWriter out) {
      System sys = systemService.getSystem(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem sys = businessSystemService.getBusinessSystem(acceptData.getPlatform(), acceptData.getPackages());
      if (sys == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -1517,7 +1508,7 @@
   @RequestMapping(value = "getRecommendInfo")
   public void getRecommendHomeInfo(AcceptData acceptData, PrintWriter out) {
      System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
@@ -1624,7 +1615,7 @@
   public void getNewRecommendInfo(AcceptData acceptData, Long uid, String specialCard, String swiperCard,
         PrintWriter out) {
      System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
@@ -1637,7 +1628,7 @@
            listswiper = swiperPictureService.getByBannerCard(swiperCard);
            if (listswiper == null) {
               listswiper =  new ArrayList<SwiperPicture>();
               listswiper = new ArrayList<SwiperPicture>();
            }
         } catch (Exception e) {
@@ -1668,7 +1659,7 @@
                     // 其他专题
                     specialList.add(special);
                  }
               }
            }
@@ -1702,18 +1693,17 @@
      }
      JSONObject root = new JSONObject();
      root.put("banner", JsonUtil.getApiCommonGson().toJson(listswiper));
      root.put("honest", JsonUtil.getApiCommonGson().toJson(honestList));
      root.put("special", JsonUtil.getApiCommonGson().toJson(specialList));
      root.put("miaoSha", msJSON);
      // 增加邀请有奖
      JSONObject invite = new JSONObject();
      JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("invite");
      invite.put("jumpDetail", jumpDetail);
      invite.put("picture", "http://ec-1255749512.file.myqcloud.com/resource/weex/img/invite_input_img.png");
      invite.put("picture", configService.get("home_invite_banner"));
      if ("ios".equalsIgnoreCase(acceptData.getPlatform())
            && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) {
@@ -1747,7 +1737,8 @@
    * @param acceptData
    * @param id
    * @param uid
    * @param pageSource 页面来源
    * @param pageSource
    *            页面来源
    * @param out
    */
   @RequestMapping(value = "getgoodsinfo", method = RequestMethod.POST)
@@ -1762,7 +1753,7 @@
         return;
      }
      System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
@@ -1968,21 +1959,20 @@
      // 领券人列表
      List<ShamUser> listCouponUser = new ArrayList<ShamUser>();
      String hongBao = null;
      // 获取券信息
      if (!StringUtil.isNullOrEmpty(tb.getCouponInfo())) {
         BigDecimal quanPrice = TaoBaoUtil.getAfterUseCouplePrice(tb);
         JSONObject couponInfo = new JSONObject();
         couponInfo.put("couponPrice", quanPrice.toString());
         if (from != null && from.equals("miandan")) {
            // 免单商品
            hongBao = "¥" + quanPrice.toString();
         }
         // 服务端转链
         if (convertInServer && !StringUtil.isNullOrEmpty(tb.getCouponLink())) {
            couponInfo.put("couponUrl", tb.getCouponLink());
@@ -2001,14 +1991,14 @@
            listCouponUser = shamUserService.listRandCouponUser(5, 1, 300);
         }
      }
      // 红包
      if (hongBao == null) {
         BigDecimal proportion = manageService.getFanLiRate();
         hongBao = TaoBaoUtil.getGoodsHongBaoInfo(tb, proportion);
      }
      goods.put("hongBao", hongBao);
      data.put("tbPidInfo", clientTBPid);
      String jumpUrl = "https://item.taobao.com/item.htm?id=" + tb.getAuctionId();
@@ -2055,20 +2045,24 @@
      data.put("couponUsers", listCouponUser);
      data.put("detailWebUrl", "http://apph5.yeshitv.com/apppage/goods_img.html?id=" + id);
//      取消分享活动
//      if (!StringUtil.isNullOrEmpty(uid)
//            && shareGoodsActivityOrderService.countShareGoodsActivityOrder(Long.parseLong(uid)) > 0) {
//      } else if(!"miandan".equals(from)) {
//         // 非免单商品
//         JSONObject shareActivity = new JSONObject();
//         shareActivity.put("moneyDesc", "春节狂欢奖金:¥" + TaoBaoUtil.getGoodsHongBaoMoney(tb,
//               new BigDecimal(hongBaoManageService.get("share_activity_proportion"))));
//         shareActivity.put("ruleDescPicture", "http://img.flqapp.com/resource/share_activity_img.png");
//
//         data.put("shareActivity", shareActivity);
//      }
      // 取消分享活动
      // if (!StringUtil.isNullOrEmpty(uid)
      // &&
      // shareGoodsActivityOrderService.countShareGoodsActivityOrder(Long.parseLong(uid))
      // > 0) {
      // } else if(!"miandan".equals(from)) {
      // // 非免单商品
      // JSONObject shareActivity = new JSONObject();
      // shareActivity.put("moneyDesc", "春节狂欢奖金:¥" +
      // TaoBaoUtil.getGoodsHongBaoMoney(tb,
      // new
      // BigDecimal(hongBaoManageService.get("share_activity_proportion"))));
      // shareActivity.put("ruleDescPicture",
      // "http://img.flqapp.com/resource/share_activity_img.png");
      //
      // data.put("shareActivity", shareActivity);
      // }
      out.print(JsonUtil.loadTrueResult(data));
      final String tempUid = uid;
@@ -2145,7 +2139,7 @@
   @RequestMapping(value = "getgoodsderivation", method = RequestMethod.POST)
   public void getRecommendGoods(AcceptData acceptData, long id, PrintWriter out) {
      System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
@@ -2236,7 +2230,7 @@
   @RequestMapping(value = "getSpecialActivities")
   public void getSpecialActivities(AcceptData acceptData, Long uid, PrintWriter out) {
      System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
@@ -2256,7 +2250,7 @@
         JSONObject root = new JSONObject();
         root.put("special", JsonUtil.getApiCommonGson().toJson(listSpecial));
         out.print(JsonUtil.loadTrueResult(root));
      } catch (Exception e) {
         e.printStackTrace();
      }