From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 二月 2025 16:41:22 +0800 Subject: [PATCH] 淘宝转链接口更新 --- fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoGoodsBriefServiceImpl.java | 494 ++++++++++++++++++++++++++++-------------------------- 1 files changed, 252 insertions(+), 242 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoGoodsBriefServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoGoodsBriefServiceImpl.java index fb5f49f..5ed19c6 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoGoodsBriefServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoGoodsBriefServiceImpl.java @@ -1,242 +1,252 @@ -package com.yeshi.fanli.service.impl.goods; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import com.yeshi.fanli.entity.SystemEnum; -import org.springframework.stereotype.Service; - -import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoGoodsBriefMapper; -import com.yeshi.fanli.entity.taobao.PidUser; -import com.yeshi.fanli.entity.taobao.TBPid; -import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; -import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig; -import com.yeshi.common.entity.taobao.TaoKeAppInfo; -import com.yeshi.fanli.exception.share.ShareGoodsException; -import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; -import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService; -import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; -import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; -import com.yeshi.fanli.service.inter.user.TBPidService; -import com.yeshi.fanli.util.taobao.TaoBaoUtil; -import com.yeshi.fanli.util.taobao.TaoKeApiUtil; - -@Service -public class TaoBaoGoodsBriefServiceImpl implements TaoBaoGoodsBriefService { - - @Resource - private HongBaoManageService hongBaoManageService; - - @Resource - private TaoBaoGoodsBriefMapper taoBaoGoodsBriefMapper; - - @Resource - private TBPidService tbPidService; - - @Resource - private TaoBaoUnionConfigService taoBaoUnionConfigService; - - @Override - public String getGoodsUserHongBao(TaoBaoGoodsBrief goods, SystemEnum system) { - BigDecimal rate = hongBaoManageService.getFanLiRate(system); - return TaoBaoUtil.getGoodsHongBaoInfo(goods, rate,false); - } - - @Override - public BigDecimal getShareGoodsUserHongBao(TaoBaoGoodsBrief goods, SystemEnum system) { - BigDecimal rate = hongBaoManageService.getShareRate(system); - return TaoBaoUtil.getShareGoodsHongBaoInfo(goods, rate); - } - - @Override - public void deleteByPrimaryKey(Long id) { - taoBaoGoodsBriefMapper.deleteByPrimaryKey(id); - } - - @Override - public void deleteBatchByGoodsId(List<Long> list) { - taoBaoGoodsBriefMapper.deleteBatchByGoodsId(list); - } - - @Override - public List<TaoBaoGoodsBrief> queryByAuctionId(Long auctionId) { - return taoBaoGoodsBriefMapper.queryByAuctionId(auctionId); - } - - @Override - public List<Long> listExistById(List<Long> list) { - if (list != null && list.size() > 0) - return taoBaoGoodsBriefMapper.listExistById(list); - else - return null; - } - - @Override - public int insertBatch(List<TaoBaoGoodsBrief> list) { - return taoBaoGoodsBriefMapper.insertBatch(list); - } - - @Override - public TaoBaoGoodsBrief selectByPrimaryKey(Long id) { - return taoBaoGoodsBriefMapper.selectByPrimaryKey(id); - } - - @Override - public void setGoodsBriefDefault(TaoBaoGoodsBrief goodsBrief) { - - BigDecimal defaultZero = new BigDecimal("0"); - - if (goodsBrief.getBiz30day() == null) - goodsBrief.setBiz30day(0); - - if (goodsBrief.getCouponAmount() == null) - goodsBrief.setCouponAmount(defaultZero); - - if (goodsBrief.getCouponLeftCount() == null) - goodsBrief.setCouponLeftCount(0); - - if (goodsBrief.getCouponStartFee() == null) - goodsBrief.setCouponStartFee(defaultZero); - - if (goodsBrief.getCouponTotalCount() == null) - goodsBrief.setCouponTotalCount(0); - - if (goodsBrief.getDayLeft() == null) - goodsBrief.setDayLeft(0); - - if (goodsBrief.getEventCreatorId() == null) - goodsBrief.setEventCreatorId(0); - - if (goodsBrief.getHasRecommended() == null) - goodsBrief.setHasRecommended(0); - - if (goodsBrief.getHasSame() == null) - goodsBrief.setHasSame(0); - - if (goodsBrief.getIncludeDxjh() == null) - goodsBrief.setIncludeDxjh(0); - - if (goodsBrief.getLeafCatId() == null) - goodsBrief.setIncludeDxjh(0); - - if (goodsBrief.getReservePrice() == null) - goodsBrief.setReservePrice(defaultZero); - - if (goodsBrief.getRfdRate() == null) - goodsBrief.setRfdRate(0); - - if (goodsBrief.getRootCatId() == null) - goodsBrief.setRootCatId(0); - - if (goodsBrief.getRootCatScore() == null) - goodsBrief.setRootCatScore(0); - - if (goodsBrief.getSameItemPid() == null) - goodsBrief.setSameItemPid(0L); - - if (goodsBrief.getSellerId() == null) - goodsBrief.setSellerId(0L); - - if (goodsBrief.getTkCommFee() == null) - goodsBrief.setTkCommFee(defaultZero); - - if (goodsBrief.getTkRate() == null) - goodsBrief.setTkRate(defaultZero); - - if (goodsBrief.getTotalFee() == null) - goodsBrief.setTotalFee(defaultZero); - - if (goodsBrief.getTotalNum() == null) - goodsBrief.setTotalNum(0); - - if (goodsBrief.getUserType() == null) - goodsBrief.setUserType(0); - - if (goodsBrief.getZkPrice() == null) - goodsBrief.setZkPrice(defaultZero); - - } - - @Override - public TaoBaoGoodsBrief getTaoBaoGoodsDetailForShare(Long auctionId, Long uid) throws ShareGoodsException { - if (uid == null || uid == 0) - throw new ShareGoodsException(201, "鐢ㄦ埛ID涓虹┖"); - if (auctionId == null || auctionId == 0) - throw new ShareGoodsException(202, "鍟嗗搧ID涓虹┖"); - // 鑾峰彇PID淇℃伅 - TBPid tbPid = tbPidService.getTBPid(uid, PidUser.TYPE_SHARE_GOODS); - if (tbPid == null) - throw new ShareGoodsException(203, "鏈兘鑾峰彇鍒癙ID"); - String appId = tbPid.getPid().split("_")[2]; - // 鑾峰彇娣樺濯掍綋淇℃伅 - TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppIdCache(appId); - if (config == null) - throw new ShareGoodsException(204, "濯掍綋鏁版嵁涓虹┖"); - - TaoKeAppInfo taoKeAppInfo = new TaoKeAppInfo(); - taoKeAppInfo.setAdzoneId(tbPid.getPid().split("_")[3]); - taoKeAppInfo.setAppKey(config.getAppKey()); - taoKeAppInfo.setAppSecret(config.getAppSecret()); - taoKeAppInfo.setPid(tbPid.getPid()); - TaoBaoGoodsBrief taoBaoGoodsBrief = null; - try { - taoBaoGoodsBrief = TaoKeApiUtil.searchGoodsDetail(auctionId, taoKeAppInfo); - } catch (TaobaoGoodsDownException e) { - e.printStackTrace(); - } - - if (taoBaoGoodsBrief == null) - throw new ShareGoodsException(204, "鍟嗗搧璇︽儏鏁版嵁涓虹┖"); - - return taoBaoGoodsBrief; - } - - @Override - public List<TaoBaoGoodsBrief> listByShopId(long start, int count, Long shopId) { - return taoBaoGoodsBriefMapper.listByShopId(start, count, shopId); - } - - @Override - public long countByShopId(Long shopId) { - return taoBaoGoodsBriefMapper.countByShopId(shopId); - } - - @Override - public List<TaoBaoGoodsBrief> filterOffLineGoods(List<TaoBaoGoodsBrief> goodsList) { - int page = goodsList.size() % 40 == 0 ? goodsList.size() / 40 -1 : goodsList.size() / 40; - List<TaoBaoGoodsBrief> flist = new ArrayList<>(); - for (int i = 0; i <= page; i++) { - List<TaoBaoGoodsBrief> list = goodsList.subList(i * 40, - i * 40 + 40 > goodsList.size() ?goodsList.size(): i * 40 + 40 ); - String ids = ""; - for (TaoBaoGoodsBrief goods : list) { - ids += goods.getAuctionId() + ","; - } - ids = ids.endsWith(",") ? ids.substring(0, ids.length() - 1) : ids; - Map<Long, TaoBaoGoodsBrief> goodsMap = new HashMap<>(); - try { - List<TaoBaoGoodsBrief> finalList = TaoKeApiUtil.getBatchGoodsInfos(ids); - if (finalList != null) - for (TaoBaoGoodsBrief ggods : finalList) - goodsMap.put(ggods.getAuctionId(), ggods); - - for (int j = 0; j < list.size(); j++) { - if (goodsMap.get(list.get(j).getAuctionId()) == null) { - list.remove(j); - j--; - } - } - } catch (TaobaoGoodsDownException e) { - e.printStackTrace(); - } - flist.addAll(list); - } - return flist; - } - -} +package com.yeshi.fanli.service.impl.goods; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.util.StringUtil; +import org.springframework.stereotype.Service; + +import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoGoodsBriefMapper; +import com.yeshi.fanli.entity.taobao.PidUser; +import com.yeshi.fanli.entity.taobao.TBPid; +import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; +import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig; +import com.yeshi.common.entity.taobao.TaoKeAppInfo; +import com.yeshi.fanli.exception.share.ShareGoodsException; +import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; +import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService; +import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; +import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; +import com.yeshi.fanli.service.inter.user.TBPidService; +import com.yeshi.fanli.util.taobao.TaoBaoUtil; +import com.yeshi.fanli.util.taobao.TaoKeApiUtil; + +@Service +public class TaoBaoGoodsBriefServiceImpl implements TaoBaoGoodsBriefService { + + @Resource + private HongBaoManageService hongBaoManageService; + + @Resource + private TaoBaoGoodsBriefMapper taoBaoGoodsBriefMapper; + + @Resource + private TBPidService tbPidService; + + @Resource + private TaoBaoUnionConfigService taoBaoUnionConfigService; + + @Override + public String getGoodsUserHongBao(TaoBaoGoodsBrief goods, SystemEnum system) { + BigDecimal rate = hongBaoManageService.getFanLiRate(system); + return TaoBaoUtil.getGoodsHongBaoInfo(goods, rate,false); + } + + @Override + public BigDecimal getShareGoodsUserHongBao(TaoBaoGoodsBrief goods, SystemEnum system) { + BigDecimal rate = hongBaoManageService.getShareRate(system); + return TaoBaoUtil.getShareGoodsHongBaoInfo(goods, rate); + } + + @Override + public void deleteByPrimaryKey(Long id) { + taoBaoGoodsBriefMapper.deleteByPrimaryKey(id); + } + + @Override + public void deleteBatchByGoodsId(List<String> list) { + taoBaoGoodsBriefMapper.deleteBatchByGoodsId(list); + } + + @Override + public List<TaoBaoGoodsBrief> queryByAuctionId(String auctionId) { + return taoBaoGoodsBriefMapper.queryByAuctionId(auctionId); + } + + @Override + public List<Long> listExistById(List<String> list) { + if (list != null && list.size() > 0) + return taoBaoGoodsBriefMapper.listExistById(list); + else + return null; + } + + @Override + public int insertBatch(List<TaoBaoGoodsBrief> list) { + return taoBaoGoodsBriefMapper.insertBatch(list); + } + + @Override + public TaoBaoGoodsBrief selectByPrimaryKey(Long id) { + return taoBaoGoodsBriefMapper.selectByPrimaryKey(id); + } + + @Override + public TaoBaoGoodsBrief selectByGoodsId(String goodsId) { + List<TaoBaoGoodsBrief> list = queryByAuctionId(goodsId); + if(list!=null&&list.size()>0){ + return list.get(list.size()-1); + } + return null; + } + + @Override + public void setGoodsBriefDefault(TaoBaoGoodsBrief goodsBrief) { + + BigDecimal defaultZero = new BigDecimal("0"); + + if (goodsBrief.getBiz30day() == null) + goodsBrief.setBiz30day(0); + + if (goodsBrief.getCouponAmount() == null) + goodsBrief.setCouponAmount(defaultZero); + + if (goodsBrief.getCouponLeftCount() == null) + goodsBrief.setCouponLeftCount(0); + + if (goodsBrief.getCouponStartFee() == null) + goodsBrief.setCouponStartFee(defaultZero); + + if (goodsBrief.getCouponTotalCount() == null) + goodsBrief.setCouponTotalCount(0); + + if (goodsBrief.getDayLeft() == null) + goodsBrief.setDayLeft(0); + + if (goodsBrief.getEventCreatorId() == null) + goodsBrief.setEventCreatorId(0); + + if (goodsBrief.getHasRecommended() == null) + goodsBrief.setHasRecommended(0); + + if (goodsBrief.getHasSame() == null) + goodsBrief.setHasSame(0); + + if (goodsBrief.getIncludeDxjh() == null) + goodsBrief.setIncludeDxjh(0); + + if (goodsBrief.getLeafCatId() == null) + goodsBrief.setIncludeDxjh(0); + + if (goodsBrief.getReservePrice() == null) + goodsBrief.setReservePrice(defaultZero); + + if (goodsBrief.getRfdRate() == null) + goodsBrief.setRfdRate(0); + + if (goodsBrief.getRootCatId() == null) + goodsBrief.setRootCatId(0); + + if (goodsBrief.getRootCatScore() == null) + goodsBrief.setRootCatScore(0); + + if (goodsBrief.getSameItemPid() == null) + goodsBrief.setSameItemPid(0L); + + if (goodsBrief.getSellerId() == null) + goodsBrief.setSellerId(0L); + + if (goodsBrief.getTkCommFee() == null) + goodsBrief.setTkCommFee(defaultZero); + + if (goodsBrief.getTkRate() == null) + goodsBrief.setTkRate(defaultZero); + + if (goodsBrief.getTotalFee() == null) + goodsBrief.setTotalFee(defaultZero); + + if (goodsBrief.getTotalNum() == null) + goodsBrief.setTotalNum(0); + + if (goodsBrief.getUserType() == null) + goodsBrief.setUserType(0); + + if (goodsBrief.getZkPrice() == null) + goodsBrief.setZkPrice(defaultZero); + + } + + @Override + public TaoBaoGoodsBrief getTaoBaoGoodsDetailForShare(String auctionId, Long uid) throws ShareGoodsException { + if (uid == null || uid == 0) + throw new ShareGoodsException(201, "鐢ㄦ埛ID涓虹┖"); + if (StringUtil.isNullOrEmpty(auctionId)) + throw new ShareGoodsException(202, "鍟嗗搧ID涓虹┖"); + // 鑾峰彇PID淇℃伅 + TBPid tbPid = tbPidService.getTBPid(uid, PidUser.TYPE_SHARE_GOODS); + if (tbPid == null) + throw new ShareGoodsException(203, "鏈兘鑾峰彇鍒癙ID"); + String appId = tbPid.getPid().split("_")[2]; + // 鑾峰彇娣樺濯掍綋淇℃伅 + TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppIdCache(appId); + if (config == null) + throw new ShareGoodsException(204, "濯掍綋鏁版嵁涓虹┖"); + + TaoKeAppInfo taoKeAppInfo = new TaoKeAppInfo(); + taoKeAppInfo.setAdzoneId(tbPid.getPid().split("_")[3]); + taoKeAppInfo.setAppKey(config.getAppKey()); + taoKeAppInfo.setAppSecret(config.getAppSecret()); + taoKeAppInfo.setPid(tbPid.getPid()); + TaoBaoGoodsBrief taoBaoGoodsBrief = null; + try { + taoBaoGoodsBrief = TaoKeApiUtil.searchGoodsDetail(auctionId, taoKeAppInfo); + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } + + if (taoBaoGoodsBrief == null) + throw new ShareGoodsException(204, "鍟嗗搧璇︽儏鏁版嵁涓虹┖"); + + return taoBaoGoodsBrief; + } + + @Override + public List<TaoBaoGoodsBrief> listByShopId(long start, int count, Long shopId) { + return taoBaoGoodsBriefMapper.listByShopId(start, count, shopId); + } + + @Override + public long countByShopId(Long shopId) { + return taoBaoGoodsBriefMapper.countByShopId(shopId); + } + + @Override + public List<TaoBaoGoodsBrief> filterOffLineGoods(List<TaoBaoGoodsBrief> goodsList) { + int page = goodsList.size() % 40 == 0 ? goodsList.size() / 40 -1 : goodsList.size() / 40; + List<TaoBaoGoodsBrief> flist = new ArrayList<>(); + for (int i = 0; i <= page; i++) { + List<TaoBaoGoodsBrief> list = goodsList.subList(i * 40, + i * 40 + 40 > goodsList.size() ?goodsList.size(): i * 40 + 40 ); + String ids = ""; + for (TaoBaoGoodsBrief goods : list) { + ids += goods.getAuctionId() + ","; + } + ids = ids.endsWith(",") ? ids.substring(0, ids.length() - 1) : ids; + Map<String, TaoBaoGoodsBrief> goodsMap = new HashMap<>(); + try { + List<TaoBaoGoodsBrief> finalList = TaoKeApiUtil.getBatchGoodsInfos(ids); + if (finalList != null) + for (TaoBaoGoodsBrief ggods : finalList) + goodsMap.put(ggods.getAuctionId(), ggods); + + for (int j = 0; j < list.size(); j++) { + if (goodsMap.get(list.get(j).getAuctionId()) == null) { + list.remove(j); + j--; + } + } + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } + flist.addAll(list); + } + return flist; + } + +} -- Gitblit v1.8.0