From 554de444b87aab5f93cb1593a8095612cf9479a7 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期二, 09 六月 2020 17:34:30 +0800 Subject: [PATCH] 订单 --- fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 105 insertions(+), 8 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 6971372..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,28 +1,34 @@ package com.yeshi.fanli.service.impl.taobao; +import java.math.BigDecimal; +import java.math.RoundingMode; 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; import javax.annotation.Resource; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; -import com.yeshi.fanli.dao.goods.taobao.dataoke.DaTaoKeGoodsDetailV2Dao; 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.util.BeanUtil; +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 { @@ -32,6 +38,15 @@ @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) @@ -42,9 +57,40 @@ shareHotGoodsDao.save(goods); } + @Cacheable(value = "commonContentCache", key = "'listByDay'+#day") @Override public List<ShareHotGoods> listByDay(String day) { - return shareHotGoodsDao.listByDayOrderByUpdateTime(day, 1, 10); + 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 @@ -53,8 +99,16 @@ } @Override - public List<TaoBaoGoodsBrief> listPreGoods() { - List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Service.listPreShareHotGoods(); + 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) @@ -62,4 +116,47 @@ } 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