yujian
2020-06-09 554de444b87aab5f93cb1593a8095612cf9479a7
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
@@ -16,14 +16,18 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.yeshi.fanli.dto.ConfigParamsDTO;
import com.yeshi.fanli.dto.dataoke.DingDongTime;
import com.yeshi.fanli.dto.jd.JDSearchResult;
import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
import com.yeshi.fanli.dto.pdd.PDDGoodsResult;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.homemodule.Special;
import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.entity.jd.JDGoods;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.taobao.TLJBuyGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
@@ -31,23 +35,25 @@
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
import com.yeshi.fanli.service.inter.goods.recommend.HomeRecommendGoodsService;
import com.yeshi.fanli.service.inter.goods.recommend.RecommendGoodsDeleteHistoryService;
import com.yeshi.fanli.service.inter.homemodule.DeviceSexService;
import com.yeshi.fanli.service.inter.homemodule.SpecialService;
import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.jd.JDGoodsService;
import com.yeshi.fanli.service.inter.lable.QualityFlashSaleService;
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.monitor.MonitorService;
import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.pdd.PDDGoodsService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisKeyEnum;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
@@ -60,6 +66,8 @@
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import com.yeshi.fanli.vo.goods.OtherInfo;
import com.yeshi.fanli.vo.goods.SpikeTimeVO;
import com.yeshi.fanli.vo.homemodule.BannerVO;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import com.yeshi.fanli.vo.search.SearchKeyTOPVO;
import com.yeshi.fanli.vo.search.SearchKeyVO;
@@ -73,7 +81,7 @@
public class RecommendControllerV2 {
   @Resource
   private HongBaoManageService hongBaoManageService;
   private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
   @Resource
   private QualityGoodsService qualityGoodsService;
@@ -92,9 +100,6 @@
   @Resource
   private QualityFlashSaleService qualityFlashSaleService;
   @Resource
   private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
   @Resource
   private RecommendGoodsDeleteHistoryService recommendGoodsDeleteHistoryService;
@@ -126,6 +131,12 @@
   @Resource
   private DaTaoKeGoodsService daTaoKeGoodsService;
   @Resource
   private HongBaoV2CountService hongBaoV2CountService;
   @Resource
   private HongBaoManageService hongBaoManageService;
   /**
    * 新版推荐专题管理(1.5.3)
    * 
@@ -142,31 +153,34 @@
         JSONObject root = specialService.listCacheSpecialToIndex(acceptData, deviceSex);
         // 2、顶部轮播图
         List<SwiperPicture> oldtopPicList = swiperPictureService.getByBannerCard("index_top");
         List<SwiperPicture> topPicList = new ArrayList<>();
         List<BannerVO> oldtopPicList = swiperPictureService.getByBannerCardAndVersion("index_top",
               acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
         List<BannerVO> topPicList = new ArrayList<>();
         if (oldtopPicList != null && oldtopPicList.size() > 0)
            topPicList.addAll(oldtopPicList);
         root.put("topPicList", JsonUtil.getApiCommonGson().toJson(topPicList));
         // 3、邀请有奖
         List<SwiperPicture> invitePicList = null;
         List<BannerVO> invitePicList = null;
         if ("ios".equalsIgnoreCase(acceptData.getPlatform())
               && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) {
            // 如果IOS当前版本处于审核状态就不返回
         } else {
            invitePicList = swiperPictureService.getByBannerCard("index_invite");
            invitePicList = swiperPictureService.getByBannerCardAndVersion("index_invite", acceptData.getPlatform(),
                  Integer.parseInt(acceptData.getVersion()));
         }
         if (invitePicList == null) {
            invitePicList = new ArrayList<SwiperPicture>();
            invitePicList = new ArrayList<BannerVO>();
         }
         root.put("invitePicList", JsonUtil.getApiCommonGson().toJson(invitePicList));
         // 4、IOS的底部网页链接
         String platform = acceptData.getPlatform();
         if ("ios".equalsIgnoreCase(platform)) {
            root.put("htmlLink", configService.get("index_html_link_ios"));
            root.put("htmlLink", configService.get(ConfigKeyEnum.indexHtmlLinkIos.getKey()));
         }
         root.put("spikeGoods", getSpikeGoodsContent(acceptData));
@@ -200,30 +214,36 @@
   }
   private JSONObject getSpikeGoodsContent(AcceptData acceptData) {
      List<String> dtoList = DaTaoKeUtil.getDingDongQiangTime();
      long nowTime = System.currentTimeMillis();
      Calendar calendar = Calendar.getInstance();
      calendar.setTimeInMillis(nowTime);
      List<DingDongTime> dtoList = DaTaoKeUtil.getDingDongQiangTime(calendar);
      int dateNum = Integer.parseInt(TimeUtil.getGernalTime(nowTime, "ddHH"));
      String timeStr = null;
      int nextPos = 0;
      for (int i = 0; i < dtoList.size() - 1; i++) {
         if (dateNum >= Integer.parseInt(dtoList.get(i)) && dateNum < Integer.parseInt(dtoList.get(i + 1))) {
            timeStr = dtoList.get(i);
         if (dateNum >= Integer.parseInt(dtoList.get(i).getTime())
               && dateNum < Integer.parseInt(dtoList.get(i + 1).getTime())) {
            timeStr = dtoList.get(i).getTime();
            nextPos = i + 1;
            break;
         }
      }
      if (timeStr == null)
         timeStr = dtoList.get(dtoList.size() - 1);
         timeStr = dtoList.get(dtoList.size() - 1).getTime();
      long nextTime = nowTime + 1000 * 60 * 60L;// 默认为1小时
      if (nextPos < dtoList.size()) {
         nextTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "yyyyMM") + dtoList.get(nextPos),
               "yyyyMMddHH");
         nextTime = TimeUtil.convertToTimeTemp(
               TimeUtil.getGernalTime(nowTime, "yyyyMM") + dtoList.get(nextPos).getTime(), "yyyyMMddHH");
      }
      JSONArray array = null;
      String timekey = String.format("spikeGoods_hour_new-%s-%s", acceptData.getPlatform(), acceptData.getVersion());
      String cachekey = String.format("spikeGoodsList_new-%s-%s", acceptData.getPlatform(), acceptData.getVersion());
      String timekey = RedisKeyEnum.getRedisKey(RedisKeyEnum.spikeGoodsHourNew,acceptData.getPlatform() +"-"+acceptData.getVersion());
      String cachekey = RedisKeyEnum.getRedisKey(RedisKeyEnum.spikeGoodsListNew,acceptData.getPlatform() +"-"+acceptData.getVersion());
      Calendar nowCalendar = Calendar.getInstance();
      nowCalendar.setTimeInMillis(nowTime);
      int hour = nowCalendar.get(Calendar.HOUR_OF_DAY);
@@ -238,13 +258,15 @@
         }
      }
      JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web");
      JumpDetailV2 jumpDetail = null;
      if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
         jumpDetail = jumpDetailV2Service.getByTypeCache("spike_goods_list");
      } else {
         jumpDetail = jumpDetailV2Service.getByTypeCache("web");
      }
      if (array == null) {
         array = new JSONArray();
         BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
         BigDecimal shareRate = hongBaoManageService.getShareRate();
         Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
               .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
@@ -259,16 +281,18 @@
         /* 遍历列表数据 */
         ConfigParamsDTO configParamsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
               acceptData.getVersion());
         for (DaTaoKeDetailV2 detail : listGoods) {
            TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(detail);
            if (taoBaoGoodsBrief == null) {
               continue;
            }
            GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate,
                  shareRate);
            GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, configParamsDTO);
            JSONObject params = new JSONObject();
            params.put("url", configService.get("spike_goods_link") + "?id=" + taoBaoGoodsBrief.getAuctionId());
            params.put("url", configService.get(ConfigKeyEnum.spikeGoodsLink.getKey()) + "?id=" + taoBaoGoodsBrief.getAuctionId());
            JSONObject goods = new JSONObject();
            goods.put("goods", gson.toJson(detailVO));
