Merge remote-tracking branch 'origin/dev' into dev
commit
aa06fcb829
|
|
@ -8,10 +8,7 @@ import com.alibaba.cola.dto.SingleResponse;
|
|||
import com.zcloud.edu.api.study.ClassServiceI;
|
||||
import com.zcloud.edu.dto.clientobject.study.ClassCO;
|
||||
import com.zcloud.edu.dto.data.study.ClassQuestionDTO;
|
||||
import com.zcloud.edu.dto.study.ClassAddCmd;
|
||||
import com.zcloud.edu.dto.study.ClassPageQry;
|
||||
import com.zcloud.edu.dto.study.ClassPostponeCmd;
|
||||
import com.zcloud.edu.dto.study.ClassUpdateCmd;
|
||||
import com.zcloud.edu.dto.study.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -39,5 +36,6 @@ public class AppClassController {
|
|||
return classService.appListPage(qry);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,93 @@
|
|||
package com.zcloud.edu.app.study;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.api.study.ClassExamPaperServiceI;
|
||||
import com.zcloud.edu.dto.clientobject.study.ClassExamPaperCO;
|
||||
import com.zcloud.edu.dto.study.ClassExamPaperAddCmd;
|
||||
import com.zcloud.edu.dto.study.ClassExamPaperAutoAddCmd;
|
||||
import com.zcloud.edu.dto.study.ClassExamPaperPageQry;
|
||||
import com.zcloud.edu.dto.study.ClassExamPaperUpdateCmd;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-13 14:18:21
|
||||
*/
|
||||
@Api(tags = "班级考试信息")
|
||||
@RequestMapping("/${application.gateway}/app/classExamPaper")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class AppClassExamPaperController {
|
||||
private final ClassExamPaperServiceI classExamPaperService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<ClassExamPaperCO> add(@Validated @RequestBody ClassExamPaperAddCmd cmd) {
|
||||
return classExamPaperService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("自动生成试卷")
|
||||
@PostMapping("/autoSave")
|
||||
public SingleResponse<ClassExamPaperCO> autoSave(@Validated @RequestBody ClassExamPaperAutoAddCmd cmd) {
|
||||
return classExamPaperService.autoSave(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<ClassExamPaperCO> page(@RequestBody ClassExamPaperPageQry qry) {
|
||||
return classExamPaperService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<ClassExamPaperCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<ClassExamPaperCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<ClassExamPaperCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return classExamPaperService.getInfoById(id);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/getInfoByClassId/{classId}")
|
||||
public SingleResponse<ClassExamPaperCO> getInfoByClassId(@PathVariable("classId") String classId) {
|
||||
return classExamPaperService.getInfoByClassId(classId);
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
classExamPaperService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
classExamPaperService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody ClassExamPaperUpdateCmd classExamPaperUpdateCmd) {
|
||||
classExamPaperService.edit(classExamPaperUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
package com.zcloud.edu.app.study;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.api.study.StudentExamRecordServiceI;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentExamRecordCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentSignCO;
|
||||
import com.zcloud.edu.dto.study.StudentExamRecordAddCmd;
|
||||
import com.zcloud.edu.dto.study.StudentExamRecordPageQry;
|
||||
import com.zcloud.edu.dto.study.StudentExamRecordUpdateCmd;
|
||||
import com.zcloud.edu.dto.study.StudentSignPageQry;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-13 14:18:16
|
||||
*/
|
||||
@Api(tags = "考试信息")
|
||||
@RequestMapping("/${application.gateway}/app/studentExamRecord")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class AppStudentExamRecordController {
|
||||
private final StudentExamRecordServiceI studentExamRecordService;
|
||||
|
||||
@ApiOperation("提交试卷")
|
||||
@PostMapping("/submit")
|
||||
public SingleResponse<StudentExamRecordCO> submit(@Validated @RequestBody StudentExamRecordAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return studentExamRecordService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<StudentExamRecordCO> page(@RequestBody StudentExamRecordPageQry qry) {
|
||||
return studentExamRecordService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<StudentExamRecordCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return studentExamRecordService.getInfoById(id);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
package com.zcloud.edu.app.study;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.api.study.StudentSignServiceI;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentSignCO;
|
||||
import com.zcloud.edu.dto.study.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-13 14:18:19
|
||||
*/
|
||||
@Api(tags = "学员签到")
|
||||
@RequestMapping("/${application.gateway}/app/studentSign")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class AppStudentSignController {
|
||||
private final StudentSignServiceI studentSignService;
|
||||
|
||||
@ApiOperation("对比人脸")
|
||||
@PostMapping("/compareFace")
|
||||
public SingleResponse<StudentSignCO> compareFace(@Validated StudentSignAddCmd cmd) {
|
||||
return studentSignService.add(cmd);
|
||||
}
|
||||
@ApiOperation("验证是否可签到")
|
||||
@PostMapping("/verify")
|
||||
public SingleResponse<StudentCO> verify(@RequestBody StudentSignVerifyQry qry) {
|
||||
return studentSignService.verify(qry);
|
||||
}
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<StudentSignCO> page(@RequestBody StudentSignPageQry qry) {
|
||||
return studentSignService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@PostMapping("/listAll")
|
||||
public MultiResponse<StudentSignCO> listAll(@RequestBody ClassAppSignQry qry) {
|
||||
return studentSignService.listAll(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<StudentSignCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(new StudentSignCO());
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
studentSignService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
studentSignService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("上传签到签字")
|
||||
@PostMapping("/uploadSignUrl")
|
||||
public SingleResponse edit(@Validated @RequestBody StudentSignUpdateCmd studentSignUpdateCmd) {
|
||||
studentSignService.edit(studentSignUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
package com.zcloud.edu.web.archives;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.api.study.ClassServiceI;
|
||||
import com.zcloud.edu.api.study.StudentServiceI;
|
||||
import com.zcloud.edu.dto.archives.ClassArchivesQry;
|
||||
import com.zcloud.edu.dto.clientobject.study.ClassCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.data.archives.ClassArchivesDTO;
|
||||
import com.zcloud.edu.dto.data.archives.PersonArchivesDTO;
|
||||
import com.zcloud.edu.dto.study.ClassPageQry;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @author zhangyue
|
||||
* @date 2026/1/26 15:08
|
||||
*/
|
||||
@Api(tags = "")
|
||||
@RequestMapping("/${application.gateway}/archives")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class ArchivesController {
|
||||
private final ClassServiceI classService;
|
||||
private final StudentServiceI studentService;
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<StudentCO> page(@RequestBody ClassPageQry qry) {
|
||||
return classService.listStudentClass(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("查询学时证明")
|
||||
@PostMapping("/getAttendanceRecord")
|
||||
public SingleResponse<PersonArchivesDTO> getAttendanceRecord(@RequestBody ClassArchivesQry qry) {
|
||||
return studentService.getAttendanceRecord(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("查询学习档案")
|
||||
@PostMapping("/getStudyArchives")
|
||||
public SingleResponse<PersonArchivesDTO> getStudyArchives(@RequestBody ClassArchivesQry qry) {
|
||||
return studentService.getStudyArchives(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("查询学习记录")
|
||||
@PostMapping("/getStudyRecord")
|
||||
public SingleResponse<PersonArchivesDTO> getStudyRecord(@RequestBody ClassArchivesQry qry) {
|
||||
return studentService.getStudyRecord(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("签字表")
|
||||
@PostMapping("/getClassSign")
|
||||
public SingleResponse<ClassArchivesDTO> getClassSign(@RequestBody ClassArchivesQry qry) {
|
||||
return studentService.getClassSign(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("学员考核成绩统计表")
|
||||
@PostMapping("/getClassExamResult")
|
||||
public SingleResponse<ClassArchivesDTO> getClassExamResult(@RequestBody ClassArchivesQry qry) {
|
||||
return studentService.getClassExamResult(qry);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
package com.zcloud.edu.web.archives;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.api.archives.ArchivesPdfFileServiceI;
|
||||
import com.zcloud.edu.dto.archives.ArchivesPdfFileAddCmd;
|
||||
import com.zcloud.edu.dto.archives.ArchivesPdfFilePageQry;
|
||||
import com.zcloud.edu.dto.archives.ArchivesPdfFileUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesPdfFileCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-02-02 10:32:41
|
||||
*/
|
||||
@Api(tags = "")
|
||||
@RequestMapping("/${application.gateway}/archivesPdfFile")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class ArchivesPdfFileController {
|
||||
private final ArchivesPdfFileServiceI archivesPdfFileService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<ArchivesPdfFileCO> add(@Validated @RequestBody ArchivesPdfFileAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return archivesPdfFileService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<ArchivesPdfFileCO> page(@RequestBody ArchivesPdfFilePageQry qry) {
|
||||
return archivesPdfFileService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<ArchivesPdfFileCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<ArchivesPdfFileCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<ArchivesPdfFileCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(new ArchivesPdfFileCO());
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
archivesPdfFileService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
archivesPdfFileService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody ArchivesPdfFileUpdateCmd archivesPdfFileUpdateCmd) {
|
||||
archivesPdfFileService.edit(archivesPdfFileUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
package com.zcloud.edu.web.archives;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.api.archives.ArchivesReviewServiceI;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewAddCmd;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewPageQry;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesReviewCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:34
|
||||
*/
|
||||
@Api(tags = "")
|
||||
@RequestMapping("/${application.gateway}/archivesReview")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewController {
|
||||
private final ArchivesReviewServiceI archivesReviewService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<ArchivesReviewCO> add(@Validated @RequestBody ArchivesReviewAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return archivesReviewService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<ArchivesReviewCO> page(@RequestBody ArchivesReviewPageQry qry) {
|
||||
return archivesReviewService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<ArchivesReviewCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<ArchivesReviewCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<ArchivesReviewCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return archivesReviewService.getInfoById(id);
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
archivesReviewService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
archivesReviewService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody ArchivesReviewUpdateCmd archivesReviewUpdateCmd) {
|
||||
archivesReviewService.edit(archivesReviewUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
package com.zcloud.edu.web.archives;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.jjb.saas.framework.sdk.http.annotation.request.Post;
|
||||
import com.zcloud.edu.api.archives.ArchivesReviewRecordServiceI;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewRecordAddCmd;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewRecordPageQry;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewRecordUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesReviewRecordCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:36
|
||||
*/
|
||||
@Api(tags = "")
|
||||
@RequestMapping("/${application.gateway}/archivesReviewRecord")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewRecordController {
|
||||
private final ArchivesReviewRecordServiceI archivesReviewRecordService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<ArchivesReviewRecordCO> add(@Validated @RequestBody ArchivesReviewRecordAddCmd cmd) {
|
||||
return archivesReviewRecordService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<ArchivesReviewRecordCO> page(@RequestBody ArchivesReviewRecordPageQry qry) {
|
||||
return archivesReviewRecordService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<ArchivesReviewRecordCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<ArchivesReviewRecordCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<ArchivesReviewRecordCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(new ArchivesReviewRecordCO());
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@PostMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
archivesReviewRecordService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
archivesReviewRecordService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody ArchivesReviewRecordUpdateCmd archivesReviewRecordUpdateCmd) {
|
||||
archivesReviewRecordService.edit(archivesReviewRecordUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ public class ExamPaperController {
|
|||
|
||||
@ApiOperation("新增试卷")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<ExamPaperCO> add(@Validated @RequestBody ExamPaperAddCmd cmd) {
|
||||
public SingleResponse<ExamPaperCO> add(@Validated ExamPaperAddCmd cmd) {
|
||||
return examPaperService.add(cmd);
|
||||
}
|
||||
@ApiOperation("新增继承试卷")
|
||||
|
|
|
|||
|
|
@ -7,12 +7,10 @@ import com.alibaba.cola.dto.Response;
|
|||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.api.study.ClassServiceI;
|
||||
import com.zcloud.edu.dto.clientobject.study.ClassCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.data.study.ClassCountDTO;
|
||||
import com.zcloud.edu.dto.data.study.ClassQuestionDTO;
|
||||
import com.zcloud.edu.dto.study.ClassAddCmd;
|
||||
import com.zcloud.edu.dto.study.ClassPageQry;
|
||||
import com.zcloud.edu.dto.study.ClassPostponeCmd;
|
||||
import com.zcloud.edu.dto.study.ClassUpdateCmd;
|
||||
import com.zcloud.edu.dto.study.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -72,6 +70,11 @@ public class ClassController {
|
|||
public MultiResponse<ClassCO> countClassStudent() {
|
||||
return MultiResponse.of(new ArrayList<ClassCO>());
|
||||
}
|
||||
@ApiOperation("统计人员班级数")
|
||||
@PostMapping("/countStuClass")
|
||||
public MultiResponse<StudentCO> countStuClass(@RequestBody ClassCountQry qry) {
|
||||
return classService.countStuClass(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
|
|
|
|||
|
|
@ -9,9 +9,7 @@ import com.jjb.saas.framework.auth.model.SSOUser;
|
|||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.api.study.ClassCurriculumServiceI;
|
||||
import com.zcloud.edu.dto.clientobject.study.ClassCurriculumCO;
|
||||
import com.zcloud.edu.dto.study.ClassCurriculumAddCmd;
|
||||
import com.zcloud.edu.dto.study.ClassCurriculumPageQry;
|
||||
import com.zcloud.edu.dto.study.ClassCurriculumUpdateCmd;
|
||||
import com.zcloud.edu.dto.study.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -41,6 +39,12 @@ public class ClassCurriculumController {
|
|||
return classCurriculumService.add(cmdList);
|
||||
}
|
||||
|
||||
@ApiOperation("批量新增")
|
||||
@PostMapping("/saveBatch")
|
||||
public Response batchAdd(@Validated @RequestBody ClassCurriculumBatchAddCmd cmd) {
|
||||
return classCurriculumService.batchAdd(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<ClassCurriculumCO> page(@RequestBody ClassCurriculumPageQry qry) {
|
||||
|
|
@ -48,9 +52,9 @@ public class ClassCurriculumController {
|
|||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<ClassCurriculumCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<ClassCurriculumCO>());
|
||||
@PostMapping("/listAll")
|
||||
public MultiResponse<ClassCurriculumCO> listAll(@RequestBody ClassCurriculumQry qry) {
|
||||
return classCurriculumService.listAll(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
|
|
|
|||
|
|
@ -59,11 +59,10 @@ public class ClassExamPaperController {
|
|||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<ClassExamPaperCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return classExamPaperService.getInfoById(id);
|
||||
@GetMapping("/getInfoByClassId/{classId}")
|
||||
public SingleResponse<ClassExamPaperCO> getInfoByClassId(@PathVariable("classId") String classId) {
|
||||
return classExamPaperService.getInfoByClassId(classId);
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import com.jjb.saas.framework.auth.utils.AuthContext;
|
|||
import com.zcloud.edu.api.study.StudentServiceI;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.study.StudentAddCmd;
|
||||
import com.zcloud.edu.dto.study.StudentCountQry;
|
||||
import com.zcloud.edu.dto.study.StudentPageQry;
|
||||
import com.zcloud.edu.dto.study.StudentUpdateCmd;
|
||||
import io.swagger.annotations.Api;
|
||||
|
|
@ -47,6 +48,11 @@ public class StudentController {
|
|||
public PageResponse<StudentCO> page(@RequestBody StudentPageQry qry) {
|
||||
return studentService.listPage(qry);
|
||||
}
|
||||
@ApiOperation("培训记录管理分页")
|
||||
@PostMapping("/listPageClassByStudent")
|
||||
public PageResponse<StudentCO> listPageClassByStudent(@RequestBody StudentPageQry qry) {
|
||||
return studentService.listPageClassByStudent(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
|
|
@ -54,12 +60,37 @@ public class StudentController {
|
|||
return MultiResponse.of(new ArrayList<StudentCO>());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ApiOperation("查询用户统计")
|
||||
@PostMapping("/listStudentCount")
|
||||
public MultiResponse<StudentCO> listStudentCount(@RequestBody StudentCountQry qry) {
|
||||
return studentService.listStudentCount(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<StudentCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(new StudentCO());
|
||||
}
|
||||
|
||||
@ApiOperation("查看学员详情")
|
||||
@GetMapping("/getInfoByStudentId/{studentId}")
|
||||
public SingleResponse<StudentCO> getInfoByStudentId(@PathVariable("studentId") String studentId) {
|
||||
return studentService.getInfoByStudentId(studentId);
|
||||
}
|
||||
@ApiOperation("班级内学员数")
|
||||
@GetMapping("/countStudent/{classId}")
|
||||
public SingleResponse<Long> countStudent(@PathVariable("classId") String classId) {
|
||||
return SingleResponse.of(studentService.countStudent(classId));
|
||||
}
|
||||
|
||||
@ApiOperation("根据企业统计学员")
|
||||
@PostMapping("/countStudentByCorpId")
|
||||
public MultiResponse<StudentCO> countStudentByCorpId(@RequestBody StudentCountQry qry) {
|
||||
return studentService.countStudentByCorpId(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@PostMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
|
|
|
|||
|
|
@ -58,6 +58,12 @@ public class StudentExamRecordController {
|
|||
return SingleResponse.of(new StudentExamRecordCO());
|
||||
}
|
||||
|
||||
@ApiOperation("查询考试记录")
|
||||
@GetMapping("/getInfoByStudentId/{studentId}")
|
||||
public SingleResponse<StudentExamRecordCO> getInfoByStudentId(@PathVariable("studentId") String studentId) {
|
||||
return studentExamRecordService.getInfoByStudentId(studentId);
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import com.jjb.saas.framework.auth.model.SSOUser;
|
|||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.api.study.StudentSignServiceI;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentSignCO;
|
||||
import com.zcloud.edu.dto.study.ClassAppSignQry;
|
||||
import com.zcloud.edu.dto.study.StudentSignAddCmd;
|
||||
import com.zcloud.edu.dto.study.StudentSignPageQry;
|
||||
import com.zcloud.edu.dto.study.StudentSignUpdateCmd;
|
||||
|
|
@ -47,9 +48,9 @@ public class StudentSignController {
|
|||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<StudentSignCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<StudentSignCO>());
|
||||
@PostMapping("/listAll")
|
||||
public MultiResponse<StudentSignCO> listAll(@RequestBody ClassAppSignQry qry) {
|
||||
return studentSignService.listAll(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
package com.zcloud.edu.command.archives;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.domain.gateway.archives.ArchivesPdfFileGateway;
|
||||
import com.zcloud.edu.domain.model.archives.ArchivesPdfFileE;
|
||||
import com.zcloud.edu.dto.archives.ArchivesPdfFileAddCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-02-02 10:32:41
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ArchivesPdfFileAddExe {
|
||||
private final ArchivesPdfFileGateway archivesPdfFileGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(ArchivesPdfFileAddCmd cmd) {
|
||||
ArchivesPdfFileE archivesPdfFileE = new ArchivesPdfFileE();
|
||||
BeanUtils.copyProperties(cmd, archivesPdfFileE);
|
||||
boolean res = false;
|
||||
try {
|
||||
res = archivesPdfFileGateway.add(archivesPdfFileE);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package com.zcloud.edu.command.archives;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.domain.gateway.archives.ArchivesPdfFileGateway;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-02-02 10:32:42
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ArchivesPdfFileRemoveExe {
|
||||
private final ArchivesPdfFileGateway archivesPdfFileGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long id) {
|
||||
boolean res = archivesPdfFileGateway.deletedArchivesPdfFileById(id);
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long[] ids) {
|
||||
boolean res = archivesPdfFileGateway.deletedArchivesPdfFileByIds(ids);
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.zcloud.edu.command.archives;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.domain.gateway.archives.ArchivesPdfFileGateway;
|
||||
import com.zcloud.edu.domain.model.archives.ArchivesPdfFileE;
|
||||
import com.zcloud.edu.dto.archives.ArchivesPdfFileUpdateCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-02-02 10:32:42
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ArchivesPdfFileUpdateExe {
|
||||
private final ArchivesPdfFileGateway archivesPdfFileGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(ArchivesPdfFileUpdateCmd archivesPdfFileUpdateCmd) {
|
||||
ArchivesPdfFileE archivesPdfFileE = new ArchivesPdfFileE();
|
||||
BeanUtils.copyProperties(archivesPdfFileUpdateCmd, archivesPdfFileE);
|
||||
boolean res = archivesPdfFileGateway.update(archivesPdfFileE);
|
||||
if (!res) {
|
||||
throw new BizException("修改失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
package com.zcloud.edu.command.archives;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.domain.gateway.archives.ArchivesReviewGateway;
|
||||
import com.zcloud.edu.domain.model.archives.ArchivesReviewE;
|
||||
import com.zcloud.edu.domain.model.archives.ArchivesReviewRecordE;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewAddCmd;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewRecordAddCmd;
|
||||
import com.zcloud.edu.persistence.dataobject.archives.ArchivesReviewRecordDO;
|
||||
import com.zcloud.edu.persistence.repository.archives.ArchivesReviewRecordRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:34
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewAddExe {
|
||||
private final ArchivesReviewGateway archivesReviewGateway;
|
||||
private final ArchivesReviewRecordRepository archivesReviewRecordRepository;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(ArchivesReviewAddCmd cmd) {
|
||||
ArchivesReviewE archivesReviewE = new ArchivesReviewE();
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
List<ArchivesReviewRecordAddCmd> archivesReviewRecordAddCmdList = cmd.getArchivesReviewRecordAddCmdList();
|
||||
BeanUtils.copyProperties(cmd, archivesReviewE);
|
||||
|
||||
archivesReviewE.init(ssoUser.getTenantId());
|
||||
boolean res = false;
|
||||
try {
|
||||
res = archivesReviewGateway.add(archivesReviewE);
|
||||
if (archivesReviewRecordAddCmdList != null && archivesReviewRecordAddCmdList.size() > 0){
|
||||
ArchivesReviewRecordE archivesReviewRecordE = new ArchivesReviewRecordE();
|
||||
List<ArchivesReviewRecordE> archivesReviewRecordEList = BeanUtil.copyToList(archivesReviewRecordAddCmdList, ArchivesReviewRecordE.class);
|
||||
archivesReviewRecordE.initList(archivesReviewRecordEList, archivesReviewE.getArchivesReviewId());
|
||||
archivesReviewRecordRepository.saveBatch(BeanUtil.copyToList(archivesReviewRecordEList, ArchivesReviewRecordDO.class));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package com.zcloud.edu.command.archives;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.domain.gateway.archives.ArchivesReviewRecordGateway;
|
||||
import com.zcloud.edu.domain.model.archives.ArchivesReviewRecordE;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewRecordAddCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:36
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewRecordAddExe {
|
||||
private final ArchivesReviewRecordGateway archivesReviewRecordGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(ArchivesReviewRecordAddCmd cmd) {
|
||||
ArchivesReviewRecordE archivesReviewRecordE = new ArchivesReviewRecordE();
|
||||
BeanUtils.copyProperties(cmd, archivesReviewRecordE);
|
||||
archivesReviewRecordE.init();
|
||||
boolean res = false;
|
||||
try {
|
||||
res = archivesReviewRecordGateway.add(archivesReviewRecordE);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package com.zcloud.edu.command.archives;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.domain.gateway.archives.ArchivesReviewRecordGateway;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:37
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewRecordRemoveExe {
|
||||
private final ArchivesReviewRecordGateway archivesReviewRecordGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long id) {
|
||||
boolean res = archivesReviewRecordGateway.deletedArchivesReviewRecordById(id);
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long[] ids) {
|
||||
boolean res = archivesReviewRecordGateway.deletedArchivesReviewRecordByIds(ids);
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.zcloud.edu.command.archives;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.domain.gateway.archives.ArchivesReviewRecordGateway;
|
||||
import com.zcloud.edu.domain.model.archives.ArchivesReviewRecordE;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewRecordUpdateCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:37
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewRecordUpdateExe {
|
||||
private final ArchivesReviewRecordGateway archivesReviewRecordGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(ArchivesReviewRecordUpdateCmd archivesReviewRecordUpdateCmd) {
|
||||
ArchivesReviewRecordE archivesReviewRecordE = new ArchivesReviewRecordE();
|
||||
BeanUtils.copyProperties(archivesReviewRecordUpdateCmd, archivesReviewRecordE);
|
||||
boolean res = archivesReviewRecordGateway.update(archivesReviewRecordE);
|
||||
if (!res) {
|
||||
throw new BizException("修改失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package com.zcloud.edu.command.archives;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.domain.gateway.archives.ArchivesReviewGateway;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:35
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewRemoveExe {
|
||||
private final ArchivesReviewGateway archivesReviewGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long id) {
|
||||
boolean res = archivesReviewGateway.deletedArchivesReviewById(id);
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long[] ids) {
|
||||
boolean res = archivesReviewGateway.deletedArchivesReviewByIds(ids);
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.zcloud.edu.command.archives;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.domain.gateway.archives.ArchivesReviewGateway;
|
||||
import com.zcloud.edu.domain.model.archives.ArchivesReviewE;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewUpdateCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:35
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewUpdateExe {
|
||||
private final ArchivesReviewGateway archivesReviewGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(ArchivesReviewUpdateCmd archivesReviewUpdateCmd) {
|
||||
ArchivesReviewE archivesReviewE = new ArchivesReviewE();
|
||||
BeanUtils.copyProperties(archivesReviewUpdateCmd, archivesReviewE);
|
||||
boolean res = archivesReviewGateway.update(archivesReviewE);
|
||||
if (!res) {
|
||||
throw new BizException("修改失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.zcloud.edu.command.convertor.archives;
|
||||
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesPdfFileCO;
|
||||
import com.zcloud.edu.persistence.dataobject.archives.ArchivesPdfFileDO;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-02-02 10:32:41
|
||||
*/
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface ArchivesPdfFileCoConvertor {
|
||||
/**
|
||||
* @param archivesPdfFileDOs
|
||||
* @return
|
||||
*/
|
||||
List<ArchivesPdfFileCO> converDOsToCOs(List<ArchivesPdfFileDO> archivesPdfFileDOs);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.zcloud.edu.command.convertor.archives;
|
||||
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesReviewCO;
|
||||
import com.zcloud.edu.persistence.dataobject.archives.ArchivesReviewDO;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:34
|
||||
*/
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface ArchivesReviewCoConvertor {
|
||||
/**
|
||||
* @param archivesReviewDOs
|
||||
* @return
|
||||
*/
|
||||
List<ArchivesReviewCO> converDOsToCOs(List<ArchivesReviewDO> archivesReviewDOs);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.zcloud.edu.command.convertor.archives;
|
||||
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesReviewRecordCO;
|
||||
import com.zcloud.edu.persistence.dataobject.archives.ArchivesReviewRecordDO;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:36
|
||||
*/
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface ArchivesReviewRecordCoConvertor {
|
||||
/**
|
||||
* @param archivesReviewRecordDOs
|
||||
* @return
|
||||
*/
|
||||
List<ArchivesReviewRecordCO> converDOsToCOs(List<ArchivesReviewRecordDO> archivesReviewRecordDOs);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
package com.zcloud.edu.command.query.archives;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.zcloud.edu.command.convertor.archives.ArchivesPdfFileCoConvertor;
|
||||
import com.zcloud.edu.dto.archives.ArchivesPdfFilePageQry;
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesPdfFileCO;
|
||||
import com.zcloud.edu.persistence.dataobject.archives.ArchivesPdfFileDO;
|
||||
import com.zcloud.edu.persistence.repository.archives.ArchivesPdfFileRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-02-02 10:32:42
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ArchivesPdfFileQueryExe {
|
||||
private final ArchivesPdfFileRepository archivesPdfFileRepository;
|
||||
private final ArchivesPdfFileCoConvertor archivesPdfFileCoConvertor;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*
|
||||
* @param archivesPdfFilePageQry
|
||||
* @return
|
||||
*/
|
||||
public PageResponse<ArchivesPdfFileCO> execute(ArchivesPdfFilePageQry archivesPdfFilePageQry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(archivesPdfFilePageQry);
|
||||
PageResponse<ArchivesPdfFileDO> pageResponse = archivesPdfFileRepository.listPage(params);
|
||||
List<ArchivesPdfFileCO> examCenterCOS = archivesPdfFileCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
package com.zcloud.edu.command.query.archives;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.command.convertor.archives.ArchivesReviewCoConvertor;
|
||||
import com.zcloud.edu.command.convertor.archives.ArchivesReviewRecordCoConvertor;
|
||||
import com.zcloud.edu.domain.model.archives.ArchivesReviewE;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewPageQry;
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesReviewCO;
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesReviewRecordCO;
|
||||
import com.zcloud.edu.persistence.dataobject.archives.ArchivesReviewDO;
|
||||
import com.zcloud.edu.persistence.dataobject.archives.ArchivesReviewRecordDO;
|
||||
import com.zcloud.edu.persistence.repository.archives.ArchivesReviewRecordRepository;
|
||||
import com.zcloud.edu.persistence.repository.archives.ArchivesReviewRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:35
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewQueryExe {
|
||||
private final ArchivesReviewRepository archivesReviewRepository;
|
||||
private final ArchivesReviewCoConvertor archivesReviewCoConvertor;
|
||||
private final ArchivesReviewRecordRepository archivesReviewRecordRepository;
|
||||
private final ArchivesReviewRecordCoConvertor archivesReviewRecordCoConvertor;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*
|
||||
* @param archivesReviewPageQry
|
||||
* @return
|
||||
*/
|
||||
public PageResponse<ArchivesReviewCO> execute(ArchivesReviewPageQry archivesReviewPageQry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(archivesReviewPageQry);
|
||||
PageResponse<ArchivesReviewDO> pageResponse = archivesReviewRepository.listPage(params);
|
||||
List<ArchivesReviewCO> examCenterCOS = archivesReviewCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
public SingleResponse<ArchivesReviewCO> executeGetInfoById(Long id) {
|
||||
|
||||
ArchivesReviewE archivesReviewE = new ArchivesReviewE();
|
||||
|
||||
ArchivesReviewDO archivesReviewDO = archivesReviewRepository.getInfoById(id);
|
||||
BeanUtils.copyProperties(archivesReviewDO, archivesReviewE);
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
archivesReviewE.initInfo(ssoUser.getTenantName());
|
||||
BeanUtils.copyProperties(archivesReviewE, archivesReviewDO);
|
||||
ArchivesReviewCO archivesReviewCO = new ArchivesReviewCO();
|
||||
BeanUtils.copyProperties(archivesReviewDO, archivesReviewCO);
|
||||
|
||||
List<ArchivesReviewRecordDO> arrList =archivesReviewRecordRepository.listByReviewId(archivesReviewDO.getArchivesReviewId());
|
||||
List<ArchivesReviewRecordCO> recordList = archivesReviewRecordCoConvertor.converDOsToCOs(arrList);
|
||||
archivesReviewCO.setArchivesReviewRecordList(recordList);
|
||||
return SingleResponse.of(archivesReviewCO);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
package com.zcloud.edu.command.query.archives;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.zcloud.edu.command.convertor.archives.ArchivesReviewRecordCoConvertor;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewRecordPageQry;
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesReviewRecordCO;
|
||||
import com.zcloud.edu.persistence.dataobject.archives.ArchivesReviewRecordDO;
|
||||
import com.zcloud.edu.persistence.repository.archives.ArchivesReviewRecordRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:37
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewRecordQueryExe {
|
||||
private final ArchivesReviewRecordRepository archivesReviewRecordRepository;
|
||||
private final ArchivesReviewRecordCoConvertor archivesReviewRecordCoConvertor;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*
|
||||
* @param archivesReviewRecordPageQry
|
||||
* @return
|
||||
*/
|
||||
public PageResponse<ArchivesReviewRecordCO> execute(ArchivesReviewRecordPageQry archivesReviewRecordPageQry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(archivesReviewRecordPageQry);
|
||||
PageResponse<ArchivesReviewRecordDO> pageResponse = archivesReviewRecordRepository.listPage(params);
|
||||
List<ArchivesReviewRecordCO> examCenterCOS = archivesReviewRecordCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2,6 +2,7 @@ package com.zcloud.edu.command.query.resource;
|
|||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.command.convertor.resource.ExamPaperCoConvertor;
|
||||
import com.zcloud.edu.command.convertor.resource.QuestionCoConvertor;
|
||||
|
|
@ -84,7 +85,7 @@ public class ExamPaperQueryExe {
|
|||
public ExamPaperCO getInfoById(Long id) {
|
||||
ExamPaperDO examPaperDO =examPaperRepository.getInfoById(id);
|
||||
if(examPaperDO==null){
|
||||
throw new RuntimeException("试卷不存在");
|
||||
throw new BizException("试卷不存在");
|
||||
}
|
||||
ExamPaperCO examPaperCO =new ExamPaperCO();
|
||||
BeanUtil.copyProperties(examPaperDO,examPaperCO);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.zcloud.edu.command.query.study;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.command.convertor.study.ClassCurriculumChapterCoConvertor;
|
||||
|
|
@ -8,6 +9,7 @@ import com.zcloud.edu.domain.gateway.study.ClassCurriculumChapterGateway;
|
|||
import com.zcloud.edu.dto.clientobject.study.ClassCurriculumCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.ClassCurriculumChapterCO;
|
||||
import com.zcloud.edu.dto.study.ClassCurriculumPageQry;
|
||||
import com.zcloud.edu.dto.study.ClassCurriculumQry;
|
||||
import com.zcloud.edu.persistence.dataobject.study.ClassCurriculumChapterDO;
|
||||
import com.zcloud.edu.persistence.dataobject.study.ClassCurriculumDO;
|
||||
import com.zcloud.edu.persistence.repository.study.ClassCurriculumChapterRepository;
|
||||
|
|
@ -21,6 +23,7 @@ import org.springframework.util.ObjectUtils;
|
|||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -57,15 +60,31 @@ public class ClassCurriculumQueryExe {
|
|||
*/
|
||||
public SingleResponse<ClassCurriculumCO> executeGetInfoById(Long id) {
|
||||
ClassCurriculumDO classCurriculumDO = classCurriculumRepository.getInfoById(id);
|
||||
List<ClassCurriculumChapterDO> classCurriculumChapterDOList = classCurriculumChapterRepository.listByCurriculumId(classCurriculumDO.getClassCurriculumId());
|
||||
List<ClassCurriculumChapterDO> classCurriculumChapterDOList = classCurriculumChapterRepository.listByClassCurriculumId(classCurriculumDO.getClassCurriculumId());
|
||||
ClassCurriculumCO classCurriculumCO = new ClassCurriculumCO();
|
||||
BeanUtils.copyProperties(classCurriculumDO, classCurriculumCO);
|
||||
List<ClassCurriculumChapterCO> classCurriculumChapterCOList = classCurriculumChapterCoConvertor.converDOsToCOs(classCurriculumChapterDOList);
|
||||
long videoCount = classCurriculumChapterCOList.stream().filter(bean -> !ObjectUtils.isEmpty(bean.getVideoCoursewareId())).count();
|
||||
Tools.buildEntityTree(classCurriculumChapterCOList, "curriculumChapterId", "parentId", "children", "0");
|
||||
classCurriculumCO.setChapterList(classCurriculumChapterCOList);
|
||||
List<ClassCurriculumChapterCO> resultList = Tools.buildEntityTree(classCurriculumChapterCOList, "classCurriculumChapterId", "parentId", "childCurriculumChapterCOList", "0");
|
||||
classCurriculumCO.setCurriculumChapterCOList(resultList);
|
||||
classCurriculumCO.setVideoCount(videoCount);
|
||||
return SingleResponse.of(classCurriculumCO);
|
||||
}
|
||||
|
||||
public MultiResponse<ClassCurriculumCO> executeListAll(ClassCurriculumQry qry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||
List<ClassCurriculumDO> curList = classCurriculumRepository.listAll(params);
|
||||
List<String> classCurriculumIds = curList.stream().map(ClassCurriculumDO::getClassCurriculumId).collect(Collectors.toList());
|
||||
List<ClassCurriculumChapterDO> chapterList = classCurriculumChapterRepository.listByClassCurriculumIds(classCurriculumIds);
|
||||
List<ClassCurriculumChapterCO> chapterCoList = classCurriculumChapterCoConvertor.converDOsToCOs(chapterList);
|
||||
List<ClassCurriculumChapterCO> resultList = Tools.buildEntityTree(chapterCoList, "classCurriculumChapterId", "parentId", "childCurriculumChapterCOList", "0");
|
||||
|
||||
Map<String, List<ClassCurriculumChapterCO>> chapterMap = resultList.stream().collect(Collectors.groupingBy(ClassCurriculumChapterCO::getClassCurriculumId));
|
||||
List<ClassCurriculumCO> curriculumList = classCurriculumCoConvertor.converDOsToCOs(curList);
|
||||
curriculumList.stream().forEach(bean -> {
|
||||
bean.setCurriculumChapterCOList(chapterMap.get(bean.getClassCurriculumId()));
|
||||
});
|
||||
return MultiResponse.of(curriculumList);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,22 @@
|
|||
package com.zcloud.edu.command.query.study;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.command.convertor.study.ClassExamPaperCoConvertor;
|
||||
import com.zcloud.edu.dto.clientobject.resource.QuestionCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.ClassExamPaperCO;
|
||||
import com.zcloud.edu.dto.study.ClassExamPaperPageQry;
|
||||
import com.zcloud.edu.persistence.dataobject.QuestionDO;
|
||||
import com.zcloud.edu.persistence.dataobject.study.ClassExamPaperDO;
|
||||
import com.zcloud.edu.persistence.repository.resource.QuestionRepository;
|
||||
import com.zcloud.edu.persistence.repository.study.ClassExamPaperRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -27,6 +32,7 @@ import java.util.Map;
|
|||
public class ClassExamPaperQueryExe {
|
||||
private final ClassExamPaperRepository classExamPaperRepository;
|
||||
private final ClassExamPaperCoConvertor classExamPaperCoConvertor;
|
||||
private final QuestionRepository questionRepository;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
|
|
@ -52,5 +58,19 @@ public class ClassExamPaperQueryExe {
|
|||
BeanUtils.copyProperties(classExamPaperDO, classExamPaperCO);
|
||||
return SingleResponse.of(classExamPaperCO);
|
||||
}
|
||||
/**
|
||||
* 详情
|
||||
* @param classId
|
||||
* @return
|
||||
*/
|
||||
public SingleResponse<ClassExamPaperCO> executeGetInfoByClassId(String classId) {
|
||||
ClassExamPaperDO classExamPaperDO = classExamPaperRepository.findByClassId(classId);
|
||||
List<QuestionDO> questionDOList = questionRepository.getInfoByExamPaperId(classExamPaperDO.getExamPaperId());
|
||||
List<QuestionCO> questionCOList = BeanUtil.copyToList(questionDOList, QuestionCO.class);
|
||||
ClassExamPaperCO classExamPaperCO = new ClassExamPaperCO();
|
||||
BeanUtils.copyProperties(classExamPaperDO, classExamPaperCO);
|
||||
classExamPaperCO.setQuestionList(questionCOList);
|
||||
return SingleResponse.of(classExamPaperCO);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,21 @@
|
|||
package com.zcloud.edu.command.query.study;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.command.convertor.study.ClassCoConvertor;
|
||||
import com.zcloud.edu.command.convertor.study.StudentCoConvertor;
|
||||
import com.zcloud.edu.dto.clientobject.study.ClassCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.data.study.ClassCountDTO;
|
||||
import com.zcloud.edu.dto.data.study.ClassQuestionDTO;
|
||||
import com.zcloud.edu.dto.study.ClassCountQry;
|
||||
import com.zcloud.edu.dto.study.ClassPageQry;
|
||||
import com.zcloud.edu.persistence.dataobject.study.ClassDO;
|
||||
import com.zcloud.edu.persistence.dataobject.study.StudentDO;
|
||||
import com.zcloud.edu.persistence.mapper.po.study.ClassQuestionPO;
|
||||
import com.zcloud.edu.persistence.mapper.po.study.StudentCountPO;
|
||||
import com.zcloud.edu.persistence.repository.study.ClassRepository;
|
||||
|
|
@ -37,6 +43,7 @@ public class ClassQueryExe {
|
|||
private final ClassRepository classRepository;
|
||||
private final ClassCoConvertor classCoConvertor;
|
||||
private final StudentRepository studentRepository;
|
||||
private final StudentCoConvertor studentCoConvertor;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
|
|
@ -124,5 +131,19 @@ public class ClassQueryExe {
|
|||
BeanUtils.copyProperties(classDO, classCO);
|
||||
return SingleResponse.of(classCO);
|
||||
}
|
||||
|
||||
public MultiResponse<StudentCO> executeCountStuClass(ClassCountQry qry){
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||
List<StudentDO> studentDOList = studentRepository.countStuClass(params);
|
||||
List<StudentCO> studentCOList = BeanUtil.copyToList(studentDOList, StudentCO.class);
|
||||
return MultiResponse.of(studentCOList);
|
||||
}
|
||||
public PageResponse<StudentCO> executeListStudentClass(ClassPageQry classPageQry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(classPageQry);
|
||||
PageResponse<StudentDO> pageResponse = classRepository.listStudentClassPage(params);
|
||||
List<StudentCO> examCenterCOS = studentCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,19 @@
|
|||
package com.zcloud.edu.command.query.study;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.command.convertor.study.StudentExamRecordCoConvertor;
|
||||
import com.zcloud.edu.command.convertor.study.StudentExamRecordItemCoConvertor;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentExamRecordCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentExamRecordItemCO;
|
||||
import com.zcloud.edu.dto.study.StudentExamRecordPageQry;
|
||||
import com.zcloud.edu.persistence.dataobject.study.StudentExamRecordDO;
|
||||
import com.zcloud.edu.persistence.dataobject.study.StudentExamRecordItemDO;
|
||||
import com.zcloud.edu.persistence.repository.study.StudentExamRecordItemRepository;
|
||||
import com.zcloud.edu.persistence.repository.study.StudentExamRecordRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -25,6 +31,8 @@ import java.util.Map;
|
|||
public class StudentExamRecordQueryExe {
|
||||
private final StudentExamRecordRepository studentExamRecordRepository;
|
||||
private final StudentExamRecordCoConvertor studentExamRecordCoConvertor;
|
||||
private final StudentExamRecordItemRepository studentExamRecordItemRepository;
|
||||
private final StudentExamRecordItemCoConvertor studentExamRecordItemCoConvertor;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
|
|
@ -38,5 +46,24 @@ public class StudentExamRecordQueryExe {
|
|||
List<StudentExamRecordCO> examCenterCOS = studentExamRecordCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
public SingleResponse<StudentExamRecordCO> executeGetInfoByStudentId(String studentId){
|
||||
StudentExamRecordDO studentExamRecordDO = studentExamRecordRepository.getInfoByStudentId(studentId);
|
||||
StudentExamRecordCO studentExamRecordCO = new StudentExamRecordCO();
|
||||
BeanUtils.copyProperties(studentExamRecordDO, studentExamRecordCO);
|
||||
List<StudentExamRecordItemDO> recordList = studentExamRecordItemRepository.listByExamRecordId(studentExamRecordDO.getStudentExamRecordId());
|
||||
List<StudentExamRecordItemCO> recordCoList = studentExamRecordItemCoConvertor.converDOsToCOs(recordList);
|
||||
studentExamRecordCO.setExamRecordItemList(recordCoList);
|
||||
return SingleResponse.of(studentExamRecordCO);
|
||||
}
|
||||
public SingleResponse<StudentExamRecordCO> executeGetInfoById(Long id){
|
||||
StudentExamRecordDO studentExamRecordDO = studentExamRecordRepository.getInfoById(id);
|
||||
StudentExamRecordCO studentExamRecordCO = new StudentExamRecordCO();
|
||||
BeanUtils.copyProperties(studentExamRecordDO, studentExamRecordCO);
|
||||
List<StudentExamRecordItemDO> recordList = studentExamRecordItemRepository.listByExamRecordId(studentExamRecordDO.getStudentExamRecordId());
|
||||
List<StudentExamRecordItemCO> recordCoList = studentExamRecordItemCoConvertor.converDOsToCOs(recordList);
|
||||
studentExamRecordCO.setExamRecordItemList(recordCoList);
|
||||
return SingleResponse.of(studentExamRecordCO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,29 @@
|
|||
package com.zcloud.edu.command.query.study;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.command.convertor.study.StudentCoConvertor;
|
||||
import com.zcloud.edu.domain.model.archives.ClassArchivesE;
|
||||
import com.zcloud.edu.domain.model.archives.PersonArchivesE;
|
||||
import com.zcloud.edu.domain.model.study.*;
|
||||
import com.zcloud.edu.dto.archives.ClassArchivesQry;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentSignCO;
|
||||
import com.zcloud.edu.dto.data.archives.ClassArchivesDTO;
|
||||
import com.zcloud.edu.dto.data.archives.PersonArchivesDTO;
|
||||
import com.zcloud.edu.dto.study.StudentCountQry;
|
||||
import com.zcloud.edu.dto.study.StudentPageQry;
|
||||
import com.zcloud.edu.persistence.dataobject.study.StudentDO;
|
||||
import com.zcloud.edu.persistence.repository.study.StudentRepository;
|
||||
import com.zcloud.edu.persistence.dataobject.study.*;
|
||||
import com.zcloud.edu.persistence.repository.study.*;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -25,6 +39,10 @@ import java.util.Map;
|
|||
public class StudentQueryExe {
|
||||
private final StudentRepository studentRepository;
|
||||
private final StudentCoConvertor studentCoConvertor;
|
||||
private final ClassRepository classRepository;
|
||||
private final ClassCurriculumRepository classCurriculumRepository;
|
||||
private final ClassCurriculumChapterRepository classCurriculumChapterRepository;
|
||||
private final StudentSignRepository studentSignRepository;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
|
|
@ -38,5 +56,184 @@ public class StudentQueryExe {
|
|||
List<StudentCO> examCenterCOS = studentCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
public PageResponse<StudentCO> executelistPageClassByStudent(StudentPageQry studentPageQry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(studentPageQry);
|
||||
PageResponse<StudentDO> pageResponse = studentRepository.listPageClassByStudent(params);
|
||||
List<StudentCO> examCenterCOS = studentCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
public SingleResponse<PersonArchivesDTO> executeAttendanceRecord(ClassArchivesQry qry){
|
||||
StudentDO studentDO = studentRepository.getById(qry.getStuId());
|
||||
StudentE studentE = new StudentE();
|
||||
BeanUtils.copyProperties(studentDO, studentE);
|
||||
ClassDO classDO = classRepository.getByClassId(studentDO.getClassId());
|
||||
ClassE classE = new ClassE();
|
||||
BeanUtils.copyProperties(classDO, classE);
|
||||
HashMap<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("classId", studentDO.getClassId());
|
||||
// 课程信息
|
||||
List<ClassCurriculumDO> curEList = classCurriculumRepository.listAll(params);
|
||||
List<ClassCurriculumE> classCurList = BeanUtil.copyToList(curEList, ClassCurriculumE.class);
|
||||
|
||||
// 课件信息
|
||||
List<ClassCurriculumChapterDO> classChapterList = classCurriculumChapterRepository.listVideoByClassId(classE.getClassId());
|
||||
List<ClassCurriculumChapterE> classChapterEList = BeanUtil.copyToList(classChapterList, ClassCurriculumChapterE.class);
|
||||
|
||||
|
||||
PersonArchivesE personArchivesE = new PersonArchivesE();
|
||||
personArchivesE.initAttendanceRecord(studentE, classE, classChapterEList, classCurList);
|
||||
PersonArchivesDTO personArchivesDTO = new PersonArchivesDTO();
|
||||
BeanUtils.copyProperties(personArchivesE, personArchivesDTO);
|
||||
return SingleResponse.of(personArchivesDTO);
|
||||
}
|
||||
|
||||
public SingleResponse<PersonArchivesDTO> executeStudyArchives(ClassArchivesQry qry){
|
||||
// 学员信息
|
||||
StudentDO studentDO = studentRepository.getById(qry.getStuId());
|
||||
StudentDO studentUrl = studentRepository.findFaceUrlByPhone(studentDO.getPhone());
|
||||
StudentE studentE = new StudentE();
|
||||
studentE.setUserAvatarUrl(studentUrl.getUserAvatarUrl());
|
||||
BeanUtils.copyProperties(studentDO, studentE);
|
||||
// 班级信息
|
||||
ClassDO classDO = classRepository.getByClassId(studentDO.getClassId());
|
||||
ClassE classE = new ClassE();
|
||||
BeanUtils.copyProperties(classDO, classE);
|
||||
HashMap<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("classId", studentDO.getClassId());
|
||||
// 课程信息
|
||||
List<ClassCurriculumDO> curEList = classCurriculumRepository.listAll(params);
|
||||
List<ClassCurriculumE> classCurList = BeanUtil.copyToList(curEList, ClassCurriculumE.class);
|
||||
|
||||
PersonArchivesE personArchivesE = new PersonArchivesE();
|
||||
personArchivesE.init(studentE, classE, classCurList);
|
||||
|
||||
|
||||
PersonArchivesDTO personArchivesDTO = new PersonArchivesDTO();
|
||||
BeanUtils.copyProperties(personArchivesE, personArchivesDTO);
|
||||
|
||||
return SingleResponse.of(personArchivesDTO);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public SingleResponse<PersonArchivesDTO> executeStudyRecord(ClassArchivesQry qry){
|
||||
StudentDO studentDO = studentRepository.getById(qry.getStuId());
|
||||
StudentE studentE = new StudentE();
|
||||
BeanUtils.copyProperties(studentDO, studentE);
|
||||
ClassDO classDO = classRepository.getByClassId(studentDO.getClassId());
|
||||
ClassE classE = new ClassE();
|
||||
BeanUtils.copyProperties(classDO, classE);
|
||||
HashMap<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("classId", studentDO.getClassId());
|
||||
// 课程信息
|
||||
List<ClassCurriculumDO> curEList = classCurriculumRepository.listAll(params);
|
||||
List<ClassCurriculumE> classCurList = BeanUtil.copyToList(curEList, ClassCurriculumE.class);
|
||||
|
||||
// 签到照片
|
||||
params.put("studentId", studentDO.getStudentId());
|
||||
List<StudentSignDO> studentSignList = studentSignRepository.listAllByStudentId(params);
|
||||
List<StudentSignE> studentSignEList = BeanUtil.copyToList(studentSignList, StudentSignE.class);
|
||||
|
||||
|
||||
PersonArchivesE personArchivesE = new PersonArchivesE();
|
||||
personArchivesE.initStudyRecord(studentE, classE, studentSignEList, classCurList);
|
||||
PersonArchivesDTO personArchivesDTO = new PersonArchivesDTO();
|
||||
BeanUtils.copyProperties(personArchivesE, personArchivesDTO);
|
||||
return SingleResponse.of(personArchivesDTO);
|
||||
}
|
||||
|
||||
public SingleResponse<ClassArchivesDTO> executeGetClassSign(ClassArchivesQry qry){
|
||||
ClassDO classDO = classRepository.getByClassId(qry.getClassId());
|
||||
ClassE classE = new ClassE();
|
||||
long stuCount = studentRepository.countByClassId(qry.getClassId());
|
||||
BeanUtils.copyProperties(classDO, classE);
|
||||
HashMap<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("classId", qry.getClassId());
|
||||
|
||||
// 课程信息
|
||||
List<ClassCurriculumDO> curEList = classCurriculumRepository.listAll(params);
|
||||
List<ClassCurriculumE> classCurList = BeanUtil.copyToList(curEList, ClassCurriculumE.class);
|
||||
|
||||
List<StudentSignDO> studentSignList = studentSignRepository.listAll(params);
|
||||
ClassArchivesE classArchivesE = new ClassArchivesE();
|
||||
classArchivesE.initClassSign(classE, stuCount, classCurList);
|
||||
ClassArchivesDTO classArchivesDTO = new ClassArchivesDTO();
|
||||
BeanUtils.copyProperties(classArchivesE, classArchivesDTO);
|
||||
classArchivesDTO.setSignList(BeanUtil.copyToList(studentSignList, StudentSignCO.class));
|
||||
return SingleResponse.of(classArchivesDTO);
|
||||
}
|
||||
|
||||
|
||||
public Long executeCountStudent(String classId){
|
||||
return studentRepository.countByClassId(classId);
|
||||
|
||||
}
|
||||
|
||||
public SingleResponse<ClassArchivesDTO> executeGetClassExamResult(ClassArchivesQry qry){
|
||||
// 班级信息
|
||||
ClassDO classDO = classRepository.getByClassId(qry.getClassId());
|
||||
ClassE classE = new ClassE();
|
||||
BeanUtils.copyProperties(classDO, classE);
|
||||
|
||||
HashMap<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("classId", qry.getClassId());
|
||||
|
||||
// 学员总数
|
||||
List<StudentDO> stuList = studentRepository.listAll(params);
|
||||
List<StudentCO> stuCOList = BeanUtil.copyToList(stuList, StudentCO.class);
|
||||
|
||||
// // 课程信息
|
||||
// List<ClassCurriculumDO> curEList = classCurriculumRepository.listAll(params);
|
||||
// List<ClassCurriculumE> classCurList = BeanUtil.copyToList(curEList, ClassCurriculumE.class);
|
||||
|
||||
// 签到人员数量
|
||||
params.put("type",1);
|
||||
List<StudentSignDO> studentSignList = studentSignRepository.listAll(params);
|
||||
ClassArchivesE classArchivesE = new ClassArchivesE();
|
||||
|
||||
// 整理数据
|
||||
classArchivesE.initClassExamResult(classE, stuList.size(), studentSignList.size());
|
||||
ClassArchivesDTO classArchivesDTO = new ClassArchivesDTO();
|
||||
BeanUtils.copyProperties(classArchivesE, classArchivesDTO);
|
||||
// 获取通过和未通过学员
|
||||
List<StudentCO> passStudentList = new ArrayList<StudentCO>();
|
||||
List<StudentCO> failStudentList = new ArrayList<StudentCO>();
|
||||
stuCOList.forEach(stu -> {
|
||||
if (stu.getState() == 0){
|
||||
failStudentList.add(stu);
|
||||
}
|
||||
if (stu.getState() == 1){
|
||||
passStudentList.add(stu);
|
||||
}
|
||||
});
|
||||
classArchivesDTO.setPassStudentList(passStudentList);
|
||||
classArchivesDTO.setFailStudentList(failStudentList);
|
||||
return SingleResponse.of(classArchivesDTO);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public MultiResponse<StudentCO> executeCountStudentByCorpId(StudentCountQry qry){
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||
List<StudentDO> studentDOList = studentRepository.countStudentByCorpId(params);
|
||||
List<StudentCO> studentCOList = BeanUtil.copyToList(studentDOList, StudentCO.class);
|
||||
return MultiResponse.of(studentCOList);
|
||||
}
|
||||
public MultiResponse<StudentCO> executeListStudentCount(StudentCountQry qry){
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||
List<StudentDO> studentDOList = studentRepository.listStudentCount(params);
|
||||
List<StudentCO> studentCOList = BeanUtil.copyToList(studentDOList, StudentCO.class);
|
||||
return MultiResponse.of(studentCOList);
|
||||
}
|
||||
|
||||
public SingleResponse<StudentCO> executeGetInfoByStudentId(String studentId){
|
||||
StudentDO studentDO = studentRepository.findInfoByStudentId(studentId);
|
||||
StudentCO studentCO = BeanUtil.copyProperties(studentDO, StudentCO.class);
|
||||
return SingleResponse.of(studentCO);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,33 @@
|
|||
package com.zcloud.edu.command.query.study;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.command.convertor.study.StudentSignCoConvertor;
|
||||
import com.zcloud.edu.domain.model.study.ClassE;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentSignCO;
|
||||
import com.zcloud.edu.dto.study.ClassAppSignQry;
|
||||
import com.zcloud.edu.dto.study.StudentSignPageQry;
|
||||
import com.zcloud.edu.dto.study.StudentSignVerifyQry;
|
||||
import com.zcloud.edu.persistence.dataobject.study.ClassDO;
|
||||
import com.zcloud.edu.persistence.dataobject.study.StudentDO;
|
||||
import com.zcloud.edu.persistence.dataobject.study.StudentExamRecordDO;
|
||||
import com.zcloud.edu.persistence.dataobject.study.StudentSignDO;
|
||||
import com.zcloud.edu.persistence.repository.study.ClassRepository;
|
||||
import com.zcloud.edu.persistence.repository.study.StudentExamRecordRepository;
|
||||
import com.zcloud.edu.persistence.repository.study.StudentRepository;
|
||||
import com.zcloud.edu.persistence.repository.study.StudentSignRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.security.core.parameters.P;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -25,6 +43,9 @@ import java.util.Map;
|
|||
public class StudentSignQueryExe {
|
||||
private final StudentSignRepository studentSignRepository;
|
||||
private final StudentSignCoConvertor studentSignCoConvertor;
|
||||
private final ClassRepository classRepository;
|
||||
private final StudentRepository studentRepository;
|
||||
private final StudentExamRecordRepository studentExamRecordRepository;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
|
|
@ -38,5 +59,44 @@ public class StudentSignQueryExe {
|
|||
List<StudentSignCO> examCenterCOS = studentSignCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
public MultiResponse<StudentSignCO> executeListAll(ClassAppSignQry qry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||
List<StudentSignDO> list = studentSignRepository.listAll(params);
|
||||
List<StudentSignCO> studentSignCOS = studentSignCoConvertor.converDOsToCOs(list);
|
||||
return MultiResponse.of(studentSignCOS);
|
||||
}
|
||||
|
||||
|
||||
public SingleResponse<StudentCO> executeVerify(StudentSignVerifyQry qry) {
|
||||
ClassDO classDO = classRepository.getByClassId(qry.getClassId());
|
||||
ClassE classE = new ClassE();
|
||||
BeanUtils.copyProperties(classDO, classE);
|
||||
classE.isBegin();
|
||||
StudentDO studentDO = studentRepository.findByClassIdAndPhone(classDO.getClassId(), qry.getPhone());
|
||||
if (studentDO == null){
|
||||
throw new BizException("您不在此班级中");
|
||||
}
|
||||
if(studentDO.getState() == 1){
|
||||
throw new BizException("您已经完成此班级的学习");
|
||||
}
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("studentId", studentDO.getStudentId());
|
||||
params.put("type", qry.getType());
|
||||
if (qry.getType() == 1){
|
||||
List<StudentSignDO> list = studentSignRepository.listAllByStudentId(params);
|
||||
if (list != null && list.size() > 0){
|
||||
throw new BizException("您已签到");
|
||||
}
|
||||
} else if (qry.getType() == 2){
|
||||
List<StudentExamRecordDO> list = studentExamRecordRepository.listAllByStudentId(studentDO.getStudentId());
|
||||
if (list != null && list.size() == classDO.getNumberofexams()){
|
||||
throw new BizException("您已经没有考试次数");
|
||||
}
|
||||
}
|
||||
StudentCO studentCO = new StudentCO();
|
||||
BeanUtils.copyProperties(studentDO, studentCO);
|
||||
return SingleResponse.of(studentCO);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.zcloud.edu.command.resource;
|
|||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.command.convertor.resource.QuestionCoConvertor;
|
||||
import com.zcloud.edu.domain.enums.CoursewareTypeEnum;
|
||||
import com.zcloud.edu.domain.gateway.resource.ExamPaperGateway;
|
||||
|
|
@ -12,6 +13,7 @@ import com.zcloud.edu.dto.resource.ExamPaperAddInheritCmd;
|
|||
import com.zcloud.edu.dto.resource.QuestionAddInheritCmd;
|
||||
import com.zcloud.edu.persistence.dataobject.QuestionDO;
|
||||
import com.zcloud.edu.persistence.repository.resource.QuestionRepository;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
@ -87,6 +89,9 @@ public class ExamPaperAddExe {
|
|||
List<QuestionE> questionES =questionCoConvertor.converCmdsToEs(questionList);
|
||||
questionES.forEach(info->{
|
||||
info.setExamPaperId(examPaperE.getExamPaperId());
|
||||
info.setQuestionId(Tools.get32UUID());
|
||||
info.setCorpinfoId(AuthContext.getTenantId());
|
||||
info.setId(null);
|
||||
});
|
||||
BigDecimal examScore = questionES.stream().map(QuestionE::getScore).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
//判断总分数量是否一致
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public class ExamPaperRemoveExe {
|
|||
public boolean execute(Long id) {
|
||||
ExamPaperDO examPaperDO = examPaperRepository.getById(id);
|
||||
if(examPaperDO==null){
|
||||
throw new RuntimeException("试卷不存在");
|
||||
throw new BizException("试卷不存在");
|
||||
}
|
||||
//企业端禁用:所属单位为股份的不能禁用
|
||||
//股份端禁用:所属单位为各企业的不能禁用
|
||||
|
|
@ -70,7 +70,7 @@ public class ExamPaperRemoveExe {
|
|||
|
||||
List<ExamPaperDO> examPaperDOList =examPaperRepository.getListByIdList(examPaperRemoveCmd.getIds());
|
||||
if(CollUtil.isEmpty(examPaperDOList)){
|
||||
throw new RuntimeException("试卷不存在");
|
||||
throw new BizException("试卷不存在");
|
||||
}
|
||||
//获取试卷idlist
|
||||
List<String> examPaperIdList = examPaperDOList.stream().map(ExamPaperDO::getExamPaperId).collect(Collectors.toList());
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
package com.zcloud.edu.command.study;
|
||||
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.domain.gateway.study.ClassGateway;
|
||||
import com.zcloud.edu.domain.model.study.ClassE;
|
||||
import com.zcloud.edu.dto.clientobject.study.ClassCO;
|
||||
import com.zcloud.edu.dto.study.ClassAddCmd;
|
||||
import com.zcloud.edu.persistence.dataobject.study.ClassDO;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
@ -24,22 +27,21 @@ public class ClassAddExe {
|
|||
private final ClassGateway classGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(ClassAddCmd cmd) {
|
||||
public SingleResponse<ClassCO> execute(ClassAddCmd cmd) {
|
||||
ClassE classE = new ClassE();
|
||||
|
||||
BeanUtils.copyProperties(cmd, classE);
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
classE.initSave(ssoUser.getTenantId());
|
||||
boolean res = false;
|
||||
try {
|
||||
res = classGateway.add(classE);
|
||||
Long id = classGateway.add(classE);
|
||||
classE.setId(id);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
return true;
|
||||
ClassCO classCO = new ClassCO();
|
||||
BeanUtils.copyProperties(classE, classCO);
|
||||
return SingleResponse.of(classCO);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,12 @@ import com.zcloud.edu.domain.gateway.study.ClassCurriculumGateway;
|
|||
import com.zcloud.edu.domain.model.study.ClassCurriculumChapterE;
|
||||
import com.zcloud.edu.domain.model.study.ClassCurriculumE;
|
||||
import com.zcloud.edu.dto.study.ClassCurriculumAddCmd;
|
||||
import com.zcloud.edu.dto.study.ClassCurriculumBatchAddCmd;
|
||||
import com.zcloud.edu.dto.study.ClassCurriculumChapterAddCmd;
|
||||
import com.zcloud.edu.persistence.dataobject.CurriculumChapterDO;
|
||||
import com.zcloud.edu.persistence.dataobject.CurriculumDO;
|
||||
import com.zcloud.edu.persistence.repository.resource.CurriculumChapterRepository;
|
||||
import com.zcloud.edu.persistence.repository.resource.CurriculumRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
@ -29,6 +34,8 @@ import java.util.List;
|
|||
public class ClassCurriculumAddExe {
|
||||
private final ClassCurriculumGateway classCurriculumGateway;
|
||||
private final ClassCurriculumChapterGateway classCurriculumChapterGateway;
|
||||
private final CurriculumRepository curriculumRepository;
|
||||
private final CurriculumChapterRepository curriculumChapterRepository;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(List<ClassCurriculumAddCmd> cmdList) {
|
||||
|
|
@ -40,28 +47,28 @@ public class ClassCurriculumAddExe {
|
|||
BeanUtils.copyProperties(curCmd, curriculum);
|
||||
BigDecimal decimal = BigDecimal.valueOf(curCmd.getVideoTotalTime());
|
||||
curriculum.setVideoTotalTime(decimal);
|
||||
for (ClassCurriculumChapterAddCmd chapterCmd : curCmd.getChapterList()){
|
||||
for (ClassCurriculumChapterAddCmd chapterCmd : curCmd.getCurriculumChapterAddCmdList()){
|
||||
ClassCurriculumChapterE chapter = new ClassCurriculumChapterE();
|
||||
BeanUtils.copyProperties(chapterCmd, chapter);
|
||||
if (chapterCmd.getChildren() != null && chapterCmd.getChildren().size() > 0){
|
||||
for (ClassCurriculumChapterAddCmd childChapterCmd : chapterCmd.getChildren()){
|
||||
if (chapterCmd.getCurriculumChapterAddCmdList() != null && chapterCmd.getCurriculumChapterAddCmdList().size() > 0){
|
||||
for (ClassCurriculumChapterAddCmd childChapterCmd : chapterCmd.getCurriculumChapterAddCmdList()){
|
||||
ClassCurriculumChapterE childChapter = new ClassCurriculumChapterE();
|
||||
BeanUtils.copyProperties(childChapterCmd, childChapter);
|
||||
if (chapter.getChildren() != null){
|
||||
chapter.getChildren().add(childChapter);
|
||||
if (chapter.getCurriculumChapterAddCmdList() != null){
|
||||
chapter.getCurriculumChapterAddCmdList().add(childChapter);
|
||||
} else {
|
||||
List<ClassCurriculumChapterE> children = new ArrayList<>();
|
||||
children.add(childChapter);
|
||||
chapter.setChildren(children);
|
||||
chapter.setCurriculumChapterAddCmdList(children);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (curriculum.getChapterList() != null){
|
||||
curriculum.getChapterList().add(chapter);
|
||||
if (curriculum.getCurriculumChapterAddCmdList() != null){
|
||||
curriculum.getCurriculumChapterAddCmdList().add(chapter);
|
||||
} else {
|
||||
List<ClassCurriculumChapterE> chapterList = new ArrayList<>();
|
||||
chapterList.add(chapter);
|
||||
curriculum.setChapterList(chapterList);
|
||||
curriculum.setCurriculumChapterAddCmdList(chapterList);
|
||||
}
|
||||
}
|
||||
classCurriculumEList.add(curriculum);
|
||||
|
|
@ -75,5 +82,21 @@ public class ClassCurriculumAddExe {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void executeBatchAdd(ClassCurriculumBatchAddCmd cmd) {
|
||||
List<CurriculumDO> curList = curriculumRepository.listByCurriculumIds(cmd.getCurriculumIds());
|
||||
List<CurriculumChapterDO> chapterList = curriculumChapterRepository.listByCurriculumIds(cmd.getCurriculumIds());
|
||||
List<ClassCurriculumE> curEList = BeanUtil.copyToList(curList, ClassCurriculumE.class);
|
||||
List<ClassCurriculumChapterE> chapterEList = BeanUtil.copyToList(chapterList, ClassCurriculumChapterE.class);
|
||||
ClassCurriculumE classCurriculumE = new ClassCurriculumE();
|
||||
classCurriculumE.initBatchAdd(curEList, chapterEList, cmd.getClassId());
|
||||
try {
|
||||
classCurriculumGateway.batchAdd(curEList);
|
||||
classCurriculumChapterGateway.batchAdd(chapterEList);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,33 @@
|
|||
package com.zcloud.edu.command.study;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.domain.gateway.study.StudentExamRecordGateway;
|
||||
import com.zcloud.edu.domain.model.study.ClassExamPaperE;
|
||||
import com.zcloud.edu.domain.model.study.StudentExamRecordE;
|
||||
import com.zcloud.edu.domain.model.study.StudentExamRecordItemE;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentExamRecordCO;
|
||||
import com.zcloud.edu.dto.study.StudentExamRecordAddCmd;
|
||||
import com.zcloud.edu.dto.study.StudentExamRecordItemAddCmd;
|
||||
import com.zcloud.edu.persistence.dataobject.study.ClassDO;
|
||||
import com.zcloud.edu.persistence.dataobject.study.ClassExamPaperDO;
|
||||
import com.zcloud.edu.persistence.dataobject.study.StudentExamRecordDO;
|
||||
import com.zcloud.edu.persistence.dataobject.study.StudentExamRecordItemDO;
|
||||
import com.zcloud.edu.persistence.repository.study.ClassExamPaperRepository;
|
||||
import com.zcloud.edu.persistence.repository.study.ClassRepository;
|
||||
import com.zcloud.edu.persistence.repository.study.StudentExamRecordItemRepository;
|
||||
import com.zcloud.edu.persistence.repository.study.StudentExamRecordRepository;
|
||||
import io.swagger.models.auth.In;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
|
|
@ -20,21 +39,41 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
@AllArgsConstructor
|
||||
public class StudentExamRecordAddExe {
|
||||
private final StudentExamRecordGateway studentExamRecordGateway;
|
||||
|
||||
private final ClassExamPaperRepository classExamPaperRepository;
|
||||
private final StudentExamRecordItemRepository studentExamRecordItemRepository;
|
||||
private final StudentExamRecordRepository studentExamRecordRepository;
|
||||
private final ClassRepository classRepository;
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(StudentExamRecordAddCmd cmd) {
|
||||
public SingleResponse<StudentExamRecordCO> execute(StudentExamRecordAddCmd cmd) {
|
||||
ClassDO classDO = classRepository.getByClassId(cmd.getClassId());
|
||||
Integer count = studentExamRecordRepository.countByStudentId(cmd.getStudentId());
|
||||
if (count >= classDO.getNumberofexams()) {
|
||||
throw new BizException("您已经没有考试次数");
|
||||
}
|
||||
|
||||
|
||||
StudentExamRecordE studentExamRecordE = new StudentExamRecordE();
|
||||
ClassExamPaperDO classExamPaper = classExamPaperRepository.findByClassId(cmd.getClassId());
|
||||
List<StudentExamRecordItemAddCmd> questionList = cmd.getQuestionList();
|
||||
List<StudentExamRecordItemE> queList = BeanUtil.copyToList(questionList, StudentExamRecordItemE.class);
|
||||
BeanUtils.copyProperties(cmd, studentExamRecordE);
|
||||
studentExamRecordE.submit(classExamPaper.getPassScore(), queList);
|
||||
|
||||
boolean res = false;
|
||||
try {
|
||||
res = studentExamRecordGateway.add(studentExamRecordE);
|
||||
studentExamRecordItemRepository.saveBatch(BeanUtil.copyToList(queList, StudentExamRecordItemDO.class));
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
return true;
|
||||
|
||||
StudentExamRecordCO studentExamRecordCO = new StudentExamRecordCO();
|
||||
BeanUtils.copyProperties(studentExamRecordE, studentExamRecordCO);
|
||||
studentExamRecordCO.setSurplusExamNum(classDO.getNumberofexams() - count - 1);
|
||||
return SingleResponse.of(studentExamRecordCO);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,11 +3,21 @@ package com.zcloud.edu.command.study;
|
|||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.domain.gateway.study.StudentSignGateway;
|
||||
import com.zcloud.edu.domain.model.study.StudentSignE;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentSignCO;
|
||||
import com.zcloud.edu.dto.study.StudentSignAddCmd;
|
||||
import com.zcloud.edu.persistence.dataobject.study.StudentDO;
|
||||
import com.zcloud.edu.persistence.repository.study.StudentRepository;
|
||||
import com.zcloud.gbscommon.utils.Base64Util;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import com.zcloud.gbscommon.zcloudimgfiles.facade.ZcloudImgFilesFacade;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -20,21 +30,44 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
@AllArgsConstructor
|
||||
public class StudentSignAddExe {
|
||||
private final StudentSignGateway studentSignGateway;
|
||||
private final StudentRepository studentRepository;
|
||||
@DubboReference
|
||||
private ZcloudImgFilesFacade zcloudImgFilesFacade;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(StudentSignAddCmd cmd) {
|
||||
public StudentSignCO execute(StudentSignAddCmd cmd) {
|
||||
StudentDO stu = studentRepository.findInfoByStudentId(cmd.getStudentId());
|
||||
StudentSignE studentSignE = new StudentSignE();
|
||||
BeanUtils.copyProperties(cmd, studentSignE);
|
||||
StudentDO student = studentRepository.findFaceUrlByPhone(stu.getPhone());
|
||||
|
||||
if (student == null || ObjectUtils.isEmpty(student.getUserAvatarUrl())) {
|
||||
throw new BizException("您还没有录入人脸");
|
||||
}
|
||||
String faceUrl = null;
|
||||
try {
|
||||
faceUrl = Base64Util.getBase64String(studentSignE.getFiles()[0]);
|
||||
studentSignE.compareFace(student.getUserAvatarUrl(), faceUrl);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
String path = studentSignE.getType() == 1 ? "clockSign" : "examSign";
|
||||
String fileName = Tools.get32UUID() + studentSignE.getFiles()[0].getOriginalFilename().substring(studentSignE.getFiles()[0].getOriginalFilename().lastIndexOf("."));
|
||||
studentSignE.setFaceUrl(zcloudImgFilesFacade.saveFile( faceUrl,fileName, path));
|
||||
studentSignE.init(stu.getStudentId(), stu.getClassId(), stu.getClassCorpinfoId());
|
||||
boolean res = false;
|
||||
StudentSignCO studentSignCO = new StudentSignCO();
|
||||
try {
|
||||
res = studentSignGateway.add(studentSignE);
|
||||
BeanUtils.copyProperties(studentSignE, studentSignCO);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
return true;
|
||||
return studentSignCO;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,11 +4,16 @@ import com.alibaba.cola.exception.BizException;
|
|||
import com.zcloud.edu.domain.gateway.study.StudentSignGateway;
|
||||
import com.zcloud.edu.domain.model.study.StudentSignE;
|
||||
import com.zcloud.edu.dto.study.StudentSignUpdateCmd;
|
||||
import com.zcloud.edu.persistence.dataobject.study.StudentDO;
|
||||
import com.zcloud.edu.persistence.repository.study.StudentRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
|
|
@ -20,12 +25,22 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
@AllArgsConstructor
|
||||
public class StudentSignUpdateExe {
|
||||
private final StudentSignGateway studentSignGateway;
|
||||
private final StudentRepository studentRepository;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(StudentSignUpdateCmd studentSignUpdateCmd) {
|
||||
StudentSignE studentSignE = new StudentSignE();
|
||||
BeanUtils.copyProperties(studentSignUpdateCmd, studentSignE);
|
||||
boolean res = studentSignGateway.update(studentSignE);
|
||||
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
if (studentSignUpdateCmd.getType() == 1){
|
||||
params.put("signFlag",1);
|
||||
} else if (studentSignUpdateCmd.getType() == 2){
|
||||
params.put("examSignFlag",1);
|
||||
}
|
||||
params.put("studentId", studentSignUpdateCmd.getStudentId());
|
||||
studentRepository.updateStudent(params);
|
||||
if (!res) {
|
||||
throw new BizException("修改失败");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,59 @@
|
|||
package com.zcloud.edu.service.archives;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.api.archives.ArchivesPdfFileServiceI;
|
||||
import com.zcloud.edu.command.archives.ArchivesPdfFileAddExe;
|
||||
import com.zcloud.edu.command.archives.ArchivesPdfFileRemoveExe;
|
||||
import com.zcloud.edu.command.archives.ArchivesPdfFileUpdateExe;
|
||||
import com.zcloud.edu.command.query.archives.ArchivesPdfFileQueryExe;
|
||||
import com.zcloud.edu.dto.archives.ArchivesPdfFileAddCmd;
|
||||
import com.zcloud.edu.dto.archives.ArchivesPdfFilePageQry;
|
||||
import com.zcloud.edu.dto.archives.ArchivesPdfFileUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesPdfFileCO;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-02-02 10:32:42
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class ArchivesPdfFileServiceImpl implements ArchivesPdfFileServiceI {
|
||||
private final ArchivesPdfFileAddExe archivesPdfFileAddExe;
|
||||
private final ArchivesPdfFileUpdateExe archivesPdfFileUpdateExe;
|
||||
private final ArchivesPdfFileRemoveExe archivesPdfFileRemoveExe;
|
||||
private final ArchivesPdfFileQueryExe archivesPdfFileQueryExe;
|
||||
|
||||
@Override
|
||||
public PageResponse<ArchivesPdfFileCO> listPage(ArchivesPdfFilePageQry qry) {
|
||||
|
||||
return archivesPdfFileQueryExe.execute(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse add(ArchivesPdfFileAddCmd cmd) {
|
||||
|
||||
archivesPdfFileAddExe.execute(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(ArchivesPdfFileUpdateCmd archivesPdfFileUpdateCmd) {
|
||||
archivesPdfFileUpdateExe.execute(archivesPdfFileUpdateCmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(Long id) {
|
||||
archivesPdfFileRemoveExe.execute(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeBatch(Long[] ids) {
|
||||
archivesPdfFileRemoveExe.execute(ids);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
package com.zcloud.edu.service.archives;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.api.archives.ArchivesReviewRecordServiceI;
|
||||
import com.zcloud.edu.command.archives.ArchivesReviewRecordAddExe;
|
||||
import com.zcloud.edu.command.archives.ArchivesReviewRecordRemoveExe;
|
||||
import com.zcloud.edu.command.archives.ArchivesReviewRecordUpdateExe;
|
||||
import com.zcloud.edu.command.query.archives.ArchivesReviewRecordQueryExe;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewRecordAddCmd;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewRecordPageQry;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewRecordUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesReviewRecordCO;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:37
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewRecordServiceImpl implements ArchivesReviewRecordServiceI {
|
||||
private final ArchivesReviewRecordAddExe archivesReviewRecordAddExe;
|
||||
private final ArchivesReviewRecordUpdateExe archivesReviewRecordUpdateExe;
|
||||
private final ArchivesReviewRecordRemoveExe archivesReviewRecordRemoveExe;
|
||||
private final ArchivesReviewRecordQueryExe archivesReviewRecordQueryExe;
|
||||
|
||||
@Override
|
||||
public PageResponse<ArchivesReviewRecordCO> listPage(ArchivesReviewRecordPageQry qry) {
|
||||
|
||||
return archivesReviewRecordQueryExe.execute(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse add(ArchivesReviewRecordAddCmd cmd) {
|
||||
|
||||
archivesReviewRecordAddExe.execute(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(ArchivesReviewRecordUpdateCmd archivesReviewRecordUpdateCmd) {
|
||||
archivesReviewRecordUpdateExe.execute(archivesReviewRecordUpdateCmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(Long id) {
|
||||
archivesReviewRecordRemoveExe.execute(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeBatch(Long[] ids) {
|
||||
archivesReviewRecordRemoveExe.execute(ids);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
package com.zcloud.edu.service.archives;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.api.archives.ArchivesReviewServiceI;
|
||||
import com.zcloud.edu.command.archives.ArchivesReviewAddExe;
|
||||
import com.zcloud.edu.command.archives.ArchivesReviewRemoveExe;
|
||||
import com.zcloud.edu.command.archives.ArchivesReviewUpdateExe;
|
||||
import com.zcloud.edu.command.query.archives.ArchivesReviewQueryExe;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewAddCmd;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewPageQry;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesReviewCO;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:35
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewServiceImpl implements ArchivesReviewServiceI {
|
||||
private final ArchivesReviewAddExe archivesReviewAddExe;
|
||||
private final ArchivesReviewUpdateExe archivesReviewUpdateExe;
|
||||
private final ArchivesReviewRemoveExe archivesReviewRemoveExe;
|
||||
private final ArchivesReviewQueryExe archivesReviewQueryExe;
|
||||
|
||||
@Override
|
||||
public PageResponse<ArchivesReviewCO> listPage(ArchivesReviewPageQry qry) {
|
||||
|
||||
return archivesReviewQueryExe.execute(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse add(ArchivesReviewAddCmd cmd) {
|
||||
|
||||
archivesReviewAddExe.execute(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(ArchivesReviewUpdateCmd archivesReviewUpdateCmd) {
|
||||
archivesReviewUpdateExe.execute(archivesReviewUpdateCmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(Long id) {
|
||||
archivesReviewRemoveExe.execute(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeBatch(Long[] ids) {
|
||||
archivesReviewRemoveExe.execute(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<ArchivesReviewCO> getInfoById(Long id) {
|
||||
return archivesReviewQueryExe.executeGetInfoById(id);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
package com.zcloud.edu.service.study;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
|
|
@ -9,9 +10,7 @@ import com.zcloud.edu.command.study.ClassCurriculumAddExe;
|
|||
import com.zcloud.edu.command.study.ClassCurriculumRemoveExe;
|
||||
import com.zcloud.edu.command.study.ClassCurriculumUpdateExe;
|
||||
import com.zcloud.edu.dto.clientobject.study.ClassCurriculumCO;
|
||||
import com.zcloud.edu.dto.study.ClassCurriculumAddCmd;
|
||||
import com.zcloud.edu.dto.study.ClassCurriculumPageQry;
|
||||
import com.zcloud.edu.dto.study.ClassCurriculumUpdateCmd;
|
||||
import com.zcloud.edu.dto.study.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -63,5 +62,16 @@ public class ClassCurriculumServiceImpl implements ClassCurriculumServiceI {
|
|||
public SingleResponse<ClassCurriculumCO> getInfoById(Long id) {
|
||||
return classCurriculumQueryExe.executeGetInfoById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Response batchAdd(ClassCurriculumBatchAddCmd cmd) {
|
||||
classCurriculumAddExe.executeBatchAdd(cmd);
|
||||
return Response.buildSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public MultiResponse<ClassCurriculumCO> listAll(ClassCurriculumQry qry) {
|
||||
return classCurriculumQueryExe.executeListAll(qry);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -67,5 +67,11 @@ public class ClassExamPaperServiceImpl implements ClassExamPaperServiceI {
|
|||
public SingleResponse<ClassExamPaperCO> getInfoById(Long id) {
|
||||
return classExamPaperQueryExe.executeGetInfoById(id);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public SingleResponse<ClassExamPaperCO> getInfoByClassId(String classId) {
|
||||
return classExamPaperQueryExe.executeGetInfoByClassId(classId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,12 +9,10 @@ import com.zcloud.edu.command.study.ClassAddExe;
|
|||
import com.zcloud.edu.command.study.ClassRemoveExe;
|
||||
import com.zcloud.edu.command.study.ClassUpdateExe;
|
||||
import com.zcloud.edu.dto.clientobject.study.ClassCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.data.study.ClassCountDTO;
|
||||
import com.zcloud.edu.dto.data.study.ClassQuestionDTO;
|
||||
import com.zcloud.edu.dto.study.ClassAddCmd;
|
||||
import com.zcloud.edu.dto.study.ClassPageQry;
|
||||
import com.zcloud.edu.dto.study.ClassPostponeCmd;
|
||||
import com.zcloud.edu.dto.study.ClassUpdateCmd;
|
||||
import com.zcloud.edu.dto.study.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -38,10 +36,10 @@ public class ClassServiceImpl implements ClassServiceI {
|
|||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse add(ClassAddCmd cmd) {
|
||||
public SingleResponse<ClassCO> add(ClassAddCmd cmd) {
|
||||
|
||||
classAddExe.execute(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
|
||||
return classAddExe.execute(cmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -85,5 +83,15 @@ public class ClassServiceImpl implements ClassServiceI {
|
|||
public SingleResponse<ClassCountDTO> statisticsCount(ClassPageQry qry) {
|
||||
return classQueryExe.executeStatisticsCount(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MultiResponse<StudentCO> countStuClass(ClassCountQry qry) {
|
||||
return classQueryExe.executeCountStuClass(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<StudentCO> listStudentClass(ClassPageQry qry) {
|
||||
return classQueryExe.executeListStudentClass(qry);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.zcloud.edu.service.study;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.api.study.StudentExamRecordServiceI;
|
||||
import com.zcloud.edu.command.query.study.StudentExamRecordQueryExe;
|
||||
|
|
@ -14,6 +15,8 @@ import com.zcloud.edu.dto.study.StudentExamRecordUpdateCmd;
|
|||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
|
|
@ -35,10 +38,8 @@ public class StudentExamRecordServiceImpl implements StudentExamRecordServiceI {
|
|||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse add(StudentExamRecordAddCmd cmd) {
|
||||
|
||||
studentExamRecordAddExe.execute(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
public SingleResponse<StudentExamRecordCO> add(StudentExamRecordAddCmd cmd) {
|
||||
return studentExamRecordAddExe.execute(cmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -55,5 +56,15 @@ public class StudentExamRecordServiceImpl implements StudentExamRecordServiceI {
|
|||
public void removeBatch(Long[] ids) {
|
||||
studentExamRecordRemoveExe.execute(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<StudentExamRecordCO> getInfoByStudentId(String studentId) {
|
||||
return studentExamRecordQueryExe.executeGetInfoByStudentId(studentId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<StudentExamRecordCO> getInfoById(Long id) {
|
||||
return studentExamRecordQueryExe.executeGetInfoById(id);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.zcloud.edu.service.study;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.api.study.StudentServiceI;
|
||||
|
|
@ -7,12 +8,17 @@ import com.zcloud.edu.command.query.study.StudentQueryExe;
|
|||
import com.zcloud.edu.command.study.StudentAddExe;
|
||||
import com.zcloud.edu.command.study.StudentRemoveExe;
|
||||
import com.zcloud.edu.command.study.StudentUpdateExe;
|
||||
import com.zcloud.edu.dto.archives.ClassArchivesQry;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.data.archives.ClassArchivesDTO;
|
||||
import com.zcloud.edu.dto.data.archives.PersonArchivesDTO;
|
||||
import com.zcloud.edu.dto.study.StudentAddCmd;
|
||||
import com.zcloud.edu.dto.study.StudentCountQry;
|
||||
import com.zcloud.edu.dto.study.StudentPageQry;
|
||||
import com.zcloud.edu.dto.study.StudentUpdateCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -36,6 +42,11 @@ public class StudentServiceImpl implements StudentServiceI {
|
|||
return studentQueryExe.execute(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<StudentCO> listPageClassByStudent(StudentPageQry qry) {
|
||||
return studentQueryExe.executelistPageClassByStudent(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse add(List<StudentAddCmd> cmdList) {
|
||||
|
||||
|
|
@ -57,5 +68,49 @@ public class StudentServiceImpl implements StudentServiceI {
|
|||
public void removeBatch(Long[] ids) {
|
||||
studentRemoveExe.execute(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<PersonArchivesDTO> getAttendanceRecord(ClassArchivesQry qry) {
|
||||
return studentQueryExe.executeAttendanceRecord(qry);
|
||||
}
|
||||
@Override
|
||||
public SingleResponse<PersonArchivesDTO> getStudyArchives(ClassArchivesQry qry) {
|
||||
return studentQueryExe.executeStudyArchives(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<PersonArchivesDTO> getStudyRecord(ClassArchivesQry qry) {
|
||||
return studentQueryExe.executeStudyRecord(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<ClassArchivesDTO> getClassSign(ClassArchivesQry qry) {
|
||||
return studentQueryExe.executeGetClassSign(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long countStudent(String classId) {
|
||||
return studentQueryExe.executeCountStudent(classId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<ClassArchivesDTO> getClassExamResult(ClassArchivesQry qry) {
|
||||
return studentQueryExe.executeGetClassExamResult(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MultiResponse<StudentCO> countStudentByCorpId(StudentCountQry qry) {
|
||||
return studentQueryExe.executeCountStudentByCorpId(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MultiResponse<StudentCO> listStudentCount(StudentCountQry qry) {
|
||||
return studentQueryExe.executeListStudentCount(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<StudentCO> getInfoByStudentId(String studentId) {
|
||||
return studentQueryExe.executeGetInfoByStudentId(studentId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,17 @@
|
|||
package com.zcloud.edu.service.study;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.api.study.StudentSignServiceI;
|
||||
import com.zcloud.edu.command.query.study.StudentSignQueryExe;
|
||||
import com.zcloud.edu.command.study.StudentSignAddExe;
|
||||
import com.zcloud.edu.command.study.StudentSignRemoveExe;
|
||||
import com.zcloud.edu.command.study.StudentSignUpdateExe;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentSignCO;
|
||||
import com.zcloud.edu.dto.study.StudentSignAddCmd;
|
||||
import com.zcloud.edu.dto.study.StudentSignPageQry;
|
||||
import com.zcloud.edu.dto.study.StudentSignUpdateCmd;
|
||||
import com.zcloud.edu.dto.study.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -35,10 +36,9 @@ public class StudentSignServiceImpl implements StudentSignServiceI {
|
|||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse add(StudentSignAddCmd cmd) {
|
||||
public SingleResponse<StudentSignCO> add(StudentSignAddCmd cmd) {
|
||||
|
||||
studentSignAddExe.execute(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
return SingleResponse.of(studentSignAddExe.execute(cmd));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -55,5 +55,15 @@ public class StudentSignServiceImpl implements StudentSignServiceI {
|
|||
public void removeBatch(Long[] ids) {
|
||||
studentSignRemoveExe.execute(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MultiResponse<StudentSignCO> listAll(ClassAppSignQry qry) {
|
||||
return studentSignQueryExe.executeListAll(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<StudentCO> verify(StudentSignVerifyQry qry) {
|
||||
return studentSignQueryExe.executeVerify(qry);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
package com.zcloud.edu.api.archives;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.dto.archives.ArchivesPdfFileAddCmd;
|
||||
import com.zcloud.edu.dto.archives.ArchivesPdfFilePageQry;
|
||||
import com.zcloud.edu.dto.archives.ArchivesPdfFileUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesPdfFileCO;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-02-02 10:32:42
|
||||
*/
|
||||
public interface ArchivesPdfFileServiceI {
|
||||
PageResponse<ArchivesPdfFileCO> listPage(ArchivesPdfFilePageQry qry);
|
||||
|
||||
SingleResponse<ArchivesPdfFileCO> add(ArchivesPdfFileAddCmd cmd);
|
||||
|
||||
void edit(ArchivesPdfFileUpdateCmd cmd);
|
||||
|
||||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package com.zcloud.edu.api.archives;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewRecordAddCmd;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewRecordPageQry;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewRecordUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesReviewRecordCO;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:37
|
||||
*/
|
||||
public interface ArchivesReviewRecordServiceI {
|
||||
PageResponse<ArchivesReviewRecordCO> listPage(ArchivesReviewRecordPageQry qry);
|
||||
|
||||
SingleResponse<ArchivesReviewRecordCO> add(ArchivesReviewRecordAddCmd cmd);
|
||||
|
||||
void edit(ArchivesReviewRecordUpdateCmd cmd);
|
||||
|
||||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
package com.zcloud.edu.api.archives;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewAddCmd;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewPageQry;
|
||||
import com.zcloud.edu.dto.archives.ArchivesReviewUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesReviewCO;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:35
|
||||
*/
|
||||
public interface ArchivesReviewServiceI {
|
||||
PageResponse<ArchivesReviewCO> listPage(ArchivesReviewPageQry qry);
|
||||
|
||||
SingleResponse<ArchivesReviewCO> add(ArchivesReviewAddCmd cmd);
|
||||
|
||||
void edit(ArchivesReviewUpdateCmd cmd);
|
||||
|
||||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
|
||||
|
||||
SingleResponse<ArchivesReviewCO> getInfoById(Long id);
|
||||
}
|
||||
|
||||
|
|
@ -1,13 +1,13 @@
|
|||
package com.zcloud.edu.api.study;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.dto.clientobject.study.ClassCurriculumCO;
|
||||
import com.zcloud.edu.dto.study.ClassCurriculumAddCmd;
|
||||
import com.zcloud.edu.dto.study.ClassCurriculumPageQry;
|
||||
import com.zcloud.edu.dto.study.ClassCurriculumUpdateCmd;
|
||||
import com.zcloud.edu.dto.study.*;
|
||||
|
||||
import java.nio.channels.MulticastChannel;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -28,5 +28,11 @@ public interface ClassCurriculumServiceI {
|
|||
void removeBatch(Long[] ids);
|
||||
|
||||
SingleResponse<ClassCurriculumCO> getInfoById(Long id);
|
||||
|
||||
Response batchAdd(ClassCurriculumBatchAddCmd cmd);
|
||||
|
||||
MultiResponse<ClassCurriculumCO> listAll(ClassCurriculumQry qry);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,5 +28,7 @@ public interface ClassExamPaperServiceI {
|
|||
void removeBatch(Long[] ids);
|
||||
|
||||
SingleResponse<ClassExamPaperCO> getInfoById(Long id);
|
||||
|
||||
SingleResponse<ClassExamPaperCO> getInfoByClassId(String classId);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,12 +4,10 @@ import com.alibaba.cola.dto.MultiResponse;
|
|||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.dto.clientobject.study.ClassCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.data.study.ClassCountDTO;
|
||||
import com.zcloud.edu.dto.data.study.ClassQuestionDTO;
|
||||
import com.zcloud.edu.dto.study.ClassAddCmd;
|
||||
import com.zcloud.edu.dto.study.ClassPageQry;
|
||||
import com.zcloud.edu.dto.study.ClassPostponeCmd;
|
||||
import com.zcloud.edu.dto.study.ClassUpdateCmd;
|
||||
import com.zcloud.edu.dto.study.*;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
|
|
@ -40,5 +38,10 @@ public interface ClassServiceI {
|
|||
PageResponse<ClassCO> appListPage(ClassPageQry qry);
|
||||
|
||||
SingleResponse<ClassCountDTO> statisticsCount(ClassPageQry qry);
|
||||
|
||||
MultiResponse<StudentCO> countStuClass(ClassCountQry qry);
|
||||
|
||||
|
||||
PageResponse<StudentCO> listStudentClass(ClassPageQry qry);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,5 +23,9 @@ public interface StudentExamRecordServiceI {
|
|||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
|
||||
SingleResponse<StudentExamRecordCO> getInfoByStudentId(String studentId);
|
||||
|
||||
SingleResponse<StudentExamRecordCO> getInfoById(Long id);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,17 @@
|
|||
package com.zcloud.edu.api.study;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.dto.archives.ClassArchivesQry;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.data.archives.ClassArchivesDTO;
|
||||
import com.zcloud.edu.dto.data.archives.PersonArchivesDTO;
|
||||
import com.zcloud.edu.dto.study.StudentAddCmd;
|
||||
import com.zcloud.edu.dto.study.StudentCountQry;
|
||||
import com.zcloud.edu.dto.study.StudentPageQry;
|
||||
import com.zcloud.edu.dto.study.StudentUpdateCmd;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -18,6 +24,8 @@ import java.util.List;
|
|||
public interface StudentServiceI {
|
||||
PageResponse<StudentCO> listPage(StudentPageQry qry);
|
||||
|
||||
PageResponse<StudentCO> listPageClassByStudent(StudentPageQry qry);
|
||||
|
||||
SingleResponse<StudentCO> add(List<StudentAddCmd> cmdList);
|
||||
|
||||
void edit(StudentUpdateCmd cmd);
|
||||
|
|
@ -25,5 +33,23 @@ public interface StudentServiceI {
|
|||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
|
||||
SingleResponse<PersonArchivesDTO> getAttendanceRecord(ClassArchivesQry qry);
|
||||
|
||||
SingleResponse<PersonArchivesDTO> getStudyArchives(ClassArchivesQry qry);
|
||||
|
||||
SingleResponse<PersonArchivesDTO> getStudyRecord(ClassArchivesQry qry);
|
||||
|
||||
SingleResponse<ClassArchivesDTO> getClassSign(ClassArchivesQry qry);
|
||||
|
||||
Long countStudent(String classId);
|
||||
|
||||
SingleResponse<ClassArchivesDTO> getClassExamResult(ClassArchivesQry qry);
|
||||
|
||||
MultiResponse<StudentCO> countStudentByCorpId(StudentCountQry qry);
|
||||
|
||||
MultiResponse<StudentCO> listStudentCount(StudentCountQry qry);
|
||||
|
||||
SingleResponse<StudentCO> getInfoByStudentId(String studentId);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
package com.zcloud.edu.api.study;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentSignCO;
|
||||
import com.zcloud.edu.dto.study.StudentSignAddCmd;
|
||||
import com.zcloud.edu.dto.study.StudentSignPageQry;
|
||||
import com.zcloud.edu.dto.study.StudentSignUpdateCmd;
|
||||
import com.zcloud.edu.dto.study.*;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
|
|
@ -23,5 +24,9 @@ public interface StudentSignServiceI {
|
|||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
|
||||
MultiResponse<StudentSignCO> listAll(ClassAppSignQry qry);
|
||||
|
||||
SingleResponse<StudentCO> verify(StudentSignVerifyQry qry);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,61 @@
|
|||
package com.zcloud.edu.dto.archives;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-02-02 10:32:41
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ArchivesPdfFileAddCmd extends Command {
|
||||
@ApiModelProperty(value = "业务id", name = "archivesPdfFileId", required = true)
|
||||
@NotEmpty(message = "业务id不能为空")
|
||||
private String archivesPdfFileId;
|
||||
|
||||
@ApiModelProperty(value = "关联表名称", name = "tableName", required = true)
|
||||
@NotEmpty(message = "关联表名称不能为空")
|
||||
private String tableName;
|
||||
|
||||
@ApiModelProperty(value = "关联表id", name = "tableId", required = true)
|
||||
@NotEmpty(message = "关联表id不能为空")
|
||||
private String tableId;
|
||||
|
||||
@ApiModelProperty(value = "文件路径", name = "filePath", required = true)
|
||||
@NotEmpty(message = "文件路径不能为空")
|
||||
private String filePath;
|
||||
|
||||
@ApiModelProperty(value = "档案类型 1 一人一档 2一期一档", name = "type", required = true)
|
||||
@NotNull(message = "档案类型 1 一人一档 2一期一档不能为空")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty(value = "上传状态 0-上传中 1-上传成功 -1 - 上传失败 -2 已删除", name = "status", required = true)
|
||||
@NotNull(message = "上传状态 0-上传中 1-上传成功 -1 - 上传失败 -2 已删除不能为空")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "上传失败错误原因(上传成功则不传)", name = "errormsg", required = true)
|
||||
@NotEmpty(message = "上传失败错误原因(上传成功则不传)不能为空")
|
||||
private String errormsg;
|
||||
|
||||
@ApiModelProperty(value = "方法名称", name = "methodName", required = true)
|
||||
@NotEmpty(message = "方法名称不能为空")
|
||||
private String methodName;
|
||||
|
||||
@ApiModelProperty(value = "参数", name = "param", required = true)
|
||||
@NotEmpty(message = "参数不能为空")
|
||||
private String param;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package com.zcloud.edu.dto.archives;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-02-02 10:32:42
|
||||
*/
|
||||
@Data
|
||||
public class ArchivesPdfFilePageQry extends PageQuery {
|
||||
|
||||
/**
|
||||
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||
* - `eq`: 等值查询,对应SQL的=操作符
|
||||
* - `gt`: 大于比较查询
|
||||
* - `lt`: 小于比较查询
|
||||
* - `ge`: 大于等于比较查询
|
||||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String likeArchivesPdfFileId;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
package com.zcloud.edu.dto.archives;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-02-02 10:32:42
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ArchivesPdfFileUpdateCmd extends Command {
|
||||
@ApiModelProperty(value = "主键id", name = "id", required = true)
|
||||
@NotNull(message = "主键id不能为空")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "业务id", name = "archivesPdfFileId", required = true)
|
||||
@NotEmpty(message = "业务id不能为空")
|
||||
private String archivesPdfFileId;
|
||||
@ApiModelProperty(value = "关联表名称", name = "tableName", required = true)
|
||||
@NotEmpty(message = "关联表名称不能为空")
|
||||
private String tableName;
|
||||
@ApiModelProperty(value = "关联表id", name = "tableId", required = true)
|
||||
@NotEmpty(message = "关联表id不能为空")
|
||||
private String tableId;
|
||||
@ApiModelProperty(value = "文件路径", name = "filePath", required = true)
|
||||
@NotEmpty(message = "文件路径不能为空")
|
||||
private String filePath;
|
||||
@ApiModelProperty(value = "档案类型 1 一人一档 2一期一档", name = "type", required = true)
|
||||
@NotNull(message = "档案类型 1 一人一档 2一期一档不能为空")
|
||||
private Integer type;
|
||||
@ApiModelProperty(value = "上传状态 0-上传中 1-上传成功 -1 - 上传失败 -2 已删除", name = "status", required = true)
|
||||
@NotNull(message = "上传状态 0-上传中 1-上传成功 -1 - 上传失败 -2 已删除不能为空")
|
||||
private Integer status;
|
||||
@ApiModelProperty(value = "上传失败错误原因(上传成功则不传)", name = "errormsg", required = true)
|
||||
@NotEmpty(message = "上传失败错误原因(上传成功则不传)不能为空")
|
||||
private String errormsg;
|
||||
@ApiModelProperty(value = "方法名称", name = "methodName", required = true)
|
||||
@NotEmpty(message = "方法名称不能为空")
|
||||
private String methodName;
|
||||
@ApiModelProperty(value = "参数", name = "param", required = true)
|
||||
@NotEmpty(message = "参数不能为空")
|
||||
private String param;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
package com.zcloud.edu.dto.archives;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:34
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewAddCmd extends Command {
|
||||
@ApiModelProperty(value = "业务id", name = "archivesReviewId", required = true)
|
||||
private String archivesReviewId;
|
||||
|
||||
@ApiModelProperty(value = "课程id", name = "classCurriculumId", required = true)
|
||||
@NotEmpty(message = "课程id不能为空")
|
||||
private String classCurriculumId;
|
||||
|
||||
@ApiModelProperty(value = "班级id", name = "classId", required = true)
|
||||
@NotEmpty(message = "班级id不能为空")
|
||||
private String classId;
|
||||
|
||||
@ApiModelProperty(value = "初版书号", name = "bookNum", required = true)
|
||||
@NotEmpty(message = "初版书号不能为空")
|
||||
private String bookNum;
|
||||
|
||||
@ApiModelProperty(value = "班级所属企业id", name = "corpinfoId", required = true)
|
||||
private Long corpinfoId;
|
||||
|
||||
@ApiModelProperty(value = "编写单位", name = "corpName", required = true)
|
||||
@NotEmpty(message = "编写单位不能为空")
|
||||
private String corpName;
|
||||
|
||||
@ApiModelProperty(value = "编写时间", name = "writeDate", required = true)
|
||||
@NotNull(message = "编写时间不能为空")
|
||||
private LocalDateTime writeDate;
|
||||
|
||||
@ApiModelProperty(value = "教材类型", name = "materialType", required = true)
|
||||
@NotEmpty(message = "教材类型不能为空")
|
||||
private String materialType;
|
||||
|
||||
@ApiModelProperty(value = "会审地点", name = "address", required = true)
|
||||
@NotEmpty(message = "会审地点不能为空")
|
||||
private String address;
|
||||
|
||||
@ApiModelProperty(value = "主持人", name = "compere", required = true)
|
||||
@NotEmpty(message = "主持人不能为空")
|
||||
private String compere;
|
||||
|
||||
@ApiModelProperty(value = "会审时间", name = "auditDate", required = true)
|
||||
@NotNull(message = "会审时间不能为空")
|
||||
private LocalDateTime auditDate;
|
||||
|
||||
@ApiModelProperty(value = "会审意见", name = "reviewOpinions", required = true)
|
||||
@NotEmpty(message = "会审意见不能为空")
|
||||
private String reviewOpinions;
|
||||
|
||||
@ApiModelProperty(value = "安全培训教材会审情况", name = "archivesReviewRecordAddCmdList", required = true)
|
||||
private List<ArchivesReviewRecordAddCmd> archivesReviewRecordAddCmdList;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.zcloud.edu.dto.archives;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:35
|
||||
*/
|
||||
@Data
|
||||
public class ArchivesReviewPageQry extends PageQuery {
|
||||
|
||||
/**
|
||||
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||
* - `eq`: 等值查询,对应SQL的=操作符
|
||||
* - `gt`: 大于比较查询
|
||||
* - `lt`: 小于比较查询
|
||||
* - `ge`: 大于等于比较查询
|
||||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String likeArchivesReviewId;
|
||||
private String eqClassId;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
package com.zcloud.edu.dto.archives;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:36
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewRecordAddCmd extends Command {
|
||||
|
||||
@ApiModelProperty(value = "会审表id", name = "archivesReviewId", required = true)
|
||||
@NotEmpty(message = "会审表id不能为空")
|
||||
private String archivesReviewId;
|
||||
|
||||
@ApiModelProperty(value = "会审人员", name = "reviewUser", required = true)
|
||||
@NotEmpty(message = "会审人员不能为空")
|
||||
private String reviewUser;
|
||||
|
||||
@ApiModelProperty(value = "工作部门", name = "department", required = true)
|
||||
@NotEmpty(message = "工作部门不能为空")
|
||||
private String department;
|
||||
|
||||
@ApiModelProperty(value = "职务/职称", name = "duties", required = true)
|
||||
@NotEmpty(message = "职务/职称不能为空")
|
||||
private String duties;
|
||||
|
||||
@ApiModelProperty(value = "审查意见", name = "checkOpinion", required = true)
|
||||
@NotEmpty(message = "审查意见不能为空")
|
||||
private String checkOpinion;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package com.zcloud.edu.dto.archives;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:37
|
||||
*/
|
||||
@Data
|
||||
public class ArchivesReviewRecordPageQry extends PageQuery {
|
||||
|
||||
/**
|
||||
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||
* - `eq`: 等值查询,对应SQL的=操作符
|
||||
* - `gt`: 大于比较查询
|
||||
* - `lt`: 小于比较查询
|
||||
* - `ge`: 大于等于比较查询
|
||||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String likeArchivesReviewRecordId;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
package com.zcloud.edu.dto.archives;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:37
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewRecordUpdateCmd extends Command {
|
||||
@ApiModelProperty(value = "主键", name = "id", required = true)
|
||||
@NotNull(message = "主键不能为空")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "业务id", name = "archivesReviewRecordId", required = true)
|
||||
@NotEmpty(message = "业务id不能为空")
|
||||
private String archivesReviewRecordId;
|
||||
@ApiModelProperty(value = "会审表id", name = "archivesReviewId", required = true)
|
||||
@NotEmpty(message = "会审表id不能为空")
|
||||
private String archivesReviewId;
|
||||
@ApiModelProperty(value = "会审人员", name = "reviewUser", required = true)
|
||||
@NotEmpty(message = "会审人员不能为空")
|
||||
private String reviewUser;
|
||||
@ApiModelProperty(value = "工作部门", name = "department", required = true)
|
||||
@NotEmpty(message = "工作部门不能为空")
|
||||
private String department;
|
||||
@ApiModelProperty(value = "职务/职称", name = "duties", required = true)
|
||||
@NotEmpty(message = "职务/职称不能为空")
|
||||
private String duties;
|
||||
@ApiModelProperty(value = "审查意见", name = "checkOpinion", required = true)
|
||||
@NotEmpty(message = "审查意见不能为空")
|
||||
private String checkOpinion;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
package com.zcloud.edu.dto.archives;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:35
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ArchivesReviewUpdateCmd extends Command {
|
||||
@ApiModelProperty(value = "id", name = "id", required = true)
|
||||
@NotNull(message = "id不能为空")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "初版书号", name = "bookNum", required = true)
|
||||
@NotEmpty(message = "初版书号不能为空")
|
||||
private String bookNum;
|
||||
@ApiModelProperty(value = "编写单位", name = "corpName", required = true)
|
||||
@NotEmpty(message = "编写单位不能为空")
|
||||
private String corpName;
|
||||
@ApiModelProperty(value = "编写时间", name = "writeDate", required = true)
|
||||
@NotNull(message = "编写时间不能为空")
|
||||
private LocalDateTime writeDate;
|
||||
@ApiModelProperty(value = "教材类型", name = "materialType", required = true)
|
||||
@NotEmpty(message = "教材类型不能为空")
|
||||
private String materialType;
|
||||
@ApiModelProperty(value = "会审地点", name = "address", required = true)
|
||||
@NotEmpty(message = "会审地点不能为空")
|
||||
private String address;
|
||||
@ApiModelProperty(value = "主持人", name = "compere", required = true)
|
||||
@NotEmpty(message = "主持人不能为空")
|
||||
private String compere;
|
||||
@ApiModelProperty(value = "会审时间", name = "auditDate", required = true)
|
||||
@NotNull(message = "会审时间不能为空")
|
||||
private LocalDateTime auditDate;
|
||||
@ApiModelProperty(value = "会审意见", name = "reviewOpinions", required = true)
|
||||
@NotEmpty(message = "会审意见不能为空")
|
||||
private String reviewOpinions;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package com.zcloud.edu.dto.archives;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-13 14:18:12
|
||||
*/
|
||||
@Data
|
||||
public class ClassArchivesQry {
|
||||
|
||||
/**
|
||||
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||
* - `eq`: 等值查询,对应SQL的=操作符
|
||||
* - `gt`: 大于比较查询
|
||||
* - `lt`: 小于比较查询
|
||||
* - `ge`: 大于等于比较查询
|
||||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private Long stuId;
|
||||
private String studentId;
|
||||
private String classId;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
package com.zcloud.edu.dto.clientobject.archives;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-02-02 10:32:41
|
||||
*/
|
||||
@Data
|
||||
public class ArchivesPdfFileCO extends ClientObject {
|
||||
//主键id
|
||||
@ApiModelProperty(value = "主键id")
|
||||
private Long id;
|
||||
//业务id
|
||||
@ApiModelProperty(value = "业务id")
|
||||
private String archivesPdfFileId;
|
||||
//关联表名称
|
||||
@ApiModelProperty(value = "关联表名称")
|
||||
private String tableName;
|
||||
//关联表id
|
||||
@ApiModelProperty(value = "关联表id")
|
||||
private String tableId;
|
||||
//文件路径
|
||||
@ApiModelProperty(value = "文件路径")
|
||||
private String filePath;
|
||||
//档案类型 1 一人一档 2一期一档
|
||||
@ApiModelProperty(value = "档案类型 1 一人一档 2一期一档")
|
||||
private Integer type;
|
||||
//上传状态 0-上传中 1-上传成功 -1 - 上传失败 -2 已删除
|
||||
@ApiModelProperty(value = "上传状态 0-上传中 1-上传成功 -1 - 上传失败 -2 已删除")
|
||||
private Integer status;
|
||||
//上传失败错误原因(上传成功则不传)
|
||||
@ApiModelProperty(value = "上传失败错误原因(上传成功则不传)")
|
||||
private String errormsg;
|
||||
//方法名称
|
||||
@ApiModelProperty(value = "方法名称")
|
||||
private String methodName;
|
||||
//参数
|
||||
@ApiModelProperty(value = "参数")
|
||||
private String param;
|
||||
//环境
|
||||
@ApiModelProperty(value = "环境")
|
||||
private String env;
|
||||
//删除标识true false
|
||||
@ApiModelProperty(value = "删除标识true false")
|
||||
private String deleteEnum;
|
||||
//备注
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remarks;
|
||||
//创建人姓名
|
||||
@ApiModelProperty(value = "创建人姓名")
|
||||
private String createName;
|
||||
//更新人姓名
|
||||
@ApiModelProperty(value = "更新人姓名")
|
||||
private String updateName;
|
||||
//租户id
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Long tenantId;
|
||||
//单位id
|
||||
@ApiModelProperty(value = "单位id")
|
||||
private Long orgId;
|
||||
//版本
|
||||
@ApiModelProperty(value = "版本")
|
||||
private Integer version;
|
||||
//创建时间
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime createTime;
|
||||
//修改时间
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime updateTime;
|
||||
//创建人id
|
||||
@ApiModelProperty(value = "创建人id")
|
||||
private Long createId;
|
||||
//修改人id
|
||||
@ApiModelProperty(value = "修改人id")
|
||||
private Long updateId;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,108 @@
|
|||
package com.zcloud.edu.dto.clientobject.archives;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:34
|
||||
*/
|
||||
@Data
|
||||
public class ArchivesReviewCO extends ClientObject {
|
||||
private Long id;
|
||||
//业务id
|
||||
@ApiModelProperty(value = "业务id")
|
||||
private String archivesReviewId;
|
||||
//课程id
|
||||
@ApiModelProperty(value = "课程id")
|
||||
private String classCurriculumId;
|
||||
//班级id
|
||||
@ApiModelProperty(value = "班级id")
|
||||
private String classId;
|
||||
//初版书号
|
||||
@ApiModelProperty(value = "初版书号")
|
||||
private String bookNum;
|
||||
//班级所属企业id
|
||||
@ApiModelProperty(value = "班级所属企业id")
|
||||
private Long corpinfoId;
|
||||
//编写单位
|
||||
@ApiModelProperty(value = "编写单位")
|
||||
private String corpName;
|
||||
//编写时间
|
||||
@ApiModelProperty(value = "编写时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime writeDate;
|
||||
//教材类型
|
||||
@ApiModelProperty(value = "教材类型")
|
||||
private String materialType;
|
||||
//会审地点
|
||||
@ApiModelProperty(value = "会审地点")
|
||||
private String address;
|
||||
//主持人
|
||||
@ApiModelProperty(value = "主持人")
|
||||
private String compere;
|
||||
//会审时间
|
||||
@ApiModelProperty(value = "会审时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime auditDate;
|
||||
//会审意见
|
||||
@ApiModelProperty(value = "会审意见")
|
||||
private String reviewOpinions;
|
||||
|
||||
@ApiModelProperty(value = "安全培训教材会审情况")
|
||||
@TableField(exist = false)
|
||||
private List<ArchivesReviewRecordCO> archivesReviewRecordList;
|
||||
|
||||
// 教材名称
|
||||
@ApiModelProperty(value = "教材名称")
|
||||
@TableField(exist = false)
|
||||
private String curriculumName;
|
||||
//删除标识true false
|
||||
@ApiModelProperty(value = "删除标识true false")
|
||||
private String deleteEnum;
|
||||
//备注
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remarks;
|
||||
//创建人姓名
|
||||
@ApiModelProperty(value = "创建人姓名")
|
||||
private String createName;
|
||||
//更新人姓名
|
||||
@ApiModelProperty(value = "更新人姓名")
|
||||
private String updateName;
|
||||
//租户id
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Long tenantId;
|
||||
//单位id
|
||||
@ApiModelProperty(value = "单位id")
|
||||
private Long orgId;
|
||||
//版本
|
||||
@ApiModelProperty(value = "版本")
|
||||
private Integer version;
|
||||
//创建时间
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime createTime;
|
||||
//修改时间
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime updateTime;
|
||||
//创建人id
|
||||
@ApiModelProperty(value = "创建人id")
|
||||
private Long createId;
|
||||
//修改人id
|
||||
@ApiModelProperty(value = "修改人id")
|
||||
private Long updateId;
|
||||
//环境
|
||||
@ApiModelProperty(value = "环境")
|
||||
private String env;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
package com.zcloud.edu.dto.clientobject.archives;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-26 10:59:36
|
||||
*/
|
||||
@Data
|
||||
public class ArchivesReviewRecordCO extends ClientObject {
|
||||
//主键
|
||||
@ApiModelProperty(value = "主键")
|
||||
private Long id;
|
||||
//业务id
|
||||
@ApiModelProperty(value = "业务id")
|
||||
private String archivesReviewRecordId;
|
||||
//会审表id
|
||||
@ApiModelProperty(value = "会审表id")
|
||||
private String archivesReviewId;
|
||||
//会审人员
|
||||
@ApiModelProperty(value = "会审人员")
|
||||
private String reviewUser;
|
||||
//工作部门
|
||||
@ApiModelProperty(value = "工作部门")
|
||||
private String department;
|
||||
//职务/职称
|
||||
@ApiModelProperty(value = "职务/职称")
|
||||
private String duties;
|
||||
//审查意见
|
||||
@ApiModelProperty(value = "审查意见")
|
||||
private String checkOpinion;
|
||||
//删除标识true false
|
||||
@ApiModelProperty(value = "删除标识true false")
|
||||
private String deleteEnum;
|
||||
//备注
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remarks;
|
||||
//创建人姓名
|
||||
@ApiModelProperty(value = "创建人姓名")
|
||||
private String createName;
|
||||
//更新人姓名
|
||||
@ApiModelProperty(value = "更新人姓名")
|
||||
private String updateName;
|
||||
//租户id
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Long tenantId;
|
||||
//单位id
|
||||
@ApiModelProperty(value = "单位id")
|
||||
private Long orgId;
|
||||
//版本
|
||||
@ApiModelProperty(value = "版本")
|
||||
private Integer version;
|
||||
//创建时间
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime createTime;
|
||||
//修改时间
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime updateTime;
|
||||
//创建人id
|
||||
@ApiModelProperty(value = "创建人id")
|
||||
private Long createId;
|
||||
//修改人id
|
||||
@ApiModelProperty(value = "修改人id")
|
||||
private Long updateId;
|
||||
//环境
|
||||
@ApiModelProperty(value = "环境")
|
||||
private String env;
|
||||
}
|
||||
|
||||
|
|
@ -49,6 +49,9 @@ public class ClassCO extends ClientObject {
|
|||
//机构ID
|
||||
@ApiModelProperty(value = "机构ID")
|
||||
private Long corpinfoId;
|
||||
//机构ID
|
||||
@ApiModelProperty(value = "所属单位")
|
||||
private String corpName;
|
||||
//状态:1-未申请 2-待开班 3- 培训中 4-培训结束
|
||||
@ApiModelProperty(value = "状态:1-未申请 2-待开班 3- 培训中 4-培训结束 ")
|
||||
private Integer state;
|
||||
|
|
@ -64,6 +67,14 @@ public class ClassCO extends ClientObject {
|
|||
//考试次数只有考试时候有用
|
||||
@ApiModelProperty(value = "考试次数只有考试时候有用")
|
||||
private Integer numberofexams;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "学员id(雪花)")
|
||||
private Long stuId;
|
||||
|
||||
@ApiModelProperty(value = "学员id(uuid)")
|
||||
private String studentId;
|
||||
|
||||
//删除标识true false
|
||||
@ApiModelProperty(value = "删除标识true false")
|
||||
private String deleteEnum;
|
||||
|
|
|
|||
|
|
@ -42,8 +42,11 @@ public class ClassCurriculumCO extends ClientObject {
|
|||
private long videoCount;
|
||||
// 章节目录
|
||||
@ApiModelProperty(value = "章节目录")
|
||||
private List<ClassCurriculumChapterCO> chapterList;
|
||||
private List<ClassCurriculumChapterCO> curriculumChapterCOList;
|
||||
|
||||
//目录级别 1-一级目录 2-二级目录
|
||||
@ApiModelProperty(value = "目录级别 1-一级目录 2-二级目录")
|
||||
private Integer catalogueLevel;
|
||||
|
||||
@ApiModelProperty(value = "所属单位id")
|
||||
@TableField(exist = false)
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public class ClassCurriculumChapterCO extends ClientObject {
|
|||
private Long id;
|
||||
//业务主键id
|
||||
@ApiModelProperty(value = "业务主键id")
|
||||
private String curriculumChapterId;
|
||||
private String classCurriculumChapterId;
|
||||
//班级id
|
||||
@ApiModelProperty(value = "班级id")
|
||||
private String classId;
|
||||
|
|
@ -128,7 +128,7 @@ public class ClassCurriculumChapterCO extends ClientObject {
|
|||
|
||||
// 章节目录
|
||||
@ApiModelProperty(value = "章节目录")
|
||||
private List<ClassCurriculumChapterCO> children;
|
||||
private List<ClassCurriculumChapterCO> childCurriculumChapterCOList;
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,11 +2,13 @@ package com.zcloud.edu.dto.clientobject.study;
|
|||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.zcloud.edu.dto.clientobject.resource.QuestionCO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -44,6 +46,8 @@ public class ClassExamPaperCO extends ClientObject {
|
|||
private Integer examTime;
|
||||
@ApiModelProperty(value = "企业名称")
|
||||
private String corpName;
|
||||
@ApiModelProperty(value = "习题列表")
|
||||
private List<QuestionCO> questionList;
|
||||
//删除标识true false
|
||||
@ApiModelProperty(value = "删除标识true false")
|
||||
private String deleteEnum;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.zcloud.edu.dto.clientobject.study;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
|
@ -23,9 +24,18 @@ public class StudentCO extends ClientObject {
|
|||
//学员userid
|
||||
@ApiModelProperty(value = "学员userid")
|
||||
private Integer userId;
|
||||
|
||||
//学员uuid
|
||||
@ApiModelProperty(value = "学员uuid")
|
||||
@TableField(exist = false)
|
||||
private String userIdUuid;
|
||||
//班级id
|
||||
@ApiModelProperty(value = "班级id")
|
||||
private String classId;
|
||||
|
||||
//班级id(雪花)
|
||||
@ApiModelProperty(value = "班级id(雪花)")
|
||||
private String clzId;
|
||||
//学员姓名
|
||||
@ApiModelProperty(value = "学员姓名")
|
||||
private String name;
|
||||
|
|
@ -81,7 +91,7 @@ public class StudentCO extends ClientObject {
|
|||
@ApiModelProperty(value = "考试签到状态 0-未签到 1-已签到")
|
||||
private Integer examSignFlag;
|
||||
//学员状态 0-未学习 1-已签到 2-考试通过 3-未签到 4-考试未通过
|
||||
@ApiModelProperty(value = "学员状态 0-未学习 1-已签到 2-考试通过 3-未签到 4-考试未通过")
|
||||
@ApiModelProperty(value = "学员状态 0-未完成 1-已完成")
|
||||
private Integer state;
|
||||
//相关方id集合
|
||||
@ApiModelProperty(value = "相关方id集合")
|
||||
|
|
@ -95,6 +105,114 @@ public class StudentCO extends ClientObject {
|
|||
//项目名称集合
|
||||
@ApiModelProperty(value = "项目名称集合")
|
||||
private String projectNames;
|
||||
|
||||
|
||||
|
||||
@ApiModelProperty(value = "班级数")
|
||||
@TableField(exist = false)
|
||||
private Integer classCount;
|
||||
|
||||
@ApiModelProperty(value = "完成班级数")
|
||||
@TableField(exist = false)
|
||||
private Integer completeClassCount;
|
||||
|
||||
|
||||
|
||||
|
||||
@ApiModelProperty(value = "完成班级数")
|
||||
@TableField(exist = false)
|
||||
private String departmentName;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//班级名称
|
||||
@ApiModelProperty(value = "班级名称")
|
||||
@TableField(exist = false)
|
||||
private String className;
|
||||
//培训日期 开始时间
|
||||
@ApiModelProperty(value = "培训日期 开始时间")
|
||||
@TableField(exist = false)
|
||||
private String startTime;
|
||||
//培训日期 结束日期
|
||||
@ApiModelProperty(value = "培训日期 结束日期")
|
||||
@TableField(exist = false)
|
||||
private String endTime;
|
||||
//培训教师id
|
||||
@ApiModelProperty(value = "培训教师id")
|
||||
@TableField(exist = false)
|
||||
private Long teacherId;
|
||||
//教师名称
|
||||
@ApiModelProperty(value = "教师名称")
|
||||
@TableField(exist = false)
|
||||
private String teacherName;
|
||||
//培训行业类型
|
||||
@ApiModelProperty(value = "培训行业类型")
|
||||
@TableField(exist = false)
|
||||
private String trainType;
|
||||
//培训行业类型名称
|
||||
@ApiModelProperty(value = "培训行业类型名称")
|
||||
@TableField(exist = false)
|
||||
private String trainTypeName;
|
||||
//培训地点
|
||||
@ApiModelProperty(value = "培训地点")
|
||||
@TableField(exist = false)
|
||||
private String trainingLocation;
|
||||
//机构ID
|
||||
@ApiModelProperty(value = "机构ID")
|
||||
@TableField(exist = false)
|
||||
private Long corpinfoId;
|
||||
//所属单位
|
||||
@ApiModelProperty(value = "所属单位")
|
||||
@TableField(exist = false)
|
||||
private String corpName;
|
||||
//状态:1-未申请 2-待开班 3- 培训中 4-培训结束
|
||||
@ApiModelProperty(value = "状态:1-未申请 2-待开班 3- 培训中 4-培训结束 ")
|
||||
@TableField(exist = false)
|
||||
private Integer classState;
|
||||
//培训有效期日期 开始时间
|
||||
@ApiModelProperty(value = "培训有效期日期 开始时间")
|
||||
@TableField(exist = false)
|
||||
private String validStartTime;
|
||||
//培训有效期日期 结束时间
|
||||
@ApiModelProperty(value = "培训有效期日期 结束时间")
|
||||
@TableField(exist = false)
|
||||
private String validEndTime;
|
||||
//1考试0不考试
|
||||
@ApiModelProperty(value = "1考试0不考试")
|
||||
@TableField(exist = false)
|
||||
private Integer examination;
|
||||
//考试次数只有考试时候有用
|
||||
@ApiModelProperty(value = "考试次数只有考试时候有用")
|
||||
@TableField(exist = false)
|
||||
private Integer numberofexams;
|
||||
|
||||
|
||||
// 学员统计数量
|
||||
@ApiModelProperty(value = "学员统计数量")
|
||||
@TableField(exist = false)
|
||||
private Integer studentCount;
|
||||
|
||||
|
||||
|
||||
|
||||
// 年龄
|
||||
@ApiModelProperty(value = "年龄")
|
||||
@TableField(exist = false)
|
||||
private Integer age;
|
||||
|
||||
//生日
|
||||
@ApiModelProperty(value = "生日")
|
||||
@TableField(exist = false)
|
||||
private String birthday;
|
||||
|
||||
// 性别
|
||||
@ApiModelProperty(value = "性别")
|
||||
@TableField(exist = false)
|
||||
private String sex;
|
||||
|
||||
|
||||
//环境
|
||||
@ApiModelProperty(value = "环境")
|
||||
private String env;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,9 @@ import com.fasterxml.jackson.annotation.JsonFormat;
|
|||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -55,10 +57,20 @@ public class StudentExamRecordCO extends ClientObject {
|
|||
private Integer examQuestionWrong;
|
||||
//考试得分
|
||||
@ApiModelProperty(value = "考试得分")
|
||||
private Object examScore;
|
||||
private BigDecimal examScore;
|
||||
//考试结果 0 -不通过 1-通过
|
||||
@ApiModelProperty(value = "考试结果 0 -不通过 1-通过")
|
||||
private Integer result;
|
||||
|
||||
@ApiModelProperty(value = "考试签字")
|
||||
private String signUrl;
|
||||
|
||||
@ApiModelProperty(value = "试题集合")
|
||||
private List<StudentExamRecordItemCO> examRecordItemList;
|
||||
|
||||
@ApiModelProperty(value = "剩余考试次数")
|
||||
private Integer surplusExamNum;
|
||||
|
||||
//环境
|
||||
@ApiModelProperty(value = "环境")
|
||||
private String env;
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
package com.zcloud.edu.dto.clientobject.study;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
|
|
@ -26,18 +28,62 @@ public class StudentExamRecordItemCO extends ClientObject {
|
|||
//学员id
|
||||
@ApiModelProperty(value = "学员id")
|
||||
private String studentId;
|
||||
|
||||
//班级id
|
||||
@ApiModelProperty(value = "班级id")
|
||||
private String classId;
|
||||
//习题ID
|
||||
@ApiModelProperty(value = "习题ID")
|
||||
private String questionId;
|
||||
//学员答案
|
||||
@ApiModelProperty(value = "学员答案")
|
||||
@ApiModelProperty(value = "正确答案")
|
||||
private String answer;
|
||||
//正确答案
|
||||
@ApiModelProperty(value = "正确答案")
|
||||
private String answerRight;
|
||||
@ApiModelProperty(value = "学员答案")
|
||||
private String choiceAnswer;
|
||||
//删除标识true false
|
||||
@ApiModelProperty(value = "删除标识true false")
|
||||
private String deleteEnum;
|
||||
|
||||
|
||||
|
||||
|
||||
@ApiModelProperty(value = "试题类型(1单选题、2多选题、3判断题)")
|
||||
@TableField(exist = false)
|
||||
private Integer questionType;
|
||||
//题干
|
||||
@ApiModelProperty(value = "题干")
|
||||
@TableField(exist = false)
|
||||
private String questionDry;
|
||||
//选项A
|
||||
@ApiModelProperty(value = "选项A")
|
||||
@TableField(exist = false)
|
||||
private String optionA;
|
||||
//选项B
|
||||
@ApiModelProperty(value = "选项B")
|
||||
@TableField(exist = false)
|
||||
private String optionB;
|
||||
//选项C
|
||||
@ApiModelProperty(value = "选项C")
|
||||
@TableField(exist = false)
|
||||
private String optionC;
|
||||
//选项D
|
||||
@ApiModelProperty(value = "选项D")
|
||||
@TableField(exist = false)
|
||||
private String optionD;
|
||||
//课件类型(1:视频课件、2:试卷习题)
|
||||
@ApiModelProperty(value = "课件类型(1:视频课件、2:试卷习题)")
|
||||
@TableField(exist = false)
|
||||
private Integer coursewareType;
|
||||
//答案解析
|
||||
@ApiModelProperty(value = "答案解析")
|
||||
@TableField(exist = false)
|
||||
private String descr;
|
||||
//分值
|
||||
@ApiModelProperty(value = "分值")
|
||||
@TableField(exist = false)
|
||||
private BigDecimal score;
|
||||
|
||||
//备注
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remarks;
|
||||
|
|
|
|||
|
|
@ -35,6 +35,11 @@ public class StudentSignCO extends ClientObject {
|
|||
//签到人脸路径
|
||||
@ApiModelProperty(value = "签到人脸路径")
|
||||
private String faceUrl;
|
||||
|
||||
//打卡签字路径
|
||||
@ApiModelProperty(value = "打卡签字路径")
|
||||
private String signUrl;
|
||||
|
||||
//签到类型 1-打卡签到 2-人脸签到
|
||||
@ApiModelProperty(value = "签到类型 1-打卡签到 2-人脸签到")
|
||||
private Integer type;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,97 @@
|
|||
package com.zcloud.edu.dto.data.archives;
|
||||
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentSignCO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhangyue
|
||||
* @date 2026/1/26 16:56
|
||||
*/
|
||||
@Data
|
||||
public class ClassArchivesDTO {
|
||||
|
||||
//班级id(uuid)
|
||||
@ApiModelProperty(value = "班级id(uuid)")
|
||||
private String classId;
|
||||
//班级id(雪花)
|
||||
@ApiModelProperty(value = "班级id(雪花)")
|
||||
private Long clzId;
|
||||
|
||||
//班级名称
|
||||
@ApiModelProperty(value = "班级名称")
|
||||
private String className;
|
||||
//培训日期 开始时间
|
||||
@ApiModelProperty(value = "培训日期 开始时间")
|
||||
private String startTime;
|
||||
//培训日期 结束日期
|
||||
@ApiModelProperty(value = "培训日期 结束日期")
|
||||
private String endTime;
|
||||
//培训教师id
|
||||
@ApiModelProperty(value = "培训教师id")
|
||||
private Long teacherId;
|
||||
//教师名称
|
||||
@ApiModelProperty(value = "教师名称")
|
||||
private String teacherName;
|
||||
//培训行业类型
|
||||
@ApiModelProperty(value = "培训行业类型")
|
||||
private String trainType;
|
||||
//培训行业类型名称
|
||||
@ApiModelProperty(value = "培训行业类型名称")
|
||||
private String trainTypeName;
|
||||
//培训地点
|
||||
@ApiModelProperty(value = "培训地点")
|
||||
private String trainingLocation;
|
||||
//机构ID
|
||||
@ApiModelProperty(value = "机构ID")
|
||||
private Long corpinfoId;
|
||||
//所属单位名称
|
||||
@ApiModelProperty(value = "所属单位名称")
|
||||
private String corpName;
|
||||
//状态:1-未申请 2-待开班 3- 培训中 4-培训结束
|
||||
@ApiModelProperty(value = "状态:1-未申请 2-待开班 3- 培训中 4-培训结束 ")
|
||||
private Integer state;
|
||||
//培训有效期日期 开始时间
|
||||
@ApiModelProperty(value = "培训有效期日期 开始时间")
|
||||
private String validStartTime;
|
||||
//培训有效期日期 结束时间
|
||||
@ApiModelProperty(value = "培训有效期日期 结束时间")
|
||||
private String validEndTime;
|
||||
//1考试0不考试
|
||||
@ApiModelProperty(value = "1考试0不考试")
|
||||
private Integer examination;
|
||||
//考试次数只有考试时候有用
|
||||
@ApiModelProperty(value = "考试次数只有考试时候有用")
|
||||
private Integer numberofexams;
|
||||
@ApiModelProperty(value = "培训时长")
|
||||
private Long trainDurationTime;
|
||||
@ApiModelProperty(value = "培训科目")
|
||||
private String trainSubject;
|
||||
|
||||
@ApiModelProperty(value = "视频时长")
|
||||
private BigDecimal videoTotalTime;
|
||||
@ApiModelProperty(value = "课件数")
|
||||
private Integer videoCount;
|
||||
|
||||
@ApiModelProperty(value = "打卡签到人脸图片路径")
|
||||
private String signFaceUrl;
|
||||
@ApiModelProperty(value = "考试签到人脸图片路径")
|
||||
private String examSignFaceUrl;
|
||||
@ApiModelProperty(value = "签字列表")
|
||||
private List<StudentSignCO> signList;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "学员数")
|
||||
private Long studentCount;
|
||||
@ApiModelProperty(value = "实际参加培训人数")
|
||||
private Long signCount;
|
||||
|
||||
@ApiModelProperty(value = "合格学员列表")
|
||||
private List<StudentCO> passStudentList;
|
||||
@ApiModelProperty(value = "不合格学员列表")
|
||||
private List<StudentCO> failStudentList;
|
||||
}
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
package com.zcloud.edu.dto.data.archives;
|
||||
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentSignCO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhangyue
|
||||
* @date 2026/1/26 16:56
|
||||
*/
|
||||
@Data
|
||||
public class PersonArchivesDTO {
|
||||
private Long stuId;
|
||||
//业务id
|
||||
@ApiModelProperty(value = "业务id")
|
||||
private String studentId;
|
||||
//学员userid
|
||||
@ApiModelProperty(value = "学员userid")
|
||||
private Integer userId;
|
||||
//班级id
|
||||
@ApiModelProperty(value = "班级id")
|
||||
private String classId;
|
||||
//学员姓名
|
||||
@ApiModelProperty(value = "学员姓名")
|
||||
private String name;
|
||||
//学员所属班级的企业id
|
||||
@ApiModelProperty(value = "学员所属班级的企业id")
|
||||
private Long classCorpinfoId;
|
||||
//手机号
|
||||
@ApiModelProperty(value = "手机号")
|
||||
private String phone;
|
||||
//身份证号
|
||||
@ApiModelProperty(value = "身份证号")
|
||||
private String userIdCard;
|
||||
//民族编码
|
||||
@ApiModelProperty(value = "民族编码")
|
||||
private String nation;
|
||||
//民族名称
|
||||
@ApiModelProperty(value = "民族名称")
|
||||
private String nationName;
|
||||
//人脸照片url
|
||||
@ApiModelProperty(value = "人脸照片url")
|
||||
private String userAvatarUrl;
|
||||
//现住址
|
||||
@ApiModelProperty(value = "现住址")
|
||||
private String currentAddress;
|
||||
//户口所在地
|
||||
@ApiModelProperty(value = "户口所在地")
|
||||
private String locationAddress;
|
||||
//文化程度 数据字典
|
||||
@ApiModelProperty(value = "文化程度 数据字典")
|
||||
private String culturalLevel;
|
||||
//文化程度名称
|
||||
@ApiModelProperty(value = "文化程度名称")
|
||||
private String culturalLevelName;
|
||||
//婚姻状态
|
||||
@ApiModelProperty(value = "婚姻状态")
|
||||
private String maritalStatus;
|
||||
//婚姻状态名称
|
||||
@ApiModelProperty(value = "婚姻状态名称")
|
||||
private String maritalStatusName;
|
||||
//政治面貌
|
||||
@ApiModelProperty(value = "政治面貌")
|
||||
private String politicalAffiliation;
|
||||
//政治面貌名称
|
||||
@ApiModelProperty(value = "政治面貌名称")
|
||||
private String politicalAffiliationName;
|
||||
//岗位名称
|
||||
@ApiModelProperty(value = "岗位名称")
|
||||
private String postName;
|
||||
//签到状态 0-未签到 1-已签到
|
||||
@ApiModelProperty(value = "签到状态 0-未签到 1-已签到")
|
||||
private Integer signFlag;
|
||||
//考试签到状态 0-未签到 1-已签到
|
||||
@ApiModelProperty(value = "考试签到状态 0-未签到 1-已签到")
|
||||
private Integer examSignFlag;
|
||||
//学员状态 0-未学习 1-已签到 2-考试通过 3-未签到 4-考试未通过
|
||||
@ApiModelProperty(value = "学员状态 0-未学习 1-已签到 2-考试通过 3-未签到 4-考试未通过")
|
||||
private Integer state;
|
||||
|
||||
|
||||
//班级名称
|
||||
@ApiModelProperty(value = "班级名称")
|
||||
private String className;
|
||||
//培训日期 开始时间
|
||||
@ApiModelProperty(value = "培训日期 开始时间")
|
||||
private String startTime;
|
||||
//培训日期 结束日期
|
||||
@ApiModelProperty(value = "培训日期 结束日期")
|
||||
private String endTime;
|
||||
//培训教师id
|
||||
@ApiModelProperty(value = "培训教师id")
|
||||
private Long teacherId;
|
||||
//教师名称
|
||||
@ApiModelProperty(value = "教师名称")
|
||||
private String teacherName;
|
||||
//培训行业类型
|
||||
@ApiModelProperty(value = "培训行业类型")
|
||||
private String trainType;
|
||||
//培训行业类型名称
|
||||
@ApiModelProperty(value = "培训行业类型名称")
|
||||
private String trainTypeName;
|
||||
//培训地点
|
||||
@ApiModelProperty(value = "培训地点")
|
||||
private String trainingLocation;
|
||||
//机构ID
|
||||
@ApiModelProperty(value = "机构ID")
|
||||
private Long corpinfoId;
|
||||
//状态:1-未申请 2-待开班 3- 培训中 4-培训结束
|
||||
@ApiModelProperty(value = "状态:1-未申请 2-待开班 3- 培训中 4-培训结束 ")
|
||||
private Integer classState;
|
||||
//培训有效期日期 开始时间
|
||||
@ApiModelProperty(value = "培训有效期日期 开始时间")
|
||||
private String validStartTime;
|
||||
//培训有效期日期 结束时间
|
||||
@ApiModelProperty(value = "培训有效期日期 结束时间")
|
||||
private String validEndTime;
|
||||
//1考试0不考试
|
||||
@ApiModelProperty(value = "1考试0不考试")
|
||||
private Integer examination;
|
||||
//考试次数只有考试时候有用
|
||||
@ApiModelProperty(value = "考试次数只有考试时候有用")
|
||||
private Integer numberofexams;
|
||||
@ApiModelProperty(value = "培训时长")
|
||||
private Long trainDurationTime;
|
||||
@ApiModelProperty(value = "培训科目")
|
||||
private String trainSubject;
|
||||
|
||||
@ApiModelProperty(value = "视频时长")
|
||||
private BigDecimal videoTotalTime;
|
||||
@ApiModelProperty(value = "课件数")
|
||||
private Integer videoCount;
|
||||
|
||||
@ApiModelProperty(value = "打卡签到人脸图片路径")
|
||||
private String signFaceUrl;
|
||||
@ApiModelProperty(value = "考试签到人脸图片路径")
|
||||
private String examSignFaceUrl;
|
||||
@ApiModelProperty(value = "签字列表")
|
||||
private List<StudentSignCO> signList;
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
package com.zcloud.edu.dto.study;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-13 14:18:12
|
||||
*/
|
||||
@Data
|
||||
public class ClassAppSignQry {
|
||||
|
||||
/**
|
||||
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||
* - `eq`: 等值查询,对应SQL的=操作符
|
||||
* - `gt`: 大于比较查询
|
||||
* - `lt`: 小于比较查询
|
||||
* - `ge`: 大于等于比较查询
|
||||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String classId;
|
||||
private String phone;
|
||||
private Long stuId;
|
||||
private String studentId;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package com.zcloud.edu.dto.study;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-13 14:18:12
|
||||
*/
|
||||
@Data
|
||||
public class ClassCountQry {
|
||||
|
||||
/**
|
||||
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||
* - `eq`: 等值查询,对应SQL的=操作符
|
||||
* - `gt`: 大于比较查询
|
||||
* - `lt`: 小于比较查询
|
||||
* - `ge`: 大于等于比较查询
|
||||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private List<String> phones;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -43,10 +43,15 @@ public class ClassCurriculumAddCmd extends Command {
|
|||
@NotNull(message = "课程总时长不能为空")
|
||||
private double videoTotalTime;
|
||||
|
||||
//目录级别 1-一级目录 2-二级目录
|
||||
@ApiModelProperty(value = "目录级别 1-一级目录 2-二级目录")
|
||||
@NotNull(message = "课程总时长不能为空")
|
||||
private Integer catalogueLevel;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "课程目录", name = "curriculumChapterAddCmdList", required = true)
|
||||
@NotNull(message = "课程目录")
|
||||
private List<ClassCurriculumChapterAddCmd> chapterList;
|
||||
private List<ClassCurriculumChapterAddCmd> curriculumChapterAddCmdList;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,36 @@
|
|||
package com.zcloud.edu.dto.study;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-16 09:54:32
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ClassCurriculumBatchAddCmd extends Command {
|
||||
|
||||
@ApiModelProperty(value = "课程id", name = "curriculumId", required = true)
|
||||
@NotEmpty(message = "课程id不能为空")
|
||||
private List<String> curriculumIds;
|
||||
|
||||
@ApiModelProperty(value = "班级id", name = "classId", required = true)
|
||||
@NotEmpty(message = "班级id不能为空")
|
||||
private String classId;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ public class ClassCurriculumChapterAddCmd extends Command {
|
|||
|
||||
@ApiModelProperty(value = "目录课件", name = "curriculumChapterAddCmdList", required = true)
|
||||
@NotEmpty(message = "目录课件不能为空")
|
||||
private List<ClassCurriculumChapterAddCmd> children;
|
||||
private List<ClassCurriculumChapterAddCmd> curriculumChapterAddCmdList;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
package com.zcloud.edu.dto.study;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-16 09:54:33
|
||||
*/
|
||||
@Data
|
||||
public class ClassCurriculumQry {
|
||||
|
||||
/**
|
||||
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||
* - `eq`: 等值查询,对应SQL的=操作符
|
||||
* - `gt`: 大于比较查询
|
||||
* - `lt`: 小于比较查询
|
||||
* - `ge`: 大于等于比较查询
|
||||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String likeClassCurriculumId;
|
||||
private String eqClassId;
|
||||
}
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ public class StudentAddCmd extends Command {
|
|||
|
||||
@ApiModelProperty(value = "学员userid", name = "userId", required = true)
|
||||
@NotNull(message = "学员userid不能为空")
|
||||
private Integer userId;
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "班级id", name = "classId", required = true)
|
||||
@NotEmpty(message = "班级id不能为空")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
package com.zcloud.edu.dto.study;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2026-01-13 14:18:15
|
||||
*/
|
||||
@Data
|
||||
public class StudentCountQry {
|
||||
|
||||
/**
|
||||
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||
* - `eq`: 等值查询,对应SQL的=操作符
|
||||
* - `gt`: 大于比较查询
|
||||
* - `lt`: 小于比较查询
|
||||
* - `ge`: 大于等于比较查询
|
||||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String eqStudentId;
|
||||
private String eqClassId;
|
||||
private String likeProjectNames;
|
||||
private String likeName;
|
||||
private String likeInterestedIds;
|
||||
private List<Long> corpinfoIds;
|
||||
private List<String> phones;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -9,6 +9,8 @@ import lombok.NoArgsConstructor;
|
|||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
|
|
@ -22,60 +24,50 @@ import javax.validation.constraints.NotNull;
|
|||
@AllArgsConstructor
|
||||
public class StudentExamRecordAddCmd extends Command {
|
||||
@ApiModelProperty(value = "业务id", name = "studentExamRecordId", required = true)
|
||||
@NotEmpty(message = "业务id不能为空")
|
||||
private String studentExamRecordId;
|
||||
|
||||
@ApiModelProperty(value = "用户id", name = "userId", required = true)
|
||||
@NotNull(message = "用户id不能为空")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "学员id", name = "studentId", required = true)
|
||||
@NotEmpty(message = "学员id不能为空")
|
||||
private String studentId;
|
||||
|
||||
@ApiModelProperty(value = "班级id", name = "classId", required = true)
|
||||
@NotEmpty(message = "班级id不能为空")
|
||||
private String classId;
|
||||
|
||||
@ApiModelProperty(value = "企业id", name = "corpinfoId", required = true)
|
||||
@NotNull(message = "企业id不能为空")
|
||||
private Long corpinfoId;
|
||||
|
||||
@ApiModelProperty(value = "班级-试卷 表ID", name = "classExamPaperId", required = true)
|
||||
@NotEmpty(message = "班级-试卷 表ID不能为空")
|
||||
private String classExamPaperId;
|
||||
|
||||
@ApiModelProperty(value = "试卷id", name = "examPaperId", required = true)
|
||||
@NotEmpty(message = "试卷id不能为空")
|
||||
private String examPaperId;
|
||||
|
||||
@ApiModelProperty(value = "考试时间", name = "examTimeBegin", required = true)
|
||||
@NotEmpty(message = "考试时间不能为空")
|
||||
private String examTimeBegin;
|
||||
|
||||
@ApiModelProperty(value = "考试交卷时间", name = "examTimeEnd", required = true)
|
||||
@NotEmpty(message = "考试交卷时间不能为空")
|
||||
private String examTimeEnd;
|
||||
|
||||
@ApiModelProperty(value = "考试总题数", name = "examQuestionNum", required = true)
|
||||
@NotNull(message = "考试总题数不能为空")
|
||||
private Integer examQuestionNum;
|
||||
|
||||
@ApiModelProperty(value = "考试对题数", name = "examQuestionRight", required = true)
|
||||
@NotNull(message = "考试对题数不能为空")
|
||||
private Integer examQuestionRight;
|
||||
|
||||
@ApiModelProperty(value = "考试错题数", name = "examQuestionWrong", required = true)
|
||||
@NotNull(message = "考试错题数不能为空")
|
||||
private Integer examQuestionWrong;
|
||||
|
||||
@ApiModelProperty(value = "考试得分", name = "examScore", required = true)
|
||||
@NotEmpty(message = "考试得分不能为空")
|
||||
private Object examScore;
|
||||
private BigDecimal examScore;
|
||||
|
||||
@ApiModelProperty(value = "考试结果 0 -不通过 1-通过", name = "result", required = true)
|
||||
@NotNull(message = "考试结果 0 -不通过 1-通过不能为空")
|
||||
private Integer result;
|
||||
|
||||
@ApiModelProperty(value = "选项", name = "questionList", required = true)
|
||||
@NotNull(message = "选项不能为空")
|
||||
private List<StudentExamRecordItemAddCmd> questionList;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode;
|
|||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
|
|
@ -21,28 +22,24 @@ import javax.validation.constraints.NotEmpty;
|
|||
@AllArgsConstructor
|
||||
public class StudentExamRecordItemAddCmd extends Command {
|
||||
@ApiModelProperty(value = "业务id", name = "studentExamRecordItemId", required = true)
|
||||
@NotEmpty(message = "业务id不能为空")
|
||||
private String studentExamRecordItemId;
|
||||
|
||||
@ApiModelProperty(value = "考试记录id", name = "studentExamRecordId", required = true)
|
||||
@NotEmpty(message = "考试记录id不能为空")
|
||||
private String studentExamRecordId;
|
||||
|
||||
@ApiModelProperty(value = "学员id", name = "studentId", required = true)
|
||||
@NotEmpty(message = "学员id不能为空")
|
||||
private String studentId;
|
||||
|
||||
@ApiModelProperty(value = "习题ID", name = "questionId", required = true)
|
||||
@NotEmpty(message = "习题ID不能为空")
|
||||
private String questionId;
|
||||
|
||||
@ApiModelProperty(value = "学员答案", name = "answer", required = true)
|
||||
@NotEmpty(message = "学员答案不能为空")
|
||||
@ApiModelProperty(value = "正确答案", name = "answer", required = true)
|
||||
private String answer;
|
||||
|
||||
@ApiModelProperty(value = "正确答案", name = "answerRight", required = true)
|
||||
@NotEmpty(message = "正确答案不能为空")
|
||||
private String answerRight;
|
||||
@ApiModelProperty(value = "学员答案", name = "choiceAnswer", required = true)
|
||||
private String choiceAnswer;
|
||||
@ApiModelProperty(value = "分值", name = "score", required = true)
|
||||
private BigDecimal score;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,11 +36,11 @@ public class StudentExamRecordItemUpdateCmd extends Command {
|
|||
@ApiModelProperty(value = "习题ID", name = "questionId", required = true)
|
||||
@NotEmpty(message = "习题ID不能为空")
|
||||
private String questionId;
|
||||
@ApiModelProperty(value = "学员答案", name = "answer", required = true)
|
||||
@NotEmpty(message = "学员答案不能为空")
|
||||
private String answer;
|
||||
@ApiModelProperty(value = "正确答案", name = "answerRight", required = true)
|
||||
@ApiModelProperty(value = "正确答案", name = "answer", required = true)
|
||||
@NotEmpty(message = "正确答案不能为空")
|
||||
private String answerRight;
|
||||
private String answer;
|
||||
@ApiModelProperty(value = "学员答案", name = "choiceAnswer", required = true)
|
||||
@NotEmpty(message = "学员答案不能为空")
|
||||
private String choiceAnswer;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,5 +24,6 @@ public class StudentExamRecordPageQry extends PageQuery {
|
|||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String likeStudentExamRecordId;
|
||||
private String likeStudentId;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import lombok.NoArgsConstructor;
|
|||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
|
|
@ -62,7 +63,7 @@ public class StudentExamRecordUpdateCmd extends Command {
|
|||
private Integer examQuestionWrong;
|
||||
@ApiModelProperty(value = "考试得分", name = "examScore", required = true)
|
||||
@NotEmpty(message = "考试得分不能为空")
|
||||
private Object examScore;
|
||||
private BigDecimal examScore;
|
||||
@ApiModelProperty(value = "考试结果 0 -不通过 1-通过", name = "result", required = true)
|
||||
@NotNull(message = "考试结果 0 -不通过 1-通过不能为空")
|
||||
private Integer result;
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ public class StudentPageQry extends PageQuery {
|
|||
private String likeProjectNames;
|
||||
private String likeName;
|
||||
private String likeInterestedIds;
|
||||
|
||||
private String likeClassName;
|
||||
private Integer state;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import lombok.AllArgsConstructor;
|
|||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
|
@ -21,33 +22,26 @@ import javax.validation.constraints.NotNull;
|
|||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class StudentSignAddCmd extends Command {
|
||||
@ApiModelProperty(value = "学员id", name = "studentId", required = true)
|
||||
@NotEmpty(message = "学员id不能为空")
|
||||
private String studentId;
|
||||
|
||||
@ApiModelProperty(value = "业务id", name = "studentSignId", required = true)
|
||||
@NotEmpty(message = "业务id不能为空")
|
||||
private String studentSignId;
|
||||
|
||||
@ApiModelProperty(value = "班级id", name = "classId", required = true)
|
||||
@NotEmpty(message = "班级id不能为空")
|
||||
private String classId;
|
||||
|
||||
@ApiModelProperty(value = "用户id", name = "userId", required = true)
|
||||
@NotNull(message = "用户id不能为空")
|
||||
private Long userId;
|
||||
@ApiModelProperty(value = "学员id", name = "studentId", required = true)
|
||||
private String studentId;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "企业id", name = "corpinfoId", required = true)
|
||||
@NotNull(message = "企业id不能为空")
|
||||
private Long corpinfoId;
|
||||
|
||||
@ApiModelProperty(value = "签到人脸路径", name = "faceUrl", required = true)
|
||||
@NotEmpty(message = "签到人脸路径不能为空")
|
||||
private String faceUrl;
|
||||
|
||||
@ApiModelProperty(value = "签到类型 1-打卡签到 2-人脸签到", name = "type", required = true)
|
||||
@NotNull(message = "签到类型 1-打卡签到 2-人脸签到不能为空")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty(value = "手机号", name = "phone", required = true)
|
||||
private String phone;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "人脸照片", name = "files")
|
||||
@NotEmpty(message = "请上传人脸照片")
|
||||
private MultipartFile[] files;
|
||||
}
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue