Commit 8db36120 authored by shiyu's avatar shiyu

状态

parent 00802138
...@@ -63,4 +63,33 @@ public class DistributorShareRecordVo implements Entity { ...@@ -63,4 +63,33 @@ public class DistributorShareRecordVo implements Entity {
* 预计佣金 * 预计佣金
*/ */
private String rebateAmount; 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; ...@@ -8,12 +8,8 @@ import com.wwdz.ch.core.util.IdUtils;
import com.wwdz.ch.core.util.MediaUtil; import com.wwdz.ch.core.util.MediaUtil;
import com.wwdz.ch.core.util.PriceUtil; import com.wwdz.ch.core.util.PriceUtil;
import com.wwdz.ch.core.util.UUID; import com.wwdz.ch.core.util.UUID;
import com.wwdz.ch.db.dao.distribution.AuctionConfigDao; import com.wwdz.ch.db.dao.distribution.*;
import com.wwdz.ch.db.dao.distribution.DistributorShareRecordDao; import com.wwdz.ch.db.domain.distribution.*;
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.dto.request.distribution.DistributorShareRecordRequestDto; import com.wwdz.ch.db.dto.request.distribution.DistributorShareRecordRequestDto;
import com.wwdz.ch.wx.entity.vo.distribution.DistributorShareRecordVo; import com.wwdz.ch.wx.entity.vo.distribution.DistributorShareRecordVo;
import com.wwdz.ch.wx.service.distribution.DistributorShareRecordService; import com.wwdz.ch.wx.service.distribution.DistributorShareRecordService;
...@@ -26,6 +22,8 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -26,6 +22,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
...@@ -45,6 +43,11 @@ public class DistributorShareRecordServiceImpl implements DistributorShareRecord ...@@ -45,6 +43,11 @@ public class DistributorShareRecordServiceImpl implements DistributorShareRecord
@Autowired @Autowired
AuctionConfigDao auctionConfigDao; AuctionConfigDao auctionConfigDao;
@Autowired
AuctionRecordDao auctionRecordDao;
@Autowired
DistributionOrderDao distributionOrderDao;
@Override @Override
public Result createShareRecord(DistributorShareRecordRequestDto dto) { public Result createShareRecord(DistributorShareRecordRequestDto dto) {
...@@ -129,6 +132,30 @@ public class DistributorShareRecordServiceImpl implements DistributorShareRecord ...@@ -129,6 +132,30 @@ public class DistributorShareRecordServiceImpl implements DistributorShareRecord
if (dto.getType() == DistributionEnum.DistributionTypeEnum.FIXED_PRICE.getCode()) { if (dto.getType() == DistributionEnum.DistributionTypeEnum.FIXED_PRICE.getCode()) {
BigDecimal decimal = supplierItem.getRebate().divide(new BigDecimal("100")).multiply(new BigDecimal(distributionPrice)); BigDecimal decimal = supplierItem.getRebate().divide(new BigDecimal("100")).multiply(new BigDecimal(distributionPrice));
distributorShareRecordVo.setRebateAmount(PriceUtil.convertDoubleToString(decimal.doubleValue())); 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); 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