@@ -303,7 +327,7 @@
            }
         root.put("imgList", imgArray);
         JSONObject params = new JSONObject();
         params.put("url", configService.get("spike_goods_link"));
         params.put("url", configService.get(ConfigKeyEnum.spikeGoodsLink.getKey()));
         root.put("params", params);
         root.put("jumpDetail", jumpDetail);
         root.put("name", "限时秒杀");
@@ -313,7 +337,7 @@
         root.put("endTime", endTime > 0 ? endTime : 0);
         root.put("listgoods", array);
         JSONObject params = new JSONObject();
         params.put("url", configService.get("spike_goods_link"));
         params.put("url", configService.get(ConfigKeyEnum.spikeGoodsLink.getKey()));
         root.put("params", params);
         root.put("jumpDetail", jumpDetail);
      }
@@ -323,6 +347,84 @@
      root.put("listgoods", array);
      return root;
   }
   /**
    * 限时秒杀列表
    *
    * @param acceptData
    * @param page
    * @param auctionId
    * @param time
    * @param out
    */
   @RequestMapping("getSpikTime")
   public void getSpikTime(AcceptData acceptData, PrintWriter out) {
      List<DingDongTime> timeList = DaTaoKeUtil.getDingDongQiangTime(Calendar.getInstance());
      List<SpikeTimeVO> list = new ArrayList<SpikeTimeVO>();
      for (int i = 0; i < timeList.size(); i++) {
         SpikeTimeVO spikeTime1 = new SpikeTimeVO();
         spikeTime1.setTime(timeList.get(i).getTime().subSequence(2, 4) + ":00");
         if (timeList.get(i).getState() <= 0)
            spikeTime1.setState("进行中");
         else
            spikeTime1.setState("即将开始");
         if (timeList.get(i).getState() == 0)
            spikeTime1.setChecked(true);
         spikeTime1.setRequestTime(timeList.get(i).getTime());
         list.add(spikeTime1);
      }
      JSONObject data = new JSONObject();
      data.put("count", list.size());
      data.put("list", list);
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 限时秒杀列表
    *
    * @param acceptData
    * @param page
    * @param auctionId
    * @param time
    * @param out
    */
   @RequestMapping("getSpikeGoodsList")
   public void getSpikeGoodsList(AcceptData acceptData, Integer page, Long goodsId, String qtime, PrintWriter out) {
      List<DaTaoKeDetailV2> detailList0 = daTaoKeGoodsDetailV2Service.getDingDongQiangData(qtime);
      if (detailList0 == null)
         detailList0 = new ArrayList<>();
      List<DaTaoKeDetailV2> detailList = new ArrayList<>();
      detailList.addAll(detailList0);
      JSONArray array = new JSONArray();
      if (page == 1 && goodsId != null && detailList != null) {
         for (int i = 0; i < detailList.size(); i++) {
            if (detailList.get(i).getGoodsId().longValue() == goodsId) {
               DaTaoKeDetailV2 goods = detailList.get(i);
               detailList.remove(i);
               detailList.add(0, goods);
               break;
            }
         }
      }
      Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
            .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
      if (detailList != null) {
         ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
               acceptData.getVersion());
         for (DaTaoKeDetailV2 detail : detailList) {
            array.add(gson.toJson(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(detail), paramsDTO)));
         }
      }
      JSONObject data = new JSONObject();
      data.put("count", detailList.size());
      data.put("list", array);
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
@@ -374,7 +476,7 @@
      }
      JSONObject params = new JSONObject();
      params.put("url", configService.get("search_discovery_h5_link"));
      params.put("url", configService.get(ConfigKeyEnum.searchDiscoveryH5Link.getKey()));
      JSONObject root = new JSONObject();
      root.put("picture", "http://img.flqapp.com/resource/home_search_found.png");
