Ver Fonte

基础信息教学班级更改

caozixuan há 3 anos atrás
pai
commit
f72574b925

+ 60 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/TeachClazzParams.java

@@ -0,0 +1,60 @@
+package com.qmth.distributed.print.business.bean.params;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.teachcloud.common.annotation.DBVerify;
+import io.swagger.annotations.ApiModelProperty;
+import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.constraints.Range;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description: 教学班级编辑参数
+ * @Author: CaoZixuan
+ * @Date: 2022-02-11
+ */
+public class TeachClazzParams {
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "班级id(修改时必填)")
+    @DBVerify(value = "班级id")
+    private Long id;
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "教学课程主键")
+    @NotNull(message = "请选择教学课程")
+    @Range(min = 1L, message = "请选择教学课程")
+    @DBVerify(value = "教学课程id",required = true)
+    private Long teachCourseId;
+
+    @ApiModelProperty(value = "教学班级名称")
+    @NotNull(message = "请输入教学班级名称")
+    @Length(min = 1,message = "请输入教学班级名称")
+    @DBVerify(value = "教学班级名称",required = true)
+    private String teachClazzName;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getTeachCourseId() {
+        return teachCourseId;
+    }
+
+    public void setTeachCourseId(Long teachCourseId) {
+        this.teachCourseId = teachCourseId;
+    }
+
+    public String getTeachClazzName() {
+        return teachClazzName;
+    }
+
+    public void setTeachClazzName(String teachClazzName) {
+        this.teachClazzName = teachClazzName;
+    }
+}

+ 5 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TeachClazzService.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.distributed.print.business.bean.params.TeachClazzParams;
 import com.qmth.distributed.print.business.bean.result.TeachClazzResult;
 import com.qmth.distributed.print.business.entity.TeachClazz;
 import com.qmth.teachcloud.common.entity.SysUser;
