package com.yeshi.fanli.service.impl.goods;
|
|
import java.math.BigDecimal;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
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.fanli.entity.taobao.TaoBaoGoodsBrief;
|
import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
|
import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
|
import com.yeshi.fanli.exception.ShareGoodsException;
|
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
|
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.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) {
|
BigDecimal rate = hongBaoManageService.getFanLiRate();
|
return TaoBaoUtil.getGoodsHongBaoInfo(goods, rate);
|
}
|
|
@Override
|
public BigDecimal getShareGoodsUserHongBao(TaoBaoGoodsBrief goods) {
|
BigDecimal rate = hongBaoManageService.getShareRate();
|
return TaoBaoUtil.getShareGoodsHongBaoInfo(goods, rate);
|
}
|
|
@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 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, "未能获取到PID");
|
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;
|
}
|
|
}
|