@@ -456,10 +558,11 @@
            }
         }
         BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
         BigDecimal shareRate = hongBaoManageService.getShareRate();
         ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
               acceptData.getVersion());
         for (TaoBaoGoodsBrief goods : goodsList) {
            GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, null, fanLiRate, shareRate);
            GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
            if (page < 3)
               detailVO.setRecommend(true);
@@ -472,15 +575,16 @@
         if (page == 1) {
            List<TLJBuyGoods> list = homeRecommendGoodsService.getZiGouLiJianHotGoods(acceptData.getDevice());
            if (list != null && list.size() > 0)
            if (list != null && list.size() > 0) {
               BigDecimal rateBuy = TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE;
               ConfigParamsDTO paramsBuy = new ConfigParamsDTO(rateBuy, rateBuy, Constant.MAX_REWARD_RATE,
                     hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP));
               for (int i = list.size() - 1; i >= 0; i--) {
                  TLJBuyGoods goods = list.get(i);
                  BigDecimal rateBuy = TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE;
                  GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods.getGoods(), null, rateBuy,
                        rateBuy);
                  GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods.getGoods(), paramsBuy);
                  String hongBao = TaoBaoUtil.getGoodsHongBaoInfo(goods.getGoods(),
                        TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE);
                        TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE,false);
                  ReduceHongBao reduceHongBao = new ReduceHongBao();
                  reduceHongBao.setLeft(goods.getLeftHongBaoCount());
@@ -497,6 +601,7 @@
                  detailVO.setRecommend(true);
                  array.add(0, gson.toJson(detailVO));
               }
            }
         }
         JSONObject data = new JSONObject();
@@ -512,7 +617,7 @@
         if (!StringUtil.isNullOrEmpty(imei) || !StringUtil.isNullOrEmpty(idfa)) {
            long startTime = java.lang.System.currentTimeMillis();
            TaoBaoSearchResult result = TaoKeApiUtil.guessDeviceLike(page, 50, imei, idfa);
            TaoBaoSearchResult result = TaoKeApiUtil.guessDeviceLike(page, 50, imei, idfa,"");
            if (result != null && result.getTaoBaoGoodsBriefs() != null) {
               // 筛选
@@ -523,23 +628,21 @@
               // filter
               try {
                  gList = daTaoKeGoodsDetailService.filterTaoBaoGoods(gList);
                  gList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(gList);
               } catch (Exception e) {
               }
               // 设备推荐
               if (gList != null) {
                  BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
                  BigDecimal shareRate = hongBaoManageService.getShareRate();
                  ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
                        acceptData.getVersion());
                  for (TaoBaoGoodsBrief goods : gList) {
                     if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && goods.getCouponAmount() != null
                           && goods.getCouponAmount().compareTo(new BigDecimal("5")) >= 0
                           && goods.getBiz30day() > 1000
                           && !StringUtil.isNullOrEmpty(goods.getPictUrlWhite())) {
                        GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, null, fanLiRate,
                              shareRate);
                        GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
                        detailVO.setRecommend(true);
                        goodsList.add(detailVO);
                     }
@@ -567,10 +670,10 @@
               }
            }
         }
         JSONArray localArray = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize);
         JSONArray localArray = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize,acceptData.getPlatform(),acceptData.getVersion());
         array.addAll(localArray);
      } else {// 从精选库来
         array = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize);
         array = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize,acceptData.getPlatform(),acceptData.getVersion());
         if (array == null) {
            out.print(JsonUtil.loadFalseResult("没有更多了"));
            return;
@@ -603,12 +706,13 @@
         List<JDGoods> goodsList = result.getGoodsList();
         if (goodsList != null && goodsList.size() > 0) {
            BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
            BigDecimal shareRate = hongBaoManageService.getShareRate();
            ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
                  acceptData.getVersion());
            Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                  .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
            for (JDGoods goods : goodsList) {
               GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, fanLiRate, shareRate);
               GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, paramsDTO);
               array.add(gson.toJson(goodsDetailVO));
            }
         }
