Bläddra i källkod

课表基础数据推送优化

dzx 1 år sedan
förälder
incheckning
f8342cc141

+ 6 - 0
src/main/java/com/xjrsoft/module/job/JianyuekbBaseDataTask.java

@@ -1,6 +1,7 @@
 package com.xjrsoft.module.job;
 
 import cn.hutool.db.Db;
+import cn.hutool.extra.spring.SpringUtil;
 import com.google.gson.JsonArray;
 import com.xjrsoft.common.constant.GlobalConstant;
 import com.xjrsoft.common.utils.DatasourceUtil;
@@ -28,6 +29,11 @@ public class JianyuekbBaseDataTask {
 
     @Scheduled(cron = "0 */15 * * * ?")
     public void RefreshConnectionPool() {
+        String active = SpringUtil.getActiveProfile();
+        if("prod".equals(active)){
+            log.info("非正式环境,无法执行数据推送");
+            return;
+        }
         log.info("开始推送课表基础数据");
         DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
         try {

+ 2 - 2
src/main/java/com/xjrsoft/module/job/JianyuekbScheduleTask.java

@@ -27,7 +27,7 @@ import java.util.Set;
 @Slf4j
 public class JianyuekbScheduleTask {
 
-    @Scheduled(cron = "0 */5 * * * ?")
+    @Scheduled(cron = "0 */15 * * * ?")
     public void RefreshConnectionPool() {
         doExecute();
     }
@@ -93,7 +93,7 @@ public class JianyuekbScheduleTask {
             dataUtil.insertClassTime(use, scheduleInfo, baseSemester);
             log.info("课表数据获取完成");
         } catch (Exception e) {
-            log.error(e.getMessage());
+            log.error(e.getMessage(), e);
         }
     }
 

+ 3 - 3
src/main/java/com/xjrsoft/module/schedule/util/DataUtil.java

@@ -461,7 +461,7 @@ public class DataUtil {
             JsonObject asJsonObject = jsonElement.getAsJsonObject();
             long id = System.currentTimeMillis();
             JsonArray teachers = asJsonObject.get("teachers").getAsJsonArray();
-            if(coureseMap.get(asJsonObject.get("courseClassId").getAsString()) == null){
+            if(asJsonObject.get("courseClassId").isJsonNull() || coureseMap.get(asJsonObject.get("courseClassId").getAsString()) == null){
                 continue;
             }
             String numberOfDayName = asJsonObject.get("numberOfDayName").getAsString();
@@ -531,10 +531,10 @@ public class DataUtil {
                     + substring1 + ","
                     + "'" + fullName + "',"
                     + "'" + fullName + "',now(),"
-                    + "'" + jsonObject.get("endTime").getAsString() + "',"
                     + "'" + jsonObject.get("startTime").getAsString() + "',"
                     + "'" + jsonObject.get("endTime").getAsString() + "',"
-                    + "'" + jsonObject.get("startTime").getAsString() + "' FROM DUAL"
+                    + "'" + jsonObject.get("startTime").getAsString() + "',"
+                    + "'" + jsonObject.get("endTime").getAsString() + "' FROM DUAL"
                     + " WHERE NOT EXISTS(SELECT * FROM class_time WHERE time_period = "
                     + jsonObject.get("tmePeriod").getAsInt()
                     + " and number = " + jsonObject.get("tmePeriod").getAsInt() + ")";