yujian
2019-10-31 e9285f6e48b26bdd494569e660006ec87f3ad66b
Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div

# Conflicts:
# fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
3个文件已修改
129 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java 95 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dto/dataoke/DingDongTime.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/DaTaoKeUtil.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
@@ -17,6 +17,7 @@
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;
@@ -132,8 +133,6 @@
    @Resource
    private HongBaoV2CountService hongBaoV2CountService;
    
    /**
     * 新版推荐专题管理(1.5.3)
     * 
@@ -211,20 +210,21 @@
        long nowTime = System.currentTimeMillis();
        Calendar calendar=    Calendar.getInstance(); 
        calendar.setTimeInMillis(nowTime);
        List<String> dtoList = DaTaoKeUtil.getDingDongQiangTime(calendar);
        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()) {
@@ -256,7 +256,6 @@
            jumpDetail = jumpDetailV2Service.getByTypeCache("web");
        }
        
        if (array == null) {
            array = new JSONArray();
@@ -282,7 +281,8 @@
                if (taoBaoGoodsBrief == null) {
                    continue;
                }
                GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE));
                GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief,
                        new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE));
                JSONObject params = new JSONObject();
                params.put("url", configService.get("spike_goods_link") + "?id=" + taoBaoGoodsBrief.getAuctionId());
@@ -342,10 +342,9 @@
        return root;
    }
    /**
     * 限时秒杀列表
     *
     * @param acceptData
     * @param page
     * @param auctionId
@@ -354,65 +353,21 @@
     */
    @RequestMapping("getSpikTime")
    public void getSpikTime(AcceptData acceptData, PrintWriter out) {
        List<DingDongTime> timeList = DaTaoKeUtil.getDingDongQiangTime(Calendar.getInstance());
        List<SpikeTimeVO> list = new ArrayList<SpikeTimeVO>();
        SpikeTimeVO spikeTime0 = new SpikeTimeVO();
        spikeTime0.setTime("00:00");
        spikeTime0.setState("进行中");
        spikeTime0.setRequestTime("2400");
        for (int i = 0; i < timeList.size(); i++) {
        SpikeTimeVO spikeTime1 = new SpikeTimeVO();
        spikeTime1.setTime("08:00");
            spikeTime1.setTime(
                     timeList.get(i).getTime().subSequence(2, 4)+":00");
            if (timeList.get(i).getState() <= 0)
        spikeTime1.setState("进行中");
        spikeTime1.setRequestTime("2408");
        SpikeTimeVO spikeTime2 = new SpikeTimeVO();
        spikeTime2.setTime("10:00");
        spikeTime2.setState("进行中");
        spikeTime2.setChecked(true);
        spikeTime2.setRequestTime("2410");
        SpikeTimeVO spikeTime3 = new SpikeTimeVO();
        spikeTime3.setTime("13:00");
        spikeTime3.setState("即将开始");
        spikeTime3.setRequestTime("2413");
        SpikeTimeVO spikeTime4 = new SpikeTimeVO();
        spikeTime4.setTime("15:00");
        spikeTime4.setState("即将开始");
        spikeTime4.setRequestTime("2415");
        SpikeTimeVO spikeTime5 = new SpikeTimeVO();
        spikeTime5.setTime("17:00");
        spikeTime5.setState("即将开始");
        spikeTime5.setRequestTime("2417");
        SpikeTimeVO spikeTime6 = new SpikeTimeVO();
        spikeTime6.setTime("19:00");
        spikeTime6.setState("即将开始");
        spikeTime6.setRequestTime("2419");
        SpikeTimeVO spikeTime7 = new SpikeTimeVO();
        spikeTime7.setTime("20:00");
        spikeTime7.setState("即将开始");
        spikeTime7.setRequestTime("2420");
        SpikeTimeVO spikeTime8 = new SpikeTimeVO();
        spikeTime8.setTime("21:00");
        spikeTime8.setState("即将开始");
        spikeTime8.setRequestTime("2421");
        list.add(spikeTime0);
            else
                spikeTime1.setState("即将开始");
            if (timeList.get(i).getState() == 0)
                spikeTime1.setChecked(true);
            spikeTime1.setRequestTime(timeList.get(i).getTime());
        list.add(spikeTime1);
        list.add(spikeTime2);
        list.add(spikeTime3);
        list.add(spikeTime4);
        list.add(spikeTime5);
        list.add(spikeTime6);
        list.add(spikeTime7);
        list.add(spikeTime8);
        }
        
        JSONObject data = new JSONObject();
        data.put("count", list.size());
@@ -420,10 +375,9 @@
        out.print(JsonUtil.loadTrueResult(data));    
    }
    
    /**
     * 限时秒杀列表
     *
     * @param acceptData
     * @param page
     * @param auctionId
@@ -467,9 +421,6 @@
        data.put("list", array);
        out.print(JsonUtil.loadTrueResult(data));    
    }
    
    /**
     * 金币兑换信息
@@ -835,7 +786,8 @@
                    List<DaTaoKeDetailV2> listTaoKe = daTaoKeGoodsService.getSearchDiscoveryGoods(words);
                    if (listTaoKe != null && listTaoKe.size() > 0) {
                        for (DaTaoKeDetailV2 daTaoKeDetailV2 : listTaoKe) {
                            listGoods.add(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), paramsDTO));
                            listGoods.add(
                                    GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), paramsDTO));
                            if (listGoods.size() >= 3)
                                break;
                        }
@@ -911,7 +863,6 @@
        } else
            out.print(JsonUtil.loadTrueResult(data));
    }
    
    /**
     * 获取专题渠道活动
fanli/src/main/java/com/yeshi/fanli/dto/dataoke/DingDongTime.java
@@ -4,6 +4,17 @@
    private String key;
    private String value;
    private String time;
    private int state;//-1 当前时间之前  0:当前时间  1当前时间之后
    public int getState() {
        return state;
    }
    public void setState(int state) {
        this.state = state;
    }
    public String getTime() {
        return time;
@@ -13,6 +24,12 @@
        this.time = time;
    }
    public DingDongTime(String key, String value,int state) {
        this.key = key;
        this.value = value;
        this.state= state;
    }
    public DingDongTime(String key, String value) {
        this.key = key;
        this.value = value;
fanli/src/main/java/com/yeshi/fanli/util/taobao/DaTaoKeUtil.java
@@ -580,7 +580,7 @@
        return detail;
    }
    public static List<String> getDingDongQiangTime(Calendar nowDate) {
    public static List<DingDongTime> getDingDongQiangTime(Calendar nowDate) {
        // 获取当前的小时数
        DingDongTime[] times = new DingDongTime[] { new DingDongTime("0", "00:00"), new DingDongTime("8", "08:00"),
@@ -614,36 +614,35 @@
        //获取当前时间之前的5个数据
        for (int i = 5; i >= 0; i--) {
            int p = pos - i < 0 ? (times.length + pos - i) : pos - i;
            DingDongTime itemData = new DingDongTime(times[p].getKey(), times[p].getValue());
            DingDongTime itemData = new DingDongTime(times[p].getKey(), times[p].getValue(),-1);
            if (pos - i < 0)
                itemData.setTime(
                        preDay + "" + (itemData.getKey().length() < 2 ? ("0" + itemData.getKey()) : itemData.getKey()));
            else
                itemData.setTime(
                        nowDay + "" + (itemData.getKey().length() < 2 ? ("0" + itemData.getKey()) : itemData.getKey()));
            if(pos==p)
                itemData.setState(0);
            list.add(itemData);
        }
        //向后添加剩下的
        if (pos + 1 < times.length)
            for (int i = pos + 1; i < times.length; i++) {
                DingDongTime itemData = new DingDongTime(times[i].getKey(), times[i].getValue());
                DingDongTime itemData = new DingDongTime(times[i].getKey(), times[i].getValue(),1);
                itemData.setTime(
                        nowDay + "" + (itemData.getKey().length() < 2 ? ("0" + itemData.getKey()) : itemData.getKey()));
                list.add(itemData);
            }
        if (times.length - (pos + 1) < 2) {
            DingDongTime itemData = new DingDongTime(times[0].getKey(), times[0].getValue());
            DingDongTime itemData = new DingDongTime(times[0].getKey(), times[0].getValue(),1);
            itemData.setTime(
                    nextDay + "" + (itemData.getKey().length() < 2 ? ("0" + itemData.getKey()) : itemData.getKey()));
            list.add(itemData);
        }
        List<String> finalTimeList = new ArrayList<>();
        for (DingDongTime time : list)
            finalTimeList.add(time.getTime());
        return finalTimeList;
        return list;
    }
}