|
@@ -18,14 +18,16 @@ import java.util.Comparator;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
-import java.util.concurrent.atomic.AtomicInteger;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class ProgramService extends ServiceImpl<ProgramMapper, Program> implements IProgramService {
|
|
|
|
|
|
@Resource
|
|
|
- private EpgDisableConfigService sspDisableConfigService;
|
|
|
+ private EpgDisableConfigService epgDisableConfigService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private KeywordDisableConfigService keywordDisableConfigService;
|
|
|
|
|
|
private final Cache<Integer, Object> cache = Caffeine.newBuilder().expireAfterWrite(10, TimeUnit.MINUTES).build();
|
|
|
|
|
@@ -38,14 +40,16 @@ public class ProgramService extends ServiceImpl<ProgramMapper, Program> implemen
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("M月d日");
|
|
|
|
|
|
- Map<LocalDateTime, EpgDisableConfig> sspDisableConfigMap = sspDisableConfigService.cfMap(channelId, start, end);
|
|
|
+ Map<LocalDateTime, EpgDisableConfig> sspDisableConfigMap = epgDisableConfigService.cfMap(channelId, start, end);
|
|
|
|
|
|
baseMapper.listByChannel(channelId, start, end).stream().peek(program -> {
|
|
|
if(sspDisableConfigMap.containsKey(program.getStartTime())){
|
|
|
program.setStatus(1);
|
|
|
}else{
|
|
|
program.setStatus(0);
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
}).collect(Collectors.groupingBy(Program::getBroadcastDate)).forEach((k, v) -> {
|
|
|
int status = 0;
|
|
|
for(Program program : v){
|
|
@@ -79,9 +83,23 @@ public class ProgramService extends ServiceImpl<ProgramMapper, Program> implemen
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("M月d日");
|
|
|
|
|
|
- Map<LocalDateTime, EpgDisableConfig> sspDisableConfigMap = sspDisableConfigService.cfMap(channelId, start, end);
|
|
|
+ Map<LocalDateTime, EpgDisableConfig> sspDisableConfigMap = epgDisableConfigService.cfMap(channelId, start, end);
|
|
|
+
|
|
|
+ /*
|
|
|
|
|
|
- baseMapper.listByChannel(channelId, start, end).stream().filter(program -> sspDisableConfigMap.containsKey(program.getStartTime()))
|
|
|
+ * */
|
|
|
+ List<String> keywords = keywordDisableConfigService.disableKeywords(channelId, start, end);
|
|
|
+ baseMapper.listByChannel(channelId, start, end).stream().filter(program -> {
|
|
|
+ if(sspDisableConfigMap.containsKey(program.getStartTime())){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ for(String keyword :keywords){
|
|
|
+ if(program.getTitle().contains(keyword)){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ })
|
|
|
.peek(program -> program.setStatus(1)).collect(Collectors.groupingBy(Program::getBroadcastDate))
|
|
|
.forEach((k, v) -> rs.add(ImmutableMap.of("date", k.format(formatter), "title", k.format(formatter1), "epg", v)));
|
|
|
rs.sort(Comparator.comparing((Map<String, Object> o) -> o.get("date").toString()));
|