admin
2021-01-27 e1a62ec62e7331d97af9302e90e1ce44af8235eb
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java
@@ -54,19 +54,18 @@
import com.yeshi.fanli.entity.taobao.PidUser;
import com.yeshi.fanli.entity.taobao.SearchFilter;
import com.yeshi.fanli.entity.taobao.TLJBuyGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.TaoBaoShop;
import com.yeshi.fanli.entity.taobao.TaoBaoShopInfo;
import com.yeshi.common.entity.taobao.TaoBaoShop;
import com.yeshi.common.entity.taobao.TaoBaoShopInfo;
import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
import com.yeshi.common.entity.taobao.TaoKeAppInfo;
import com.yeshi.fanli.exception.goods.CommonGoodsException;
import com.yeshi.fanli.exception.goods.ScanHistoryException;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsUpdateException;
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;
@@ -99,7 +98,7 @@
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.DaTaoKeGoodsDetailV2Service;
import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinRecordService;
@@ -110,13 +109,13 @@
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.MoneyBigDecimalUtil;
import org.yeshi.utils.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;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.TimeUtil;
import org.yeshi.utils.TimeUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
import com.yeshi.fanli.util.factory.MonitorFactory;
@@ -124,12 +123,11 @@
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.util.taobao.TaoLiJinUtil;
import com.yeshi.fanli.vo.goods.taobao.TLJBuyHongBaoVO;
import com.yeshi.goods.facade.entity.taobao.TLJBuyHongBaoVO;
import com.yeshi.fanli.vo.homemodule.BannerVO;
import com.yeshi.fanli.vo.homemodule.SpecialVO;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import com.yeshi.common.vo.ClientTextStyleVO;
import com.yeshi.fanli.vo.tlj.SpreadHongBao;
import com.yeshi.fanli.vo.user.UserSettingsVO;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@@ -439,7 +437,7 @@
   public void getRecommendSpecial(AcceptData acceptData, PrintWriter out) {
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
            acceptData.getPackages(),acceptData.getSystem());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -485,7 +483,7 @@
   public void guessLike(AcceptData acceptData, PrintWriter out) {
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
            acceptData.getPackages(),acceptData.getSystem());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -505,7 +503,7 @@
         }
      }
      BigDecimal proportion = manageService.getFanLiRate();
      BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem());
      JSONArray array = new JSONArray();
      TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra;
      Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create();
@@ -524,7 +522,7 @@
   public void getRecommendBanner(AcceptData acceptData, PrintWriter out) {
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
            acceptData.getPackages(),acceptData.getSystem());
      JSONObject json = new JSONObject();
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -592,7 +590,7 @@
         return;
      }
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
            acceptData.getPackages(),acceptData.getSystem());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -658,7 +656,7 @@
         Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
         JSONObject data = new JSONObject();
         TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(tb, configList.get(0));
         TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(tb, configList.get(0),acceptData.getSystem());
         if (!StringUtil.isNullOrEmpty(tb.getCouponLink()) && taoBaoGoodsBriefExtra.getTaoBaoQuanInfo() != null)
            taoBaoGoodsBriefExtra.getTaoBaoQuanInfo().setCouponLink(tb.getCouponLink());
         taoBaoGoodsBriefExtra.setAuctionUrl(tb.getAuctionUrl());
@@ -709,9 +707,9 @@
                     + taoBaoGoodsBriefExtra.getTaoBaoHongBaoInfo().getHongbao() + "元    "
                     + taoBaoGoodsBriefExtra.getTitle() + shareSinaContent);
         data.put("sharemoney", "分享奖金 ¥" + taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb) + "元");
         data.put("sharemoney", "分享奖金 ¥" + taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb,acceptData.getSystem()) + "元");
         data.put("shareHongBao", "¥" + taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb));
         data.put("shareHongBao", "¥" + taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb,acceptData.getSystem()));
         out.print(JsonUtil.loadTrueResult(data));
         final TaoBaoGoodsBrief tbb = tb;
