Commit 2be9ed89 authored by shiyu's avatar shiyu

首页多个专场,兼容上一版本

parent 0e77e0b2
...@@ -75,7 +75,87 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService ...@@ -75,7 +75,87 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
@Override @Override
public Result findInfo(SpecialPerformanceRequestDto dto) { public Result findInfo(SpecialPerformanceRequestDto dto) {
return null; try {
Date now = new Date();
//到时自动开始,修改状态
SpecialPerformanceRequestDto specialPerformanceRequestDto = new SpecialPerformanceRequestDto();
specialPerformanceRequestDto.setState(SpecialPerformanceEnum.StateEnum.PREVIEW.getCode());
List<SpecialPerformance> specialPerformanceList = specialPerformanceDao.find(specialPerformanceRequestDto);
for (SpecialPerformance notStartSpecialPerformance : specialPerformanceList) {
if (now.after(notStartSpecialPerformance.getStartTime()) && notStartSpecialPerformance.getEndTime().after(now)) {
SpecialPerformance updateDto = new SpecialPerformance();
updateDto.setId(notStartSpecialPerformance.getId());
updateDto.setState(SpecialPerformanceEnum.StateEnum.PROCESSING.getCode());
updateDto.setUpdateTime(now);
specialPerformanceDao.update(updateDto);
}
}
SpecialPerformanceVo specialPerformanceVo = new SpecialPerformanceVo();
dto.setStateList(Arrays.asList(SpecialPerformanceEnum.StateEnum.PREVIEW.getCode(), SpecialPerformanceEnum.StateEnum.PROCESSING.getCode()));
List<SpecialPerformance> specialPerformances = specialPerformanceDao.findByType(dto);
if (CollectionUtils.isEmpty(specialPerformances)) {
return Result.failed();
}
SpecialPerformance specialPerformance = specialPerformances.get(0);
if (now.after(specialPerformance.getEndTime())) {
SpecialPerformance updateDto = new SpecialPerformance();
updateDto.setId(specialPerformance.getId());
updateDto.setState(SpecialPerformanceEnum.StateEnum.END.getCode());
updateDto.setUpdateTime(now);
specialPerformanceDao.update(updateDto);
specialPerformance.setState(SpecialPerformanceEnum.StateEnum.END.getCode());
}
int specialPerformanceId = specialPerformance.getId();
SpecialPerformanceConfigRequestDto specialPerformanceConfigRequestDto = new SpecialPerformanceConfigRequestDto();
specialPerformanceConfigRequestDto.setPage(dto.getPage());
specialPerformanceConfigRequestDto.setLimit(dto.getLimit());
specialPerformanceConfigRequestDto.setSpecialPerformanceId(specialPerformanceId);
//排除待上架的商品
AuctionConfigRequestDto auctionConfigRequestDto = new AuctionConfigRequestDto();
auctionConfigRequestDto.setState(AuctionEnum.StateEnum.WAIT_ON_SALE.getCode());
auctionConfigRequestDto.setLimit(9999);
List<AuctionConfig> auctionConfigList = auctionConfigDao.findList(auctionConfigRequestDto);
List<Long> filterItemIdList = auctionConfigList.stream().map(AuctionConfig::getItemId).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(filterItemIdList)) {
specialPerformanceConfigRequestDto.setFilterItemIdList(filterItemIdList);
}
List<SpecialPerformanceConfig> list = specialPerformanceConfigDao.findList(specialPerformanceConfigRequestDto);
PageInfo pageInfo = new PageInfo<>(list);
specialPerformanceVo.setTotalItemNum(pageInfo.getTotal());
specialPerformanceVo.setSpecialPerformanceId(specialPerformanceId);
specialPerformanceVo.setTitle(specialPerformance.getTitle());
specialPerformanceVo.setState(specialPerformance.getState());
specialPerformanceVo.setStateName(SpecialPerformanceEnum.StateEnum.getNameByCode(specialPerformance.getState()));
specialPerformanceVo.setStartTime(specialPerformance.getStartTime());
specialPerformanceVo.setEndTime(specialPerformance.getEndTime());
long totalViewNum = specialPerformanceConfigDao.countViewNum(specialPerformanceId);
specialPerformanceVo.setTotalViewNum(totalViewNum);
List<Map<String, Object>> dataList = new ArrayList<>();
List<Long> itemList = list.stream().map(SpecialPerformanceConfig::getItemId).collect(Collectors.toList());
List<SupplierItem> supplierItemList = new ArrayList<>();
if (!CollectionUtils.isEmpty(itemList)) {
SupplierItemRequestDto supplierItemRequestDto = new SupplierItemRequestDto();
supplierItemRequestDto.setIds(itemList);
supplierItemList = supplierItemDao.findList(supplierItemRequestDto);
}
Map<Long, Integer> specialPerformanceConfigMap = list.stream().collect(Collectors.toMap(SpecialPerformanceConfig::getItemId, SpecialPerformanceConfig::getViewNum, (k1, k2) ->k2));
for (SupplierItem supplierItem : supplierItemList) {
Map<String, Object> map = new HashMap<>();
map.put("homePageImage", MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
map.put("itemId", supplierItem.getId());
map.put("itemName", supplierItem.getName());
map.put("viewNum", specialPerformanceConfigMap.get(supplierItem.getId()));
dataList.add(map);
}
specialPerformanceVo.setItemList(dataList);
return Result.success(specialPerformanceVo);
} catch (Exception e) {
logger.error("查询专场信息失败 error : {}", e);
}
return Result.failed();
} }
@Override @Override
......
...@@ -8,13 +8,14 @@ public interface SpecialPerformanceService { ...@@ -8,13 +8,14 @@ public interface SpecialPerformanceService {
/** /**
* 查询专场信息 * 查询专场信息
* 废弃
* @return * @return
*/ */
Result findInfo(SpecialPerformanceRequestDto dto); Result findInfo(SpecialPerformanceRequestDto dto);
/** /**
* 查询专场信息 * 查询多个专场信息
* @return * @return
*/ */
Result findInfos(SpecialPerformanceRequestDto dto); Result findInfos(SpecialPerformanceRequestDto dto);
......
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