Commit 27467570 authored by shiyu's avatar shiyu

藏品转拍卖默认开拍时间自动延后两小时

parent 1912f87f
......@@ -25,6 +25,8 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils;
import java.time.Duration;
import java.time.Instant;
import java.util.*;
import java.util.logging.Handler;
import java.util.stream.Collectors;
......@@ -229,8 +231,20 @@ public class SysSpecialPerformanceServiceImpl implements SysSpecialPerformanceSe
@Override
public Result reSale(SpecialPerformanceConfigRequestDto dto) {
try {
//拍卖配置重新生效
auctionConfigDao.updateState(dto.getItemId(), AuctionEnum.StateEnum.WAIT_ON_SALE.getCode());
//拍卖配置重新生效, 重新上架默认时间为当前时间延后2小时
Date now = new Date();
Instant startInstant = now.toInstant().plus(Duration.ofHours(2));
Date startTime = Date.from(startInstant);
Instant endInstant = now.toInstant().plus(Duration.ofDays(1));
Date endTime = Date.from(endInstant);
AuctionConfig auctionConfig = new AuctionConfig();
auctionConfig.setItemId(dto.getItemId());
auctionConfig.setStartTime(startTime);
auctionConfig.setEndTime(endTime);
auctionConfig.setRealEndTime(endTime);
auctionConfig.setState(AuctionEnum.StateEnum.WAIT_ON_SALE.getCode());
auctionConfigDao.updateByItemId(auctionConfig);
//商品表中,商品重新上架
SupplierItem supplierItem = new SupplierItem();
......
......@@ -34,6 +34,8 @@ import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.net.URL;
import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
......@@ -264,7 +266,9 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
auctionConfigRequestDto.setPage(dto.getPage());
auctionConfigRequestDto.setLimit(dto.getLimit());
auctionConfigRequestDto.setState(AuctionEnum.StateEnum.WAIT_ON_SALE.getCode());
if (!org.springframework.util.CollectionUtils.isEmpty(filterItemIds)) {
auctionConfigRequestDto.setFilterItemIds(filterItemIds);
}
List<AuctionConfig> auctionConfigList = auctionConfigDao.findList(auctionConfigRequestDto);
PageInfo pageInfo = new PageInfo(auctionConfigList);
List<Long> itemIds = auctionConfigList.stream().map(AuctionConfig::getItemId).collect(Collectors.toList());
......@@ -493,6 +497,7 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
//该字段设置为原来藏品的id,用来溯源该拍品是由哪个藏品转换而来
supplierItem.setSupplierId(itemId);
supplierItem.setId(null);
supplierItem.setStock(1);
supplierItem.setIsOnSale(true);
supplierItem.setIsDeleted(false);
supplierItem.setCreateTime(now);
......@@ -507,11 +512,17 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
auctionConfig.setCreatorId(oldItem.getCreatorId());
auctionConfig.setIsValid(false);
auctionConfig.setIsDeal(false);
auctionConfig.setStartTime(StringUtils.isEmpty(dto.getAuctionStartTime()) ? new Date(): DateUtils.parseString(dto.getAuctionStartTime()));
auctionConfig.setEndTime(StringUtils.isEmpty(dto.getAuctionEndTime()) ? new Date(): DateUtils.parseString(dto.getAuctionEndTime()));
auctionConfig.setRealEndTime(StringUtils.isEmpty(dto.getAuctionEndTime()) ? new Date(): DateUtils.parseString(dto.getAuctionEndTime()));
Instant startInstant = now.toInstant().plus(Duration.ofHours(2));
Date startTime = Date.from(startInstant);
Instant endInstant = now.toInstant().plus(Duration.ofDays(1));
Date endTime = Date.from(endInstant);
auctionConfig.setStartTime(StringUtils.isEmpty(dto.getAuctionStartTime()) ? startTime : DateUtils.parseString(dto.getAuctionStartTime()));
auctionConfig.setEndTime(StringUtils.isEmpty(dto.getAuctionEndTime()) ? endTime : DateUtils.parseString(dto.getAuctionEndTime()));
auctionConfig.setRealEndTime(StringUtils.isEmpty(dto.getAuctionEndTime()) ? endTime : DateUtils.parseString(dto.getAuctionEndTime()));
auctionConfig.setStartPrice(StringUtils.isEmpty(dto.getStartPrice()) ? 0 : PriceUtil.convertPriceFromStr(dto.getStartPrice()));
auctionConfig.setAddExtent(StringUtils.isEmpty(dto.getAddExtent()) ? 50 : PriceUtil.convertPriceFromStr(dto.getAddExtent()));
auctionConfig.setAddExtent(StringUtils.isEmpty(dto.getAddExtent()) ? 5000 : PriceUtil.convertPriceFromStr(dto.getAddExtent()));
auctionConfig.setCreateTime(now);
auctionConfig.setUpdateTime(now);
auctionConfigDao.insert(auctionConfig);
......
......@@ -25,6 +25,15 @@ public interface AuctionConfigDao {
*/
int update(AuctionConfig auctionConfig);
/**
* 更新拍卖配置
*
* @param auctionConfig
* @return
*/
int updateByItemId(AuctionConfig auctionConfig);
/**
* 更新状态
* @param itemId
......
......@@ -39,6 +39,16 @@ public class AuctionConfigDaoImpl implements AuctionConfigDao {
return auctionConfigMapper.updateByPrimaryKeySelective(auctionConfig);
}
@Override
public int updateByItemId(AuctionConfig auctionConfig) {
auctionConfig.setUpdateTime(new Date());
AuctionConfigExample example = new AuctionConfigExample();
AuctionConfigExample.Criteria criteria = example.createCriteria();
criteria.andItemIdEqualTo(auctionConfig.getItemId());
return auctionConfigMapper.updateByExampleSelective(auctionConfig, example);
}
@Override
public int updateState(long itemId, int state) {
AuctionConfigExample example = new AuctionConfigExample();
......
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