admin
2019-03-13 69bee82b81626b82b7f39f0e459e4f56b1699b51
fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java
@@ -46,6 +46,7 @@
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;
@@ -94,6 +95,7 @@
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
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.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.user.ShamUserService;
@@ -101,6 +103,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;
@@ -229,6 +232,12 @@
   @Resource
   private UserCustomSettingsService userCustomSettingsService;
   @Resource
   private ShareGoodsActivityOrderService shareGoodsActivityOrderService;
   @Resource
   private UserInfoExtraService userInfoExtraService;
   @RequestMapping(value = "getrecommendsection")
   public void getRecommendSection(AcceptData acceptData, int index, PrintWriter out) {
@@ -630,49 +639,42 @@
         return;
      }
      System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      // 淘特价
      if (system.getId() == 7) {
         system = systemService.getSystem("ANDROID", Constant.systemCommonConfig.getAndroidPackageName());
      }
      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();
@@ -1264,7 +1266,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());
@@ -1626,14 +1628,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) {
@@ -1651,12 +1647,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;
@@ -1670,6 +1660,7 @@
                     // 其他专题
                     specialList.add(special);
                  }
               }
            }
@@ -1703,16 +1694,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()))) {
@@ -1746,10 +1738,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 = "";
@@ -1927,10 +1921,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()));
@@ -1971,11 +1961,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())) {
@@ -1995,6 +1992,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);
@@ -2042,12 +2046,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");
      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));
@@ -2207,4 +2222,38 @@
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 活动列表
    *
    * @param acceptData
    * @param out
    */
   @RequestMapping(value = "getSpecialActivities")
   public void getSpecialActivities(AcceptData acceptData, Long uid, PrintWriter out) {
      System system = systemService.getSystemCache(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 = new ArrayList<Special>();
         }
         JSONObject root = new JSONObject();
         root.put("special", JsonUtil.getApiCommonGson().toJson(listSpecial));
         out.print(JsonUtil.loadTrueResult(root));
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}