package com.yeshi.fanli.service.impl.tlj;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
|
import com.yeshi.fanli.dao.tlj.GoodsTaoLiJinRateDao;
|
import com.yeshi.fanli.entity.bus.tlj.GoodsTaoLiJinRate;
|
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
|
import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService;
|
import com.yeshi.fanli.service.inter.tlj.GoodsTaoLiJinRateService;
|
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
|
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
|
|
@Service
|
public class GoodsTaoLiJinRateServiceImpl implements GoodsTaoLiJinRateService{
|
|
@Resource
|
private GoodsTaoLiJinRateDao goodsTaoLiJinRateDao;
|
|
@Resource
|
private ConfigTaoLiJinService configTaoLiJinService;
|
|
@Override
|
public GoodsTaoLiJinRate getById(Long goodId) {
|
return goodsTaoLiJinRateDao.get(goodId.toString());
|
}
|
|
|
@Override
|
public BigDecimal getGoodsSpreadMoney(TaoBaoGoodsBrief goods){
|
// 商品本身的总返利
|
BigDecimal goodsHongBao = TaoBaoUtil.getGoodsHongBaoMoney(goods,new BigDecimal(100));
|
|
// 随机比例 % {5、6、7、8}
|
int randomRate = 5;
|
GoodsTaoLiJinRate taoLiJinRate = getById(goods.getAuctionId());
|
if (taoLiJinRate == null) {
|
randomRate = 5 + (int) (Math.random() * 4);
|
taoLiJinRate = new GoodsTaoLiJinRate();
|
taoLiJinRate.setGoodId(goods.getAuctionId().toString());
|
taoLiJinRate.setRate(randomRate);
|
taoLiJinRate.setCreateTime(new Date());
|
taoLiJinRate.setUpdateTime(new Date());
|
goodsTaoLiJinRateDao.save(taoLiJinRate);
|
|
} else {
|
randomRate = taoLiJinRate.getRate();
|
}
|
BigDecimal spreadMoney = MoneyBigDecimalUtil.mul(new BigDecimal(randomRate * 0.1), goodsHongBao);
|
|
// 预警值
|
String warningValue = configTaoLiJinService.getValueByKey("warning_value");
|
// 计算公式: 淘礼金面额=(返利*利润预警值)*{0.5、0.6、0.7、0.8}≥1元
|
spreadMoney = MoneyBigDecimalUtil.mul(new BigDecimal(Integer.parseInt(warningValue) * 0.01), spreadMoney);
|
|
return spreadMoney;
|
}
|
|
|
}
|