@@ -635,11 +739,11 @@
         Gson gson = JsonUtil.getApiCommonGson();
         List<PDDGoodsDetail> goodsList = result.getGoodsList();
         if (goodsList != null && goodsList.size() > 0) {
            BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
            BigDecimal shareRate = hongBaoManageService.getShareRate();
            ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
                  acceptData.getVersion());
            for (PDDGoodsDetail goods : goodsList) {
               GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, fanLiRate, shareRate);
               GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO);
               array.add(gson.toJson(goodsDetailVO));
            }
         }
@@ -669,8 +773,8 @@
         JSONArray arrayKeys = JSONArray.fromObject(keys);
         if (arrayKeys != null && arrayKeys.size() > 0) {
            count = arrayKeys.size();
            BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
            BigDecimal shareRate = hongBaoManageService.getShareRate();
            ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
                  acceptData.getVersion());
            int j = 1;
            for (int i = (page - 1) * 3; i < arrayKeys.size(); i++) {
@@ -683,8 +787,8 @@
               List<DaTaoKeDetailV2> listTaoKe = daTaoKeGoodsService.getSearchDiscoveryGoods(words);
               if (listTaoKe != null && listTaoKe.size() > 0) {
                  for (DaTaoKeDetailV2 daTaoKeDetailV2 : listTaoKe) {
                     listGoods.add(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), null,
                           fanLiRate, shareRate));
                     listGoods.add(
                           GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), paramsDTO));
                     if (listGoods.size() >= 3)
                        break;
                  }
@@ -734,12 +838,7 @@
         if (special.getState() == 1L) {
            list.remove(i--);
         } else {
            if (special.getStartTime() != null && special.getEndTime() != null)
               special.setTimeTask(true);
            else
               special.setTimeTask(false);
            if (special.isTimeTask()) {
            if (special.getStartTime() != null && special.getEndTime() != null) {
               if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) {
                  list.remove(i--);
               } else// 设置倒计时
@@ -761,4 +860,43 @@
         out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 获取专题渠道活动
    *
    * @param acceptData
    * @param uid
    * @param callback
    * @param out
    */
   @RequestMapping(value = "getGuide")
   public void getGuide(AcceptData acceptData, Long uid, PrintWriter out) {
      String tips = null;
      if (uid == null || uid <= 0) {
         tips = configService.get(ConfigKeyEnum.tipGuideNewUser.getKey());
      } else {
         long rebateOrder = hongBaoV2CountService.countRebateOrder(uid);
         long shareOrInviteOrder = hongBaoV2CountService.countShareOrInviteOrder(uid);
         if (rebateOrder + shareOrInviteOrder >= 3) {
            // 熟客版
         } else if (rebateOrder <= 0 && shareOrInviteOrder <= 0) {
            // 新人版
            tips = configService.get(ConfigKeyEnum.tipGuideNewUser.getKey());
         } else if (rebateOrder > 0 && shareOrInviteOrder <= 0) {
            // 省钱版
            tips = configService.get(ConfigKeyEnum.tipGuideSaveMoney.getKey());
         } else {
            // 赚钱版
            tips = configService.get(ConfigKeyEnum.tipGuideShareInvite.getKey());
         }
      }
      if (StringUtil.isNullOrEmpty(tips)) {
         out.print(JsonUtil.loadFalseResult("暂无提示"));
         return;
      }
      JSONObject data = JSONObject.fromObject(tips);
      out.print(JsonUtil.loadTrueResult(data));
   }
}