| | |
| | | * |
| | | * @author chenjunliang |
| | | */ |
| | | @Api(tags="班级管理接口") |
| | | @Api(tags = "班级管理接口") |
| | | @RestController |
| | | @CrossOrigin |
| | | @RequestMapping("/admin/class") |
| | |
| | | @Autowired |
| | | ITeacherService teacherService; |
| | | |
| | | @Autowired |
| | | IClassLectureService clsLectureService; |
| | | @Autowired |
| | | IClassLectureService clsLectureService; |
| | | |
| | | //---------------------------------------------------------------------------------app接口--------------------------------------------------------------------------------------------------------------------/ |
| | | |
| | | /** |
| | | * 获取正常班级列表 |
| | | * |
| | |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "获取正常班级列表", notes = "") |
| | | @GetMapping(value = "/app/classList") |
| | | @GetMapping(value = "/app/classList") |
| | | public Result classList(@RequestParam(defaultValue = "") String keyword, Pager pager) { |
| | | return this.classService.classList(keyword, pager, 1); |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "获取历史班级列表", notes = "") |
| | | @GetMapping(value = "/app/historyClassList") |
| | | @GetMapping(value = "/app/historyClassList") |
| | | public Result historyClassList(@RequestParam(defaultValue = "") String keyword, Pager pager) { |
| | | return this.classService.classList(keyword, pager, 2); |
| | | } |
| | |
| | | */ |
| | | @ApiOperation(value = "学员详情", notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "studentId", value = "学员id", required = true, paramType="query", dataType = "String"), |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"), |
| | | @ApiImplicitParam(name = "studentId", value = "学员id", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType = "query", dataType = "String"), |
| | | }) |
| | | @GetMapping(value = "/app/studentInfo") |
| | | public Result studentInfo(String classId, String studentId) { |
| | | return this.studentService.queryStudent(classId, studentId); |
| | | } |
| | | @GetMapping(value = "/app/studentInfo") |
| | | public Result studentInfo(String classId, String studentId) { |
| | | return this.studentService.queryStudent(classId, studentId); |
| | | } |
| | | |
| | | /** |
| | | * 学员详情 |
| | |
| | | */ |
| | | @ApiOperation(value = "学员学习进度", notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "studentId", value = "学员id", required = true, paramType="query", dataType = "String"), |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"), |
| | | @ApiImplicitParam(name = "studentId", value = "学员id", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType = "query", dataType = "String"), |
| | | }) |
| | | @GetMapping(value = "/app/studentProgress") |
| | | public Result studentProgress(String classId, String studentId) { |
| | | return this.studentService.studentProgress(classId, studentId); |
| | | } |
| | | @GetMapping(value = "/app/studentProgress") |
| | | public Result studentProgress(String classId, String studentId) { |
| | | return this.studentService.studentProgress(classId, studentId); |
| | | } |
| | | |
| | | /** |
| | | * 获取首页数据排行 |
| | | * |
| | | * |
| | | * @param subjectId |
| | | */ |
| | | @ApiOperation(value = "班级排行榜", notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"), |
| | | }) |
| | | @GetMapping(value = "/app/getDataDesc") |
| | | public Result getDataDesc(String classId, String subjectId) { |
| | | return subjectService.getDataDesc(classId, subjectId); |
| | | } |
| | | /** |
| | | * 获取首页数据排行 |
| | | * |
| | | * @param subjectId |
| | | */ |
| | | @ApiOperation(value = "班级排行榜", notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType = "query", dataType = "String"), |
| | | }) |
| | | @GetMapping(value = "/app/getDataDesc") |
| | | public Result getDataDesc(String classId, String subjectId) { |
| | | return subjectService.getDataDesc(classId, subjectId); |
| | | } |
| | | |
| | | /** |
| | | * 学员课程进度 |
| | | * |
| | | * |
| | | * @param subjectId |
| | | */ |
| | | */ |
| | | @ApiOperation(value = "学员课程进度", notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"), |
| | | @ApiImplicitParam(name = "subjectId", value = "课程id", required = true, paramType="query", dataType = "String"), |
| | | @ApiImplicitParam(name = "studentId", value = "学员id", required = true, paramType="query", dataType = "String"), |
| | | }) |
| | | @GetMapping(value = "/app/studentSubjectProgress") |
| | | public Result studentSubjectProgress(String classId, String subjectId, String studentId) { |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "subjectId", value = "课程id", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "studentId", value = "学员id", required = true, paramType = "query", dataType = "String"), |
| | | }) |
| | | @GetMapping(value = "/app/studentSubjectProgress") |
| | | public Result studentSubjectProgress(String classId, String subjectId, String studentId) { |
| | | |
| | | return new Result(true, "success", CollectionUtils.newObjectMap("homework", this.subjectService.studentSubjectHomeworkProgress(classId, subjectId, studentId), |
| | | "exam", this.subjectService.studentSubjectExamProgress(classId, subjectId, studentId))); |
| | | } |
| | | return new Result(true, "success", CollectionUtils.newObjectMap("homework", this.subjectService.studentSubjectHomeworkProgress(classId, subjectId, studentId), |
| | | "exam", this.subjectService.studentSubjectExamProgress(classId, subjectId, studentId))); |
| | | } |
| | | |
| | | /** |
| | | * 班级学员课程总体进度 |
| | | * |
| | | * |
| | | * @param classId |
| | | */ |
| | | */ |
| | | @ApiOperation(value = "班级学员课程总体进度", notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"), |
| | | }) |
| | | @GetMapping(value = "/app/studentAllSubjectProgress") |
| | | public Result studentSubjectProgress(String classId) { |
| | | if(StringUtils.isEmpty(classId)) { |
| | | return new Result(false, "班级id参数不能为空"); |
| | | } |
| | | return new Result(true, "success", CollectionUtils.newObjectMap("subjectList", this.subjectService.studentSubjectProgress(classId, new Pager()))); |
| | | } |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType = "query", dataType = "String"), |
| | | }) |
| | | @GetMapping(value = "/app/studentAllSubjectProgress") |
| | | public Result studentSubjectProgress(String classId) { |
| | | if (StringUtils.isEmpty(classId)) { |
| | | return new Result(false, "班级id参数不能为空"); |
| | | } |
| | | return new Result(true, "success", CollectionUtils.newObjectMap("subjectList", this.subjectService.studentSubjectProgress(classId, new Pager()))); |
| | | } |
| | | |
| | | /** |
| | | * 班级学员课件总体进度 |
| | | * |
| | | * |
| | | * @param classId |
| | | */ |
| | | @ApiOperation(value = "班级学员课件总体进度", notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"), |
| | | @ApiImplicitParam(name = "subjectId", value = "课程id", required = true, paramType="query", dataType = "String"), |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "subjectId", value = "课程id", required = true, paramType = "query", dataType = "String"), |
| | | }) |
| | | @GetMapping(value = "/app/studentSubjectLectureProgress") |
| | | public Result studentSubjectLectureProgress(String classId, String subjectId) { |
| | | if(StringUtils.isEmpty(classId)) { |
| | | return new Result(false, "班级id参数不能为空"); |
| | | } |
| | | if(StringUtils.isEmpty(subjectId)) { |
| | | return new Result(false, "课程id参数不能为空"); |
| | | } |
| | | if (StringUtils.isEmpty(classId)) { |
| | | return new Result(false, "班级id参数不能为空"); |
| | | } |
| | | if (StringUtils.isEmpty(subjectId)) { |
| | | return new Result(false, "课程id参数不能为空"); |
| | | } |
| | | |
| | | //获取所有课件 |
| | | List<Map<String, Object>> lectures = this.subjectService.studentSubjectLectureProgress(subjectId, classId); |
| | | //获取所以章节 |
| | | List<ClsSubjectChapter> chapterLst = clsLectureService.getChapterLectures(clsLectureService.getListChapter(classId, subjectId, null), lectures); |
| | | //获取所有课件 |
| | | List<Map<String, Object>> lectures = this.subjectService.studentSubjectLectureProgress(subjectId, classId); |
| | | //获取所以章节 |
| | | List<ClsSubjectChapter> chapterLst = clsLectureService.getChapterLectures(clsLectureService.getListChapter(classId, subjectId, null), lectures); |
| | | |
| | | return new Result(true, "success", CollectionUtils.newObjectMap("count",clsLectureService.stuLectureCountBySubject(subjectId, classId), "listData", QBeanUtils.listBean2ListMap(chapterLst, |
| | | CollectionUtils.newStringMap("name", "name", "chapterId", "chapterId", "lectures", "lectures")))); |
| | | return new Result(true, "success", CollectionUtils.newObjectMap("count", clsLectureService.stuLectureCountBySubject(subjectId, classId), "listData", QBeanUtils.listBean2ListMap(chapterLst, |
| | | CollectionUtils.newStringMap("name", "name", "chapterId", "chapterId", "lectures", "lectures")))); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param mobilePhone 手机号 |
| | | */ |
| | | @ApiOperation(value = "app端学员注册接口", notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "name", value = "名称", required = true, paramType="query", dataType = "String"), |
| | | @ApiImplicitParam(name = "studentNumber", value = "学号", required = true, paramType="query", dataType = "String"), |
| | | @ApiImplicitParam(name = "sex", value = "性别(0女,1男)", required = true, paramType="query", dataType = "String"), |
| | | @ApiImplicitParam(name = "mobilePhone", value = "手机号", required = false, paramType="query", dataType = "String"), |
| | | @ApiImplicitParam(name = "orgId", value = "机构", required = true, paramType="query", dataType = "String"), |
| | | }) |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "name", value = "名称", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "studentNumber", value = "学号", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "sex", value = "性别(0女,1男)", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "mobilePhone", value = "手机号", required = false, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "orgId", value = "机构", required = true, paramType = "query", dataType = "String"), |
| | | }) |
| | | @PostMapping(value = "/app/studentRegister") |
| | | public Result studentRegister(String name, String studentNumber, Boolean sex, String mobilePhone, String orgId) { |
| | | return studentService.insertStudent(null, name, studentNumber, sex, mobilePhone, orgId); |
| | |
| | | */ |
| | | @PostMapping(value = "add") |
| | | public Result add(String className, String classNumber, String startTime, String endTime, String subjectId, |
| | | String teacherId,String chargeClassName ) { |
| | | String teacherId, String chargeClassName) { |
| | | try { |
| | | return classService.insertClass(className, classNumber, DateUtils.convertStringToDate(startTime), |
| | | DateUtils.convertStringToDate(endTime), subjectId, teacherId,chargeClassName); |
| | | return classService.insertClass(className, classNumber, DateUtils.convertStringToDate(startTime), |
| | | DateUtils.convertStringToDate(endTime), subjectId, teacherId, chargeClassName); |
| | | |
| | | } catch (ParseException e) { |
| | | log.error(e, e); |
| | | return new Result(false, "日期参数错误"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 新增补考分组 |
| | | * |
| | | * @param className 班级名称 |
| | | * @param classNumber 班级编码 |
| | | * @param startTime 开班时间 |
| | |
| | | */ |
| | | @PostMapping(value = "addRe") |
| | | public Result addRe(String className, String classNumber, String startTime, String endTime, String subjectId, |
| | | String teacherId,String classTypes) { |
| | | String teacherId, String classTypes) { |
| | | try { |
| | | ClsClass reClass = classService.getReClass("1"); |
| | | //如果补考类型分组不存在,新增 |
| | | if (reClass==null){ |
| | | return classService.insertReClass(className, classNumber, DateUtils.convertStringToDate(startTime), |
| | | DateUtils.convertStringToDate(endTime), subjectId, teacherId,classTypes); |
| | | }else { |
| | | //存在返回false |
| | | return new Result(false, "补考分组已存在"); |
| | | } |
| | | ClsClass reClass = classService.getReClass("1"); |
| | | //如果补考类型分组不存在,新增 |
| | | if (reClass == null) { |
| | | return classService.insertReClass(className, classNumber, DateUtils.convertStringToDate(startTime), |
| | | DateUtils.convertStringToDate(endTime), subjectId, teacherId, classTypes); |
| | | } else { |
| | | //存在返回false |
| | | return new Result(false, "补考分组已存在"); |
| | | } |
| | | } catch (ParseException e) { |
| | | log.error(e, e); |
| | | return new Result(false, "日期参数错误"); |
| | |
| | | @GetMapping(value = "getSubjectLst") |
| | | public Result getSubjectlst() { |
| | | |
| | | List<Subject> subjectLst = subjectService.list("", null, "",Subject.TYPE_ORG_SUBJECT, 1000, 1); |
| | | List<Subject> subjectLst = subjectService.list("", null, "", Subject.TYPE_ORG_SUBJECT, 1000, 1); |
| | | |
| | | return new Result(true, "success", QBeanUtils.listBean2ListMap(subjectLst, |
| | | CollectionUtils.newStringMap("name", "subjectName", "subjectId", "subjectId"))); |
| | |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "获取班级列表", notes = "") |
| | | @SuppressWarnings({ "unchecked", "rawtypes" }) |
| | | @GetMapping(value = "list") |
| | | @SuppressWarnings({"unchecked", "rawtypes"}) |
| | | @GetMapping(value = "list") |
| | | public Result list(@RequestParam(defaultValue = "") String keyword, |
| | | @RequestParam(defaultValue = "10") Integer limit, @RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "1")Integer pageType) { |
| | | @RequestParam(defaultValue = "10") Integer limit, @RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "1") Integer pageType) { |
| | | |
| | | String teacherId = ClientUtils.isAdmin() ? null : teacherService.getTeacherIdByUserId(ClientUtils.getUserId()); |
| | | // 获取数据 |
| | |
| | | // 获取班级总数 |
| | | int count = classService.getClassLstCount(keyword, teacherId, pageType); |
| | | // 转成前端所需字段和结构 |
| | | List<Map<String, Object>> lstResult = QBeanUtils.listBean2ListMap(clsLst, |
| | | CollectionUtils.newStringMap("name", "className", "classId", "classId", "classNumber", "classNumber","classTypes","classTypes", |
| | | List<Map<String, Object>> lstResult = QBeanUtils.listBean2ListMap(clsLst, |
| | | CollectionUtils.newStringMap("name", "className", "classId", "classId", "classNumber", "classNumber", "classTypes", "classTypes", |
| | | "studentCount", "studentCount", "createTime", "createTime", "startTime", "startTime", "endTime", |
| | | "endTime", "subjects", "sbjLst","chargeClassName","chargeClassName","chargeClassId","chargeClassId")); |
| | | "endTime", "subjects", "sbjLst", "chargeClassName", "chargeClassName", "chargeClassId", "chargeClassId")); |
| | | |
| | | // 单独处理课程的字段和结构 |
| | | for (Map<String, Object> item : lstResult) { |
| | | |
| | | if(item.get("sbjLst")==null){ |
| | | continue; |
| | | if (item.get("sbjLst") == null) { |
| | | continue; |
| | | |
| | | } |
| | | } |
| | | |
| | | item.put("subjectLst", |
| | | QBeanUtils.listBean2ListMap( |
| | | this.filtCurrTeacherSubjects((List<Subject>) item.get("sbjLst"),teacherId), |
| | | CollectionUtils.newStringMap("subjectId", "subjectId", "name", "subjectName", |
| | | "teacherId","teacherId","teacherName","teacherName","schoolYear","schoolYear","term","term"))); |
| | | item.put("subjectLst", |
| | | QBeanUtils.listBean2ListMap( |
| | | this.filtCurrTeacherSubjects((List<Subject>) item.get("sbjLst"), teacherId), |
| | | CollectionUtils.newStringMap("subjectId", "subjectId", "name", "subjectName", |
| | | "teacherId", "teacherId", "teacherName", "teacherName", "schoolYear", "schoolYear", "term", "term"))); |
| | | |
| | | item.remove("sbjLst"); |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | private List<Subject> filtCurrTeacherSubjects(List<Subject> subjects,String teacherId){ |
| | | if(StringUtils.isEmpty(teacherId) || subjects==null || subjects.size()==0){ |
| | | return subjects; |
| | | } |
| | | private List<Subject> filtCurrTeacherSubjects(List<Subject> subjects, String teacherId) { |
| | | if (StringUtils.isEmpty(teacherId) || subjects == null || subjects.size() == 0) { |
| | | return subjects; |
| | | } |
| | | |
| | | List<Subject> newSubjects = new ArrayList<Subject>(subjects.size()); |
| | | List<Subject> newSubjects = new ArrayList<Subject>(subjects.size()); |
| | | |
| | | for(Subject subject:subjects){ |
| | | if(teacherId.equals(subject.getTeacherId())){ |
| | | newSubjects.add(subject); |
| | | } |
| | | } |
| | | for (Subject subject : subjects) { |
| | | if (teacherId.equals(subject.getTeacherId())) { |
| | | newSubjects.add(subject); |
| | | } |
| | | } |
| | | |
| | | return newSubjects; |
| | | return newSubjects; |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | @ApiOperation(value = "查询班级基本信息", notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"), |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType = "query", dataType = "String"), |
| | | }) |
| | | @GetMapping(value = "queryClass") |
| | | public Result findClass(String classId) { |
| | |
| | | |
| | | return new Result(true, "success", QBeanUtils.bean2Map(cls, |
| | | CollectionUtils.newStringMap("name", "className", "classId", "classId", "classNumber", "classNumber", |
| | | "studentCount", "studentCount", "createTime", "createTime", "startTime", "startTime", "endTime","endTime","classTypes", |
| | | "studentCount", "studentCount", "createTime", "createTime", "startTime", "startTime", "endTime", "endTime", "classTypes", |
| | | "classTypes", "subjects", "subjectLst", "needJoinAudit", "needJoinAudit", "needQuitAudit", |
| | | "needQuitAudit", "showAnalysisAfterExer", "showAnalysisAfterExer", "canMultiExer", |
| | | "canMultiExer", "needForum", "needForum", "teacherId", "teacherId","chargeClassName","chargeClassName"))); |
| | | "canMultiExer", "needForum", "needForum", "teacherId", "teacherId", "chargeClassName", "chargeClassName"))); |
| | | } |
| | | |
| | | /** |
| | |
| | | @RequestParam(defaultValue = "false") Boolean showAnalysisAfterExer, |
| | | @RequestParam(defaultValue = "false") Boolean canMultiExer, |
| | | @RequestParam(defaultValue = "false") Boolean needForum, |
| | | String chargeClassName) { |
| | | String chargeClassName) { |
| | | try { |
| | | return classService.updateClass(classId, className, classNumber, DateUtils.convertStringToDate(startTime), |
| | | DateUtils.convertStringToDate(endTime), subjectId, needJoinAudit, needQuitAudit, |
| | | showAnalysisAfterExer, canMultiExer, needForum, teacherId,chargeClassName); |
| | | showAnalysisAfterExer, canMultiExer, needForum, teacherId, chargeClassName); |
| | | } catch (ParseException e) { |
| | | log.error(e, e); |
| | | return new Result(false, "日期参数错误"); |
| | |
| | | */ |
| | | @ApiOperation(value = "获取学员列表", notes = "学习状态说明(0, 未开始 。 1, 学习中 。 2, 已结束, 3, 待激活 。 4, 已冻结)") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"), |
| | | @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType = "query", dataType = "String"), |
| | | }) |
| | | @GetMapping(value = "lstStudent4Class") |
| | | public Result lstStudent4Class(String classId, @RequestParam(defaultValue = "10") Integer limit, |
| | |
| | | * @param mobilePhone 手机号 |
| | | */ |
| | | @PostMapping(value = "addStudent") |
| | | public Result addStudent(String classId, String name, String studentNumber, Boolean sex, String mobilePhone,String comName) { |
| | | public Result addStudent(String classId, String name, String studentNumber, Boolean sex, String mobilePhone, String comName, |
| | | String photo, String passporName, String nationality, String ancestralHome, String birthday, String birthplace, |
| | | String chinaStatus, String registeredAddress, String homeAddress, String religiousBelief, String email, |
| | | String workUnit) { |
| | | |
| | | return studentService.insertStudent(classId, name, studentNumber, sex, mobilePhone, ClientUtils.getOrgId(),comName); |
| | | return studentService.insertStudent(classId, name, studentNumber, sex, mobilePhone, ClientUtils.getOrgId(), comName, |
| | | photo, passporName, nationality, ancestralHome, birthday, birthplace, |
| | | chinaStatus, registeredAddress, homeAddress, religiousBelief, email, |
| | | workUnit); |
| | | |
| | | } |
| | | |
| | |
| | | * @param mobilePhone 手机号 |
| | | */ |
| | | @PostMapping(value = "updateStudent") |
| | | public Result updateStudent(String studentId, String name,String password, String studentNumber, Boolean sex, String mobilePhone) { |
| | | public Result updateStudent(String studentId, String name, String password, String studentNumber, Boolean sex, String mobilePhone, |
| | | String photo, String passporName, String nationality, String ancestralHome, String birthday, String birthplace, |
| | | String chinaStatus, String registeredAddress, String homeAddress, String religiousBelief, String email, |
| | | String workUnit, String graduationDestination) { |
| | | |
| | | return studentService.updateStudent(studentId, name,password, studentNumber, sex, mobilePhone); |
| | | return studentService.updateStudent(studentId, name, password, studentNumber, sex, mobilePhone, |
| | | photo, passporName, nationality, ancestralHome, birthday, birthplace, |
| | | chinaStatus, registeredAddress, homeAddress, religiousBelief, email, |
| | | workUnit, graduationDestination); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | |
| | | |
| | | /** |
| | | * 添加班级课程 |
| | | * |
| | | * @throws InvocationTargetException |
| | | * @throws IllegalAccessException |
| | | * |
| | | */ |
| | | @PostMapping(value = "addClsSubject") |
| | | public Result addClsSubject(String classId, String origSubjectId,String teacherId,Integer schoolYear ,Integer term) throws IllegalAccessException, InvocationTargetException { |
| | | return this.subjectService.addClsSubject(classId,origSubjectId,teacherId,schoolYear,term); |
| | | public Result addClsSubject(String classId, String origSubjectId, String teacherId, Integer schoolYear, Integer term) throws IllegalAccessException, InvocationTargetException { |
| | | return this.subjectService.addClsSubject(classId, origSubjectId, teacherId, schoolYear, term); |
| | | } |
| | | |
| | | /** |
| | | * 更新班级课程 |
| | | */ |
| | | @PostMapping(value = "updateClsSubject") |
| | | public Result updateClsSubject(String classId,String subjectId, String origSubjectId,String teacherId,Integer schoolYear ,Integer term) { |
| | | return this.subjectService.updateClsSubject(classId,subjectId,origSubjectId,teacherId,schoolYear,term); |
| | | public Result updateClsSubject(String classId, String subjectId, String origSubjectId, String teacherId, Integer schoolYear, Integer term) { |
| | | return this.subjectService.updateClsSubject(classId, subjectId, origSubjectId, teacherId, schoolYear, term); |
| | | } |
| | | |
| | | /** |
| | | * 删除班级课程 |
| | | */ |
| | | @GetMapping(value = "deleteClsSubject") |
| | | public Result deleteClsSubject(String classId,String subjectIds){ |
| | | //删除课程及课程班级关联关系 |
| | | return subjectService.deleteClsSubject(classId,subjectIds.split(",")); |
| | | public Result deleteClsSubject(String classId, String subjectIds) { |
| | | //删除课程及课程班级关联关系 |
| | | return subjectService.deleteClsSubject(classId, subjectIds.split(",")); |
| | | } |
| | | |
| | | /** |
| | | * 所有班级列表 |
| | | * |
| | | * @param subjectId 根据subjectId过滤 |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/selectlist", method = RequestMethod.GET) |
| | | public @ResponseBody List<Map<String,Object>> classList() { |
| | | return classService.queryAllClassIdAndName(); |
| | | } |
| | | @RequestMapping(value = "/selectlist", method = RequestMethod.GET) |
| | | public @ResponseBody |
| | | List<Map<String, Object>> classList() { |
| | | return classService.queryAllClassIdAndName(); |
| | | } |
| | | |
| | | /** |
| | | * 获取学员详细信息 |
| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.hankcs.hanlp.corpus.tag.Nature; |
| | | import com.qxueyou.scc.base.dao.CommonDAO; |
| | | import com.qxueyou.scc.base.util.UUIDUtils; |
| | | import com.qxueyou.scc.config.IpUtils; |
| | | import com.qxueyou.scc.sdk.MTCloud; |
| | | import com.qxueyou.scc.teach.live.model.AccessLog; |
| | |
| | | |
| | | @Autowired |
| | | private RedisCache redisCache; |
| | | |
| | | /** |
| | | * 获取直播回放地址 |
| | | * |
| | | * @param videoLiveId |
| | | * 直播id(更新的时候才需要传) |
| | | */ |
| | | @ApiOperation(value = "获取直播回放地址") |
| | | @GetMapping(value = "livePlaybackURL") |
| | | public Result livePlaybackURL(String videoLiveId,String nickname) throws Exception { |
| | | if (StringUtils.isEmpty(videoLiveId)) { |
| | | return new Result(false,"videoLiveId不能为空"); |
| | | } |
| | | if (StringUtils.isEmpty(nickname)) { |
| | | return new Result(false,"nickname不能为空"); |
| | | } |
| | | MTCloud client = new MTCloud(); |
| | | HashMap<Object,Object> options = new HashMap<Object,Object>(); |
| | | options.put("ssl", true); |
| | | //获取直播对象 |
| | | MediaVideoLive mediaVideoLive = liveService.read(videoLiveId); |
| | | //调用第三方直播接口 4028815c8c0063f0018c006e083d0001 |
| | | String uuid = UUIDUtils.generateUUID(); |
| | | String courseAccess = client.courseAccessPlayback(String.valueOf(mediaVideoLive.getCourseId()),uuid,nickname,"user",3600,options); |
| | | |
| | | //json转换拿到courseId |
| | | JSONObject jsonObject = JSON.parseObject(courseAccess); |
| | | JSONObject data = jsonObject.getJSONObject("data"); |
| | | if(jsonObject.getString("code").equals("0")) { |
| | | String playbackUrl = (String) data.get("playbackUrl");//带聊天区地址 |
| | | // String playbackOutUrl = (String) data.get("playbackOutUrl");//纯视频地址 |
| | | return new Result(true, "成功", playbackUrl); |
| | | } |
| | | return new Result(false,jsonObject.getString("msg")); |
| | | } |
| | | /** |
| | | * 获取直播列表 |
| | | * |
| | |
| | | |
| | | live.setSubjectId(subjectId); |
| | | live.setSubjectName(subjectName); |
| | | |
| | | live.setCreateId(teacher.getTeacherId()); |
| | | live.setCreateTime(new Date()); |
| | | String uuid = UUIDUtils.UUID(); |
| | | live.setWyLiveNumber(uuid); |
| | | live.setPushUrl(cfg.getRtmpService().concat(uuid)); |
| | |
| | | live.setEndTime(endTime); |
| | | live.setSubjectId(subjectId); |
| | | live.setSubjectName(subjectName); |
| | | |
| | | live.setCreateTime(new Date()); |
| | | save(live); |
| | | |
| | | //更新班级课程关联关系 |
| | |
| | | } |
| | | } |
| | | |
| | | @Scheduled(cron = " 0 0/5 * * * ?") |
| | | protected void doTimer() { |
| | | // System.out.println("执行直播提醒定时器"); |
| | | Calendar cal = Calendar.getInstance(); |
| | | cal.add(Calendar.HOUR, 1); |
| | | Date beginDate = cal.getTime(); |
| | | |
| | | cal.add(Calendar.MINUTE, 5); |
| | | Date endDate = cal.getTime(); |
| | | |
| | | //查询1小时内将开始的直播 |
| | | List<MediaVideoLive> lstLives = this.find("from MediaVideoLive where startTime>=? and startTime<? and status=? and deleteFlag is false ", |
| | | CollectionUtils.newList(beginDate,endDate,MediaVideoLive.STATUS_LIVE_REVIEW), MediaVideoLive.class); |
| | | |
| | | if(lstLives!=null && lstLives.size()>0){ |
| | | for(MediaVideoLive live:lstLives){ |
| | | this.doLiveRemindMsg(live.getVideoLiveId(),MsgInfo.TYPE_REMIND, "直播马上开始了,请做好直播准备"); |
| | | } |
| | | } |
| | | } |
| | | // @Scheduled(cron = " 0 0/5 * * * ?") |
| | | // protected void doTimer() { |
| | | //// System.out.println("执行直播提醒定时器"); |
| | | // Calendar cal = Calendar.getInstance(); |
| | | // cal.add(Calendar.HOUR, 1); |
| | | // Date beginDate = cal.getTime(); |
| | | // |
| | | // cal.add(Calendar.MINUTE, 5); |
| | | // Date endDate = cal.getTime(); |
| | | // |
| | | // //查询1小时内将开始的直播 |
| | | // List<MediaVideoLive> lstLives = this.find("from MediaVideoLive where startTime>=? and startTime<? and status=? and deleteFlag is false ", |
| | | // CollectionUtils.newList(beginDate,endDate,MediaVideoLive.STATUS_LIVE_REVIEW), MediaVideoLive.class); |
| | | // |
| | | // if(lstLives!=null && lstLives.size()>0){ |
| | | // for(MediaVideoLive live:lstLives){ |
| | | // this.doLiveRemindMsg(live.getVideoLiveId(),MsgInfo.TYPE_REMIND, "直播马上开始了,请做好直播准备"); |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | private void doLiveRemindMsg(String liveId,short type,String msg){ |
| | | MediaVideoLive liveInfo = this.read(liveId); |
| | |
| | | |
| | | @Override |
| | | public List<MediaVideoLive> listvideo(String status) { |
| | | |
| | | String hql = "from MediaVideoLive where deleteFlag is false and status=? order by createTime desc"; |
| | | //是否是老师 |
| | | String teacherId = ClientUtils.isAdmin() ? null : teacherService.getTeacherIdByUserId(ClientUtils.getUserId()); |
| | | String hql = "from MediaVideoLive where deleteFlag is false and status=? "; |
| | | List<Object> args =CollectionUtils.newList(status); |
| | | if (StringUtils.isNotBlank(teacherId)) { |
| | | hql.concat(" and createId=?"); |
| | | args.add(teacherId); |
| | | } |
| | | hql.concat(" order by createTime desc"); |
| | | |
| | | |
| | | return find(hql, CollectionUtils.newList(status), MediaVideoLive.class); |
| | | |
| | | return find(hql, args, MediaVideoLive.class); |
| | | } |
| | | |
| | | @Override |
| | | public List<MediaVideoLive> listOfMine(String keyword,String portalStatus, Integer pageNum, Integer pageSize) { |
| | | |
| | | //是否是老师 |
| | | String teacherId = ClientUtils.isAdmin() ? null : teacherService.getTeacherIdByUserId(ClientUtils.getUserId()); |
| | | StringBuffer hql = new StringBuffer("from MediaVideoLive where deleteFlag is false and name like ? "); |
| | | List<Object> args =CollectionUtils.newList(keyword + "%"); |
| | | if(portalStatus != ""){ |
| | | hql.append(" and portalStatus = ?"); |
| | | args.add(portalStatus); |
| | | } |
| | | if (StringUtils.isNotBlank(teacherId)) { |
| | | hql.append(" and createId=?"); |
| | | args.add(teacherId); |
| | | } |
| | | hql.append(" order by createTime desc"); |
| | | return findList(hql.toString(), new Pager(pageSize, pageNum),args , MediaVideoLive.class); |
| | | } |
| | |
| | | this.path = path; |
| | | } |
| | | |
| | | @Column(name = "FILE_TYPE", length = 16) |
| | | @Column(name = "FILE_TYPE", length = 255) |
| | | public String getFileType() { |
| | | return this.fileType; |
| | | } |
| | |
| | | */ |
| | | Result insertStudent(String classId,String name, String studentNo, boolean sex,String phoneNo, String orgId); |
| | | |
| | | Result insertStudent(String classId,String name, String studentNo, boolean sex,String phoneNo, String orgId,String comName); |
| | | Result insertStudent(String classId,String name, String studentNo, boolean sex,String phoneNo, String orgId, String comName, |
| | | String photo, String passporName, String nationality, String ancestralHome, String birthday, String birthplace, |
| | | String chinaStatus, String registeredAddress, String homeAddress, String religiousBelief, String email, |
| | | String workUnit); |
| | | |
| | | /** |
| | | * 获取学员列表 |
| | |
| | | * @return |
| | | */ |
| | | List<Map<String, Object>> getStudentLst(String classId,String keyword, Pager pager); |
| | | |
| | | Result updateImgStudent(String studentId); |
| | | |
| | | /** |
| | |
| | | * @param phoneNo |
| | | * @return |
| | | */ |
| | | Result updateStudent(String studentId, String name, String password, String studentNo, boolean sex, String phoneNo); |
| | | Result updateStudent(String studentId, String name, String password, String studentNo, boolean sex, String phoneNo |
| | | , String photo, String passporName, String nationality, String ancestralHome, String birthday, String birthplace, |
| | | String chinaStatus, String registeredAddress, String homeAddress, String religiousBelief, String email, |
| | | String workUnit, String graduationDestination); |
| | | |
| | | /** |
| | | * 通过用户获取学生信息 |
| | |
| | | |
| | | |
| | | @Override |
| | | public Result insertStudent(String classId, String name, String studentNo, boolean sex, String phoneNo, String orgId,String comName) { |
| | | public Result insertStudent(String classId, String name, String studentNo, boolean sex, String phoneNo, String orgId, String comName, |
| | | String photo, String passporName, String nationality, String ancestralHome, String birthday, String birthplace, |
| | | String chinaStatus, String registeredAddress, String homeAddress, String religiousBelief, String email, |
| | | String workUnit) { |
| | | |
| | | if (dao.exists(studentNo, orgId)) { |
| | | return new Result(false, "身份证已存在"); |
| | |
| | | student.setMobilePhone(phoneNo); |
| | | //公司名称 |
| | | student.setSubjectId(comName); |
| | | |
| | | student.setPhoto(photo); |
| | | student.setPassporName(passporName); |
| | | student.setNationality(nationality); |
| | | student.setAncestralHome(ancestralHome); |
| | | student.setBirthday(birthday); |
| | | student.setBirthplace(birthplace); |
| | | student.setChinaStatus(chinaStatus); |
| | | student.setRegisteredAddress(registeredAddress); |
| | | student.setHomeAddress(homeAddress); |
| | | student.setReligiousBelief(religiousBelief); |
| | | student.setEmail(email); |
| | | student.setWorkUnit(workUnit); |
| | | if(StringUtils.isNoneBlank(classId)) { |
| | | bulkUpdate("update ClsClass set studentCount = studentCount + 1 where deleteFlag is false and classId = ?", new Object[]{classId}); |
| | | } |
| | |
| | | return new Result(true, "success"); |
| | | } |
| | | @Override |
| | | public Result updateStudent(String studentId, String name,String password, String studentNo, boolean sex, String phoneNo) { |
| | | public Result updateStudent(String studentId, String name,String password, String studentNo, boolean sex, String phoneNo |
| | | , String photo, String passporName, String nationality, String ancestralHome, String birthday, String birthplace, |
| | | String chinaStatus, String registeredAddress, String homeAddress, String religiousBelief, String email, |
| | | String workUnit, String graduationDestination) { |
| | | //根据学学员ID,获取用户信息 |
| | | StuStudent stu = this.read(StuStudent.class, studentId); |
| | | if(stu.getStudentNo() != null){ |
| | |
| | | stu.setStudentNo(studentNo); |
| | | stu.setMobilePhone(phoneNo); |
| | | TraceUtils.setUpdateTrace(stu); |
| | | stu.setPhoto(photo); |
| | | stu.setPassporName(passporName); |
| | | stu.setNationality(nationality); |
| | | stu.setAncestralHome(ancestralHome); |
| | | stu.setBirthday(birthday); |
| | | stu.setBirthplace(birthplace); |
| | | stu.setChinaStatus(chinaStatus); |
| | | stu.setRegisteredAddress(registeredAddress); |
| | | stu.setHomeAddress(homeAddress); |
| | | stu.setReligiousBelief(religiousBelief); |
| | | stu.setEmail(email); |
| | | stu.setWorkUnit(workUnit); |
| | | save(stu); |
| | | |
| | | User user = this.read(User.class, stu.getUserId()); |
| | |
| | | QUser qUser = QUser.user; |
| | | QStuStudent qStuStudent = QStuStudent.stuStudent; |
| | | return this.getQueryFactory() |
| | | .select(qStuStudent.studentId, qStuStudent.name, qStuStudent.studentNo, qStuStudent.sex, |
| | | .select(qStuStudent.photo,qStuStudent.passporName,qStuStudent.nationality,qStuStudent.ancestralHome,qStuStudent.birthday,qStuStudent.birthplace,qStuStudent.chinaStatus, |
| | | qStuStudent.registeredAddress,qStuStudent.homeAddress,qStuStudent.religiousBelief,qStuStudent.email,qStuStudent.workUnit,qStuStudent.graduationDestination, |
| | | qStuStudent.studentId, qStuStudent.name, qStuStudent.studentNo, qStuStudent.sex, |
| | | qStuStudent.mobilePhone, qStuStudent.status, qStuStudent.studyDuration, qStuStudent.tenantId, qStuStudent.score, qStuStudent.graduationText, |
| | | qUser.imgPath) |
| | | .from(qUser, qStuStudent) |