From ac18247de1bf14b44fd438b35d783c1a313f5286 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 14 五月 2020 16:57:44 +0800
Subject: [PATCH] 数据预览
---
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java | 128 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 126 insertions(+), 2 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java
index 8f938f8..ff30e69 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java
@@ -1,38 +1,162 @@
package com.yeshi.fanli.service.impl.taobao;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.ArrayList;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import javax.annotation.Resource;
+import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.taobao.ShareHotGoodsDao;
import com.yeshi.fanli.entity.taobao.ShareHotGoods;
+import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
+import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
+import com.yeshi.fanli.exception.taobao.TaoKeApiException;
+import com.yeshi.fanli.exception.tlj.TaoLiJinCreateException;
+import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
+import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
+import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService;
import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TimeUtil;
+import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@Service
public class ShareHotGoodsServiceImpl implements ShareHotGoodsService {
@Resource
private ShareHotGoodsDao shareHotGoodsDao;
+ @Resource
+ private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
+
+ @Resource
+ private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
+
+ @Resource
+ private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
+
+ @Resource
+ private ConfigTaoLiJinService configTaoLiJinService;
+
@Override
public void addShareHotGoods(ShareHotGoods goods) {
if (goods == null || StringUtil.isNullOrEmpty(goods.getDay()) || goods.getGoods() == null)
return;
goods.setId(StringUtil.Md5(goods.getDay() + "#" + goods.getGoods().getAuctionId()));
- goods.setUpdateTime(new Date());
+ if (goods.getUpdateTime() == null)
+ goods.setUpdateTime(new Date());
shareHotGoodsDao.save(goods);
}
+ @Cacheable(value = "commonContentCache", key = "'listByDay'+#day")
@Override
public List<ShareHotGoods> listByDay(String day) {
- return shareHotGoodsDao.listByDayOrderByUpdateTime(day, 1, 100);
+ return listByDay(day, 10);
+ }
+
+ @Override
+ public List<ShareHotGoods> listByDay(String day, int count) {
+ List<ShareHotGoods> list = shareHotGoodsDao.listByDayOrderByUpdateTime(day, 1, count);
+ List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
+ if (list != null) {
+ for (ShareHotGoods shg : list)
+ goodsList.add(shg.getGoods());
+ }
+
+ // 杩囨护鍩烘湰鍟嗗搧淇℃伅
+ goodsList = taoBaoGoodsUpdateService.filterImportantTaoBaoGoods(goodsList);
+
+ // 杩囨护涓嬬嚎鍟嗗搧
+ goodsList = taoBaoGoodsBriefService.filterOffLineGoods(goodsList);
+ // 娣诲姞澶ф窐瀹俊鎭�
+ goodsList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goodsList);
+ Map<Long, TaoBaoGoodsBrief> goodsMap = new HashMap<>();
+ if (goodsList != null)
+ for (TaoBaoGoodsBrief g : goodsList)
+ goodsMap.put(g.getAuctionId(), g);
+
+ for (int j = 0; j < list.size(); j++) {
+ if (goodsMap.get(list.get(j).getGoods().getAuctionId()) == null) {
+ list.remove(j);
+ j--;
+ }
+ }
+ return list;
}
@Override
public void deleteById(String id) {
shareHotGoodsDao.delete(id);
}
+
+ @Override
+ public List<TaoBaoGoodsBrief> listPreGoods(int page) {
+ String warningValue = configTaoLiJinService.getValueByKey("warning_value",
+ new Date(TimeUtil.convertToTimeTemp(
+ TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd"),
+ "yyyy-MM-dd")));
+
+ BigDecimal minComminsion = new BigDecimal(1)
+ .divide(new BigDecimal(warningValue).multiply(new BigDecimal("0.01")), 2, RoundingMode.UP);
+
+ List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Service.listPreShareHotGoods(page, minComminsion);
+ List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
+ if (list != null) {
+ for (DaTaoKeDetailV2 v2 : list)
+ goodsList.add(TaoBaoUtil.convert(v2));
+ }
+ return goodsList;
+ }
+
+ @Override
+ public void deleteByGoodsId(Long goodsId) {
+ shareHotGoodsDao.deleteByGoodsId(goodsId);
+ }
+
+ @Override
+ public boolean verifyCanCreateTLJ(Long auctionId, TaoKeAppInfo info) {
+ try {
+ TaoKeApiUtil.createTaoLiJin(auctionId, "娣樼ぜ閲戦獙璇�", new BigDecimal("1.00"), 1, new Date(),
+ new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 6), new Date(),
+ new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 6), info);
+ } catch (TaoLiJinCreateException e1) {
+ if (e1.getCode() == TaoLiJinCreateException.CODE_TLJ_FORBIDDEN) {// 鍟嗗搧涓嶅厑璁稿垱寤烘窐绀奸噾
+ deleteByGoodsId(auctionId);
+ return false;
+ }
+
+ } catch (TaoKeApiException e) {
+
+ }
+ return true;
+ }
+
+ @Override
+ public void updateShareGoods(TaoBaoGoodsBrief goods) {
+ List<ShareHotGoods> list = shareHotGoodsDao.listByAuctionId(goods.getAuctionId());
+ if (list != null)
+ for (ShareHotGoods shareHotGoods : list) {
+ // 鏇存柊鍒镐俊鎭� 锛屼环鏍间俊鎭紝閿�閲忎俊鎭�
+ shareHotGoods.getGoods().setZkPrice(goods.getZkPrice());
+ shareHotGoods.getGoods().setCouponAmount(goods.getCouponAmount());
+ shareHotGoods.getGoods().setCouponInfo(goods.getCouponInfo());
+ shareHotGoods.getGoods().setCouponEffectiveEndTime(goods.getCouponEffectiveEndTime());
+ shareHotGoods.getGoods().setCouponEffectiveStartTime(goods.getCouponEffectiveStartTime());
+ shareHotGoods.getGoods().setCouponLeftCount(goods.getCouponLeftCount());
+ shareHotGoods.getGoods().setCouponStartFee(goods.getCouponStartFee());
+ shareHotGoods.getGoods().setCouponTotalCount(goods.getCouponTotalCount());
+ shareHotGoods.getGoods().setBiz30day(goods.getBiz30day());
+ shareHotGoods.getGoods().setTkRate(goods.getTkRate());
+ shareHotGoodsDao.save(shareHotGoods);
+ }
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0