Commit 8db36120 authored by shiyu's avatar shiyu

状态

parent 00802138
......@@ -63,4 +63,33 @@ public class DistributorShareRecordVo implements Entity {
* 预计佣金
*/
private String rebateAmount;
/**
* 实际竞拍结束时间
*/
private Date realEndTime;
/**
* 针对竞拍品
* 最新价格
*/
private String currentPrice;
/**
* 竞拍商品的状态
*/
private Integer state;
/**
* 状态
*/
private String stateName;
/**
* 用户的状态
* 出价、已领先、立即支付、竞拍结束
*/
private Integer userState;
private String userStateName;
}
......@@ -8,12 +8,8 @@ import com.wwdz.ch.core.util.IdUtils;
import com.wwdz.ch.core.util.MediaUtil;
import com.wwdz.ch.core.util.PriceUtil;
import com.wwdz.ch.core.util.UUID;
import com.wwdz.ch.db.dao.distribution.AuctionConfigDao;
import com.wwdz.ch.db.dao.distribution.DistributorShareRecordDao;
import com.wwdz.ch.db.dao.distribution.SupplierItemDao;
import com.wwdz.ch.db.domain.distribution.AuctionConfig;
import com.wwdz.ch.db.domain.distribution.DistributorShareRecord;
import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.db.dao.distribution.*;
import com.wwdz.ch.db.domain.distribution.*;
import com.wwdz.ch.db.dto.request.distribution.DistributorShareRecordRequestDto;
import com.wwdz.ch.wx.entity.vo.distribution.DistributorShareRecordVo;
import com.wwdz.ch.wx.service.distribution.DistributorShareRecordService;
......@@ -26,6 +22,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
......@@ -45,6 +43,11 @@ public class DistributorShareRecordServiceImpl implements DistributorShareRecord
@Autowired
AuctionConfigDao auctionConfigDao;
@Autowired
AuctionRecordDao auctionRecordDao;
@Autowired
DistributionOrderDao distributionOrderDao;
@Override
public Result createShareRecord(DistributorShareRecordRequestDto dto) {
......@@ -129,6 +132,30 @@ public class DistributorShareRecordServiceImpl implements DistributorShareRecord
if (dto.getType() == DistributionEnum.DistributionTypeEnum.FIXED_PRICE.getCode()) {
BigDecimal decimal = supplierItem.getRebate().divide(new BigDecimal("100")).multiply(new BigDecimal(distributionPrice));
distributorShareRecordVo.setRebateAmount(PriceUtil.convertDoubleToString(decimal.doubleValue()));
} else if (dto.getType() == DistributionEnum.DistributionTypeEnum.AUCTION.getCode()) {
Date now = new Date();
AuctionRecord lastedRecord = auctionRecordDao.findLastedRecord(supplierItem.getId());
if (lastedRecord != null && lastedRecord.getPrice() != null) {
distributorShareRecordVo.setCurrentPrice(PriceUtil.convertPriceFenToYuan(lastedRecord.getPrice()));
} else {
distributorShareRecordVo.setCurrentPrice("0");
}
AuctionConfig auctionConfig = auctionConfigDao.findByItemId(supplierItem.getId());
distributorShareRecordVo.setRealEndTime(auctionConfig.getRealEndTime());
if (now.before(auctionConfig.getStartTime())) {
distributorShareRecordVo.setState(DistributionEnum.AuctionStateEnum.NOT_START.getCode());
distributorShareRecordVo.setStateName(DistributionEnum.AuctionStateEnum.NOT_START.getDes());
} else if (now.after(auctionConfig.getRealEndTime())) {
distributorShareRecordVo.setState(DistributionEnum.AuctionStateEnum.END.getCode());
distributorShareRecordVo.setStateName(DistributionEnum.AuctionStateEnum.END.getDes());
//如果当前时间已经超过截拍时间,并且竞拍配置还未改成无效,则进行修改
if (auctionConfig.getIsValid()) {
auctionConfigDao.setEnd(supplierItem.getId());
}
} else {
distributorShareRecordVo.setState(DistributionEnum.AuctionStateEnum.IN_AUCTION.getCode());
distributorShareRecordVo.setStateName(DistributionEnum.AuctionStateEnum.IN_AUCTION.getDes());
}
}
distributorShareRecordVoList.add(distributorShareRecordVo);
});
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment