admin
2019-08-22 d80640689e6949780811f4f8d1c8c972dbd4aa0b
Merge branch 'mater-1.6.0' into div

Conflicts:
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
3个文件已修改
108 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/dataoke/DaTaoKeGoodsDetailV2Service.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
@@ -21,12 +21,12 @@
import com.yeshi.fanli.dto.pdd.PDDGoodsResult;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
import com.yeshi.fanli.entity.bus.lable.QualityFactory;
import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.entity.jd.JDGoods;
import com.yeshi.fanli.entity.taobao.TLJBuyGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
@@ -43,11 +43,13 @@
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.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.factory.MonitorFactory;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
@@ -112,6 +114,9 @@
    @Resource
    private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
    @Resource
    private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
    /**
     * 新版推荐专题管理(1.5.3)
@@ -189,44 +194,31 @@
    }
    private JSONObject getSpikeGoodsContent(AcceptData acceptData) {
        // 下一次倒计时的时间
        int type = qualityFlashSaleService.getNowType() + 1;
        int hour = 0;
        switch (type) {
        case 1:
            hour = 0;
            break;
        case 2:
            hour = 9;
            break;
        case 3:
            hour = 12;
            break;
        case 4:
            hour = 14;
            break;
        case 5:
            hour = 16;
            break;
        case 6:
            hour = 20;
            break;
        case 7:
            hour = 22;
            break;
        default:
            break;
        List<String> dtoList = daTaoKeGoodsDetailV2Service.getDingDongQiangTime();
        long nowTime = System.currentTimeMillis();
        int dateNum = Integer.parseInt(TimeUtil.getGernalTime(nowTime, "ddHH"));
        String timeStr = null;
        int nextPos = 0;
        for (int i = 0; i < dtoList.size(); i++) {
            if (dateNum <= Integer.parseInt(dtoList.get(i))) {
                timeStr = dtoList.get(i);
                nextPos = i + 1;
                break;
            }
        }
        Calendar nextTime = Calendar.getInstance();
        nextTime.set(Calendar.HOUR_OF_DAY, hour);
        nextTime.set(Calendar.MINUTE, 0);
        nextTime.set(Calendar.SECOND, 0);
        nextTime.set(Calendar.MILLISECOND, 0);
        long nextTime = nowTime + 1000 * 60 * 60L;// 默认为1小时
        if (nextPos < dtoList.size()) {
            nextTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "MM") + dtoList.get(nextPos),
                    "MMddHH");
        }
        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());
        Calendar nowCalendar = Calendar.getInstance();
        nowCalendar.setTimeInMillis(nowTime);
        int hour = nowCalendar.get(Calendar.HOUR_OF_DAY);
        String timeValue = redisManager.getCommonString(timekey);
        if (timeValue == null || !timeValue.equals(hour + "")) {
@@ -237,6 +229,7 @@
                array = JSONArray.fromObject(cacheValue);
            }
        }
        JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web");
        if (array == null) {
            array = new JSONArray();
@@ -248,15 +241,18 @@
                    .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
            // 缓存中不存在
            List<QualityFactory> listGoods = qualityGoodsService.listFlashSaleRandGoods();
            List<DaTaoKeDetailV2> listGoods = daTaoKeGoodsDetailV2Service.getDingDongQiangData(timeStr);
            if (listGoods == null) {
                listGoods = new ArrayList<QualityFactory>();
                listGoods = new ArrayList<>();
            }
            if (listGoods != null && listGoods.size() > 3)
                listGoods = listGoods.subList(0, 3);
            /* 遍历列表数据 */
            for (QualityFactory qualityFactory : listGoods) {
                TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief();
            for (DaTaoKeDetailV2 detail : listGoods) {
                TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(detail);
                if (taoBaoGoodsBrief == null) {
                    continue;
                }
@@ -282,11 +278,15 @@
            // 缓存半个小时
            redisManager.cacheCommonString(cachekey, array.toString(), 60 * 30);
        }
        Long endTime = nextTime.getTimeInMillis() - java.lang.System.currentTimeMillis();
        // 获取今天的数据
        Long endTime = nextTime - nowTime;
        JSONObject root = new JSONObject();
        if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) {
            root.put("time", nextTime.getTimeInMillis());
            root.put("time", nextTime);
            root.put("endTime", endTime > 0 ? endTime : 0);
            JSONArray imgArray = new JSONArray();
            if (array != null)
@@ -301,7 +301,7 @@
            root.put("name", "限时秒杀");
            root.put("desc", "整点更新,好物抢购");
        } else {
            root.put("time", nextTime.getTimeInMillis());
            root.put("time", nextTime);
            root.put("endTime", endTime > 0 ? endTime : 0);
            root.put("listgoods", array);
            JSONObject params = new JSONObject();
@@ -309,6 +309,10 @@
            root.put("params", params);
            root.put("jumpDetail", jumpDetail);
        }
        root.put("time", nextTime);
        root.put("endTime", endTime > 0 ? endTime : 0);
        root.put("listgoods", array);
        return root;
    }
@@ -323,10 +327,8 @@
        JSONObject root = new JSONObject();
        JSONArray array = new JSONArray();
        array.add(
                "http://img.flqapp.com/resource/integral/integral_home_icon_2.png");
        array.add(
                "http://img.flqapp.com/resource/integral/integral_home_icon_1.png");
        array.add("http://img.flqapp.com/resource/integral/integral_home_icon_2.png");
        array.add("http://img.flqapp.com/resource/integral/integral_home_icon_1.png");
        root.put("imgList", array);
        JSONObject params = new JSONObject();
        params.put("balanceMore", true);
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java
@@ -22,7 +22,6 @@
import com.yeshi.fanli.dto.dataoke.DaTaoKeGoodsResult;
import com.yeshi.fanli.dto.dataoke.DingDongQiangDTO;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
@@ -366,4 +365,14 @@
        return null;
    }
    @Override
    public List<String> getDingDongQiangTime() {
        List<DingDongQiangDTO> list = getDingDongQiangData();
        List<String> dateList = new ArrayList<>();
        for (DingDongQiangDTO dto : list) {
            dateList.add(dto.getTime());
        }
        return dateList;
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/dataoke/DaTaoKeGoodsDetailV2Service.java
@@ -146,6 +146,13 @@
     */
    public List<DingDongQiangDTO> getDingDongQiangData();
    
    /**
     * 获取叮咚呛时间
     * @return
     */
    public List<String> getDingDongQiangTime();
    /**
     * 根据时间查询
     * @param time  0712 表示7号12点