package com.yeshi.fanli.service.impl.taobao;
|
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
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.dataoke.DaTaoKeDetailV2;
|
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
|
import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
|
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.util.TaoBaoConstant;
|
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;
|
|
@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()));
|
if (goods.getUpdateTime() == null)
|
goods.setUpdateTime(new Date());
|
shareHotGoodsDao.save(goods);
|
}
|
|
@Override
|
public List<ShareHotGoods> listByDay(String day) {
|
return listByDay(day, 10);
|
}
|
|
@Override
|
public List<ShareHotGoods> listByDay(String day, int count) {
|
return shareHotGoodsDao.listByDayOrderByUpdateTime(day, 1, count);
|
}
|
|
@Override
|
public void deleteById(String id) {
|
shareHotGoodsDao.delete(id);
|
}
|
|
@Override
|
public List<TaoBaoGoodsBrief> listPreGoods() {
|
List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Service.listPreShareHotGoods();
|
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) {
|
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),
|
TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT);
|
} 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;
|
}
|
}
|