admin
2021-05-24 c85aa240db8fa4fd53d774b58ce6a3fc0ddb3580
service-lijin/src/main/java/com/ks/lijin/service/remote/LijinCreateServiceImpl.java
@@ -6,6 +6,7 @@
import com.ks.lijin.pojo.DO.LiJinProviderAccount;
import com.ks.lijin.pojo.DO.LiJinProviderNotice;
import com.ks.lijin.pojo.DTO.LiJinCreateParam;
import com.ks.lijin.pojo.DTO.MoneyInfo;
import com.ks.lijin.pojo.DTO.taobao.TaoKeAppInfo;
import com.ks.lijin.pojo.DTO.taobao.TaoLiJinDTO;
import com.ks.lijin.pojo.Enums.NoticeTypeEnum;
@@ -20,16 +21,21 @@
import com.ks.vip.pojo.Enums.VIPEnum;
import com.ks.vip.service.VipCenterService;
import com.ks.vip.service.VipGradePotenceService;
import com.ks.vip.service.VipGradeService;
import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
import org.apache.dubbo.config.annotation.Reference;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.core.task.TaskExecutor;
import org.springframework.transaction.annotation.Transactional;
import org.yeshi.utils.MoneyBigDecimalUtil;
import org.yeshi.utils.StringUtil;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -49,15 +55,53 @@
    @Resource
    private LiJinProviderAccountService liJinProviderAccountService;
    @Resource
    @Reference(version = "1.0")
    private VipCenterService vipCenterService;
    @Resource
    @Reference(version = "1.0")
    private VipGradePotenceService vipGradePotenceService;
    @Reference(version = "1.0")
    private VipGradeService vipGradeService;
    @Resource
    private LiJinExpendRecordService liJinExpendRecordService;
    @Override
    public List<MoneyInfo> getMoneyInfo(String uid, List<TaoBaoGoodsBrief> goodsBriefList) {
        VIPEnum vipRank = null;
        if (!StringUtil.isNullOrEmpty(uid)) {
            vipRank = vipCenterService.getVIPEnumByUid(uid);
        }
        if (vipRank == null) {
            vipRank = vipGradeService.getDefaultGrade().getIdentity();
        }
        VipGradePotence potence = vipGradePotenceService.getPotenceByVipEnum(vipRank);
        List<MoneyInfo> list = new ArrayList<>();
        for (TaoBaoGoodsBrief goods : goodsBriefList) {
            MoneyInfo moneyInfo = new MoneyInfo();
            moneyInfo.setGoodsId(goods.getAuctionId() + "");
            moneyInfo.setGoodsType(1);
            try {
                moneyInfo.setLijinAmount(getTBLijinAmount(goods, vipRank));
            } catch (LiJinGoodsException e) {
                e.printStackTrace();
            } catch (LiJinAmountException e) {
                e.printStackTrace();
            }
            //计算返利比例
            BigDecimal rebateRate = potence.getRebatePercent();
            BigDecimal couponPrice = TaoBaoUtil.getAfterUseCouplePrice(goods);
            BigDecimal fanliMoney = TaoBaoUtil.getGoodsHongBaoMoney(goods,rebateRate,false);
            moneyInfo.setFanliAmount(fanliMoney);
            moneyInfo.setFirstOrderAmount(null);
            list.add(moneyInfo);
        }
        //获取
        return list;
    }
    @Override
    public BigDecimal getTBLijinAmount(Long actionId, String uid) throws LiJinGoodsException, LiJinUserException, LiJinAmountException {
@@ -240,6 +284,7 @@
    /**
     * 调用账号以及淘宝API
     *
     * @param uid
     * @param goodsId
     * @param lijinAmount
@@ -273,7 +318,7 @@
                        LiJinProviderNotice notice = new LiJinProviderNotice();
                        notice.setRead(false);
                        notice.setProviderId(account.getProviderId());
                       if (e.getCode() == LiJinException.CODE_TLJ_NO_MONEY) {
                        if (e.getCode() == LiJinException.CODE_TLJ_NO_MONEY) {
                            // 官方玩法钱包余额不足
                            notice.setTitle("玩法钱包余额不足");
                            notice.setContent("账号:" + account.getAccountName() + "官方玩法钱包余额不足");
@@ -295,8 +340,9 @@
    /**
     * 获取商品可创建的礼金金额
     * @param goods 商品
     * @param vipRank  会员等级
     *
     * @param goods   商品
     * @param vipRank 会员等级
     * @return
     * @throws LiJinGoodsException
     * @throws LiJinAmountException