From 3824cbcaec6e6c67418d5280a53e9c2fedeef6f9 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 11 七月 2019 16:34:13 +0800 Subject: [PATCH] 订单bug,分享爆款自购修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java | 64 +++++++++++++++++++++++++++++-- 1 files changed, 59 insertions(+), 5 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java index 6fd7720..44c471b 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java @@ -1,8 +1,12 @@ package com.yeshi.fanli.service.impl.taobao.dataoke; +import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.Date; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; @@ -17,6 +21,9 @@ import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service; +import com.yeshi.fanli.util.BeanUtil; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; @@ -35,11 +42,11 @@ public void startSyncGoods() { LogHelper.test("澶ф窐瀹㈠悓姝ュ紑濮�"); DaTaoKeGoodsResult result = DaTaoKeApiUtil.listAll("1"); - int page=0; + int page = 0; while (result.getGoodsList() != null && result.getGoodsList().size() > 0) { System.out.println(page++); for (DaTaoKeDetailV2 v2 : result.getGoodsList()) - daTaoKeGoodsDetailV2Dao.save(v2); + daTaoKeGoodsDetailV2Dao.saveWithCommision(v2); result = DaTaoKeApiUtil.listAll(result.getPageId()); try { Thread.sleep(10); @@ -91,13 +98,13 @@ String startTime = null; DaTaoKeDetailV2 latest = daTaoKeGoodsDetailV2Dao.selectLatest(); if (latest != null) { - startTime = TimeUtil.getGernalTime(latest.getCreateTime().getTime(), "yyyy-MM-dd HH:mm:ss"); + startTime = latest.getCreateTime(); } DaTaoKeGoodsResult result = DaTaoKeApiUtil.getNewGoodsList(null, startTime, null); while (!StringUtil.isNullOrEmpty(result.getPageId())) { for (DaTaoKeDetailV2 v2 : result.getGoodsList()) { v2.setUpdateTime(new Date()); - daTaoKeGoodsDetailV2Dao.save(v2); + daTaoKeGoodsDetailV2Dao.saveWithCommision(v2); } result = DaTaoKeApiUtil.getNewGoodsList(result.getPageId(), startTime, null); try { @@ -112,7 +119,7 @@ private void addGoodsList(List<DaTaoKeDetailV2> goodsList) { for (DaTaoKeDetailV2 goods : goodsList) { goods.setUpdateTime(new Date()); - daTaoKeGoodsDetailV2Dao.save(goods); + daTaoKeGoodsDetailV2Dao.saveWithCommision(goods); } } @@ -184,4 +191,51 @@ return daTaoKeGoodsDetailV2Dao.getGoodsNotInList(cid, listId, count); } + @Override + public List<DaTaoKeDetailV2> listPreShareHotGoods(int page) { + Map<Long, DaTaoKeDetailV2> map = new HashMap<>(); + List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Dao.listPreShareHotGoods((page - 1) * Constant.PAGE_SIZE, + Constant.PAGE_SIZE, "monthSales"); + System.out.println(list); + for (DaTaoKeDetailV2 v2 : list) { + map.put(v2.getId(), v2); + } + + List<DaTaoKeDetailV2> finalList = new ArrayList<>(); + for (Iterator<Long> its = map.keySet().iterator(); its.hasNext();) { + DaTaoKeDetailV2 v2 = map.get(its.next()); + Date time = new Date(TimeUtil.convertToTimeTemp(v2.getCouponEndTime(), "yyyy-MM-dd HH:mm:ss")); + Date targetTime = new Date(TimeUtil.convertToTimeTemp( + TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24 * 2L, "yyyy-MM-dd"), + "yyyy-MM-dd") - 1000L); + if (time.getTime() >= targetTime.getTime()) + finalList.add(v2); + } + + Comparator<DaTaoKeDetailV2> cm = new Comparator<DaTaoKeDetailV2>() { + @Override + public int compare(DaTaoKeDetailV2 o1, DaTaoKeDetailV2 o2) { + return o1.getActualPrice().compareTo(o2.getActualPrice()); + } + }; + Collections.sort(finalList, cm); + return finalList; + } + + @Override + public List<DaTaoKeDetailV2> listPreTLJBuyGoods(int page) { + if (page == 1) { + DaTaoKeGoodsResult result = DaTaoKeApiUtil.getRankingList(DaTaoKeApiUtil.RANK_TYPE_DAY, null); + List<DaTaoKeDetailV2> goodsList = new ArrayList<>(); + for (DaTaoKeDetailV2 v2 : result.getGoodsList()) { + BigDecimal commision = MoneyBigDecimalUtil + .div(MoneyBigDecimalUtil.mul(v2.getActualPrice(), v2.getCommissionRate()), new BigDecimal(100)); + if (commision.multiply(new BigDecimal("0.7")).compareTo(new BigDecimal("1.01")) >= 0) + goodsList.add(v2); + } + return goodsList; + } else + return new ArrayList<>(); + } + } -- Gitblit v1.8.0