From 573c491b4a1ba60e12a5678a01c1546c0077c1ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 30 七月 2019 09:07:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java | 93 +++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 90 insertions(+), 3 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 a8ae6f8..a31de97 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,21 +1,31 @@ package com.yeshi.fanli.service.impl.taobao; +import java.math.BigDecimal; 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.dto.taobao.TaoLiJinDTO; 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.service.inter.goods.TaoBaoGoodsBriefService; import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService; +import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService; import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; +import com.yeshi.fanli.util.taobao.TaoKeApiUtil; @Service public class ShareHotGoodsServiceImpl implements ShareHotGoodsService { @@ -24,6 +34,12 @@ @Resource private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; + + @Resource + private TaoBaoGoodsBriefService taoBaoGoodsBriefService; + + @Resource + private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService; @Override public void addShareHotGoods(ShareHotGoods goods) { @@ -35,9 +51,36 @@ 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 = taoBaoGoodsBriefService.filterOffLineGoods(goodsList); + // 娣诲姞澶ф窐瀹俊鎭� + goodsList = daTaoKeGoodsDetailService.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 @@ -46,8 +89,8 @@ } @Override - public List<TaoBaoGoodsBrief> listPreGoods() { - List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Service.listPreShareHotGoods(); + public List<TaoBaoGoodsBrief> listPreGoods(int page) { + List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Service.listPreShareHotGoods(page); List<TaoBaoGoodsBrief> goodsList = new ArrayList<>(); if (list != null) { for (DaTaoKeDetailV2 v2 : list) @@ -55,4 +98,48 @@ } return goodsList; } + + @Override + public void deleteByGoodsId(Long goodsId) { + shareHotGoodsDao.deleteByGoodsId(goodsId); + } + + @Override + public boolean verifyCanCreateTLJ(Long auctionId, TaoKeAppInfo info) { + TaoLiJinDTO taoLiJinDTO = null; + try { + taoLiJinDTO = 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 (TaoKeApiException e) { + if (e.getCode() == TaoKeApiException.CODE_TLJ_FORBIDDEN) { + // 璇ュ晢鍝佷笉鏀寔鍒涘缓娣樼ぜ閲戠孩鍖� + deleteByGoodsId(auctionId); + return false; + } else if (e.getCode() == TaoKeApiException.CODE_TLJ_NO_MONEY) { + // 瀹樻柟鐜╂硶閽卞寘浣欓涓嶈冻 TODO + } + } + 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