Commit 89b27ba8 authored by shiyu's avatar shiyu

专场自动开始2

parent 6a15e86b
......@@ -15,5 +15,12 @@ public interface SpecialPerformanceDao {
boolean update(SpecialPerformance specialPerformance);
/**
* 查询未开始的专场
* @param type
* @return
*/
SpecialPerformance findNotStart(int type);
}
......@@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Random;
@Repository
public class SpecialPerformanceConfigDaoImpl implements SpecialPerformanceConfigDao {
......@@ -67,7 +68,9 @@ public class SpecialPerformanceConfigDaoImpl implements SpecialPerformanceConfig
criteria.andStateEqualTo(1);
SpecialPerformanceConfig specialPerformanceConfig = specialPerformanceConfigMapper.selectOneByExample(example);
if (specialPerformanceConfig != null && specialPerformanceConfig.getViewNum() != null) {
int viewNum = specialPerformanceConfig.getViewNum() + 1;
Random random = new Random();
int randomNumber = random.nextInt(5);
int viewNum = specialPerformanceConfig.getViewNum() + randomNumber;
SpecialPerformanceConfig updateDto = new SpecialPerformanceConfig();
updateDto.setViewNum(viewNum);
SpecialPerformanceConfigExample specialPerformanceConfigExample = new SpecialPerformanceConfigExample();
......
......@@ -46,5 +46,12 @@ public class SpecialPerformanceDaoImpl implements SpecialPerformanceDao {
}
@Override
public SpecialPerformance findNotStart(int type) {
SpecialPerformanceExample example = new SpecialPerformanceExample();
SpecialPerformanceExample.Criteria criteria = example.createCriteria();
criteria.andTypeEqualTo(type);
criteria.andStateEqualTo(1);
return specialPerformanceMapper.selectOneByExample(example);
}
}
......@@ -49,6 +49,7 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
@Override
public Result findInfo(SpecialPerformanceRequestDto dto) {
try {
checkStart(dto.getType());
SpecialPerformanceVo specialPerformanceVo = new SpecialPerformanceVo();
SpecialPerformance specialPerformance = specialPerformanceDao.findByType(dto.getType());
if (specialPerformance == null) {
......@@ -62,13 +63,6 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
updateDto.setUpdateTime(now);
specialPerformanceDao.update(updateDto);
specialPerformance.setState(DistributionEnum.AuctionStateEnum.END.getCode());
} else if (now.after(specialPerformance.getStartTime())) {
SpecialPerformance updateDto = new SpecialPerformance();
updateDto.setId(specialPerformance.getId());
updateDto.setState(DistributionEnum.AuctionStateEnum.IN_AUCTION.getCode());
updateDto.setUpdateTime(now);
specialPerformanceDao.update(updateDto);
specialPerformance.setState(DistributionEnum.AuctionStateEnum.IN_AUCTION.getCode());
}
int specialPerformanceId = specialPerformance.getId();
SpecialPerformanceConfigRequestDto specialPerformanceConfigRequestDto = new SpecialPerformanceConfigRequestDto();
......@@ -210,4 +204,20 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
}
return Result.failed();
}
/**
* 检测到开拍时间
*/
public void checkStart(int type) {
SpecialPerformance specialPerformance = specialPerformanceDao.findNotStart(type);
Date now = new Date();
if (now.after(specialPerformance.getStartTime())) {
SpecialPerformance updateDto = new SpecialPerformance();
updateDto.setId(specialPerformance.getId());
updateDto.setState(DistributionEnum.AuctionStateEnum.IN_AUCTION.getCode());
updateDto.setUpdateTime(now);
specialPerformanceDao.update(updateDto);
}
}
}
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