diff --git a/web/src/main/java/com/ibeetl/jlw/dao/TeacherDao.java b/web/src/main/java/com/ibeetl/jlw/dao/TeacherDao.java index 20c9b833..13fdffa3 100644 --- a/web/src/main/java/com/ibeetl/jlw/dao/TeacherDao.java +++ b/web/src/main/java/com/ibeetl/jlw/dao/TeacherDao.java @@ -2,6 +2,7 @@ package com.ibeetl.jlw.dao; import com.ibeetl.jlw.entity.Teacher; import com.ibeetl.jlw.entity.TeacherExtendSchoolInfo; +import com.ibeetl.jlw.entity.api.teacher.TeacherUserInfoData; import com.ibeetl.jlw.web.query.TeacherQuery; import org.beetl.sql.core.engine.PageQuery; import org.beetl.sql.mapper.BaseMapper; @@ -50,4 +51,6 @@ public interface TeacherDao extends BaseMapper{ * @return */ List getTeacherExtendSchoolInfoListByUserIds(String userIds); + + List getTeacherUserInfoRuleInfo(Long userId, Long teacherId); } \ No newline at end of file diff --git a/web/src/main/java/com/ibeetl/jlw/service/api/teacher/ApiTeacherService.java b/web/src/main/java/com/ibeetl/jlw/service/api/teacher/ApiTeacherService.java index 914d78c8..9093c843 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/api/teacher/ApiTeacherService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/api/teacher/ApiTeacherService.java @@ -2,10 +2,15 @@ package com.ibeetl.jlw.service.api.teacher; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.ibeetl.admin.core.entity.CoreUser; +import com.ibeetl.admin.core.service.CoreUserService; +import com.ibeetl.jlw.dao.TeacherDao; import com.ibeetl.jlw.dao.TeacherMergeApplicationDao; import com.ibeetl.jlw.entity.*; import com.ibeetl.jlw.entity.api.CurrentUserInfo; import com.ibeetl.jlw.entity.api.teacher.TeacherIndexData; +import com.ibeetl.jlw.entity.api.teacher.TeacherUserInfoData; import com.ibeetl.jlw.service.*; import com.ibeetl.jlw.service.api.ApiIndexBaseService; import com.ibeetl.jlw.web.query.ResourcesApplicationQuery; @@ -19,6 +24,8 @@ import javax.annotation.Resource; import java.util.List; import java.util.stream.Collectors; +import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser; + /** *

* 教师端-API接口 @@ -43,6 +50,10 @@ public class ApiTeacherService { private ResourcesApplicationService resourcesApplicationService; @Autowired private TeacherService teacherService; + @Autowired + private TeacherDao teacherDao; + @Autowired + private CoreUserService coreUserService; /** * 教师端-首页数据 @@ -88,4 +99,31 @@ public class ApiTeacherService { .myOpenCourseList(openCourseList) .build(); } + + /** + * 功能描述:
+ * 教师端-用户中心 + * + * @return {@link TeacherUserInfoData} + * @Author: 87966 + * @Date: 2022/12/21 14:52 + */ + public TeacherUserInfoData userInfo() { + CoreUser user = getUser(); + Assert.isTrue(user.isTeacher(), "该接口只能教师访问!"); + Long userId = user.getId(); + + Teacher teacher = teacherDao.getByUserId(userId); + CoreUser coreUser = coreUserService.getUserById(userId); + + List ruleInfoList = teacherDao.getTeacherUserInfoRuleInfo(userId, null); + + TeacherUserInfoData.TeacherRuleInfo teacherRuleInfo = null; + if (ObjectUtil.isNotEmpty(ruleInfoList)) { + teacherRuleInfo = ruleInfoList.get(0); + } + + return TeacherUserInfoData.builder() + .teacherInfo(teacher).userInfo(coreUser).ruleInfo(teacherRuleInfo).build(); + } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/IndexController.java b/web/src/main/java/com/ibeetl/jlw/web/IndexController.java index 63079ed7..12e19977 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/IndexController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/IndexController.java @@ -1045,7 +1045,7 @@ public class IndexController { @PostMapping("/logout.json") @ResponseBody - public JsonResult logout() { + public JsonResult logout(@SCoreUser CoreUser coreUser) { return JsonResult.success(platformService.logout()); } diff --git a/web/src/main/java/com/ibeetl/jlw/web/api/teacher/ApiTeacherController.java b/web/src/main/java/com/ibeetl/jlw/web/api/teacher/ApiTeacherController.java index 2f674630..da65fe99 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/api/teacher/ApiTeacherController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/api/teacher/ApiTeacherController.java @@ -2,10 +2,12 @@ package com.ibeetl.jlw.web.api.teacher; import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.jlw.entity.api.teacher.TeacherIndexData; +import com.ibeetl.jlw.entity.api.teacher.TeacherUserInfoData; import com.ibeetl.jlw.service.api.teacher.ApiTeacherService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -32,4 +34,16 @@ public class ApiTeacherController { return JsonResult.success(apiTeacherService.index()); } + + /** + * 教师端-首页面板 + * @return + */ + @GetMapping("userInfo.do") + public JsonResult userInfo() { + return JsonResult.success(apiTeacherService.userInfo()); + } + + + } diff --git a/web/src/main/resources/sql/jlw/teacher.md b/web/src/main/resources/sql/jlw/teacher.md index 26e7577d..f635294d 100644 --- a/web/src/main/resources/sql/jlw/teacher.md +++ b/web/src/main/resources/sql/jlw/teacher.md @@ -510,4 +510,47 @@ getTeacherExtendSchoolInfoListByUserIds AND td.universities_colleges_status = 1 WHERE 1 = 1 - AND FIND_IN_SET(t.user_id,#userIds#) \ No newline at end of file + AND FIND_IN_SET(t.user_id,#userIds#) + + + +getTeacherUserInfoRuleInfo +=== +* 通过用户ID 获取教师的学校信息 用户中心 + + SELECT + t.teacher_name, + tb.university_system_name, + tc.university_faculty_name, + td.universities_colleges_name, + concat( td.universities_colleges_province, universities_colleges_city ) AS universities_colleges_address, + ( + SELECT + replace(GROUP_CONCAT(class_name), ',', '、') + FROM + school_class ab + WHERE + ab.class_id IN ( + SELECT DISTINCT + a.school_class_id + FROM + teacher_open_course_merge_school_class a + WHERE + a.teacher_open_course_id IN ( SELECT DISTINCT teacher_open_course_id FROM teacher_open_course_merge_teacher b WHERE b.teacher_id = t.teacher_id ))) AS class_names + FROM + teacher t + INNER JOIN university_system tb ON tb.university_system_id = t.university_system_id + AND tb.university_system_status = 1 + INNER JOIN university_faculty tc ON tc.university_faculty_id = t.university_faculty_id + AND tc.university_faculty_status = 1 + INNER JOIN universities_colleges td ON td.universities_colleges_id = t.universities_colleges_id + AND td.universities_colleges_status = 1 + WHERE + 1 = 1 + @if(!isEmpty(teacherId)){ + and t.teacher_id =#teacherId# + @} + @if(!isEmpty(userId)){ + and t.user_id =#userId# + @} +