|
@@ -158,37 +158,47 @@ public class ItemStageServiceImpl extends ServiceImpl<ItemStageMapper, ItemStage
|
|
|
@Override
|
|
|
public List<List<ItemStageVO>> stageList(String state) {
|
|
|
List<List<ItemStageVO>> list = new ArrayList<>();
|
|
|
- List<Long> itemIds = itemMapper.selectList(new LambdaQueryWrapper<Item>()
|
|
|
- .eq(BaseEntity::getDeleted, false))
|
|
|
- .stream().map(BaseEntity::getId)
|
|
|
- .collect(Collectors.toList());
|
|
|
- itemIds.stream().forEach(x->{
|
|
|
- List<ItemStageVO> itemStageVOS = listByItemId(x);
|
|
|
- if (CollectionUtils.isNotEmpty(itemStageVOS)){
|
|
|
- LocalDate startDate = itemStageVOS.get(0).getStartDate();
|
|
|
- LocalDate endDate = itemStageVOS.get(itemStageVOS.size() - 1).getEndDate();
|
|
|
- LocalDate now = LocalDate.now();
|
|
|
- ItemStateEnum stateEnum = ItemStateEnum.getName(state);
|
|
|
- switch (stateEnum){
|
|
|
- case PENDING:
|
|
|
- if ((now.isAfter(startDate) || now.isEqual(startDate))
|
|
|
- &&
|
|
|
- (now.isBefore(endDate) || now.isEqual(endDate))){
|
|
|
- list.add(itemStageVOS);
|
|
|
- }
|
|
|
- break;
|
|
|
- case COMPLETED:
|
|
|
- if (now.isAfter(endDate)){
|
|
|
- list.add(itemStageVOS);
|
|
|
- }
|
|
|
- break;
|
|
|
- case UNPLAYED:
|
|
|
- if (now.isBefore(startDate)){
|
|
|
- list.add(itemStageVOS);
|
|
|
- }
|
|
|
- break;
|
|
|
- default:
|
|
|
-
|
|
|
+ List<Item> items = itemMapper.selectList(new LambdaQueryWrapper<Item>()
|
|
|
+ .eq(BaseEntity::getDeleted, false));
|
|
|
+
|
|
|
+
|
|
|
+ items.stream().forEach(x->{
|
|
|
+ List<ItemStageVO> itemStageVOS = listByItemId(x.getId());
|
|
|
+ if (StrUtil.equals(ItemStateEnum.UNPLAYED.getName(),state)){
|
|
|
+ List<ItemStageVO> itemList= new ArrayList<>();
|
|
|
+ ItemStageVO itemStageVO = new ItemStageVO();
|
|
|
+ itemStageVO.setItemName(x.getName());
|
|
|
+ itemStageVO.setState(ItemStateEnum.UNPLAYED.getName());
|
|
|
+ itemStageVO.setName(ItemStateEnum.UNPLAYED.getName());
|
|
|
+ itemList.add(itemStageVO);
|
|
|
+ list.add(itemList);
|
|
|
+ }else {
|
|
|
+ if (CollectionUtils.isNotEmpty(itemStageVOS)){
|
|
|
+ LocalDate startDate = itemStageVOS.get(0).getStartDate();
|
|
|
+ LocalDate endDate = itemStageVOS.get(itemStageVOS.size() - 1).getEndDate();
|
|
|
+ LocalDate now = LocalDate.now();
|
|
|
+ ItemStateEnum stateEnum = ItemStateEnum.getName(state);
|
|
|
+ switch (stateEnum){
|
|
|
+ case PENDING:
|
|
|
+ if ((now.isAfter(startDate) || now.isEqual(startDate))
|
|
|
+ &&
|
|
|
+ (now.isBefore(endDate) || now.isEqual(endDate))){
|
|
|
+ list.add(itemStageVOS);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case COMPLETED:
|
|
|
+ if (now.isAfter(endDate)){
|
|
|
+ list.add(itemStageVOS);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case UNPLAYED:
|
|
|
+ if (now.isBefore(startDate)){
|
|
|
+ list.add(itemStageVOS);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
});
|