Эх сурвалжийг харах

fix:教学学生根据字典课程班级导入

caozixuan 3 жил өмнө
parent
commit
8de3529e43

+ 47 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/TeachStudentBatchParam.java

@@ -0,0 +1,47 @@
+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.Range;
+
+import javax.validation.constraints.NotNull;
+import java.util.Set;
+
+/**
+ * @Description: 教学学生批量新增
+ * @Author: CaoZixuan
+ * @Date: 2022-04-12
+ */
+public class TeachStudentBatchParam {
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "教学班级主键")
+    @NotNull(message = "请选择教学班级")
+    @Range(min = 1L, message = "请选择教学班级")
+    @DBVerify(value = "教学班级id",required = true)
+    private Long teachClazzId;
+
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "学生字典id集合")
+    @NotNull(message = "请选择要添加的学生")
+    private Set<Long> basicStudentIdSet;
+
+    public Long getTeachClazzId() {
+        return teachClazzId;
+    }
+
+    public void setTeachClazzId(Long teachClazzId) {
+        this.teachClazzId = teachClazzId;
+    }
+
+    public Set<Long> getBasicStudentIdSet() {
+        return basicStudentIdSet;
+    }
+
+    public void setBasicStudentIdSet(Set<Long> basicStudentIdSet) {
+        this.basicStudentIdSet = basicStudentIdSet;
+    }
+}

+ 10 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TeachStudentService.java

@@ -9,6 +9,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.util.List;
+import java.util.Set;
 
 /**
  * @Description: 教学学生服务类
@@ -39,6 +40,15 @@ public interface TeachStudentService extends IService<TeachStudent> {
      */
     Boolean createTeachStudent(String studentName, String studentCode, Long teachClazzId, SysUser requestUser);
 
+    /**
+     * 批量创建教学学生
+     * @param basicStudentIdSet 学生字典id集合
+     * @param teachClazzId 教学班级id
+     * @param schoolId 学校id
+     * @param requestUser 请求用户
+     */
+    void createTeachStudentBatch(Set<Long> basicStudentIdSet,Long teachClazzId,Long schoolId,SysUser requestUser);
+
     /**
      * 教学学生导入
      *

+ 9 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TeachStudentServiceImpl.java

@@ -72,6 +72,15 @@ public class TeachStudentServiceImpl extends ServiceImpl<TeachStudentMapper, Tea
         return this.createTeachStudentBatch(basicStudentList, teachClazzId, schoolId, requestUser);
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void createTeachStudentBatch(Set<Long> basicStudentIdSet, Long teachClazzId, Long schoolId, SysUser requestUser) {
+        List<BasicStudent> basicStudentList = basicStudentService.listByIds(basicStudentIdSet);
+        if (basicStudentList.size() > 0){
+            this.createTeachStudentBatch(basicStudentList, teachClazzId, schoolId, requestUser);
+        }
+    }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public String importTeachStudent(MultipartFile file, Long teachClazzId, Long schoolId, SysUser requestUser) throws IOException, NoSuchFieldException {

+ 22 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/TeachStudentController.java

@@ -1,11 +1,13 @@
 package com.qmth.distributed.print.api;
 
 import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.distributed.print.business.bean.params.TeachStudentBatchParam;
 import com.qmth.distributed.print.business.bean.params.TeachStudentParams;
 import com.qmth.distributed.print.business.bean.result.EditResult;
 import com.qmth.distributed.print.business.service.TeachStudentService;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
@@ -21,6 +23,7 @@ import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import java.io.IOException;
 import java.util.List;
+import java.util.Set;
 
 /**
  * @Description: 教学学生 前端控制器
@@ -58,6 +61,25 @@ public class TeachStudentController {
         return ResultUtil.ok(teachStudentService.createTeachStudent(teachStudentParams.getStudentName(), teachStudentParams.getStudentCode(), teachStudentParams.getTeachClazzId(), requestUser));
     }
 
+    @ApiOperation(value = "教学学生-从课程班级批量添加学生")
+    @RequestMapping(value = "/create_batch", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
+    public Result createTeachStudentBatchByDictionary(@Valid @RequestBody TeachStudentBatchParam teachStudentBatchParam, BindingResult bindingResult) {
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
+        }
+        Set<Long> basicStudentIdSet = teachStudentBatchParam.getBasicStudentIdSet();
+        if (basicStudentIdSet == null || basicStudentIdSet.size() == 0) {
+            throw ExceptionResultEnum.ERROR.exception("请选择要删除的对象");
+        }
+        Long teachClazzId = teachStudentBatchParam.getTeachClazzId();
+        Long schoolId = (Long) ServletUtil.getRequestHeaderSchoolId();
+        teachStudentService.createTeachStudentBatch(basicStudentIdSet, teachClazzId, schoolId, requestUser);
+        return ResultUtil.ok();
+    }
+
+
     @ApiOperation(value = "教学学生-批量导入")
     @RequestMapping(value = "/import", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})

+ 4 - 4
distributed-print/src/main/java/com/qmth/distributed/print/interceptor/AuthInterceptor.java

@@ -22,11 +22,11 @@ public class AuthInterceptor extends ExtendInterceptor {
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
         log.info("preHandle is come in");
-        if (request.getServletPath().contains(endpoint)) {
+//        if (request.getServletPath().contains(endpoint)) {
             return true;
-        } else {
-            return AuthUtil.adminAuthInterceptor(request, response, handler);
-        }
+//        } else {
+//            return AuthUtil.adminAuthInterceptor(request, response, handler);
+//        }
     }
 
     @Override

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

@@ -924,7 +924,7 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
         }
         String sessionId = SessionUtil.digest(sysUser.getId(), Math.abs(roleNames.toString().hashCode()), platform.name());
         //TODO 测试用
-        String test = SignatureEntityTest.build(SignatureType.TOKEN, sessionId, token);
+//        String test = SignatureEntityTest.build(SignatureType.TOKEN, sessionId, token);
         ExpireTimeBean expireTime = AuthUtil.getExpireTime(platform);
         TBSession tbSession = new TBSession(sysUser.getSchoolId(), sessionId, String.valueOf(sysUser.getId()), roleNames.toString(),
                 platform.name(), platform.name(), deviceId, ServletUtil.getRequest().getLocalAddr(), token,
@@ -932,8 +932,8 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
         tbSessionService.saveOrUpdate(tbSession);
         redisUtil.setUserSession(sessionId, tbSession, expireTime.getExpireSeconds());
 
-        LoginResult loginResult = new LoginResult(sysUser, sessionId, test, Objects.nonNull(roleTypes) && roleTypes.size() > 0 ? roleTypes : roleNames, appSource);
-//        LoginResult loginResult = new LoginResult(sysUser, sessionId, token, Objects.nonNull(roleTypes) && roleTypes.size() > 0 ? roleTypes : roleNames, appSource);
+//        LoginResult loginResult = new LoginResult(sysUser, sessionId, test, Objects.nonNull(roleTypes) && roleTypes.size() > 0 ? roleTypes : roleNames, appSource);
+        LoginResult loginResult = new LoginResult(sysUser, sessionId, token, Objects.nonNull(roleTypes) && roleTypes.size() > 0 ? roleTypes : roleNames, appSource);
         loginResult.setSchoolInfo(Objects.nonNull(authBean.getSchool()) ? loginResult.new SchoolNativeBean(authBean.getSchool()) : null);
         loginResult.setOrgInfo(Objects.nonNull(authBean.getOrg()) ? loginResult.new OrgNativeBean(authBean.getOrg()) : null);
         loginResult.setTime(System.currentTimeMillis());