@@ -27,14 +28,13 @@ public interface TeachClazzService extends IService<TeachClazz> {
     IPage<TeachClazzResult> teachClazzPage(Long teachCourseId, String teachClazzName, int pageNumber, int pageSize);
 
     /**
-     * 创建教学班
+     * 编辑教学班
      *
-     * @param teachClazzName 班级名称
-     * @param teachCourseId  教学课程id
-     * @param requestUser    请求的用户
+     * @param teachClazzParams 教学班编辑参数
+     * @param requestUser      请求的用户
      * @return 教学班新增结果
      */
-    Boolean createTeachClazz(String teachClazzName, Long teachCourseId, SysUser requestUser);
+    Boolean editTeachClazz(TeachClazzParams teachClazzParams, SysUser requestUser);
 
     /**
      * 根据教学班级id集合批量删除教学班级

+ 40 - 27
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TeachClazzServiceImpl.java

@@ -1,9 +1,11 @@
 package com.qmth.distributed.print.business.service.impl;
 
 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.distributed.print.business.bean.params.TeachClazzParams;
 import com.qmth.distributed.print.business.bean.result.TeachClazzResult;
 import com.qmth.distributed.print.business.entity.TeachClazz;
 import com.qmth.distributed.print.business.entity.TeachCourse;
@@ -52,39 +54,50 @@ public class TeachClazzServiceImpl extends ServiceImpl<TeachClazzMapper,TeachCla
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public Boolean createTeachClazz(String teachClazzName, Long teachCourseId, SysUser requestUser) {
+    public Boolean editTeachClazz(TeachClazzParams teachClazzParams, SysUser requestUser) {
+        Long id = teachClazzParams.getId();
+        Long teachCourseId = teachClazzParams.getTeachCourseId();
+        String teachClazzName = teachClazzParams.getTeachClazzName();
+        boolean result;
+
         if (SystemConstant.isOneNull(teachClazzName, teachCourseId)) {
             throw ExceptionResultEnum.ERROR.exception("参数异常");
         }
-        TeachCourse teachCourse = teachCourseService.getById(teachCourseId);
-        if (Objects.isNull(teachCourse)) {
-            throw ExceptionResultEnum.ERROR.exception("教学课程不存在");
-        }
-        if (!Objects.equals(teachCourse.getUserId(), requestUser.getId())) {
-            throw ExceptionResultEnum.ERROR.exception("用户身份信息异常");
-        }
+        if (SystemConstant.longNotNull(id)){
+            // 重命名课程
+            result = this.update(new UpdateWrapper<TeachClazz>().lambda().eq(TeachClazz::getId,id).set(TeachClazz::getTeachClazzName,teachClazzName));
+        }else {
+            TeachCourse teachCourse = teachCourseService.getById(teachCourseId);
+            if (Objects.isNull(teachCourse)) {
+                throw ExceptionResultEnum.ERROR.exception("教学课程不存在");
+            }
+            if (!Objects.equals(teachCourse.getUserId(), requestUser.getId())) {
+                throw ExceptionResultEnum.ERROR.exception("用户身份信息异常");
+            }
 
-        Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
-        TeachClazz check = this.getOne(new QueryWrapper<TeachClazz>()
-                .lambda()
-                .eq(TeachClazz::getSchoolId, schoolId)
-                .eq(TeachClazz::getTeachClazzName, teachClazzName)
-                .eq(TeachClazz::getTeachCourseId, teachCourseId));
+            Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
+            TeachClazz check = this.getOne(new QueryWrapper<TeachClazz>()
+                    .lambda()
+                    .eq(TeachClazz::getSchoolId, schoolId)
+                    .eq(TeachClazz::getTeachClazzName, teachClazzName)
+                    .eq(TeachClazz::getTeachCourseId, teachCourseId));
 
-        if (Objects.nonNull(check)) {
-            throw ExceptionResultEnum.ERROR.exception("教学课程【" + check.getTeachCourseName() + "】中已存在班级名称为【" + check.getTeachClazzName() + "】的班级");
-        }
+            if (Objects.nonNull(check)) {
+                throw ExceptionResultEnum.ERROR.exception("教学课程【" + check.getTeachCourseName() + "】中已存在班级名称为【" + check.getTeachClazzName() + "】的班级");
+            }
 
-        TeachClazz teachClazz = new TeachClazz();
-        teachClazz.setSchoolId(schoolId);
-        teachClazz.setTeachClazzName(teachClazzName);
-        teachClazz.setUserId(teachCourse.getUserId());
-        teachClazz.setUserName(teachCourse.getUserName());
-        teachClazz.setTeachCourseId(teachCourseId);
-        teachClazz.setTeachCourseCode(teachCourse.getBasicCourseCode());
-        teachClazz.setTeachCourseName(teachCourse.getBasicCourseName());
-        teachClazz.insertInfo(requestUser.getId());
-        return this.save(teachClazz);
+            TeachClazz teachClazz = new TeachClazz();
+            teachClazz.setSchoolId(schoolId);
+            teachClazz.setTeachClazzName(teachClazzName);
+            teachClazz.setUserId(teachCourse.getUserId());
+            teachClazz.setUserName(teachCourse.getUserName());
+            teachClazz.setTeachCourseId(teachCourseId);
+            teachClazz.setTeachCourseCode(teachCourse.getBasicCourseCode());
+            teachClazz.setTeachCourseName(teachCourse.getBasicCourseName());
+            teachClazz.insertInfo(requestUser.getId());
+            result = this.save(teachClazz);
+        }
+        return result;
     }
 
     @Transactional(rollbackFor = Exception.class)

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

@@ -3,8 +3,10 @@ package com.qmth.distributed.print.api;
 import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.distributed.print.business.bean.params.TeachClazzParams;
 import com.qmth.distributed.print.business.bean.result.EditResult;
 import com.qmth.distributed.print.business.service.TeachClazzService;
+import com.qmth.teachcloud.common.bean.params.BasicClazzParams;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
@@ -12,13 +14,12 @@ import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import io.swagger.annotations.*;
+import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.validation.Valid;
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import java.util.List;
@@ -47,17 +48,16 @@ public class TeachClazzController {
         return ResultUtil.ok(teachClazzService.teachClazzPage(SystemConstant.convertIdToLong(teachCourseId), teachClazzName, pageNumber, pageSize));
     }
 
-    @ApiOperation(value = "教学班级-创建教学班级")
-    @RequestMapping(value = "/create", method = RequestMethod.POST)
+    @ApiOperation(value = "教学班级-编辑教学班级")
+    @RequestMapping(value = "/edit", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
-    public Result createTeachClazz(@ApiParam(value = "班级名称", required = true) @RequestParam String teachClazzName,
-                                   @ApiParam(value = "教学课程id", required = true) @RequestParam String teachCourseId) {
+    public Result createTeachClazz(@Valid @RequestBody TeachClazzParams teachClazzParams, BindingResult bindingResult) throws IllegalAccessException {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        Long id = SystemConstant.convertIdToLong(teachCourseId);
-        if (!SystemConstant.longNotNull(id)) {
-            throw ExceptionResultEnum.ERROR.exception("缺少教学课程信息");
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
         }
-        return ResultUtil.ok(teachClazzService.createTeachClazz(teachClazzName, id,requestUser));
+        SystemConstant.verifyDBFields(teachClazzParams,teachClazzParams.getClass());
+        return ResultUtil.ok(teachClazzService.editTeachClazz(teachClazzParams,requestUser));
     }
 
     @ApiOperation(value = "教学班级-批量删除")