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 |  776 +++++++++++++++++++----------------------------------------
 1 files changed, 252 insertions(+), 524 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 be3d202..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,524 +1,252 @@
-package com.yeshi.fanli.service.impl.goods;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import javax.annotation.Resource;
-import javax.transaction.Transactional;
-
-import org.hibernate.HibernateException;
-import org.hibernate.Query;
-import org.hibernate.Session;
-import org.springframework.orm.hibernate4.HibernateCallback;
-import org.springframework.stereotype.Service;
-
-import com.yeshi.fanli.dao.config.AddEveryDayTaskDao;
-import com.yeshi.fanli.dao.goods.RecommendSectionGoodsDao;
-import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoGoodsBriefMapper;
-import com.yeshi.fanli.dao.taobao.TaoBaoGoodsBriefDao;
-import com.yeshi.fanli.entity.admin.EveryDayTask;
-import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
-import com.yeshi.fanli.entity.bus.recommend.RecommendSection;
-import com.yeshi.fanli.entity.bus.recommend.RecommendSectionGoods;
-import com.yeshi.fanli.entity.taobao.PidUser;
-import com.yeshi.fanli.entity.taobao.SearchFilter;
-import com.yeshi.fanli.entity.taobao.TBPid;
-import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
-import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
-import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
-import com.yeshi.fanli.exception.ExistObjectException;
-import com.yeshi.fanli.exception.NotExistObjectException;
-import com.yeshi.fanli.exception.ShareGoodsException;
-import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
-import com.yeshi.fanli.service.inter.goods.ClassRecommendGoodsService;
-import com.yeshi.fanli.service.inter.goods.GoodsClassService;
-import com.yeshi.fanli.service.inter.goods.RecommendSectionGoodsService;
-import com.yeshi.fanli.service.inter.goods.RecommendSectionService;
-import com.yeshi.fanli.service.inter.goods.TaoBaoCouponService;
-import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
-import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
-import com.yeshi.fanli.service.inter.user.TBPidService;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.taobao.TaoBaoUtil;
-import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
-import org.yeshi.utils.NumberUtil;
-
-@Service
-public class TaoBaoGoodsBriefServiceImpl implements TaoBaoGoodsBriefService {
-
-	@Resource
-	private TaoBaoGoodsBriefDao taoBaoGoodsBriefDao;
-
-	@Resource
-	private RecommendSectionGoodsDao recommendSectionGoodsDao;
-
-	@Resource
-	private RecommendSectionGoodsService recommendSectionGoodsService;
-
-	@Resource
-	private RecommendSectionService recommendSectionService;
-
-	@Resource
-	private ClassRecommendGoodsService classRecommendGoodsService;
-
-	@Resource
-	private GoodsClassService goodsClassService;
-
-	@Resource
-	private AddEveryDayTaskDao addEveryDayTaskDao;
-
-	@Resource
-	private HongBaoManageService hongBaoManageService;
-
-	@Resource
-	private TaoBaoCouponService taoBaoCouponService;
-
-	@Resource
-	private TaoBaoGoodsBriefMapper taoBaoGoodsBriefMapper;
-
-	@Resource
-	private TBPidService tbPidService;
-
-	@Resource
-	private TaoBaoUnionConfigService taoBaoUnionConfigService;
-
-	public void save(TaoBaoGoodsBrief taoBaoGoodsBrief) throws ExistObjectException {
-
-		long auctionId = taoBaoGoodsBrief.getAuctionId();
-		List<TaoBaoGoodsBrief> list = taoBaoGoodsBriefDao.list("from TaoBaoGoodsBrief tb where tb.auctionId = ?",
-				new Serializable[] { auctionId });
-		if (list.size() > 0) {
-			throw new ExistObjectException("宸插瓨鍦ㄨ鍟嗗搧");
-		}
-
-		taoBaoGoodsBrief.setCreatetime(new Date());
-		taoBaoGoodsBriefDao.create(taoBaoGoodsBrief);
-	}
-
-	public List<TaoBaoGoodsBrief> getTBList(int index, String key) {
-
-		int start = index * Constant.PAGE_SIZE;
-
-		boolean b = NumberUtil.isNumeric(key);
-		if (b) {
-			return taoBaoGoodsBriefDao.list(
-					"from TaoBaoGoodsBrief tb where tb.title like ? or tb.auctionId = ? order by tb.id desc", start,
-					Constant.PAGE_SIZE, new Serializable[] { "%" + key + "%", Long.parseLong(key) });
-		} else {
-			return taoBaoGoodsBriefDao.list("from TaoBaoGoodsBrief tb where tb.title like ? order by tb.id desc", start,
-					Constant.PAGE_SIZE, new Serializable[] { "%" + key + "%" });
-		}
-
-	}
-
-	public int getCount(String key) {
-		boolean b = NumberUtil.isNumeric(key);
-		Long lcount = 0L;
-		if (b) {
-			lcount = taoBaoGoodsBriefDao.getCount(
-					"select count(*) from TaoBaoGoodsBrief tb where tb.title like ? or tb.auctionId = ? ",
-					new Serializable[] { "%" + key + "%", Long.parseLong(key) });
-		} else {
-			lcount = taoBaoGoodsBriefDao.getCount("select count(*) from TaoBaoGoodsBrief tb where tb.title like ? ",
-					new Serializable[] { "%" + key + "%" });
-		}
-
-		return lcount.intValue();
-	}
-
-	public TaoBaoGoodsBrief getTaoBao(long id) {
-
-		return taoBaoGoodsBriefDao.find(TaoBaoGoodsBrief.class, id);
-	}
-
-	public TaoBaoGoodsBrief getTaoBaoByAuctionId(long id) {
-		List<TaoBaoGoodsBrief> list = taoBaoGoodsBriefDao
-				.list("from  TaoBaoGoodsBrief goods where goods.auctionId=" + id);
-		if (list == null || list.size() == 0)
-			return null;
-		else
-			return list.get(0);
-	}
-
-	@Transactional
-	public void deleteTaoBaoGoods(final long id) {
-		taoBaoGoodsBriefDao.excute(new HibernateCallback() {
-
-			public Object doInHibernate(Session session) throws HibernateException {
-				recommendSectionGoodsService.deleteRecommendSectionGoodsByTB(id);
-				classRecommendGoodsService.deleteRecommendGoodsByTB(id);
-				Query query = session.createQuery("delete from TaoBaoGoodsBrief tb where tb.id = ?");
-				query.setParameter(0, id);
-				return query.executeUpdate();
-			}
-		});
-	}
-
-	@Transactional
-	public void addRecommendSectionGoods(long rsid, long tbid) throws NotExistObjectException, ExistObjectException {
-		RecommendSection recommendSection = recommendSectionService.getRecommendSection(rsid);
-		TaoBaoGoodsBrief taobao = taoBaoGoodsBriefDao.find(TaoBaoGoodsBrief.class, tbid);
-		if (recommendSection == null || taobao == null) {
-			throw new NotExistObjectException("涓嶅瓨鍦ㄨ鏉垮潡鎴栬�呮窐瀹濆晢鍝�");
-		}
-		recommendSectionGoodsService.addRecommendSectionGoods(recommendSection, taobao);
-	}
-
-	/**
-	 * 娣诲姞鍟嗗搧鍒版瘡鏃ヤ换鍔�
-	 */
-	@Override
-	public void addEveryDayTask(long tbid) throws NotExistObjectException, ExistObjectException {
-		TaoBaoGoodsBrief taobao = taoBaoGoodsBriefDao.find(TaoBaoGoodsBrief.class, tbid);
-		if (taobao == null) {
-			throw new NotExistObjectException("涓嶅瓨鍦ㄨ娣樺疂鍟嗗搧");
-		}
-		EveryDayTask everyDaoTask = new EveryDayTask();
-		everyDaoTask.setEtGoods(taobao);
-		everyDaoTask.setEtCreateTime(new Date());
-		addEveryDayTaskDao.create(everyDaoTask);
-	}
-
-	@Transactional
-	public void addClassRecommendGoods(long gcid, long tbid) throws NotExistObjectException, ExistObjectException {
-		GoodsClass goodsClass = goodsClassService.getGoodsClass(gcid);
-		TaoBaoGoodsBrief taobao = taoBaoGoodsBriefDao.find(TaoBaoGoodsBrief.class, tbid);
-		if (goodsClass == null || taobao == null) {
-			throw new NotExistObjectException("涓嶅瓨鍦ㄨ鍒嗙被鎴栬�呮窐瀹濆晢鍝�");
-		}
-		classRecommendGoodsService.addRecommendGoods(goodsClass, taobao);
-	}
-
-	public TaoBaoGoodsBrief getTaoBaoByAuctionId(String tbid) {
-		List<TaoBaoGoodsBrief> list = taoBaoGoodsBriefDao.list("from TaoBaoGoodsBrief tb where tb.auctionId=?",
-				new Serializable[] { Long.parseLong(tbid) });
-		if (list.size() == 0) {
-			return null;
-		}
-		return list.get(0);
-	}
-
-	public void updateTBGoods(TaoBaoGoodsBrief tb) throws NotExistObjectException {
-		TaoBaoGoodsBrief find = taoBaoGoodsBriefDao.find(TaoBaoGoodsBrief.class, tb.getId());
-		if (find == null) {
-			throw new NotExistObjectException("涓嶅瓨鍦ㄨ瀵硅薄");
-		}
-		find.setPictUrl(tb.getPictUrl());
-		find.setTitle(tb.getTitle());
-		taoBaoGoodsBriefDao.update(find);
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<TaoBaoGoodsBrief> getAllTaoBao() {
-		return (List<TaoBaoGoodsBrief>) taoBaoGoodsBriefDao.excute(new HibernateCallback<List<TaoBaoGoodsBrief>>() {
-
-			public List<TaoBaoGoodsBrief> doInHibernate(Session session) throws HibernateException {
-				Query query = session.createQuery("from TaoBaoGoodsBrief ");
-				return query.list();
-			}
-		});
-	}
-
-	public void getUpdateTaoBao() {
-		List<TaoBaoGoodsBrief> list = getAllTaoBao();
-		int len = list.size();
-		for (TaoBaoGoodsBrief taoBaoGoodsBrief : list) {
-			try {
-				Thread.sleep(2000);
-			} catch (InterruptedException e) {
-				continue;
-			}
-			try {
-				updateTaoBaoGoods(taoBaoGoodsBrief);
-			} catch (TaobaoGoodsDownException e) {
-				e.printStackTrace();
-			}
-			len--;
-			System.out.println("杩樺墿锛�" + len + "涓晢鍝佹湭鏇存柊");
-		}
-		return;
-	}
-
-	public void updateTaoBaoGoods(TaoBaoGoodsBrief taoBaoGoodsBrief) throws TaobaoGoodsDownException {
-
-		SearchFilter filter = new SearchFilter();
-		filter.setKey("https://item.taobao.com/item.htm?id=" + taoBaoGoodsBrief.getAuctionId());
-		TaoBaoGoodsBrief tb = TaoKeApiUtil.searchGoodsDetail(taoBaoGoodsBrief.getAuctionId());
-		if (tb == null) {
-			return;
-		}
-
-		taoBaoGoodsBrief.setCouponLink(tb.getCouponLink());
-		taoBaoGoodsBrief.setCouponActivityId(tb.getCouponActivityId());
-		taoBaoGoodsBrief.setCouponAmount(tb.getCouponAmount());
-		taoBaoGoodsBrief.setCouponEffectiveStartTime(tb.getCouponEffectiveStartTime());
-		taoBaoGoodsBrief.setCouponEffectiveEndTime(tb.getCouponEffectiveEndTime());
-		taoBaoGoodsBrief.setCouponInfo(tb.getCouponInfo());
-		taoBaoGoodsBrief.setCouponLeftCount(tb.getCouponLeftCount());
-		taoBaoGoodsBrief.setCouponLinkTaoToken(tb.getCouponLinkTaoToken());
-		taoBaoGoodsBrief.setCouponOriLink(tb.getCouponOriLink());
-		taoBaoGoodsBrief.setCouponShortLink(tb.getCouponShortLink());
-		taoBaoGoodsBrief.setCouponStartFee(tb.getCouponStartFee());
-		taoBaoGoodsBrief.setCouponTotalCount(tb.getCouponTotalCount());
-		taoBaoGoodsBrief.setBiz30day(tb.getBiz30day());
-		taoBaoGoodsBrief.setTkRate(tb.getTkRate());
-		taoBaoGoodsBrief.setZkPrice(tb.getZkPrice());
-		taoBaoGoodsBrief.setEventRate(tb.getEventRate());
-		taoBaoGoodsBrief.setTkMktStatus(tb.getTkMktStatus());
-		taoBaoGoodsBrief.setReservePrice(tb.getReservePrice());
-
-		taoBaoGoodsBrief.setCreatetime(new Date());
-		taoBaoGoodsBriefDao.update(taoBaoGoodsBrief);
-
-	}
-
-	public int getInvalidCount() {
-		Long count = taoBaoGoodsBriefDao.getCount("select count(tb.id) from TaoBaoGoodsBrief tb where tb.tkRate = 0");
-		return count.intValue();
-	}
-
-	public List<TaoBaoGoodsBrief> getInvalidTB(int pageIndex) {
-		int start = (pageIndex - 1) * Constant.PAGE_SIZE;
-		return taoBaoGoodsBriefDao.list("from TaoBaoGoodsBrief tb where tb.tkRate = 0 ", start, Constant.PAGE_SIZE,
-				new Serializable[] {});
-	}
-
-	/**
-	 * 浠巠eshi_ec_recommend_section_goods琛ㄤ腑鏌ヨ鏁版嵁
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public List<RecommendSectionGoods> listRecommendSectionGoods() {
-		return recommendSectionGoodsDao.list("from RecommendSectionGoods");
-	}
-
-	@Override
-	public String getGoodsUserHongBao(TaoBaoGoodsBrief goods) {
-		Map<String, String> convertMap = hongBaoManageService.convertMap();
-		String proportion = convertMap.get("hongbao_goods_proportion");
-		return TaoBaoUtil.getGoodsHongBaoInfo(goods, new BigDecimal(proportion));
-	}
-
-	@Override
-	public BigDecimal getShareGoodsUserHongBao(TaoBaoGoodsBrief goods) {
-		Map<String, String> convertMap = hongBaoManageService.convertMap();
-		String proportion = convertMap.get("hongbao_goods_proportion");
-		return TaoBaoUtil.getShareGoodsHongBaoInfo(goods, new BigDecimal(proportion));
-	}
-
-	@Override
-	public List<TaoBaoGoodsBrief> queryByAuctionId(Long auctionId) {
-		return taoBaoGoodsBriefMapper.queryByAuctionId(auctionId);
-	}
-	
-	@Override
-	public List<TaoBaoGoodsBrief> listQueryByAuctionId(List<Long> list) {
-		return taoBaoGoodsBriefMapper.queryGoodsByAuctionId(list);
-	}
-	
-	
-
-	@Override
-	public int insertSelective(TaoBaoGoodsBrief taoBaoGoodsBrief) {
-
-		return taoBaoGoodsBriefMapper.insertSelective(taoBaoGoodsBrief);
-	}
-	
-	@Override
-	public int insertBatch(List<TaoBaoGoodsBrief> list) {
-
-		return taoBaoGoodsBriefMapper.insertBatch(list);
-	}
-
-	@Override
-	public TaoBaoGoodsBrief selectByPrimaryKey(Long id) {
-		return taoBaoGoodsBriefMapper.selectByPrimaryKey(id);
-	}
-
-	@Override
-	public int updateByPrimaryKey(TaoBaoGoodsBrief taoBaoGoodsBrief) {
-		return taoBaoGoodsBriefMapper.updateByPrimaryKey(taoBaoGoodsBrief);
-	}
-	
-	
-	@Override
-	public void updateTBGoodsWithNewInfo(TaoBaoGoodsBrief tb) throws NotExistObjectException {
-		if (tb == null)
-			return;
-		List<TaoBaoGoodsBrief> findList = taoBaoGoodsBriefDao
-				.list("from TaoBaoGoodsBrief tb where tb.auctionId=" + tb.getAuctionId());
-		if (findList != null && findList.size() > 0) {
-			for (TaoBaoGoodsBrief goods : findList) {
-				tb.setId(goods.getId());
-				if (!StringUtil.isNullOrEmpty(goods.getPictUrl()))
-					tb.setPictUrl(goods.getPictUrl());
-				taoBaoGoodsBriefDao.update(tb);
-			}
-		}
-
-	}
-
-	@Override
-	public void updateTaoBaoGoodsByMybatis(TaoBaoGoodsBrief taoBaoGoodsBrief) throws TaobaoGoodsDownException {
-
-		SearchFilter filter = new SearchFilter();
-		filter.setKey("https://item.taobao.com/item.htm?id=" + taoBaoGoodsBrief.getAuctionId());
-		TaoBaoGoodsBrief tb = TaoKeApiUtil.searchGoodsDetail(taoBaoGoodsBrief.getAuctionId());
-		if (tb == null) {
-			return;
-		}
-
-		taoBaoGoodsBrief.setCouponLink(tb.getCouponLink());
-		taoBaoGoodsBrief.setCouponActivityId(tb.getCouponActivityId());
-		taoBaoGoodsBrief.setCouponAmount(tb.getCouponAmount());
-		taoBaoGoodsBrief.setCouponEffectiveStartTime(tb.getCouponEffectiveStartTime());
-		taoBaoGoodsBrief.setCouponEffectiveEndTime(tb.getCouponEffectiveEndTime());
-		taoBaoGoodsBrief.setCouponInfo(tb.getCouponInfo());
-		taoBaoGoodsBrief.setCouponLeftCount(tb.getCouponLeftCount());
-		taoBaoGoodsBrief.setCouponLinkTaoToken(tb.getCouponLinkTaoToken());
-		taoBaoGoodsBrief.setCouponOriLink(tb.getCouponOriLink());
-		taoBaoGoodsBrief.setCouponShortLink(tb.getCouponShortLink());
-		taoBaoGoodsBrief.setCouponStartFee(tb.getCouponStartFee());
-		taoBaoGoodsBrief.setCouponTotalCount(tb.getCouponTotalCount());
-		taoBaoGoodsBrief.setBiz30day(tb.getBiz30day());
-		taoBaoGoodsBrief.setTkRate(tb.getTkRate());
-		taoBaoGoodsBrief.setZkPrice(tb.getZkPrice());
-		taoBaoGoodsBrief.setEventRate(tb.getEventRate());
-		taoBaoGoodsBrief.setTkMktStatus(tb.getTkMktStatus());
-		taoBaoGoodsBrief.setReservePrice(tb.getReservePrice());
-		taoBaoGoodsBrief.setCreatetime(new Date());
-
-		setGoodsBriefDefault(taoBaoGoodsBrief);
-
-		taoBaoGoodsBriefMapper.updateByPrimaryKeySelective(taoBaoGoodsBrief);
-
-	}
-
-	@Override
-	public void updateByPrimaryKeySelective(TaoBaoGoodsBrief taoBaoGoodsBrief) throws TaobaoGoodsDownException {
-		setGoodsBriefDefault(taoBaoGoodsBrief);
-		taoBaoGoodsBriefMapper.updateByPrimaryKeySelective(taoBaoGoodsBrief);
-	}
-
-	@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 void updateBatchSelective(List<TaoBaoGoodsBrief> list) {
-		 taoBaoGoodsBriefMapper.updateBatchSelective(list);
-	}
-	
-}
+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