Commit 35e3bd17 authored by shiyu's avatar shiyu

兼容之前版本的拍卖品状态

parent 509a97ee
......@@ -9,6 +9,7 @@ public class AuctionEnum {
WAIT_ON_SALE(1, "待上架"),
PREVIEW(10, "预展中"),
AUCTIONING(20, "竞拍中"),
END(25, "已截拍"),
GET_NOT_PAY(30, "中拍未付款"),
GET_NOT_PAY_TO_PASS(40, "中拍未付款流拍"),
NO_OFFER_TO_PASS(50, "无出价流拍"),
......
......@@ -128,4 +128,9 @@ public class AuctionDetailVo implements Entity {
private String creatorName;
/**
* 专场id
*/
private Integer specialPerformanceId;
}
......@@ -2,6 +2,7 @@ package com.wwdz.ch.wx.impl.distribution;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.core.consts.AuctionEnum;
import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.consts.SpecialPerformanceEnum;
import com.wwdz.ch.core.entity.SupplierItemVo;
......@@ -183,6 +184,10 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
supplierItemRequestDto.setIds(itemList);
supplierItemList = supplierItemDao.findList(supplierItemRequestDto);
}
Date now = new Date();
Instant startInstant = now.toInstant().plus(Duration.ofDays(1));
Date startTime = Date.from(startInstant);
supplierItemList.forEach(supplierItem -> {
SupplierItemVo supplierItemVo = new SupplierItemVo();
EntityMapper.copyAttribute(supplierItem, supplierItemVo);
......@@ -195,7 +200,6 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
supplierItemVo.setRebate(supplierItem.getRebate().toPlainString() + "%");
//竞拍商品需要展示当前价
if (supplierItem.getType() == DistributionEnum.DistributionTypeEnum.AUCTION.getCode()) {
Date now = new Date();
AuctionRecord lastedRecord = auctionRecordDao.findLastedRecord(supplierItem.getId());
if (lastedRecord != null && lastedRecord.getPrice() != null) {
supplierItemVo.setCurrentPrice(PriceUtil.convertPriceFenToYuan(lastedRecord.getPrice()));
......@@ -203,20 +207,24 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
supplierItemVo.setCurrentPrice("0");
}
AuctionConfig auctionConfig = auctionConfigDao.findByItemId(supplierItem.getId());
supplierItemVo.setAuctionStartTime(auctionConfig.getStartTime());
supplierItemVo.setRealEndTime(auctionConfig.getRealEndTime());
if (now.before(auctionConfig.getStartTime())) {
supplierItemVo.setState(DistributionEnum.AuctionStateEnum.NOT_START.getCode());
supplierItemVo.setStateName(DistributionEnum.AuctionStateEnum.NOT_START.getDes());
supplierItemVo.setState(auctionConfig.getState());
supplierItemVo.setStateName(AuctionEnum.StateEnum.getNameByCode(auctionConfig.getState()));
if (startTime.before(auctionConfig.getStartTime()) && auctionConfig.getStartTime().after(now)) {
supplierItemVo.setState(AuctionEnum.StateEnum.PREVIEW.getCode());
supplierItemVo.setStateName(AuctionEnum.StateEnum.PREVIEW.getDes());
} else if (auctionConfig.getStartTime().before(now) && auctionConfig.getEndTime().after(now)) {
supplierItemVo.setState(AuctionEnum.StateEnum.AUCTIONING.getCode());
supplierItemVo.setStateName(AuctionEnum.StateEnum.AUCTIONING.getDes());
} else if (now.after(auctionConfig.getRealEndTime())) {
supplierItemVo.setState(DistributionEnum.AuctionStateEnum.END.getCode());
supplierItemVo.setStateName(DistributionEnum.AuctionStateEnum.END.getDes());
supplierItemVo.setState(AuctionEnum.StateEnum.END.getCode());
supplierItemVo.setStateName(AuctionEnum.StateEnum.END.getDes());
//如果当前时间已经超过截拍时间,并且竞拍配置还未改成无效,则进行修改
if (auctionConfig.getIsValid()) {
auctionConfigDao.setEnd(supplierItem.getId());
}
} else {
supplierItemVo.setState(DistributionEnum.AuctionStateEnum.IN_AUCTION.getCode());
supplierItemVo.setStateName(DistributionEnum.AuctionStateEnum.IN_AUCTION.getDes());
}
AuctionRecordRequestDto auctionRecordRequestDto = new AuctionRecordRequestDto();
auctionRecordRequestDto.setItemId(supplierItemVo.getItemId());
......@@ -228,7 +236,6 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
resultMap.put("dataList", PageSearchResult.of(pageInfo, supplierItemVos));
resultMap.put("endTime", specialPerformance.getEndTime());
resultMap.put("title", specialPerformance.getTitle());
Date now = new Date();
//当前时间大于专场结束时间则修改专场的状态
if (now.after(specialPerformance.getEndTime())) {
SpecialPerformance updateDto = new SpecialPerformance();
......
......@@ -504,6 +504,8 @@ public class SupplierItemServiceImpl implements SupplierItemService {
try {
AuctionDetailVo auctionDetailVo = new AuctionDetailVo();
Date now = new Date();
Instant startInstant = now.toInstant().plus(Duration.ofDays(1));
Date previewStartTime = Date.from(startInstant);
Long itemId;
String shareRecordId = dto.getShareRecordId();
DistributorShareRecord distributorShareRecord = null;
......@@ -542,6 +544,14 @@ public class SupplierItemServiceImpl implements SupplierItemService {
//拍卖专场进入详情页,增加围观次数
specialPerformanceConfigDao.addViewNum(itemId);
}
//查询商品所属专场id
SpecialPerformanceConfigRequestDto specialPerformanceConfigRequestDto = new SpecialPerformanceConfigRequestDto();
specialPerformanceConfigRequestDto.setItemId(itemId);
List<SpecialPerformanceConfig> specialPerformanceConfigList = specialPerformanceConfigDao.findList(specialPerformanceConfigRequestDto);
if (!CollectionUtils.isEmpty(specialPerformanceConfigList)) {
SpecialPerformanceConfig specialPerformanceConfig = specialPerformanceConfigList.get(0);
auctionDetailVo.setSpecialPerformanceId(specialPerformanceConfig.getId());
}
//查询商品竞拍信息
AuctionConfig auctionConfig = auctionConfigDao.findByItemId(itemId);
......@@ -598,14 +608,20 @@ public class SupplierItemServiceImpl implements SupplierItemService {
auctionDetailVo.setStartTime(startTime);
auctionDetailVo.setEndTime(auctionConfig.getEndTime());
auctionDetailVo.setRealEndTime(realEndTime);
auctionDetailVo.setState(auctionConfig.getState());
auctionDetailVo.setStateName(AuctionEnum.StateEnum.getNameByCode(auctionConfig.getState()));
DistributionOrder distributionOrder = distributionOrderDao.findByItemId(itemId);
if (now.before(startTime)) {
auctionDetailVo.setState(DistributionEnum.AuctionStateEnum.NOT_START.getCode());
auctionDetailVo.setStateName(DistributionEnum.AuctionStateEnum.NOT_START.getDes());
//拍品的状态,提前一天为预览中
if (previewStartTime.before(auctionConfig.getStartTime()) && auctionConfig.getStartTime().after(now)) {
auctionDetailVo.setState(AuctionEnum.StateEnum.PREVIEW.getCode());
auctionDetailVo.setStateName(AuctionEnum.StateEnum.PREVIEW.getDes());
} else if (auctionConfig.getStartTime().before(now) && auctionConfig.getEndTime().after(now)) {
auctionDetailVo.setState(AuctionEnum.StateEnum.AUCTIONING.getCode());
auctionDetailVo.setStateName(AuctionEnum.StateEnum.AUCTIONING.getDes());
} else if (now.after(realEndTime)) {
auctionDetailVo.setState(DistributionEnum.AuctionStateEnum.END.getCode());
auctionDetailVo.setStateName(DistributionEnum.AuctionStateEnum.END.getDes());
auctionDetailVo.setState(AuctionEnum.StateEnum.END.getCode());
auctionDetailVo.setStateName(AuctionEnum.StateEnum.END.getDes());
auctionDetailVo.setUserState(DistributionEnum.AuctionUserStateEnum.END.getCode());
auctionDetailVo.setUserStateName(DistributionEnum.AuctionUserStateEnum.END.getDes());
//如果当前时间已经超过截拍时间,并且竞拍配置还未改成无效,则进行修改
......@@ -643,8 +659,8 @@ public class SupplierItemServiceImpl implements SupplierItemService {
auctionDetailVo.setUserStateName(DistributionEnum.AuctionUserStateEnum.LEAD.getDes());
}
}
auctionDetailVo.setState(DistributionEnum.AuctionStateEnum.IN_AUCTION.getCode());
auctionDetailVo.setStateName(DistributionEnum.AuctionStateEnum.IN_AUCTION.getDes());
auctionDetailVo.setState(AuctionEnum.StateEnum.AUCTIONING.getCode());
auctionDetailVo.setStateName(AuctionEnum.StateEnum.AUCTIONING.getDes());
}
auctionDetailVo.setRule("中拍买家对应的分销商可获得最终成拍价的3%的金额作为佣金奖励," +
"其余参与分销的分销商平分最终成拍价的3%的金额。若多个分销商分销给同一个买家," +
......
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