Jelajahi Sumber

学期编辑创建人bug

caozixuan 2 tahun lalu
induk
melakukan
00ba64fb98

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

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.common.entity.BasicSemester;
 import com.qmth.teachcloud.common.bean.params.BasicSemesterParams;
 import com.qmth.teachcloud.common.bean.result.BasicSemesterResult;
+import com.qmth.teachcloud.common.entity.SysUser;
 
 import java.util.List;
 
@@ -40,13 +41,14 @@ public interface BasicSemesterService extends IService<BasicSemester> {
      * 基础学期编辑公共方法
      *
      * @param basicSemesterParams 基础学期参数
+     * @param requestUser         请求人
      * @param schoolId            学下oid
      * @param orgId               机构id
      * @param openApi             是否是开放接口
      * @return 学期id
      * @throws IllegalAccessException 异常
      */
-    Long saveBasicSemesterCommon(BasicSemesterParams basicSemesterParams, Long schoolId, Long orgId, boolean openApi) throws IllegalAccessException;
+    Long saveBasicSemesterCommon(BasicSemesterParams basicSemesterParams, SysUser requestUser, Long schoolId, Long orgId, boolean openApi) throws IllegalAccessException;
 
     /**
      * 学期删除

+ 27 - 33
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicSemesterServiceImpl.java

@@ -45,7 +45,7 @@ public class BasicSemesterServiceImpl extends ServiceImpl<BasicSemesterMapper, B
     @Override
     public IPage<BasicSemesterResult> basicSemesterPage(Long schoolId, int pageNumber, int pageSize) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
         return this.baseMapper.findBasicSemesterPage(new Page<>(pageNumber, pageSize), schoolId, dpr);
     }
 
@@ -53,28 +53,21 @@ public class BasicSemesterServiceImpl extends ServiceImpl<BasicSemesterMapper, B
     @Override
     public Long saveBasicSemester(BasicSemesterParams basicSemesterParams) throws IllegalAccessException {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        return basicSemesterService.saveBasicSemesterCommon(basicSemesterParams, sysUser.getSchoolId(), sysUser.getOrgId(),false);
+        return basicSemesterService.saveBasicSemesterCommon(basicSemesterParams, sysUser, sysUser.getSchoolId(), sysUser.getOrgId(), false);
     }
 
-    /**
-     * 保存公用
-     *
-     * @param basicSemesterParams
-     * @param schoolId
-     * @param orgId
-     * @return
-     * @throws IllegalAccessException
-     */
+
     @Override
     @Transactional
-    public Long saveBasicSemesterCommon(BasicSemesterParams basicSemesterParams, Long schoolId, Long orgId,boolean openApi) throws IllegalAccessException {
+    public Long saveBasicSemesterCommon(BasicSemesterParams basicSemesterParams, SysUser requestUser, Long schoolId, Long orgId, boolean openApi) throws IllegalAccessException {
         SystemConstant.verifyDBFields(basicSemesterParams, basicSemesterParams.getClass());
-        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        Long userId = requestUser.getId();
+        Long userId = null;
+        if (Objects.nonNull(requestUser)) {
+            userId = requestUser.getId();
+        }
+
         Long id = basicSemesterParams.getId();
         String semesterName = basicSemesterParams.getSemesterName();
-//        Long startTime = basicSemesterParams.getStartTime();
-//        Long endTime = basicSemesterParams.getEndTime();
 
         // 校验学期唯一性
         BasicSemester checkName = this.getOne(new QueryWrapper<BasicSemester>().lambda()
@@ -82,10 +75,10 @@ public class BasicSemesterServiceImpl extends ServiceImpl<BasicSemesterMapper, B
                 .eq(BasicSemester::getSchoolId, schoolId)
                 .eq(BasicSemester::getName, semesterName));
         if (Objects.nonNull(checkName) && !checkName.getId().equals(id)) {
-            if (openApi){
+            if (openApi) {
                 // 如果是开放接口(分布式印刷推学期给教研分析),就算没有教研分析学期id,只要名称一致就视为编辑
                 id = checkName.getId();
-            }else {
+            } else {
                 throw ExceptionResultEnum.ERROR.exception("学期名称【" + semesterName + "】重复");
             }
         }
@@ -95,10 +88,13 @@ public class BasicSemesterServiceImpl extends ServiceImpl<BasicSemesterMapper, B
             if (Objects.isNull(old) || old.getEnable().equals(false)) {
                 throw ExceptionResultEnum.ERROR.exception("所选学期不存在或被禁用");
             }
-            this.update(new UpdateWrapper<BasicSemester>().lambda()
-                    .eq(BasicSemester::getId, id)
-                    .set(BasicSemester::getName, semesterName)
-                    .set(BasicSemester::getUpdateId,userId));
+            UpdateWrapper<BasicSemester> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.lambda().eq(BasicSemester::getId, id)
+                    .set(BasicSemester::getName, semesterName);
+            if (SystemConstant.longNotNull(userId)) {
+                updateWrapper.lambda().set(BasicSemester::getUpdateId, userId);
+            }
+            this.update(updateWrapper);
         } else {
             // 新增
             id = SystemConstant.getDbUuid();
@@ -109,8 +105,9 @@ public class BasicSemesterServiceImpl extends ServiceImpl<BasicSemesterMapper, B
             basicSemester.setSchoolId(schoolId);
             basicSemester.setCode(null);
             basicSemester.setOrgId(orgId);
-            basicSemester.setCreateId(userId);
-
+            if (SystemConstant.longNotNull(userId)) {
+                basicSemester.setCreateId(userId);
+            }
             QueryWrapper<BasicSemester> queryWrapper = new QueryWrapper<>();
             queryWrapper.lambda().eq(BasicSemester::getSchoolId, schoolId);
             List<BasicSemester> basicSemesters = this.list(queryWrapper);
@@ -137,15 +134,15 @@ public class BasicSemesterServiceImpl extends ServiceImpl<BasicSemesterMapper, B
     @Override
     public List<BasicSemester> list(Long schoolId, Boolean inUsed) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
 
         QueryWrapper<BasicSemester> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(BasicSemester::getSchoolId, schoolId).eq(BasicSemester::getEnable, true);
-        if (SystemConstant.longNotNull(dpr.getRequestUserId())){
-            queryWrapper.lambda().eq(BasicSemester::getCreateId,dpr.getRequestUserId());
+        if (SystemConstant.longNotNull(dpr.getRequestUserId())) {
+            queryWrapper.lambda().eq(BasicSemester::getCreateId, dpr.getRequestUserId());
         }
-        if (dpr.getOrgIdSet() != null && dpr.getOrgIdSet().size() > 0){
-            queryWrapper.lambda().in(BasicSemester::getOrgId,dpr.getOrgIdSet());
+        if (dpr.getOrgIdSet() != null && dpr.getOrgIdSet().size() > 0) {
+            queryWrapper.lambda().in(BasicSemester::getOrgId, dpr.getOrgIdSet());
         }
         if (Objects.nonNull(inUsed)) {
             queryWrapper.lambda().eq(BasicSemester::getInUsed, inUsed);
@@ -163,10 +160,7 @@ public class BasicSemesterServiceImpl extends ServiceImpl<BasicSemesterMapper, B
             queryWrapper.lambda().eq(BasicSemester::getSchoolId, semester.getSchoolId());
             List<BasicSemester> list = this.list(queryWrapper);
             if (!CollectionUtils.isEmpty(list)) {
-                list = list.stream().map(m -> {
-                    m.setInUsed(false);
-                    return m;
-                }).collect(Collectors.toList());
+                list = list.stream().peek(m -> m.setInUsed(false)).collect(Collectors.toList());
                 this.updateBatchById(list);
             }
         }

+ 1 - 1
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/OpenApiController.java

@@ -94,7 +94,7 @@ public class OpenApiController {
         Optional.ofNullable(basicSemesterParams).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("转换后的数据为空"));
         basicSemesterParams.validParams();
         BasicSchool basicSchool = AuthThirdUtil.hasPermission();
-        return ResultUtil.ok(basicSemesterService.saveBasicSemesterCommon(basicSemesterParams, basicSchool.getId(), null, true));
+        return ResultUtil.ok(basicSemesterService.saveBasicSemesterCommon(basicSemesterParams, null, basicSchool.getId(), null, true));
     }
 
     @ApiOperation(value = "考试创建/更新接口")