|
@@ -29,6 +29,8 @@ import com.qmth.teachcloud.data.service.TSyncDataLogService;
|
|
|
import com.qmth.teachcloud.data.service.TSyncDataStudentService;
|
|
|
import com.qmth.teachcloud.data.util.JdbcUtil;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -42,6 +44,8 @@ import java.util.concurrent.atomic.AtomicInteger;
|
|
|
@Service
|
|
|
public class DataServiceImpl implements DataService {
|
|
|
|
|
|
+ private static final Logger log = LoggerFactory.getLogger(DataServiceImpl.class);
|
|
|
+
|
|
|
@Resource
|
|
|
private DataUtil dataUtil;
|
|
|
@Resource
|
|
@@ -93,33 +97,43 @@ public class DataServiceImpl implements DataService {
|
|
|
StringJoiner stringJoiner = new StringJoiner(";");
|
|
|
// 机构同步
|
|
|
if (dataRange.contains(DataType.A.name())) {
|
|
|
+ log.info("开始同步机构");
|
|
|
SyncDataResult syncDataResult = syncOrg(jdbcTemplate, schoolId, examId, datasourceType.getConfigValue().toString());
|
|
|
stringJoiner.add(DataType.A.name() + ":" + syncDataResult.getCount());
|
|
|
sendSms = StringUtils.isNotBlank(syncDataResult.getErrMsg()) ? true : sendSms;
|
|
|
+ log.info("结束同步机构,状态" + sendSms);
|
|
|
}
|
|
|
// 用户同步
|
|
|
if (dataRange.contains(DataType.B.name())) {
|
|
|
+ log.info("开始同步用户");
|
|
|
SyncDataResult syncDataResult = syncUser(jdbcTemplate, schoolId, examId, datasourceType.getConfigValue().toString());
|
|
|
stringJoiner.add(DataType.B.name() + ":" + syncDataResult.getCount());
|
|
|
sendSms = StringUtils.isNotBlank(syncDataResult.getErrMsg()) ? true : sendSms;
|
|
|
+ log.info("结束同步用户,状态" + sendSms);
|
|
|
}
|
|
|
// 课程同步
|
|
|
if (dataRange.contains(DataType.C.name())) {
|
|
|
+ log.info("开始同步课程");
|
|
|
SyncDataResult syncDataResult = syncCourse(jdbcTemplate, schoolId, examId, datasourceType.getConfigValue().toString());
|
|
|
stringJoiner.add(DataType.C.name() + ":" + syncDataResult.getCount());
|
|
|
sendSms = StringUtils.isNotBlank(syncDataResult.getErrMsg()) ? true : sendSms;
|
|
|
+ log.info("结束同步课程,状态" + sendSms);
|
|
|
}
|
|
|
// 考生同步
|
|
|
if (dataRange.contains(DataType.D.name())) {
|
|
|
+ log.info("开始同步考生");
|
|
|
SyncDataResult syncDataResult = syncStudent(jdbcTemplate, schoolId, examId, datasourceType.getConfigValue().toString());
|
|
|
stringJoiner.add(DataType.D.name() + ":" + syncDataResult.getCount());
|
|
|
sendSms = StringUtils.isNotBlank(syncDataResult.getErrMsg()) ? true : sendSms;
|
|
|
+ log.info("结束同步考生,状态" + sendSms);
|
|
|
}
|
|
|
// 命题任务同步
|
|
|
if (dataRange.contains(DataType.E.name())) {
|
|
|
+ log.info("开始同步命题任务");
|
|
|
SyncDataResult syncDataResult = syncExamTask(jdbcTemplate, schoolId, examId, datasourceType.getConfigValue().toString());
|
|
|
stringJoiner.add(DataType.E.name() + ":" + syncDataResult.getCount());
|
|
|
sendSms = StringUtils.isNotBlank(syncDataResult.getErrMsg()) ? true : sendSms;
|
|
|
+ log.info("结束同步命题任务,状态" + sendSms);
|
|
|
}
|
|
|
|
|
|
syncData.setDetail(stringJoiner.toString());
|
|
@@ -138,6 +152,7 @@ public class DataServiceImpl implements DataService {
|
|
|
private SyncDataResult syncOrg(JdbcTemplate jdbcTemplate, Long schoolId, Long examId, String datasourceType) {
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
List<OrgDataVo> dataVoList = dataUtil.listOrg(jdbcTemplate, DataType.A, datasourceType);
|
|
|
+ log.info("查询到待同步机构数量:" + dataVoList.size());
|
|
|
StringJoiner errorMsg = new StringJoiner("\n");
|
|
|
AtomicInteger i = new AtomicInteger(0);
|
|
|
for (OrgDataVo orgDataVo : dataVoList) {
|
|
@@ -156,6 +171,7 @@ public class DataServiceImpl implements DataService {
|
|
|
private SyncDataResult syncUser(JdbcTemplate jdbcTemplate, Long schoolId, Long examId, String datasourceType) {
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
List<UserDataVo> dataVoList = dataUtil.listUser(jdbcTemplate, DataType.B, datasourceType);
|
|
|
+ log.info("查询到待同步用户数量:" + dataVoList.size());
|
|
|
StringJoiner errorMsg = new StringJoiner("\n");
|
|
|
AtomicInteger i = new AtomicInteger(0);
|
|
|
for (UserDataVo userDataVo : dataVoList) {
|
|
@@ -174,6 +190,7 @@ public class DataServiceImpl implements DataService {
|
|
|
private SyncDataResult syncCourse(JdbcTemplate jdbcTemplate, Long schoolId, Long examId, String datasourceType) {
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
List<CourseDataVo> dataVoList = dataUtil.listCourse(jdbcTemplate, DataType.C, datasourceType);
|
|
|
+ log.info("查询到待同步课程数量:" + dataVoList.size());
|
|
|
StringJoiner errorMsg = new StringJoiner("\n");
|
|
|
AtomicInteger i = new AtomicInteger(0);
|
|
|
for (CourseDataVo courseDataVo : dataVoList) {
|
|
@@ -192,6 +209,7 @@ public class DataServiceImpl implements DataService {
|
|
|
private SyncDataResult syncStudent(JdbcTemplate jdbcTemplate, Long schoolId, Long examId, String datasourceType) {
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
List<TSyncDataStudent> dataVoList = dataUtil.listExamStudent(jdbcTemplate, DataType.D, datasourceType);
|
|
|
+ log.info("查询到待同步考生数量:" + dataVoList.size());
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
int successCount = 0;
|
|
|
String errMsg = null;
|
|
@@ -228,6 +246,7 @@ public class DataServiceImpl implements DataService {
|
|
|
private SyncDataResult syncExamTask(JdbcTemplate jdbcTemplate, Long schoolId, Long examId, String datasourceType) {
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
List<ExamTaskDataVo> dataVoList = dataUtil.listExamTask(jdbcTemplate, DataType.E, datasourceType);
|
|
|
+ log.info("查询到待同步命题任务数量:" + dataVoList.size());
|
|
|
StringJoiner errorMsg = new StringJoiner("\n");
|
|
|
AtomicInteger i = new AtomicInteger(0);
|
|
|
for (ExamTaskDataVo examTaskDataVo : dataVoList) {
|