| | |
| | | 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.common.JumpDetailV2;
|
| | | import com.yeshi.fanli.entity.jd.JDGoods;
|
| | |
| | | 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.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.RedisManager;
|
| | |
| | | import com.yeshi.fanli.vo.goods.GoodsDetailVO;
|
| | | import com.yeshi.fanli.vo.goods.OtherInfo;
|
| | | import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
|
| | | import com.yeshi.fanli.vo.search.SearchKeyTOPVO;
|
| | | import com.yeshi.fanli.vo.search.SearchKeyVO;
|
| | | import com.yeshi.fanli.vo.tlj.ReduceHongBao;
|
| | |
|
| | |
| | | @Resource
|
| | | private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
|
| | |
|
| | | @Resource
|
| | | private DaTaoKeGoodsService daTaoKeGoodsService;
|
| | |
|
| | | /**
|
| | | * 新版推荐专题管理(1.5.3)
|
| | | *
|
| | |
| | | if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion()))
|
| | | root.put("scoreExchange", getScoreExchangeInfo(acceptData));
|
| | |
|
| | | root.put("searchDiscovery", getSearchDiscoveryInfo(acceptData));
|
| | | if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion()))
|
| | | root.put("searchDiscovery", getSearchDiscoveryInfo(acceptData));
|
| | |
|
| | | out.print(JsonUtil.loadTrueResult(root));
|
| | | } catch (Exception e) {
|
| | | out.print(JsonUtil.loadFalseResult(1, "获取数据失败"));
|
| | |
| | | root.put("tagImg", "http://img.flqapp.com/resource/score_exchange_tag.png");
|
| | | return root;
|
| | | }
|
| | | |
| | | |
| | |
|
| | | /**
|
| | | * 金币兑换信息
|
| | | *
|
| | |
| | | */
|
| | | private JSONObject getSearchDiscoveryInfo(AcceptData acceptData) {
|
| | | JSONArray array = new JSONArray();
|
| | | String keys = configService.get("search_discovery_keys");
|
| | | String keys = configService.getSearchDiscoveryKeys();
|
| | | if (!StringUtil.isNullOrEmpty(keys)) {
|
| | | JSONArray arrayKeys = JSONArray.fromObject(keys);
|
| | | for (int i = 0; i < arrayKeys.size(); i++) {
|
| | | String name = arrayKeys.get(i).toString();
|
| | | JSONObject params = new JSONObject();
|
| | | params.put("searchKey", name);
|
| | | |
| | | params.put("content", name);
|
| | |
|
| | | SearchKeyVO keyVO = new SearchKeyVO();
|
| | | keyVO.setName(name);
|
| | | keyVO.setParams(params.toString());
|
| | | array.add(keyVO);
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | JSONObject params = new JSONObject();
|
| | | params.put("url", configService.get("search_discovery_h5_link"));
|
| | | |
| | |
|
| | | JSONObject root = new JSONObject();
|
| | | root.put("picture", "http://img.flqapp.com/resource/home_search_found.png");
|
| | | root.put("params", params);
|
| | | root.put("jumpDetail", jumpDetailV2Service.getByTypeCache("web",
|
| | | Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
|
| | | |
| | |
|
| | | root.put("jumpResult", jumpDetailV2Service.getByTypeCache("search_goods_result",
|
| | | Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
|
| | | root.put("keyList", array);
|
| | | return root;
|
| | | }
|
| | | |
| | |
|
| | | /**
|
| | | * 首页底部商品推荐
|
| | |
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | /**
|
| | | * 搜索发现列表
|
| | | * |
| | | * @param acceptData
|
| | | * @param uid
|
| | | * @param page
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getSearchDiscoveryTop")
|
| | | public void getSearchDiscoveryTop(AcceptData acceptData, Long uid, Integer page, String callback, PrintWriter out) {
|
| | | int count = 0;
|
| | | List<SearchKeyTOPVO> list = new ArrayList<SearchKeyTOPVO>();
|
| | |
|
| | | String keys = configService.getSearchDiscoveryKeys();
|
| | | if (!StringUtil.isNullOrEmpty(keys)) {
|
| | | JSONArray arrayKeys = JSONArray.fromObject(keys);
|
| | | if (arrayKeys != null && arrayKeys.size() > 0) {
|
| | | count = arrayKeys.size();
|
| | | BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
|
| | | BigDecimal shareRate = hongBaoManageService.getShareRate();
|
| | |
|
| | | int j = 1;
|
| | | for (int i = (page - 1) * 3; i < arrayKeys.size(); i++) {
|
| | | if (j > 3)
|
| | | break;
|
| | |
|
| | | String words = arrayKeys.get(i).toString();
|
| | | List<GoodsDetailVO> listGoods = new ArrayList<GoodsDetailVO>();
|
| | |
|
| | | 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));
|
| | | if (listGoods.size() >= 3)
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | SearchKeyTOPVO keyTOPVO = new SearchKeyTOPVO();
|
| | | keyTOPVO.setName(words);
|
| | | keyTOPVO.setListGoods(listGoods);
|
| | | list.add(keyTOPVO);
|
| | |
|
| | | j++;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
|
| | | Gson gson = gsonBuilder.create();
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("count", count);
|
| | | data.put("list", gson.toJson(list));
|
| | | if (!StringUtil.isNullOrEmpty(callback)) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | | } else
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取专题渠道活动
|
| | | * |
| | | * @param acceptData
|
| | | * @param uid
|
| | | * @param callback
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getSpecialChannelActivity")
|
| | | public void getSpecialChannelActivity(AcceptData acceptData, Long uid, String callback, PrintWriter out) {
|
| | |
|
| | | int platformCode = Constant.getPlatformCode(acceptData.getPlatform());
|
| | |
|
| | | List<Special> list = specialService.listByPlaceKey("special_channel_activity", platformCode,
|
| | | Integer.parseInt(acceptData.getVersion()));
|
| | |
|
| | | long time = System.currentTimeMillis();
|
| | | // 删除尚未启用的过期的
|
| | | for (int i = 0; i < list.size(); i++) {
|
| | | Special special = list.get(i);
|
| | | 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 (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) {
|
| | | list.remove(i--);
|
| | | } else// 设置倒计时
|
| | | {
|
| | | special.setCountDownTime((special.getEndTime().getTime() - time) / 1000);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
|
| | | Gson gson = gsonBuilder.create();
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("count", list.size());
|
| | | data.put("list", gson.toJson(list));
|
| | | if (!StringUtil.isNullOrEmpty(callback)) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | | } else
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | }
|