孙永军 1 ano atrás
pai
commit
eb5697619d

+ 5 - 3
src/main/java/com/smcic/api/epg/service/impl/EpgDisableConfigService.java

@@ -12,6 +12,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -24,11 +25,12 @@ public class EpgDisableConfigService extends ServiceImpl<EpgDisableConfigMapper,
     @Resource
     private ProgramService programService;
 
-    public Map<LocalDateTime, EpgDisableConfig> cfMap(Integer channelId, LocalDateTime start, LocalDateTime end){
-        Map<LocalDateTime, EpgDisableConfig> map = new HashMap<>();
+    public Map<String, EpgDisableConfig> cfMap(Integer channelId, LocalDateTime start, LocalDateTime end){
+        Map<String, EpgDisableConfig> map = new HashMap<>();
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
         lambdaQuery().eq(EpgDisableConfig::getChannelId, channelId).ge(EpgDisableConfig::getStartTime, start)
                 .le(EpgDisableConfig::getStartTime, end).eq(EpgDisableConfig::getStatus, 1).list()
-                .forEach(sspDisableConfig -> map.put(sspDisableConfig.getStartTime(), sspDisableConfig));
+                .forEach(sspDisableConfig -> map.put(sspDisableConfig.getProgram() + "_" + sspDisableConfig.getStartTime().format(formatter), sspDisableConfig));
         return map;
     }
 

+ 8 - 8
src/main/java/com/smcic/api/epg/service/impl/ProgramService.java

@@ -31,6 +31,8 @@ public class ProgramService extends ServiceImpl<ProgramMapper, Program> implemen
 
     private final Cache<Integer, Object> cache = Caffeine.newBuilder().expireAfterWrite(10, TimeUnit.MINUTES).build();
 
+    DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
+
     public List<Map<String, Object>> getProgramList(Integer channelId) {
         System.out.println("-------------------获取epg-----------------------");
         LocalDateTime now = LocalDateTime.now();
@@ -40,12 +42,12 @@ 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 = epgDisableConfigService.cfMap(channelId, start, end);
+        Map<String, EpgDisableConfig> sspDisableConfigMap = epgDisableConfigService.cfMap(channelId, start, end);
 
         baseMapper.listByChannel(channelId, start, end).stream().peek(program -> {
-            if(sspDisableConfigMap.containsKey(program.getStartTime())){
-                EpgDisableConfig edc = sspDisableConfigMap.get(program.getStartTime());
-                program.setStatus(edc.getStatus());
+            String k = program.getTitle() + "_" + program.getStartTime().format(formatter2);
+            if(sspDisableConfigMap.containsKey(k)){
+                program.setStatus(sspDisableConfigMap.get(k).getStatus());
             }else{
                 program.setStatus(0);
             }
@@ -81,14 +83,12 @@ 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 = epgDisableConfigService.cfMap(channelId, start, end);
+        Map<String, EpgDisableConfig> sspDisableConfigMap = epgDisableConfigService.cfMap(channelId, start, end);
 
-        /*
 
-        * */
         List<String> keywords = keywordDisableConfigService.disableKeywords(channelId, start, end);
         baseMapper.listByChannel(channelId, start, end).stream().filter(program -> {
-            if(sspDisableConfigMap.containsKey(program.getStartTime())){
+            if(sspDisableConfigMap.containsKey(program.getTitle() + "_" + program.getStartTime().format(formatter2))){
                 return true;
             }
             for(String keyword :keywords){