@@ -746,7 +744,7 @@
         return;
      }
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
            acceptData.getPackages(),acceptData.getSystem());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -905,7 +903,7 @@
      goods.put("price", tb.getReservePrice().toString());
      goods.put("zkPrice", tb.getZkPrice().toString());
      BigDecimal proportion = manageService.getFanLiRate();
      BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem());
      String hongBao = TaoBaoUtil.getGoodsHongBaoInfo(tb, proportion,false);
      goods.put("hongBao", hongBao);
@@ -919,7 +917,7 @@
      String jumpUrl = "https://item.taobao.com/item.htm?id=" + tb.getAuctionId();
      // 分享赚
      data.put("shareMoney", "¥" + taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb));
      data.put("shareMoney", "¥" + taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb,acceptData.getSystem()));
      // 判断收藏
      if (!StringUtil.isNullOrEmpty(uid)) {
@@ -1070,7 +1068,7 @@
   @RequestMapping(value = "getgoodsrecommend", method = RequestMethod.POST)
   public void getGoodsRecommend(final AcceptData acceptData, long id, PrintWriter out) {
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
            acceptData.getPackages(),acceptData.getSystem());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
@@ -1098,7 +1096,7 @@
               // 按名字搜索商品
               SearchFilter sf = new SearchFilter();
               sf.setKey(cgoods.getTitle().substring(0, cgoods.getTitle().length() / 2));
               TaoBaoSearchResult result = TaoBaoUtil.search(sf);
               TaoBaoSearchResult result = TaoBaoUtil.search(sf,null,null);
               if (result != null && result.getTaoBaoGoodsBriefs() != null
                     && result.getTaoBaoGoodsBriefs().size() > 0)
                  for (TaoBaoGoodsBrief gds : result.getTaoBaoGoodsBriefs()) {
@@ -1130,7 +1128,7 @@
      List<TaoBaoGoodsBriefExtra> re = new ArrayList<TaoBaoGoodsBriefExtra>();
      BigDecimal proportion = manageService.getFanLiRate();
      BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem());
      if (recommendGoodsList != null)
         for (TaoBaoGoodsBrief taoBaoGoodsBrief : recommendGoodsList) {
            if (taoBaoGoodsBrief == null)
@@ -1198,7 +1196,7 @@
      }
      page = page + 1;
      BusinessSystem sys = businessSystemService.getBusinessSystem(acceptData.getPlatform(),
            acceptData.getPackages());
            acceptData.getPackages(),acceptData.getSystem());
      if (sys == null) {
         out.print(JsonUtil.loadFalseResult(1, "不存在该系统"));
         return;
@@ -1232,7 +1230,7 @@
         Gson gson = gsonBuilder.create();
         if (list != null) {
            BigDecimal proportion = manageService.getFanLiRate();
            BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem());
            for (ScanHistoryV2 sh : list) {
               TaoBaoGoodsBrief goods = TaoBaoUtil.convert(sh.getCommonGoods());
               goods.setId(sh.getId());
@@ -1257,7 +1255,7 @@
   @RequestMapping(value = "deletescanhistory", method = RequestMethod.POST)
   public void deleteScanHistory(AcceptData acceptData, String type, String uid, String ids, PrintWriter out) {
      BusinessSystem sys = businessSystemService.getBusinessSystem(acceptData.getPlatform(),
            acceptData.getPackages());
            acceptData.getPackages(),acceptData.getSystem());
      if (sys == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
@@ -1362,7 +1360,7 @@
            }
         }
         BigDecimal rate = hongBaoManageService.getFanLiRate();
         BigDecimal rate = hongBaoManageService.getFanLiRate(acceptData.getSystem());
         for (TaoBaoGoodsBrief goods : goodsList) {
            TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, rate + "", null);
            if (page < 3)
@@ -1413,7 +1411,7 @@
      // 从推荐来
      if (page <= 1) {
         array.clear();
         BigDecimal proportion = manageService.getFanLiRate();
         BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem());
         if (!StringUtil.isNullOrEmpty(imei) || !StringUtil.isNullOrEmpty(idfa)) {
            long startTime = java.lang.System.currentTimeMillis();
@@ -1473,7 +1471,7 @@
               proportion.toString());
         array.addAll(localArray);
      } else {// 从精选库来
         BigDecimal proportion = manageService.getFanLiRate();
         BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem());
         array = qualityGoodsService.getRecommendToIndex((page - 1) * pageSize, pageSize, proportion.toString());
         if (array == null) {
            out.print(JsonUtil.loadFalseResult("没有更多了"));
@@ -1497,7 +1495,7 @@
   public void getRecommendHomeInfo(AcceptData acceptData, PrintWriter out) {
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
            acceptData.getPackages(),acceptData.getSystem());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
@@ -1598,7 +1596,7 @@
   public void getRecommendIndex(AcceptData acceptData, Long uid, PrintWriter out) {
      try {
         // 获取设备定义性别
         int deviceSex = deviceSexService.getDeviceSex(acceptData.getDevice());
         int deviceSex = deviceSexService.getDeviceSex(acceptData.getDevice(),acceptData.getSystem());
         // 1、专题模块
         JSONObject root = specialService.listCacheSpecialToIndex(acceptData, deviceSex,acceptData.getSystem());
@@ -1731,7 +1729,7 @@
      if (array == null) {
         array = new JSONArray();
         BigDecimal proportion = manageService.getFanLiRate();
         BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem());
         Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
               .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
@@ -1813,7 +1811,7 @@
      }
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
            acceptData.getPackages(),acceptData.getSystem());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
@@ -1899,7 +1897,7 @@
            }
            if (goods.getTkRate() == null || new BigDecimal(0).compareTo(goods.getTkRate()) == 0) {
               TaoBaoGoodsBrief linkInfo = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app);
               TaoBaoGoodsBrief linkInfo = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app,null,null);
               if (linkInfo != null) {
                  goods.setAuctionUrl(linkInfo.getAuctionUrl());
                  goods.setCouponLink(linkInfo.getCouponLink());
@@ -1977,7 +1975,7 @@
      goodsJson.put("salesCount", TaoBaoUtil.getSaleCount(tb.getBiz30day()));
      // 分享赚
      BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb);
      BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb,acceptData.getSystem());
      data.put("shareMoney", "¥" + shareMoney);
      // 分享赚人提示
      List<ShamUser> listShareUser = new ArrayList<ShamUser>();
