xiaofei 6 ماه پیش
والد
کامیت
427f90f9bb
23فایلهای تغییر یافته به همراه188 افزوده شده و 65 حذف شده
  1. 11 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamTask.java
  2. 3 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskService.java
  3. 12 10
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ClientUpgradeServiceImpl.java
  4. 68 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java
  5. 2 1
      distributed-print/install/mysql/upgrade/3.4.3.sql
  6. 1 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/admin/DataController.java
  7. 1 10
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/sync/CourseDataVo.java
  8. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/sync/ExamStudentDataVo.java
  9. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/sync/ExamTaskDataVo.java
  10. 1 9
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/sync/OrgDataVo.java
  11. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/sync/UserDataVo.java
  12. 2 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicCourseService.java
  13. 2 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysOrgService.java
  14. 4 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysUserService.java
  15. 11 5
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java
  16. 4 3
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java
  17. 11 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java
  18. 1 2
      teachcloud-data/src/main/java/com/qmth/teachcloud/data/DataUtil.java
  19. 25 0
      teachcloud-data/src/main/java/com/qmth/teachcloud/data/entity/TSyncData.java
  20. 4 0
      teachcloud-data/src/main/java/com/qmth/teachcloud/data/mapper/TSyncDataMapper.java
  21. 9 11
      teachcloud-data/src/main/java/com/qmth/teachcloud/data/service/impl/DataServiceImpl.java
  22. 1 4
      teachcloud-data/src/main/java/com/qmth/teachcloud/data/service/impl/TSyncDataServiceImpl.java
  23. 12 1
      teachcloud-data/src/main/resources/mapper/TSyncDataMapper.xml

+ 11 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamTask.java

