Commit b4f0d66e authored by shiyu's avatar shiyu

Merge branch 'quanku_v2.7' into quanku_v2.7.1

# Conflicts:
#	ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/SysSupplierItemServiceImpl.java
parents f77290cb 61b7ac77
...@@ -25,6 +25,8 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -25,6 +25,8 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.time.Duration;
import java.time.Instant;
import java.util.*; import java.util.*;
import java.util.logging.Handler; import java.util.logging.Handler;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -230,8 +232,20 @@ public class SysSpecialPerformanceServiceImpl implements SysSpecialPerformanceSe ...@@ -230,8 +232,20 @@ public class SysSpecialPerformanceServiceImpl implements SysSpecialPerformanceSe
@Override @Override
public Result reSale(SpecialPerformanceConfigRequestDto dto) { public Result reSale(SpecialPerformanceConfigRequestDto dto) {
try { try {
//拍卖配置重新生效 //拍卖配置重新生效, 重新上架默认时间为当前时间延后2小时
auctionConfigDao.updateState(dto.getItemId(), AuctionEnum.StateEnum.WAIT_ON_SALE.getCode()); 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(); SupplierItem supplierItem = new SupplierItem();
......
...@@ -34,6 +34,8 @@ import java.io.IOException; ...@@ -34,6 +34,8 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.net.URL; import java.net.URL;
import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
...@@ -266,7 +268,9 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService { ...@@ -266,7 +268,9 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
auctionConfigRequestDto.setPage(dto.getPage()); auctionConfigRequestDto.setPage(dto.getPage());
auctionConfigRequestDto.setLimit(dto.getLimit()); auctionConfigRequestDto.setLimit(dto.getLimit());
auctionConfigRequestDto.setState(AuctionEnum.StateEnum.WAIT_ON_SALE.getCode()); auctionConfigRequestDto.setState(AuctionEnum.StateEnum.WAIT_ON_SALE.getCode());
if (!org.springframework.util.CollectionUtils.isEmpty(filterItemIds)) {
auctionConfigRequestDto.setFilterItemIds(filterItemIds); auctionConfigRequestDto.setFilterItemIds(filterItemIds);
}
List<AuctionConfig> auctionConfigList = auctionConfigDao.findList(auctionConfigRequestDto); List<AuctionConfig> auctionConfigList = auctionConfigDao.findList(auctionConfigRequestDto);
PageInfo pageInfo = new PageInfo(auctionConfigList); PageInfo pageInfo = new PageInfo(auctionConfigList);
List<Long> itemIds = auctionConfigList.stream().map(AuctionConfig::getItemId).collect(Collectors.toList()); List<Long> itemIds = auctionConfigList.stream().map(AuctionConfig::getItemId).collect(Collectors.toList());
...@@ -513,10 +517,17 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService { ...@@ -513,10 +517,17 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
auctionConfig.setCreatorId(oldItem.getCreatorId()); auctionConfig.setCreatorId(oldItem.getCreatorId());
auctionConfig.setIsValid(false); auctionConfig.setIsValid(false);
auctionConfig.setIsDeal(false); auctionConfig.setIsDeal(false);
auctionConfig.setStartTime(StringUtils.isEmpty(dto.getAuctionStartTime()) ? new Date(): DateUtils.parseString(dto.getAuctionStartTime())); Instant startInstant = now.toInstant().plus(Duration.ofHours(2));
auctionConfig.setEndTime(StringUtils.isEmpty(dto.getAuctionEndTime()) ? new Date(): DateUtils.parseString(dto.getAuctionEndTime())); Date startTime = Date.from(startInstant);
auctionConfig.setRealEndTime(StringUtils.isEmpty(dto.getAuctionEndTime()) ? new Date(): DateUtils.parseString(dto.getAuctionEndTime()));
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.setStartPrice(StringUtils.isEmpty(dto.getStartPrice()) ? 0 : PriceUtil.convertPriceFromStr(dto.getStartPrice()));
auctionConfig.setAddExtent(StringUtils.isEmpty(dto.getAddExtent()) ? 5000 : PriceUtil.convertPriceFromStr(dto.getAddExtent()));
auctionConfig.setAddExtent(StringUtils.isEmpty(dto.getAddExtent()) ? 50 : PriceUtil.convertPriceFromStr(dto.getAddExtent())); auctionConfig.setAddExtent(StringUtils.isEmpty(dto.getAddExtent()) ? 50 : PriceUtil.convertPriceFromStr(dto.getAddExtent()));
auctionConfig.setEstimatedPrice(StringUtils.isEmpty(dto.getEstimatedPrice()) ? 999999999 : PriceUtil.convertPriceFromStr(dto.getEstimatedPrice())); auctionConfig.setEstimatedPrice(StringUtils.isEmpty(dto.getEstimatedPrice()) ? 999999999 : PriceUtil.convertPriceFromStr(dto.getEstimatedPrice()));
auctionConfig.setCreateTime(now); auctionConfig.setCreateTime(now);
......
...@@ -25,6 +25,15 @@ public interface AuctionConfigDao { ...@@ -25,6 +25,15 @@ public interface AuctionConfigDao {
*/ */
int update(AuctionConfig auctionConfig); int update(AuctionConfig auctionConfig);
/**
* 更新拍卖配置
*
* @param auctionConfig
* @return
*/
int updateByItemId(AuctionConfig auctionConfig);
/** /**
* 更新状态 * 更新状态
* @param itemId * @param itemId
......
...@@ -9,7 +9,7 @@ public interface SpecialPerformanceDao { ...@@ -9,7 +9,7 @@ public interface SpecialPerformanceDao {
List<SpecialPerformance> find(SpecialPerformanceRequestDto dto); List<SpecialPerformance> find(SpecialPerformanceRequestDto dto);
SpecialPerformance findByType(int type); SpecialPerformance findByType(SpecialPerformanceRequestDto dto);
SpecialPerformance findById(int id); SpecialPerformance findById(int id);
......
...@@ -5,6 +5,7 @@ import com.xxdxxs.entity.Entity; ...@@ -5,6 +5,7 @@ import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
import java.util.List;
@Data @Data
public class SpecialPerformanceRequestDto extends BaseRequestDto implements Entity { public class SpecialPerformanceRequestDto extends BaseRequestDto implements Entity {
...@@ -57,6 +58,8 @@ public class SpecialPerformanceRequestDto extends BaseRequestDto implements Enti ...@@ -57,6 +58,8 @@ public class SpecialPerformanceRequestDto extends BaseRequestDto implements Enti
*/ */
private Integer state; private Integer state;
private List<Integer> stateList;
/** /**
* 排除的状态 * 排除的状态
*/ */
......
...@@ -39,6 +39,16 @@ public class AuctionConfigDaoImpl implements AuctionConfigDao { ...@@ -39,6 +39,16 @@ public class AuctionConfigDaoImpl implements AuctionConfigDao {
return auctionConfigMapper.updateByPrimaryKeySelective(auctionConfig); 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 @Override
public int updateState(long itemId, int state) { public int updateState(long itemId, int state) {
AuctionConfigExample example = new AuctionConfigExample(); AuctionConfigExample example = new AuctionConfigExample();
......
...@@ -35,11 +35,11 @@ public class SpecialPerformanceDaoImpl implements SpecialPerformanceDao { ...@@ -35,11 +35,11 @@ public class SpecialPerformanceDaoImpl implements SpecialPerformanceDao {
} }
@Override @Override
public SpecialPerformance findByType(int type) { public SpecialPerformance findByType(SpecialPerformanceRequestDto dto) {
SpecialPerformanceExample example = new SpecialPerformanceExample(); SpecialPerformanceExample example = new SpecialPerformanceExample();
SpecialPerformanceExample.Criteria criteria = example.createCriteria(); SpecialPerformanceExample.Criteria criteria = example.createCriteria();
criteria.andTypeEqualTo(type); criteria.andTypeEqualTo(dto.getType());
criteria.andStateEqualTo(2); JdbcHelper.ifPresent(dto.getStateList(), criteria::andStateIn);
return specialPerformanceMapper.selectOneByExample(example); return specialPerformanceMapper.selectOneByExample(example);
} }
......
...@@ -94,7 +94,8 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService ...@@ -94,7 +94,8 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
} }
SpecialPerformanceVo specialPerformanceVo = new SpecialPerformanceVo(); SpecialPerformanceVo specialPerformanceVo = new SpecialPerformanceVo();
SpecialPerformance specialPerformance = specialPerformanceDao.findByType(dto.getType()); dto.setStateList(Arrays.asList(SpecialPerformanceEnum.StateEnum.PREVIEW.getCode(), SpecialPerformanceEnum.StateEnum.PROCESSING.getCode()));
SpecialPerformance specialPerformance = specialPerformanceDao.findByType(dto);
if (specialPerformance == null) { if (specialPerformance == null) {
return Result.success(specialPerformanceVo); return Result.success(specialPerformanceVo);
} }
...@@ -252,7 +253,10 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService ...@@ -252,7 +253,10 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
@Override @Override
public Result sendMsg() { public Result sendMsg() {
try { try {
SpecialPerformance specialPerformance = specialPerformanceDao.findByType(SpecialPerformanceEnum.TypeEnum.AUCTION.getCode()); SpecialPerformanceRequestDto specialPerformanceRequestDto = new SpecialPerformanceRequestDto();
specialPerformanceRequestDto.setType(SpecialPerformanceEnum.TypeEnum.AUCTION.getCode());
specialPerformanceRequestDto.setState(SpecialPerformanceEnum.StateEnum.PROCESSING.getCode());
SpecialPerformance specialPerformance = specialPerformanceDao.findByType(specialPerformanceRequestDto);
if (specialPerformance == null) { if (specialPerformance == null) {
return Result.failed("专场信息为空"); return Result.failed("专场信息为空");
} }
......
...@@ -164,7 +164,7 @@ public class SpecialPerformanceNoticeJob { ...@@ -164,7 +164,7 @@ public class SpecialPerformanceNoticeJob {
specialPerformanceRequestDto.setFilterState(SpecialPerformanceEnum.StateEnum.END.getCode()); specialPerformanceRequestDto.setFilterState(SpecialPerformanceEnum.StateEnum.END.getCode());
List<SpecialPerformance> specialPerformanceList = specialPerformanceDao.find(specialPerformanceRequestDto); List<SpecialPerformance> specialPerformanceList = specialPerformanceDao.find(specialPerformanceRequestDto);
Date now = new Date(); Date now = new Date();
Instant startInstant = now.toInstant().minus(Duration.ofDays(1)); Instant startInstant = now.toInstant().plus(Duration.ofDays(1));
Date startTime = Date.from(startInstant); Date startTime = Date.from(startInstant);
for (SpecialPerformance specialPerformance : specialPerformanceList) { for (SpecialPerformance specialPerformance : specialPerformanceList) {
if (specialPerformance.getState().intValue() == SpecialPerformanceEnum.StateEnum.DELETED.getCode()) { if (specialPerformance.getState().intValue() == SpecialPerformanceEnum.StateEnum.DELETED.getCode()) {
...@@ -172,7 +172,7 @@ public class SpecialPerformanceNoticeJob { ...@@ -172,7 +172,7 @@ public class SpecialPerformanceNoticeJob {
} else if (specialPerformance.getState().intValue() == SpecialPerformanceEnum.StateEnum.NOT_START.getCode()) { } else if (specialPerformance.getState().intValue() == SpecialPerformanceEnum.StateEnum.NOT_START.getCode()) {
//未开始的专场判断是否需要改为预展中,开始时间提前一天预展 //未开始的专场判断是否需要改为预展中,开始时间提前一天预展
//设置为预展中 //设置为预展中
if (now.after(specialPerformance.getStartTime()) && specialPerformance.getStartTime().after(startTime)) { if (startTime.before(specialPerformance.getStartTime()) && specialPerformance.getStartTime().after(now)) {
if (specialPerformance.getState().intValue() != SpecialPerformanceEnum.StateEnum.PREVIEW.getCode()) { if (specialPerformance.getState().intValue() != SpecialPerformanceEnum.StateEnum.PREVIEW.getCode()) {
specialPerformanceDao.updateState(specialPerformance.getId(), SpecialPerformanceEnum.StateEnum.PREVIEW.getCode()); specialPerformanceDao.updateState(specialPerformance.getId(), SpecialPerformanceEnum.StateEnum.PREVIEW.getCode());
} }
...@@ -205,7 +205,7 @@ public class SpecialPerformanceNoticeJob { ...@@ -205,7 +205,7 @@ public class SpecialPerformanceNoticeJob {
AuctionConfig auctionConfig = auctionConfigDao.findByItemId(itemId); AuctionConfig auctionConfig = auctionConfigDao.findByItemId(itemId);
if (auctionConfig.getState().intValue() == AuctionEnum.StateEnum.WAIT_ON_SALE.getCode()) { if (auctionConfig.getState().intValue() == AuctionEnum.StateEnum.WAIT_ON_SALE.getCode()) {
//待上架的拍品判断是否需要改为预展中,开始时间提前一天预展 //待上架的拍品判断是否需要改为预展中,开始时间提前一天预展
if (auctionConfig.getStartTime().after(startTime) && auctionConfig.getStartTime().before(now)) { if (startTime.before(auctionConfig.getStartTime()) && auctionConfig.getStartTime().after(now)) {
if (auctionConfig.getState().intValue() != AuctionEnum.StateEnum.PREVIEW.getCode()) { if (auctionConfig.getState().intValue() != AuctionEnum.StateEnum.PREVIEW.getCode()) {
auctionConfigDao.updateState(itemId, AuctionEnum.StateEnum.PREVIEW.getCode()); auctionConfigDao.updateState(itemId, AuctionEnum.StateEnum.PREVIEW.getCode());
} }
......
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