@@ -2069,9 +2067,9 @@
      // 红包
      if (hongBao == null) {
         BigDecimal proportion = manageService.getFanLiRate();
         BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem());
         if ("taolijin".equalsIgnoreCase(from))
            proportion = manageService.getTLJShareRate(System.currentTimeMillis());
            proportion = manageService.getTLJShareRate(System.currentTimeMillis(),acceptData.getSystem());
         hongBao = TaoBaoUtil.getGoodsHongBaoInfo(tb, proportion,false);
      }
      goodsJson.put("hongBao", hongBao);
@@ -2362,7 +2360,7 @@
            goodsList = new ArrayList<TaoBaoGoodsBrief>();
         }
         BigDecimal proportion = manageService.getFanLiRate();
         BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem());
         List<TaoBaoGoodsBriefExtra> listExtra = new ArrayList<TaoBaoGoodsBriefExtra>();
@@ -2396,7 +2394,7 @@
                  }
                  if (taoBaoGoodsBrief == null) {
                     TaoBaoGoodsBrief newGoods = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app);
                     TaoBaoGoodsBrief newGoods = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app,null,null);
                     goods.setCouponInfo(newGoods.getCouponInfo());
                     goods.setCouponLink(newGoods.getCouponLink());
                     goods.setTkRate(newGoods.getTkRate());