@@ -180,6 +180,9 @@ public class ExamTask extends BaseEntity implements Serializable {
     @TableField(exist = false)
     private String courseName;
 
+    @TableField(exist = false)
+    private String courseCollegeName;
+
     public Long getExamId() {
         return examId;
     }
@@ -463,4 +466,12 @@ public class ExamTask extends BaseEntity implements Serializable {
     public void setExamTaskDetailEnable(Boolean examTaskDetailEnable) {
         this.examTaskDetailEnable = examTaskDetailEnable;
     }
+
+    public String getCourseCollegeName() {
+        return courseCollegeName;
+    }
+
+    public void setCourseCollegeName(String courseCollegeName) {
+        this.courseCollegeName = courseCollegeName;
+    }
 }

+ 3 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskService.java

@@ -19,6 +19,7 @@ import com.qmth.distributed.print.business.entity.ExamTaskDetail;
 import com.qmth.distributed.print.business.enums.CardTypeEnum;
 import com.qmth.distributed.print.business.enums.StatisticsStatusEnum;
 import com.qmth.teachcloud.common.bean.dto.BlurryUserDto;
+import com.qmth.teachcloud.common.bean.sync.ExamTaskDataVo;
 import com.qmth.teachcloud.common.bean.tiku.TikuPaperInfo;
 import com.qmth.teachcloud.common.entity.BasicExam;
 import com.qmth.teachcloud.common.entity.SysUser;
@@ -257,4 +258,6 @@ public interface ExamTaskService extends IService<ExamTask> {
      * @return
      */
     public List<ScanCountResult> scanCountListExport(Long semesterId, Long examId, Long collegeId, Long courseId, String paperNumber, CardTypeEnum cardType);
+
+    void saveExamTaskFormSync(Long schoolId, Long examId, ExamTaskDataVo examTaskDataVo);
 }

+ 12 - 10
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ClientUpgradeServiceImpl.java

@@ -69,7 +69,8 @@ public class ClientUpgradeServiceImpl extends MppServiceImpl<ClientUpgradeMapper
             //安装包
             if (ClientPackageEnum.INSTALL.equals(type)) {
                 // 上传
-                String filePathName = buildPath(true, UploadFileEnum.UPGRADE.getTitle(), toolType.getType(), "release", platform) + fileName;
+                String releaseSuffix = ClientUpgradeToolTypeEnum.PICTURE_DOWNLOAD.equals(toolType) ? "-" + toolType.getType() : "";
+                String filePathName = buildPath(true, UploadFileEnum.UPGRADE.getTitle(), "release" + releaseSuffix, platform) + fileName;
                 FilePathVo filePathVo = fileUploadService.uploadFile(file, UploadFileEnum.UPGRADE, filePathName, fileMd5);
                 clientUpgrade.setInstallPath(JSON.toJSONString(filePathVo));
                 clientUpgrade.setInstallUploadTime(System.currentTimeMillis());
@@ -109,7 +110,8 @@ public class ClientUpgradeServiceImpl extends MppServiceImpl<ClientUpgradeMapper
                 }
 
                 // 上传
-                String filePathName = buildPath(true, UploadFileEnum.UPGRADE.getTitle(), toolType.getType(), "update", platform, version, String.valueOf(build)) + fileName;
+                String updateSuffix = ClientUpgradeToolTypeEnum.PICTURE_DOWNLOAD.equals(toolType) ? "-" + toolType.getType() : "";
+                String filePathName = buildPath(true, UploadFileEnum.UPGRADE.getTitle(), "update" + updateSuffix, platform, version, String.valueOf(build)) + fileName;
                 FilePathVo filePathVo = fileUploadService.uploadFile(file, UploadFileEnum.UPGRADE, filePathName, fileMd5);
                 clientUpgrade.setVersion(version);
                 clientUpgrade.setBuild(build);
@@ -117,27 +119,27 @@ public class ClientUpgradeServiceImpl extends MppServiceImpl<ClientUpgradeMapper
                 clientUpgrade.setUpgradePath(JSON.toJSONString(filePathVo));
 
                 // 上传mainfest.json文件
-                String mainfestPathName = buildPath(true, UploadFileEnum.UPGRADE.getTitle(), toolType.getType(), "update", platform, version, String.valueOf(build)) + mainfestJson;
+                String mainfestPathName = buildPath(true, UploadFileEnum.UPGRADE.getTitle(), "update" + updateSuffix, platform, version, String.valueOf(build)) + mainfestJson;
                 FilePathVo mainfestPathVo = fileUploadService.uploadFile(zipReader.read(mainfestJson), UploadFileEnum.UPGRADE, mainfestPathName, DigestUtils.md5Hex(zipReader.read(mainfestJson)));
                 clientUpgrade.setMainfestPath(JSON.toJSONString(mainfestPathVo));
                 // 上传app目录下文件
                 String app = "app";
                 for (MainfestApp mainfestApp : mainfest.getApp()) {
                     // 上传
-                    uploadUpgradeZipFiles(version, build, zipReader, app, mainfestApp.getName(), toolType, platform);
+                    uploadUpgradeZipFiles(version, build, zipReader, app, mainfestApp.getName(), updateSuffix, platform);
                 }
                 // 上传script目录下文件
                 String script = "script";
                 MainfestScript mainfestScript = mainfest.getScript();
-                uploadUpgradeZipFiles(version, build, zipReader, script, mainfestScript.getBefore(), toolType, platform);
-                uploadUpgradeZipFiles(version, build, zipReader, script, mainfestScript.getAfter(), toolType, platform);
+                uploadUpgradeZipFiles(version, build, zipReader, script, mainfestScript.getBefore(), updateSuffix, platform);
+                uploadUpgradeZipFiles(version, build, zipReader, script, mainfestScript.getAfter(), updateSuffix, platform);
                 for (String includeFileName : mainfestScript.getIncludes()) {
-                    uploadUpgradeZipFiles(version, build, zipReader, script, includeFileName, toolType, platform);
+                    uploadUpgradeZipFiles(version, build, zipReader, script, includeFileName, updateSuffix, platform);
                 }
                 // 上传data目录下文件
                 String data = "data";
                 for (String dataFileName : mainfest.getData()) {
-                    uploadUpgradeZipFiles(version, build, zipReader, data, dataFileName, toolType, platform);
+                    uploadUpgradeZipFiles(version, build, zipReader, data, dataFileName, updateSuffix, platform);
                 }
                 clientUpgrade.setUpgradeUploadTime(System.currentTimeMillis());
             } else {
@@ -154,13 +156,13 @@ public class ClientUpgradeServiceImpl extends MppServiceImpl<ClientUpgradeMapper
         }
     }
 
-    private void uploadUpgradeZipFiles(String version, int build, ZipReader zipReader, String pathType, String fileName, ClientUpgradeToolTypeEnum toolType, String platform) {
+    private void uploadUpgradeZipFiles(String version, int build, ZipReader zipReader, String pathType, String fileName, String updateSuffix, String platform) {
         if (StringUtils.isBlank(fileName)) {
             return;
         }
         // 上传
         String filePath = FileUtil.replaceSplit(pathType + File.separator + fileName);
-        String dataPathName = buildPath(true, UploadFileEnum.UPGRADE.getTitle(), toolType.getType(), "update", platform, version, String.valueOf(build), pathType) + fileName;
+        String dataPathName = buildPath(true, UploadFileEnum.UPGRADE.getTitle(), "update" + updateSuffix, platform, version, String.valueOf(build), pathType) + fileName;
         try {
             fileUploadService.uploadFile(zipReader.read(filePath), UploadFileEnum.UPGRADE, dataPathName, DigestUtils.md5Hex(zipReader.read(filePath)));
         } catch (Exception e) {

+ 68 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -38,6 +38,7 @@ import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.marking.ConvertJpgStorage;
 import com.qmth.teachcloud.common.bean.result.SysUserResult;
 import com.qmth.teachcloud.common.bean.result.TbTaskDetailResult;
+import com.qmth.teachcloud.common.bean.sync.ExamTaskDataVo;
 import com.qmth.teachcloud.common.bean.tiku.TikuPaperInfo;
 import com.qmth.teachcloud.common.bean.vo.FilePathVo;
 import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
@@ -2337,6 +2338,73 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         return scanCountResultList;
     }
 
+    @Override
+    public void saveExamTaskFormSync(Long schoolId, Long examId, ExamTaskDataVo examTaskDataVo) {
+        try {
+            ExamTask examTask = new ExamTask();
+            examTask.setId(SystemConstant.getDbUuid());
+            examTask.setSchoolId(schoolId);
+            examTask.setExamId(examId);
+            examTask.setPaperNumber(examTaskDataVo.getPaperNumber());
+            SysOrg rootOrg = sysOrgService.findRootOrg(schoolId);
+            SysOrg sysOrg = sysOrgService.findByParentIdAndName(rootOrg.getId(), examTaskDataVo.getCourseCollegeName());
+            BasicCourse basicCourse = basicCourseService.getByTeachRoomIdAndCode(sysOrg.getId(), examTaskDataVo.getCourseCode());
+            examTask.setCourseId(basicCourse.getId());
+            examTask.setOpenAb(false);
+            examTask.setStartTime(examTaskDataVo.getStartTime());
+            examTask.setEndTime(examTaskDataVo.getEndTime());
+            examTask.setSource(ExamTaskSourceEnum.ASSIGN);
+            BasicPrintConfig basicPrintConfig = basicPrintConfigService.getByExamId(examId);
+            examTask.setCardRuleId(basicPrintConfig.getCardRuleId());
+            if (StringUtils.isNotBlank(examTaskDataVo.getTeacherCode())) {
+                SysUser sysUser = sysUserService.findBySchoolIdAndLoginName(schoolId, examTaskDataVo.getTeacherCode());
+                if (sysUser != null) {
+                    examTask.setUserId(sysUser.getId());
+                }
+            }
+            if (StringUtils.isNotBlank(examTask.getPaperNumber())) {
+                QueryWrapper<ExamTask> taskQueryWrapper = new QueryWrapper<>();
+                taskQueryWrapper.lambda().eq(ExamTask::getSchoolId, schoolId).eq(ExamTask::getExamId, examId).eq(ExamTask::getPaperNumber, examTask.getPaperNumber());
+                ExamTask task = this.getOne(taskQueryWrapper);
+                if (task != null) {
+                    BasicExam basicExam = basicExamService.getById(examId);
+                    throw ExceptionResultEnum.ERROR.exception("试卷编号[" + examTask.getPaperNumber() + "]在考试[" + basicExam.getName() + "]下已存在");
+                }
+            } else {
+                examTask.setPaperNumber(printCommonService.autoCreatePaperNumber(examId));
+            }
+
+            examTask.setReview(basicPrintConfig.getReview());
+            // 取课程所在机构
+            examTask.setTeachingRoomId(basicCourse.getTeachingRoomId());
+            if (examTask.getUserId() == null) {
+                examTask.setStatus(ExamStatusEnum.DRAFT);
+            } else if (Objects.nonNull(examTask.getReview()) && examTask.getReview()) {
+                examTask.setStatus(ExamStatusEnum.STAGE);
+                Map<String, Object> map = SystemConstant.buildFlowVar(examTask.getId(),
+                        examTask,
+                        TFCustomTypeEnum.ELECTRON_FLOW,
+                        examTask.getUserId(),
+                        true);
+                map = activitiService.customFlowStart(map);
+                examTask.setFlowId(SystemConstant.convertIdToLong((String) map.get(SystemConstant.FLOW_ID)));
+                map.computeIfAbsent(SystemConstant.FLOW_JOIN_TYPE, v -> FlowJoinTypeEnum.NEW);
+                tfFlowJoinService.saveOrUpdate(map);
+            } else if (Objects.nonNull(examTask.getReview()) && !examTask.getReview()) {
+                examTask.setStatus(ExamStatusEnum.STAGE);
+            }
+            examTask.setSource(ExamTaskSourceEnum.ASSIGN);
+            this.save(examTask);
+        } catch (Exception e) {
+            log.error(SystemConstant.LOG_ERROR, e);
+            if (e instanceof ActivitiObjectNotFoundException) {
+                ResultUtil.error("流程不存在");
+            } else {
+                ResultUtil.error(e.getMessage());
+            }
+        }
+    }
+
     private ExamTaskPaperData saveTikuPaperData(Long examId, Long paperId, String uuid, File zipFile) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         String zipDestPath = null;

+ 2 - 1
distributed-print/install/mysql/upgrade/3.4.3.sql

@@ -4,7 +4,8 @@ ALTER TABLE `client_upgrade`
     ADD COLUMN `tool_type` VARCHAR(45) NOT NULL COMMENT '文件类型' AFTER `platform`,
 DROP PRIMARY KEY,
 ADD PRIMARY KEY USING BTREE (`platform`, `tool_type`);
-UPDATE `client_upgrade` SET `tool_type` = 'TEACHCLOUD_CLIENT' WHERE (`platform` = 'WINDOWS') and (`tool_type` is null);
+
+UPDATE `client_upgrade` SET `tool_type` = 'TEACHCLOUD_CLIENT' WHERE (`platform` = 'WINDOWS') and (`tool_type` is null or `tool_type`= '');
 
 CREATE TABLE `t_sync_data` (
        `school_id` BIGINT(20) NOT NULL COMMENT '学校ID',

+ 1 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/admin/DataController.java

@@ -51,7 +51,7 @@ public class DataController {
         return ResultUtil.ok(true);
     }
 
-    @ApiOperation(value = "查看日志")
+    @ApiOperation(value = "查看设置列表")
     @RequestMapping(value = "/param/list", method = RequestMethod.POST)
     public Result listParam(@ApiParam(value = "学校ID") @RequestParam(value = "schoolId") Long schoolId,
                             @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,

+ 1 - 10
teachcloud-data/src/main/java/com/qmth/teachcloud/data/vo/CourseDataVo.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/sync/CourseDataVo.java

@@ -1,6 +1,5 @@
-package com.qmth.teachcloud.data.vo;
+package com.qmth.teachcloud.common.bean.sync;
 
-import com.qmth.teachcloud.common.entity.BasicCourse;
 import io.swagger.annotations.ApiModelProperty;
 
 /**
@@ -39,12 +38,4 @@ public class CourseDataVo {
         this.collegeName = collegeName;
     }
 
-    public BasicCourse transferToBasicCourse(Long schoolId, CourseDataVo courseDataVo) {
-        BasicCourse basicCourse = new BasicCourse();
-        basicCourse.setSchoolId(schoolId);
-        basicCourse.setCode(courseDataVo.getCode());
-        basicCourse.setName(courseDataVo.getName());
-        basicCourse.setCollegeName(courseDataVo.collegeName);
-        return basicCourse;
-    }
 }

+ 1 - 1
teachcloud-data/src/main/java/com/qmth/teachcloud/data/vo/ExamStudentDataVo.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/sync/ExamStudentDataVo.java

@@ -1,4 +1,4 @@
-package com.qmth.teachcloud.data.vo;
+package com.qmth.teachcloud.common.bean.sync;
 
 import io.swagger.annotations.ApiModelProperty;
 

+ 1 - 1
teachcloud-data/src/main/java/com/qmth/teachcloud/data/vo/ExamTaskDataVo.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/sync/ExamTaskDataVo.java

@@ -1,4 +1,4 @@
-package com.qmth.teachcloud.data.vo;
+package com.qmth.teachcloud.common.bean.sync;
 
 import io.swagger.annotations.ApiModelProperty;
 

+ 1 - 9
teachcloud-data/src/main/java/com/qmth/teachcloud/data/vo/OrgDataVo.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/sync/OrgDataVo.java

@@ -1,6 +1,5 @@
-package com.qmth.teachcloud.data.vo;
+package com.qmth.teachcloud.common.bean.sync;
 
-import com.qmth.teachcloud.common.entity.SysOrg;
 import io.swagger.annotations.ApiModelProperty;
 
 /**
@@ -18,11 +17,4 @@ public class OrgDataVo {
     public void setCollegeName(String collegeName) {
         this.collegeName = collegeName;
     }
-
-    public SysOrg transferToSysOrg(Long schoolId, OrgDataVo orgDataVo) {
-        SysOrg sysOrg = new SysOrg();
-        sysOrg.setSchoolId(schoolId);
-        sysOrg.setName(orgDataVo.getCollegeName());
-        return sysOrg;
-    }
 }

+ 1 - 1
teachcloud-data/src/main/java/com/qmth/teachcloud/data/vo/UserDataVo.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/sync/UserDataVo.java

@@ -1,4 +1,4 @@
-package com.qmth.teachcloud.data.vo;
+package com.qmth.teachcloud.common.bean.sync;
 
 import com.qmth.teachcloud.common.entity.SysUser;
 import io.swagger.annotations.ApiModelProperty;

+ 2 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicCourseService.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.common.bean.params.BasicCourseParams;
 import com.qmth.teachcloud.common.bean.result.BasicCourseResult;
 import com.qmth.teachcloud.common.bean.result.TeachCourseSelectResult;
+import com.qmth.teachcloud.common.bean.sync.CourseDataVo;
 import com.qmth.teachcloud.common.entity.BasicCourse;
 import com.qmth.teachcloud.common.entity.SysUser;
 import org.springframework.web.multipart.MultipartFile;
@@ -97,5 +98,5 @@ public interface BasicCourseService extends IService<BasicCourse> {
 
     List<BasicCourse> listBySchoolId(Long schoolId);
 
-    void saveBasicCourseFormSync(BasicCourse transferToBasicCourse);
+    void saveBasicCourseFormSync(Long schoolId, CourseDataVo courseDataVo);
 }

+ 2 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysOrgService.java

@@ -2,6 +2,7 @@ package com.qmth.teachcloud.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.common.bean.dto.OrgDto;
+import com.qmth.teachcloud.common.bean.sync.OrgDataVo;
 import com.qmth.teachcloud.common.entity.SysOrg;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.OrgTypeEnum;
@@ -185,7 +186,7 @@ public interface SysOrgService extends IService<SysOrg> {
 
     List<SysOrg> listPrintHouse(Long schoolId, OrgTypeEnum type);
 
-    void saveOrgFromSync(SysOrg transferToSysOrg);
+    void saveOrgFromSync(Long schoolId, OrgDataVo orgDataVo);
 
     SysOrg findByParentIdAndName(Long parentId, String name);
 

+ 4 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysUserService.java

@@ -10,6 +10,7 @@ import com.qmth.teachcloud.common.bean.params.UserSaveReportParams;
 import com.qmth.teachcloud.common.bean.result.LoginResult;
 import com.qmth.teachcloud.common.bean.result.SysUserResult;
 import com.qmth.teachcloud.common.bean.result.UserRoleNameResult;
+import com.qmth.teachcloud.common.bean.sync.UserDataVo;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.RoleTypeEnum;
 import org.springframework.util.LinkedMultiValueMap;
@@ -251,5 +252,7 @@ public interface SysUserService extends IService<SysUser> {
 
     List<SysUserResult> listBySchoolId(Long schoolId);
 
-    void saveUserFromSync(SysUser sysUser);
+    void saveUserFromSync(Long schoolId, UserDataVo userDataVo);
+
+    SysUser findBySchoolIdAndLoginName(Long schoolId, String teacherCode);
 }

+ 11 - 5
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -15,6 +15,7 @@ import com.qmth.teachcloud.common.bean.params.BasicCourseParams;
 import com.qmth.teachcloud.common.bean.result.BasicCourseResult;
 import com.qmth.teachcloud.common.bean.result.SysUserResult;
 import com.qmth.teachcloud.common.bean.result.TeachCourseSelectResult;
+import com.qmth.teachcloud.common.bean.sync.CourseDataVo;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicCourse;
 import com.qmth.teachcloud.common.entity.BasicTeachCourse;
@@ -360,15 +361,20 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
     }
 
     @Override
-    public void saveBasicCourseFormSync(BasicCourse basicCourse) {
-        SysOrg rootOrg = sysOrgService.findRootOrg(basicCourse.getSchoolId());
-        SysOrg sysOrg = sysOrgService.findByParentIdAndName(rootOrg.getId(), basicCourse.getCollegeName());
+    public void saveBasicCourseFormSync(Long schoolId, CourseDataVo courseDataVo) {
+        SysOrg rootOrg = sysOrgService.findRootOrg(schoolId);
+        SysOrg sysOrg = sysOrgService.findByParentIdAndName(rootOrg.getId(), courseDataVo.getCollegeName());
         if (sysOrg == null) {
             throw ExceptionResultEnum.ERROR.exception("开课学院[" + sysOrg.getName() + "]在组织架构中不存在");
         }
-        BasicCourse basicCourse1 = this.getByTeachRoomIdAndCode(sysOrg.getId(), basicCourse.getCode());
-        if (basicCourse1 == null) {
+        BasicCourse basicCourse = this.getByTeachRoomIdAndCode(sysOrg.getId(), courseDataVo.getCode());
+        if (basicCourse == null) {
+            basicCourse = new BasicCourse();
             basicCourse.setId(SystemConstant.getDbUuid());
+            basicCourse.setSchoolId(schoolId);
+            basicCourse.setCode(courseDataVo.getCode());
+            basicCourse.setName(courseDataVo.getName());
+            basicCourse.setCollegeName(courseDataVo.getCollegeName());
             basicCourse.setCreateTime(System.currentTimeMillis());
             this.save(basicCourse);
         }

+ 4 - 3
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java

@@ -11,6 +11,7 @@ import com.qmth.teachcloud.common.bean.dto.excel.SysOrgImportDto;
 import com.qmth.teachcloud.common.bean.params.UserSaveParams;
 import com.qmth.teachcloud.common.bean.result.RoleResult;
 import com.qmth.teachcloud.common.bean.result.SysUserResult;
+import com.qmth.teachcloud.common.bean.sync.OrgDataVo;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicCourse;
 import com.qmth.teachcloud.common.entity.SysOrg;
@@ -587,9 +588,9 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     }
 
     @Override
-    public void saveOrgFromSync(SysOrg sysOrg) {
-        SysOrg rootOrg = this.findRootOrg(sysOrg.getSchoolId());
-        SysOrg org = this.findByParentIdAndName(rootOrg.getId(), sysOrg.getName());
+    public void saveOrgFromSync(Long schoolId, OrgDataVo orgDataVo) {
+        SysOrg rootOrg = this.findRootOrg(schoolId);
+        SysOrg org = this.findByParentIdAndName(rootOrg.getId(), orgDataVo.getCollegeName());
         if (org == null) {
             org.setId(SystemConstant.getDbUuid());
             org.setParentId(rootOrg.getId());

+ 11 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java

@@ -16,6 +16,7 @@ import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
 import com.qmth.teachcloud.common.bean.params.UserSaveParams;
 import com.qmth.teachcloud.common.bean.params.UserSaveReportParams;
 import com.qmth.teachcloud.common.bean.result.*;
+import com.qmth.teachcloud.common.bean.sync.UserDataVo;
 import com.qmth.teachcloud.common.contant.SpringContextHolder;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.*;
@@ -215,7 +216,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         String mobileNumber = user.getMobileNumber();
         String verifyCode = user.getVerifyCode();
         if (SystemConstant.strNotNull(newPwd)) {
-            String decodePassword =  Base64Util.encode(AesECBUtil.decryptSimple(newPwd).getBytes());
+            String decodePassword = Base64Util.encode(AesECBUtil.decryptSimple(newPwd).getBytes());
             // 参数中存在密码->更新密码
             if (sysUser.getPassword().equals(decodePassword)) {
                 throw ExceptionResultEnum.ERROR.exception("新密码和旧密码一致,请重新输入");
@@ -1171,7 +1172,15 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     }
 
     @Override
-    public void saveUserFromSync(SysUser sysUser) {
+    public void saveUserFromSync(Long schoolId, UserDataVo userDataVo) {
 
     }
+
+    @Override
+    public SysUser findBySchoolIdAndLoginName(Long schoolId, String teacherCode) {
+        QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(SysUser::getSchoolId, schoolId)
+                .eq(SysUser::getLoginName, teacherCode);
+        return this.getOne(queryWrapper);
+    }
 }

+ 1 - 2
teachcloud-data/src/main/java/com/qmth/teachcloud/data/DataUtil.java

@@ -1,12 +1,11 @@
 package com.qmth.teachcloud.data;
 
-import com.alibaba.druid.pool.DruidDataSource;
 import com.qmth.teachcloud.common.bean.result.SysConfigResult;
+import com.qmth.teachcloud.common.bean.sync.*;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysConfig;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.CommonCacheService;
-import com.qmth.teachcloud.data.vo.*;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.jdbc.core.JdbcTemplate;

+ 25 - 0
teachcloud-data/src/main/java/com/qmth/teachcloud/data/entity/TSyncData.java

@@ -1,5 +1,6 @@
 package com.qmth.teachcloud.data.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -71,6 +72,14 @@ public class TSyncData implements Serializable {
     @ApiModelProperty(value = "启用/禁用")
     private Boolean enable;
 
+    @ApiModelProperty(value = "学期")
+    @TableField(exist = false)
+    private String semesterName;
+
+    @ApiModelProperty(value = "考试")
+    @TableField(exist = false)
+    private String examName;
+
     public TSyncData() {
     }
 
@@ -185,6 +194,22 @@ public class TSyncData implements Serializable {
         this.enable = enable;
     }
 
+    public String getSemesterName() {
+        return semesterName;
+    }
+
+    public void setSemesterName(String semesterName) {
+        this.semesterName = semesterName;
+    }
+
+    public String getExamName() {
+        return examName;
+    }
+
+    public void setExamName(String examName) {
+        this.examName = examName;
+    }
+
     @Override
     public String toString() {
         return "TSyncData{" +

+ 4 - 0
teachcloud-data/src/main/java/com/qmth/teachcloud/data/mapper/TSyncDataMapper.java

@@ -1,8 +1,11 @@
 package com.qmth.teachcloud.data.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
 import com.qmth.teachcloud.data.entity.TSyncData;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -14,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface TSyncDataMapper extends MppBaseMapper<TSyncData> {
 
+    IPage<TSyncData> listParam(@Param("page") Page<TSyncData> page, @Param("schoolId") Long schoolId);
 }

+ 9 - 11
teachcloud-data/src/main/java/com/qmth/teachcloud/data/service/impl/DataServiceImpl.java

@@ -1,7 +1,8 @@
 package com.qmth.teachcloud.data.service.impl;
 
 import com.qmth.distributed.print.business.bean.params.SysAdminSetParam;
-import com.qmth.teachcloud.common.entity.SysOrg;
+import com.qmth.distributed.print.business.service.ExamTaskService;
+import com.qmth.teachcloud.common.bean.sync.*;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.BasicCourseService;
 import com.qmth.teachcloud.common.service.SysOrgService;
@@ -10,17 +11,12 @@ import com.qmth.teachcloud.data.DataUtil;
 import com.qmth.teachcloud.data.entity.TSyncData;
 import com.qmth.teachcloud.data.service.DataService;
 import com.qmth.teachcloud.data.service.TSyncDataLogService;
-import com.qmth.teachcloud.data.util.DruidJdbcUtils;
 import com.qmth.teachcloud.data.util.JdbcUtil;
-import com.qmth.teachcloud.data.vo.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import javax.sql.DataSource;
-import java.sql.Connection;
-import java.sql.SQLException;
 import java.util.List;
 
 @Service
@@ -36,6 +32,8 @@ public class DataServiceImpl implements DataService {
     private SysOrgService sysOrgService;
     @Resource
     private SysUserService sysUserService;
+    @Resource
+    private ExamTaskService examTaskService;
 
     @Override
     public boolean testConnect(SysAdminSetParam sysAdminSetParam) {
@@ -65,7 +63,7 @@ public class DataServiceImpl implements DataService {
             String errorMsg = null;
             try {
                 for (OrgDataVo orgDataVo : dataVoList) {
-                    sysOrgService.saveOrgFromSync(orgDataVo.transferToSysOrg(schoolId, orgDataVo));
+                    sysOrgService.saveOrgFromSync(schoolId, orgDataVo);
                 }
             } catch (Exception e) {
                 count = 0;
@@ -83,7 +81,7 @@ public class DataServiceImpl implements DataService {
             String errorMsg = null;
             try {
                 for (UserDataVo userDataVo : dataVoList) {
-                    sysUserService.saveUserFromSync(userDataVo.transferToUser(schoolId, userDataVo));
+                    sysUserService.saveUserFromSync(schoolId, userDataVo);
                 }
             } catch (Exception e) {
                 count = 0;
@@ -101,7 +99,7 @@ public class DataServiceImpl implements DataService {
             String errorMsg = null;
             try {
                 for (CourseDataVo courseDataVo : dataVoList) {
-                    basicCourseService.saveBasicCourseFormSync(courseDataVo.transferToBasicCourse(schoolId, courseDataVo));
+                    basicCourseService.saveBasicCourseFormSync(schoolId, courseDataVo);
                 }
             } catch (Exception e) {
                 count = 0;
@@ -122,8 +120,8 @@ public class DataServiceImpl implements DataService {
             int count = dataVoList.size();
             String errorMsg = null;
             try {
-                for (ExamTaskDataVo courseDataVo : dataVoList) {
-//                    basicCourseService.saveBasicCourseFormSync(courseDataVo.transferToBasicCourse(schoolId, courseDataVo));
+                for (ExamTaskDataVo examTaskDataVo : dataVoList) {
+                    examTaskService.saveExamTaskFormSync(schoolId, examId, examTaskDataVo);
                 }
             } catch (Exception e) {
                 count = 0;

+ 1 - 4
teachcloud-data/src/main/java/com/qmth/teachcloud/data/service/impl/TSyncDataServiceImpl.java

@@ -96,10 +96,7 @@ public class TSyncDataServiceImpl extends MppServiceImpl<TSyncDataMapper, TSyncD
     @Override
     public IPage<TSyncData> listParam(Long schoolId, Integer pageNumber, Integer pageSize) {
         Page<TSyncData> page = new Page<>(pageNumber, pageSize);
-        QueryWrapper<TSyncData> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(TSyncData::getSchoolId, schoolId)
-                .orderByDesc(TSyncData::getExamId);
-        return this.page(page, queryWrapper);
+        return this.baseMapper.listParam(page, schoolId);
     }
 
     @Override

+ 12 - 1
teachcloud-data/src/main/resources/mapper/TSyncDataMapper.xml

@@ -7,7 +7,7 @@
         <id column="school_id" property="schoolId" />
         <result column="semester_id" property="semesterId" />
         <result column="exam_id" property="examId" />
-        <result column="data_range" property="dataRange" />
+        <result column="data_type" property="dataType" />
         <result column="start_time" property="startTime" />
         <result column="end_time" property="endTime" />
         <result column="last_sync_time" property="lastSyncTime" />
@@ -15,5 +15,16 @@
         <result column="create_time" property="createTime" />
         <result column="update_time" property="updateTime" />
     </resultMap>
+    <select id="listParam" resultType="com.qmth.teachcloud.data.entity.TSyncData">
+        SELECT
+            tsd.*, bs.name semesterName, be.name examName
+        FROM
+            t_sync_data tsd
+                LEFT JOIN
+            basic_exam be ON tsd.exam_id = be.id
+                LEFT JOIN
+            basic_semester bs ON be.semester_id = bs.id
+        where tsd.school_id = #{schoolId}
+    </select>
 
 </mapper>