xiaofei 2 vuotta sitten
vanhempi
commit
b8b9fd4249

+ 8 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/ExamTaskTempDto.java

@@ -1,12 +1,20 @@
 package com.qmth.distributed.print.business.bean.dto;
 
+import com.qmth.teachcloud.common.annotation.ExcelNote;
+
 public class ExamTaskTempDto {
 
+    @ExcelNote(value = "课程代码")
     private String courseCode;
+    @ExcelNote(value = "课程名称")
     private String courseName;
+    @ExcelNote(value = "试卷编号")
     private String paperNumber;
+    @ExcelNote(value = "适用专业(方向)")
     private String specialty;
+    @ExcelNote(value = "命题老师账号")
     private String userAccount;
+    @ExcelNote(value = "命题老师名称")
     private String userName;
 
     public String getCourseCode() {

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/DataSyncServiceImpl.java

@@ -408,7 +408,7 @@ public class DataSyncServiceImpl implements DataSyncService {
                 cloudMarkingTaskUtils.syncPaperStructure(schoolId, examId, subjectCode, true, null, syncObjectiveStructureDatas);
             }
 
-            String cloudInfoJson = cloudMarkingTaskUtils.queryPaperStructure(schoolId, examId, subjectCode, examPaperStructure.getPaperType());
+            String cloudInfoJson = cloudMarkingTaskUtils.queryPaperStructure(schoolId, examId, subjectCode, null);
             UpdateWrapper<ExamPaperStructure> updateWrapper = new UpdateWrapper<>();
             updateWrapper.lambda().set(ExamPaperStructure::getCloudInfoJson, cloudInfoJson).set(ExamPaperStructure::getStructureChange, false).eq(ExamPaperStructure::getId, examPaperStructure.getId());
             examPaperStructureService.update(updateWrapper);

+ 1 - 1
distributed-print-business/src/main/resources/mapper/ExamCardMapper.xml

@@ -150,7 +150,7 @@
                     LEFT JOIN exam_task et on b.exam_task_id = et.id
                     LEFT JOIN t_f_flow_approve e ON et.flow_id = e.flow_id
             WHERE
-                e.status != 'CANCEL' and FIND_IN_SET(a.id, REPLACE(substring_index(substring_index(CONVERT((b.paper_attachment_ids ->>'$[*].cardId') USING utf8), ']', 1), '[',-1),'"','')))
+                e.status != 'CANCEL' and FIND_IN_SET(a.id, REPLACE(REPLACE(substring_index(substring_index(CONVERT((b.paper_attachment_ids ->>'$[*].cardId') USING utf8), ']', 1), '[',-1),' "','"'),'"','')))
         order by a.create_time desc
     </select>
     <select id="getCardDetailBySelect" resultType="com.qmth.distributed.print.business.bean.dto.CardDetailDto">

+ 12 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/SysRoleController.java

@@ -143,5 +143,17 @@ public class SysRoleController {
     public Result getUserRoles(@RequestParam(value = "userId", required = true) Long userId) {
         return ResultUtil.ok(sysRoleService.getUserRoles(userId));
     }
+
+    /**
+     * 设置内置角色
+     *
+     * @param
+     */
+    @ApiOperation(value = "内置角色")
+    @RequestMapping(value = "/builtin", method = RequestMethod.POST)
+    public Result builtin(@RequestParam Long id,
+                          @RequestParam boolean defaultRole) {
+        return ResultUtil.ok(sysRoleService.builtin(id, defaultRole));
+    }
 }
 

+ 2 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysRoleService.java

@@ -51,4 +51,6 @@ public interface SysRoleService extends IService<SysRole> {
      * @return
      */
     List<SysRole> findCustomRole();
+
+    boolean builtin(Long id, boolean defaultRole);
 }

+ 3 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicRoleDataPermissionServiceImpl.java

@@ -45,7 +45,8 @@ public class BasicRoleDataPermissionServiceImpl extends ServiceImpl<BasicRoleDat
     @Override
     public void saveRoleDataPermission(Long roleId, List<DataPermissionInfo> dataPermissionInfoList) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        Long schoolId = SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId()));
+        Object schoolIdObj = ServletUtil.getRequestHeaderSchoolIdByNotVaild();
+        Long schoolId = schoolIdObj == null ? null : SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolIdByNotVaild()));
 
         List<Long> privilegeIdList = dataPermissionInfoList.stream()
                 .map(DataPermissionInfo::getPrivilegeId)
@@ -157,7 +158,7 @@ public class BasicRoleDataPermissionServiceImpl extends ServiceImpl<BasicRoleDat
     public DataPermissionRule findDataPermission() {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        return this.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
+        return this.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
     }
 
     /**

+ 18 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysRoleServiceImpl.java

@@ -10,6 +10,7 @@ import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.*;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.FieldUniqueEnum;
+import com.qmth.teachcloud.common.enums.RoleSourceEnum;
 import com.qmth.teachcloud.common.mapper.SysRoleMapper;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ResultUtil;
@@ -342,8 +343,24 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
         sysRoleQueryWrapper.lambda().eq(SysRole::getDefaultRole, true)
                 .eq(SysRole::getEnable, true)
                 .isNull(SysRole::getSchoolId)
-                .ne(SysRole::getType, SystemConstant.ADMIN_CODE.toUpperCase())
+                .and(l->l.ne(SysRole::getType, SystemConstant.ADMIN_CODE.toUpperCase()).or().isNull(SysRole::getType))
                 .orderByAsc(SysRole::getId);
         return sysRoleService.list(sysRoleQueryWrapper);
     }
+
+    @Override
+    public boolean builtin(Long id, boolean defaultRole) {
+        SysRole sysRole = this.getById(id);
+        if (defaultRole) {
+            sysRole.setSource(RoleSourceEnum.SYS);
+            sysRole.setInterpret(RoleSourceEnum.SYS.getDesc());
+        } else {
+            sysRole.setSource(null);
+            sysRole.setInterpret(null);
+        }
+        sysRole.setDefaultRole(defaultRole);
+
+        commonCacheService.removeCustomRoleCache();
+        return this.updateById(sysRole);
+    }
 }

+ 5 - 5
teachcloud-common/src/main/resources/mapper/SysRoleMapper.xml

@@ -71,12 +71,12 @@
             <if test="schoolId != null and schoolId != ''">
                 and t.school_id = #{schoolId}
             </if>
+            <if test="schoolId == null || schoolId == ''">
+                and school_id is null
+            </if>
         </where>
         union
-        <include refid="Base_Column_List" /> join t_school_role tsr on tsr.role_id = t.id
-        where t.default_role = 1 and t.type <![CDATA[ <> ]]> 'ADMIN'
-            <if test="schoolId != null and schoolId != ''">
-                and tsr.school_id = #{schoolId}
-            </if>
+        <include refid="Base_Column_List"/>
+        where school_id is null and default_role = 1 and type <![CDATA[ <> ]]> 'ADMIN'
     </select>
 </mapper>