yujian
2019-03-14 4aadf484e193995c23ee1d5bb1971a497d2f9a0d
fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java
@@ -52,7 +52,7 @@
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;
@@ -71,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;
@@ -102,6 +102,7 @@
import com.yeshi.fanli.service.inter.user.TBPidService;
import com.yeshi.fanli.service.inter.user.UserCustomSettingsService;
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.util.Constant;
import com.yeshi.fanli.util.RedisManager;
@@ -127,7 +128,7 @@
   private RecommendBannerService recommendService;
   @Resource
   private SystemService systemService;
   private BusinessSystemService businessSystemService;
   @Resource
   private SuperRecommendBannerService superRecommendBannerService;
@@ -234,6 +235,9 @@
   @Resource
   private ShareGoodsActivityOrderService shareGoodsActivityOrderService;
   @Resource
   private UserInfoExtraService userInfoExtraService;
   @RequestMapping(value = "getrecommendsection")
   public void getRecommendSection(AcceptData acceptData, int index, PrintWriter out) {
@@ -241,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;
@@ -319,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()))
@@ -486,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, "系统不存在"));
@@ -528,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, "系统不存在"));
@@ -566,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, "系统不存在"));
@@ -633,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();
@@ -798,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, "系统不存在"));
@@ -1165,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;
@@ -1268,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());
@@ -1301,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;
@@ -1346,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, "系统不存在"));
@@ -1511,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;
@@ -1618,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;
@@ -1630,14 +1627,8 @@
            listswiper = swiperPictureService.getByBannerCard(swiperCard);
            if (listswiper != null && listswiper.size() > 0) {
               for (SwiperPicture swiperPicture : listswiper) {
                  swiperPicture.setBannerId(null);
                  swiperPicture.setCreatetime(null);
                  swiperPicture.setUpdatetime(null);
                  swiperPicture.setState(null);
                  swiperPicture.setRemark(null);
               }
            if (listswiper == null) {
               listswiper = new ArrayList<SwiperPicture>();
            }
         } catch (Exception e) {
@@ -1655,12 +1646,6 @@
            if (listSpecial != null && listSpecial.size() > 0) {
               for (Special special : listSpecial) {
                  special.setCreatetime(null);
                  special.setUpdatetime(null);
                  special.setState(null);
                  special.setRemark(null);
                  special.setCard(null);
                  special.setCardId(null);
                  if ("限时秒杀".equals(special.getName())) {
                     miaoShaSpecial = special;
@@ -1674,6 +1659,7 @@
                     // 其他专题
                     specialList.add(special);
                  }
               }
            }
@@ -1707,16 +1693,17 @@
      }
      JSONObject root = new JSONObject();
      root.put("banner", listswiper);
      root.put("honest", honestList);
      root.put("special", specialList);
      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()))) {
@@ -1750,10 +1737,12 @@
    * @param acceptData
    * @param id
    * @param uid
    * @param pageSource
    *            页面来源
    * @param out
    */
   @RequestMapping(value = "getgoodsinfo", method = RequestMethod.POST)
   public void getGoodsInfo(AcceptData acceptData, String id, String uid, PrintWriter out) {
   public void getGoodsInfo(AcceptData acceptData, String id, String uid, String from, PrintWriter out) {
      if ("0".equalsIgnoreCase(uid)) {
         uid = "";
@@ -1764,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;
@@ -1931,10 +1920,6 @@
      goods.put("price", tb.getReservePrice().toString());
      goods.put("zkPrice", tb.getZkPrice().toString());
      // 红包
      BigDecimal proportion = manageService.getFanLiRate();
      String hongBao = TaoBaoUtil.getGoodsHongBaoInfo(tb, proportion);
      goods.put("hongBao", hongBao);
      // 30天销量
      goods.put("saleCount", TaoBaoUtil.getSaleCount(tb.getBiz30day()));
@@ -1975,11 +1960,18 @@
      // 领券人列表
      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())) {
@@ -1999,6 +1991,13 @@
            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);
@@ -2046,15 +2045,23 @@
      data.put("couponUsers", listCouponUser);
      data.put("detailWebUrl", "http://apph5.yeshitv.com/apppage/goods_img.html?id=" + id);
      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");
      if (!StringUtil.isNullOrEmpty(uid)
            && shareGoodsActivityOrderService.countShareGoodsActivityOrder(Long.parseLong(uid)) > 0) {
      } else
         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));
@@ -2132,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;
@@ -2214,50 +2221,36 @@
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    *  活动列表
    * 活动列表
    * 
    * @param acceptData
    * @param out
    */
   @RequestMapping(value = "getSpecialActivities")
   public void getSpecialActivities(AcceptData acceptData, PrintWriter out) {
   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;
      }
      try {
         // 专题活动
         String specialCard = "special_activities";
         List<Special> listSpecial = specialService.listPageBySystemAndCard(0, Integer.MAX_VALUE,
               specialCard, system.getId());
         if (listSpecial != null && listSpecial.size() > 0) {
            for (Special special : listSpecial) {
               special.setCreatetime(null);
               special.setUpdatetime(null);
               special.setState(null);
               special.setRemark(null);
               special.setCard(null);
               special.setCardId(null);
               JumpDetailV2 jumpDetail = special.getJumpDetail();
               if (jumpDetail != null) {
                  jumpDetail.setId(null);
                  jumpDetail.setName(null);
               }
            }
         List<Special> listSpecial = specialService.listPageBySystemAndCard(0, Integer.MAX_VALUE, specialCard,
               system.getId());
         if (listSpecial == null) {
            listSpecial = new ArrayList<Special>();
         }
         JSONObject root = new JSONObject();
         root.put("special", listSpecial);
         root.put("special", JsonUtil.getApiCommonGson().toJson(listSpecial));
         out.print(JsonUtil.loadTrueResult(root));
      } catch (Exception e) {
         e.printStackTrace();
      }