Browse Source

3.4.3 update-20241226

xiaofei 5 months ago
parent
commit
5f55c6a42f

+ 7 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/sync/OrgDataVo.java

@@ -10,6 +10,13 @@ public class OrgDataVo {
     @ApiModelProperty(value = "机构名称(二级学院)")
     private String collegeName;
 
+    public OrgDataVo() {
+    }
+
+    public OrgDataVo(String collegeName) {
+        this.collegeName = collegeName;
+    }
+
     public String getCollegeName() {
         return collegeName;
     }

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

@@ -186,7 +186,7 @@ public interface SysOrgService extends IService<SysOrg> {
 
     List<SysOrg> listPrintHouse(Long schoolId, OrgTypeEnum type);
 
-    void saveOrgFromSync(Long schoolId, OrgDataVo orgDataVo);
+    SysOrg saveOrgFromSync(Long schoolId, OrgDataVo orgDataVo);
 
     SysOrg findByParentIdAndName(Long parentId, String name);
 

+ 4 - 12
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -16,6 +16,7 @@ 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.bean.sync.OrgDataVo;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicCourse;
 import com.qmth.teachcloud.common.entity.BasicTeachCourse;
@@ -362,20 +363,11 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
 
     @Override
     public void saveBasicCourseFormSync(Long schoolId, CourseDataVo courseDataVo) {
-        SysOrg rootOrg = sysOrgService.findRootOrg(schoolId);
         if (StringUtils.isBlank(courseDataVo.getCollegeName())) {
-            return;
-        }
-        SysOrg sysOrg = sysOrgService.findByParentIdAndName(rootOrg.getId(), courseDataVo.getCollegeName());
-        if (sysOrg == null) {
-            sysOrg = new SysOrg();
-            sysOrg.setId(SystemConstant.getDbUuid());
-            sysOrg.setSchoolId(schoolId);
-            sysOrg.setName(courseDataVo.getCollegeName());
-            sysOrg.setParentId(rootOrg.getId());
-            sysOrg.setEnable(true);
-            sysOrgService.save(sysOrg);
+            throw ExceptionResultEnum.ERROR.exception("课程代码[" + courseDataVo.getCode() + "]开课学院不能为空");
         }
+        SysOrg sysOrg = sysOrgService.saveOrgFromSync(schoolId, new OrgDataVo(courseDataVo.getCollegeName()));
+
         BasicCourse basicCourse = this.getByTeachRoomIdAndCode(sysOrg.getId(), courseDataVo.getCode());
         if (basicCourse == null) {
             basicCourse = new BasicCourse();

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

@@ -588,7 +588,7 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     }
 
     @Override
-    public void saveOrgFromSync(Long schoolId, OrgDataVo orgDataVo) {
+    public SysOrg saveOrgFromSync(Long schoolId, OrgDataVo orgDataVo) {
         SysOrg rootOrg = this.findRootOrg(schoolId);
         SysOrg org = this.findByParentIdAndName(rootOrg.getId(), orgDataVo.getCollegeName());
         if (org == null) {
@@ -600,6 +600,7 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
             org.setEnable(true);
             this.save(org);
         }
+        return org;
     }
 
     @Override

+ 5 - 14
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.OrgDataVo;
 import com.qmth.teachcloud.common.bean.sync.UserDataVo;
 import com.qmth.teachcloud.common.contant.SpringContextHolder;
 import com.qmth.teachcloud.common.contant.SystemConstant;
@@ -1177,17 +1178,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             // 工号检验
             SysUser sysUser = this.getByLoginName(schoolId, userDataVo.getCode());
 
-            SysOrg rootOrg = sysOrgService.findRootOrg(schoolId);
-            SysOrg org = sysOrgService.findByParentIdAndName(rootOrg.getId(), userDataVo.getCollegeName());
-            if (org == null) {
-                org = new SysOrg();
-                org.setId(SystemConstant.getDbUuid());
-                org.setSchoolId(schoolId);
-                org.setName(userDataVo.getCollegeName());
-                org.setParentId(rootOrg.getId());
-                org.setEnable(true);
-                sysOrgService.save(org);
-            }
+            SysOrg sysOrg = sysOrgService.saveOrgFromSync(schoolId, new OrgDataVo(userDataVo.getCollegeName()));
 
             if (sysUser == null) {
                 sysUser = new SysUser();
@@ -1200,7 +1191,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                 sysUser.setCode(userDataVo.getCode());
                 sysUser.setPassword(password);
                 sysUser.setMobileNumber(userDataVo.getPhoneNumber());
-                sysUser.setOrgId(org.getId());
+                sysUser.setOrgId(sysOrg.getId());
                 sysUser.setEnable(true);
                 sysUser.setPwdCount(0);
                 sysUserService.save(sysUser);
@@ -1213,11 +1204,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                         .eq(SysUser::getId, sysUser.getId())
                         .set(SysUser::getRealName, userDataVo.getName())
                         .set(SysUser::getMobileNumber, userDataVo.getPhoneNumber())
-                        .set(SysUser::getOrgId, org.getId())
+                        .set(SysUser::getOrgId, sysOrg.getId())
                         .set(SysUser::getUpdateTime, System.currentTimeMillis()));
 
                 //如果修改了机构或手机号,需更新用户缓存
-                if (sysUser.getOrgId().longValue() != org.getId().longValue()
+                if (sysUser.getOrgId().longValue() != sysOrg.getId().longValue()
                         || !Objects.equals(sysUser.getMobileNumber(), userDataVo.getPhoneNumber())) {
                     commonCacheService.updateUserCache(sysUser.getId());
                     commonCacheService.updateUserAuthCache(sysUser.getId());

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

@@ -130,7 +130,7 @@ public class DataServiceImpl implements DataService {
             Map<String, String> variableParams = new HashMap<>();
             variableParams.put("schoolName", basicSchool.getName());
             for (String phoneNumber : syncData.getPhoneNumber().split(",")) {
-//                basicMessageService.saveMessageSendLog(schoolId, null, null, phoneNumber, JSON.toJSONString(variableParams), MessageEnum.NOTICE_SYNC_DATA);
+                basicMessageService.saveMessageSendLog(schoolId, null, null, phoneNumber, JSON.toJSONString(variableParams), MessageEnum.NOTICE_SYNC_DATA);
             }
         }
     }
@@ -138,7 +138,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);
-        StringJoiner errorMsg = new StringJoiner("<br>");
+        StringJoiner errorMsg = new StringJoiner("\n");
         AtomicInteger i = new AtomicInteger(0);
         for (OrgDataVo orgDataVo : dataVoList) {
             try {
@@ -156,7 +156,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);
-        StringJoiner errorMsg = new StringJoiner("<br>");
+        StringJoiner errorMsg = new StringJoiner("\n");
         AtomicInteger i = new AtomicInteger(0);
         for (UserDataVo userDataVo : dataVoList) {
             try {
@@ -174,7 +174,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);
-        StringJoiner errorMsg = new StringJoiner("<br>");
+        StringJoiner errorMsg = new StringJoiner("\n");
         AtomicInteger i = new AtomicInteger(0);
         for (CourseDataVo courseDataVo : dataVoList) {
             try {
@@ -228,7 +228,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);
-        StringJoiner errorMsg = new StringJoiner("<br>");
+        StringJoiner errorMsg = new StringJoiner("\n");
         AtomicInteger i = new AtomicInteger(0);
         for (ExamTaskDataVo examTaskDataVo : dataVoList) {
             try {

+ 1 - 0
teachcloud-data/src/main/java/com/qmth/teachcloud/data/service/impl/TSyncDataLogServiceImpl.java

@@ -27,6 +27,7 @@ public class TSyncDataLogServiceImpl extends MppServiceImpl<TSyncDataLogMapper,
         tSyncDataLog.setStartTime(startTime);
         tSyncDataLog.setEndTime(endTime);
         tSyncDataLog.setCount(count);
+        tSyncDataLog.setSuccessCount(successCount);
         tSyncDataLog.setErrorMsg(errorMsg);
         this.save(tSyncDataLog);
     }

+ 5 - 3
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/manage/MarkArbitrateSettingDto.java

@@ -1,12 +1,14 @@
 package com.qmth.teachcloud.mark.dto.mark.manage;
 
+import java.util.List;
+
 public class MarkArbitrateSettingDto {
 
     private String markMode;
     private String courseCode;
     private String courseName;
     private String paperNumber;
-    private String paperUrl;
+    private List<String> paperUrl;
     private String answerUrl;
     private String userLoginName;
     private String userName;
@@ -43,11 +45,11 @@ public class MarkArbitrateSettingDto {
         this.paperNumber = paperNumber;
     }
 
-    public String getPaperUrl() {
+    public List<String> getPaperUrl() {
         return paperUrl;
     }
 
-    public void setPaperUrl(String paperUrl) {
+    public void setPaperUrl(List<String> paperUrl) {
         this.paperUrl = paperUrl;
     }
 

+ 8 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkArbitrateHistoryServiceImpl.java

@@ -1,11 +1,13 @@
 package com.qmth.teachcloud.mark.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.teachcloud.common.bean.vo.FilePathVo;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.mark.MarkArbitrateStatus;
@@ -147,7 +149,12 @@ public class MarkArbitrateHistoryServiceImpl extends ServiceImpl<MarkArbitrateHi
             markArbitrateSettingDto.setUserLoginName(sysUser.getLoginName());
             markArbitrateSettingDto.setUserName(sysUser.getRealName());
             if (StringUtils.isNotBlank(markPaper.getPaperFilePath())) {
-                markArbitrateSettingDto.setPaperUrl(fileUploadService.filePreview(markPaper.getPaperFilePath()));
+                List<FilePathVo> filePathVoList = JSON.parseArray(markPaper.getPaperFilePath(), FilePathVo.class);
+                List<String> filePaths = new ArrayList<>();
+                for (FilePathVo filePathVo : filePathVoList) {
+                    filePaths.add(fileUploadService.filePreview(JSON.toJSONString(filePathVo)));
+                }
+                markArbitrateSettingDto.setPaperUrl(filePaths);
             }
             if (StringUtils.isNotBlank(markPaper.getAnswerFilePath())) {
                 markArbitrateSettingDto.setAnswerUrl(fileUploadService.filePreview(markPaper.getAnswerFilePath()));