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