From de713deca6e9c57feb0a1ae2a14935f873b64219 Mon Sep 17 00:00:00 2001 From: Mlxa0324 Date: Wed, 23 Nov 2022 02:09:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=91=E7=9A=84=E5=BA=94=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/CoreBaseAnnotationParser.java | 4 +- web/src/main/java/cn/jlw/util/PageUtil.java | 27 ++++++++++ .../service/ResourcesApplicationService.java | 19 +------ .../service/UniversitiesCollegesService.java | 53 +++++++++++++++++-- .../ApiIndexBaseService.java} | 7 ++- .../api/student/ApiStudentService.java | 10 ++-- .../api/teacher/ApiTeacherService.java | 5 +- .../web/ResourcesApplicationController.java | 2 - .../jlw/web/api/IndexBaseController.java | 37 +++++++++++-- .../web/query/ResourcesApplicationQuery.java | 13 +++++ .../resources/sql/jlw/resourcesApplication.md | 3 ++ 11 files changed, 144 insertions(+), 36 deletions(-) create mode 100644 web/src/main/java/cn/jlw/util/PageUtil.java rename web/src/main/java/com/ibeetl/jlw/service/{IndexBaseService.java => api/ApiIndexBaseService.java} (75%) diff --git a/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreBaseAnnotationParser.java b/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreBaseAnnotationParser.java index 5134a88b..091560cf 100644 --- a/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreBaseAnnotationParser.java +++ b/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreBaseAnnotationParser.java @@ -46,7 +46,9 @@ public class CoreBaseAnnotationParser { * @param list */ public void queryListAfter(List list) { - list.parallelStream().forEach(this::queryEntityAfter); + if (ObjectUtil.isNotEmpty(list)) { + list.parallelStream().forEach(this::queryEntityAfter); + } } public void dictParser(Object object) { diff --git a/web/src/main/java/cn/jlw/util/PageUtil.java b/web/src/main/java/cn/jlw/util/PageUtil.java new file mode 100644 index 00000000..94b3719e --- /dev/null +++ b/web/src/main/java/cn/jlw/util/PageUtil.java @@ -0,0 +1,27 @@ +package cn.jlw.util; + +import cn.hutool.core.util.ObjectUtil; +import com.ibeetl.admin.core.web.query.PageParam; +import org.beetl.sql.core.engine.PageQuery; + +/** + *

+ * 分页工具 + *

+ * + * @author mlx + * @date 2022/11/23 + * @modified + */ +public class PageUtil { + + public static PageQuery ofDefault(T t) { + return new PageQuery<>(t.getPage().longValue(), t.getLimit().longValue()); + } + + public static P ofDefault(P p, T t) { + p.setPageSize(ObjectUtil.defaultIfNull(t.getLimit(), 20).longValue()); + p.setPageNumber(ObjectUtil.defaultIfNull(t.getPage(), 1).longValue()); + return p; + } +} diff --git a/web/src/main/java/com/ibeetl/jlw/service/ResourcesApplicationService.java b/web/src/main/java/com/ibeetl/jlw/service/ResourcesApplicationService.java index 02e0ed6d..06e9efd8 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/ResourcesApplicationService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/ResourcesApplicationService.java @@ -5,15 +5,12 @@ import cn.hutool.core.collection.ListUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; -import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.service.CoreBaseService; import com.ibeetl.admin.core.util.PlatformException; import com.ibeetl.jlw.dao.ResourcesApplicationCourseDao; import com.ibeetl.jlw.dao.ResourcesApplicationDao; import com.ibeetl.jlw.dao.UniversitiesCollegesJurisdictionExperimentalSystemDao; import com.ibeetl.jlw.entity.ResourcesApplication; -import com.ibeetl.jlw.entity.Student; -import com.ibeetl.jlw.entity.Teacher; import com.ibeetl.jlw.entity.UniversitiesCollegesJurisdictionExperimentalSystem; import com.ibeetl.jlw.web.query.ResourcesApplicationQuery; import org.beetl.sql.core.SqlId; @@ -29,9 +26,6 @@ import java.util.Date; import java.util.List; import java.util.stream.Collectors; -import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser; - - /** * ResourcesApplication Service */ @@ -192,6 +186,7 @@ public class ResourcesApplicationService extends CoreBaseService queryMyApplicationByConditionQuery(PageQuery query) { - CoreUser user = getUser(); - - // 根据条件追加参数 - if(user.isTeacher()) { - Teacher teacher = teacherService.getByUserId(user.getId()); - query.setPara("teacherId", teacher.getTeacherId()); - } - if(user.isStudent()) { - Student student = studentService.getByUserId(user.getId()); - query.setPara("studentId", student.getStudentId()); - } - PageQuery ret = resourcesApplicationDao.queryMyApplicationByConditionQuery(query); queryListAfter(ret.getList()); return ret; diff --git a/web/src/main/java/com/ibeetl/jlw/service/UniversitiesCollegesService.java b/web/src/main/java/com/ibeetl/jlw/service/UniversitiesCollegesService.java index 5c6c3d64..00cc27e5 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/UniversitiesCollegesService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/UniversitiesCollegesService.java @@ -2,6 +2,7 @@ package com.ibeetl.jlw.service; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.extra.validation.BeanValidationResult; import cn.hutool.extra.validation.ValidationUtil; @@ -11,10 +12,7 @@ import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.service.CoreBaseService; import com.ibeetl.admin.core.service.CoreUserService; import com.ibeetl.jlw.dao.UniversitiesCollegesDao; -import com.ibeetl.jlw.entity.SchoolClass; -import com.ibeetl.jlw.entity.UniversitiesColleges; -import com.ibeetl.jlw.entity.UniversitiesCollegesRuleInfo; -import com.ibeetl.jlw.entity.UniversitiesCollegesUserInfo; +import com.ibeetl.jlw.entity.*; import com.ibeetl.jlw.entity.dto.CreateUserDTO; import com.ibeetl.jlw.web.query.SchoolClassQuery; import com.ibeetl.jlw.web.query.UniversitiesCollegesQuery; @@ -48,7 +46,6 @@ public class UniversitiesCollegesService extends CoreBaseService classes = schoolClassService.getValuesByQueryNotWithPermission(schoolClassQuery); + if (ObjectUtil.isEmpty(classes)) { + return null; + } + + SchoolClass schoolClass = classes.get(0); + UniversitiesCollegesQuery universitiesCollegesQuery = new UniversitiesCollegesQuery(); + universitiesCollegesQuery.setUniversitiesCollegesId(schoolClass.getUniversitiesCollegesId()); + universitiesCollegesQuery.setUniversitiesCollegesStatus(1); + List collegesList = getValuesByQuery(universitiesCollegesQuery); + + if (ObjectUtil.isEmpty(collegesList)) { + return null; + } + + return collegesList.get(0); + } + + /** + * 通过教师获取院校信息 + * @param teacher + * @return + */ + public UniversitiesColleges getUniversitiesCollegesByTeacher(@NotNull Teacher teacher) { + UniversitiesCollegesQuery universitiesCollegesQuery = new UniversitiesCollegesQuery(); + universitiesCollegesQuery.setUniversitiesCollegesId(teacher.getUniversitiesCollegesId()); + universitiesCollegesQuery.setUniversitiesCollegesStatus(1); + List collegesList = getValuesByQuery(universitiesCollegesQuery); + + if (ObjectUtil.isEmpty(collegesList)) { + return null; + } + + return collegesList.get(0); + } } diff --git a/web/src/main/java/com/ibeetl/jlw/service/IndexBaseService.java b/web/src/main/java/com/ibeetl/jlw/service/api/ApiIndexBaseService.java similarity index 75% rename from web/src/main/java/com/ibeetl/jlw/service/IndexBaseService.java rename to web/src/main/java/com/ibeetl/jlw/service/api/ApiIndexBaseService.java index 7781075c..6d343558 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/IndexBaseService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/api/ApiIndexBaseService.java @@ -1,17 +1,20 @@ -package com.ibeetl.jlw.service; +package com.ibeetl.jlw.service.api; import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.service.CoreBaseAnnotationParser; import com.ibeetl.jlw.entity.api.CurrentUserInfo; +import com.ibeetl.jlw.service.ResourcesApplicationService; +import com.ibeetl.jlw.service.WebPlatformService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser; @Service -public class IndexBaseService extends CoreBaseAnnotationParser { +public class ApiIndexBaseService extends CoreBaseAnnotationParser { @Autowired private WebPlatformService webPlatformService; + @Autowired private ResourcesApplicationService resourcesApplicationService; /** * 获取当前登录信息 diff --git a/web/src/main/java/com/ibeetl/jlw/service/api/student/ApiStudentService.java b/web/src/main/java/com/ibeetl/jlw/service/api/student/ApiStudentService.java index 0a6d59dd..cb6a645d 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/api/student/ApiStudentService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/api/student/ApiStudentService.java @@ -11,7 +11,11 @@ import com.ibeetl.jlw.entity.api.CurrentUserInfo; import com.ibeetl.jlw.entity.api.student.StudentIndexData; import com.ibeetl.jlw.entity.dto.StudentEditPasswordDTO; import com.ibeetl.jlw.entity.dto.StudentRegisterDTO; -import com.ibeetl.jlw.service.*; +import com.ibeetl.jlw.service.ResourcesApplicationService; +import com.ibeetl.jlw.service.StudentService; +import com.ibeetl.jlw.service.TeacherOpenCourseNoticeService; +import com.ibeetl.jlw.service.UniversitiesCollegesService; +import com.ibeetl.jlw.service.api.ApiIndexBaseService; import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeStudentQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseNoticeQuery; import org.springframework.beans.factory.annotation.Autowired; @@ -34,7 +38,7 @@ import java.util.List; @Validated public class ApiStudentService { - @Autowired private IndexBaseService indexBaseService; + @Autowired private ApiIndexBaseService apiIndexBaseService; @Autowired private TeacherOpenCourseNoticeService teacherOpenCourseNoticeService; @Autowired private StudentService studentService; @Autowired private StudentDao studentDao; @@ -51,7 +55,7 @@ public class ApiStudentService { public StudentIndexData index() { // 自动根据登录的身份获取当前用户信息。 - CurrentUserInfo currentUserInfo = indexBaseService.userInfo(); + CurrentUserInfo currentUserInfo = apiIndexBaseService.userInfo(); Object identityInfo = currentUserInfo.getIdentityInfo(); Assert.isTrue(identityInfo instanceof Student, "该接口只能学生访问!"); 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 53eb6177..de08c378 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 @@ -6,6 +6,7 @@ import com.ibeetl.jlw.entity.*; import com.ibeetl.jlw.entity.api.CurrentUserInfo; import com.ibeetl.jlw.entity.api.teacher.TeacherIndexData; import com.ibeetl.jlw.service.*; +import com.ibeetl.jlw.service.api.ApiIndexBaseService; import com.ibeetl.jlw.web.query.TeacherMergeApplicationQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeTeacherQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseNoticeQuery; @@ -28,7 +29,7 @@ import java.util.stream.Collectors; @Service public class ApiTeacherService { - @Resource private IndexBaseService indexBaseService; + @Resource private ApiIndexBaseService apiIndexBaseService; @Resource private TeacherOpenCourseNoticeService teacherOpenCourseNoticeService; @Resource private TeacherMergeApplicationDao teacherMergeApplicationDao; @@ -48,7 +49,7 @@ public class ApiTeacherService { public TeacherIndexData index() { // 自动根据登录的身份获取当前用户信息。 - CurrentUserInfo currentUserInfo = indexBaseService.userInfo(); + CurrentUserInfo currentUserInfo = apiIndexBaseService.userInfo(); Object identityInfo = currentUserInfo.getIdentityInfo(); Assert.isTrue(identityInfo instanceof Teacher, "该接口只能老师访问!"); diff --git a/web/src/main/java/com/ibeetl/jlw/web/ResourcesApplicationController.java b/web/src/main/java/com/ibeetl/jlw/web/ResourcesApplicationController.java index 4d67ee2d..dbcc1f57 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/ResourcesApplicationController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/ResourcesApplicationController.java @@ -156,6 +156,4 @@ public class ResourcesApplicationController{ return JsonResult.success(page); } } - - } diff --git a/web/src/main/java/com/ibeetl/jlw/web/api/IndexBaseController.java b/web/src/main/java/com/ibeetl/jlw/web/api/IndexBaseController.java index 0f9b8aaf..89939a11 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/api/IndexBaseController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/api/IndexBaseController.java @@ -1,17 +1,27 @@ package com.ibeetl.jlw.web.api; import cn.jlw.Interceptor.SCoreUser; +import cn.jlw.Interceptor.TStudent; +import cn.jlw.Interceptor.TTeacher; import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.service.CoreUserService; import com.ibeetl.admin.core.web.JsonResult; +import com.ibeetl.admin.core.web.query.PageParam; +import com.ibeetl.jlw.entity.Student; +import com.ibeetl.jlw.entity.Teacher; import com.ibeetl.jlw.entity.api.CurrentUserInfo; -import com.ibeetl.jlw.service.IndexBaseService; +import com.ibeetl.jlw.service.ResourcesApplicationService; +import com.ibeetl.jlw.service.api.ApiIndexBaseService; +import com.ibeetl.jlw.web.query.ResourcesApplicationQuery; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.beetl.sql.core.engine.PageQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; +import static cn.jlw.util.PageUtil.ofDefault; + @RestController public class IndexBaseController { @@ -20,12 +30,13 @@ public class IndexBaseController { private static final String MODEL = "/jlw/base"; private static final String API = "/api/base"; - @Autowired private IndexBaseService indexBaseService; + @Autowired private ApiIndexBaseService apiIndexBaseService; @Autowired private CoreUserService coreUserService; + @Autowired private ResourcesApplicationService resourcesApplicationService; @PostMapping(API + "/userInfo.do") public JsonResult userInfo() { - return JsonResult.success(indexBaseService.userInfo()); + return JsonResult.success(apiIndexBaseService.userInfo()); } /** @@ -39,4 +50,24 @@ public class IndexBaseController { public JsonResult editPwdByOld(String oldPwd, String newPwd, @SCoreUser CoreUser coreUser) { return JsonResult.success(coreUserService.editPwdByOld(oldPwd, newPwd, coreUser.getId())); } + + /** + * 通过旧密码修改密码,仅用于修改自己的密码。 + * 暂时 教师端-学生端-适用 + * @param param 分页信息 + * @return + */ + @PostMapping(API + "/myPageApplication.do") + public JsonResult myPageApplicationList(PageParam param, @TStudent Student student, @TTeacher Teacher teacher) { + ResourcesApplicationQuery resourcesApplicationQuery = new ResourcesApplicationQuery(); + PageQuery pageQuery = resourcesApplicationQuery.getPageQuery(); + ofDefault(pageQuery, param); + if (student != null) { + resourcesApplicationQuery.setStudentId(student.getStudentId()); + } + if (teacher != null) { + resourcesApplicationQuery.setTeacherId(teacher.getTeacherId()); + } + return JsonResult.success(resourcesApplicationService.queryMyApplicationByConditionQuery(pageQuery)); + } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/ResourcesApplicationQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/ResourcesApplicationQuery.java index 0f63b920..f05b0362 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/query/ResourcesApplicationQuery.java +++ b/web/src/main/java/com/ibeetl/jlw/web/query/ResourcesApplicationQuery.java @@ -55,6 +55,11 @@ public class ResourcesApplicationQuery extends PageParam { */ private Long studentId; + /** + * 通过院校查询应用列表 + */ + private Long universitiesCollegesId; + public Long getResourcesApplicationId(){ return resourcesApplicationId; } @@ -206,4 +211,12 @@ public class ResourcesApplicationQuery extends PageParam { public void setStudentId(Long studentId) { this.studentId = studentId; } + + public Long getUniversitiesCollegesId() { + return universitiesCollegesId; + } + + public void setUniversitiesCollegesId(Long universitiesCollegesId) { + this.universitiesCollegesId = universitiesCollegesId; + } } diff --git a/web/src/main/resources/sql/jlw/resourcesApplication.md b/web/src/main/resources/sql/jlw/resourcesApplication.md index aea8c853..2c070043 100644 --- a/web/src/main/resources/sql/jlw/resourcesApplication.md +++ b/web/src/main/resources/sql/jlw/resourcesApplication.md @@ -231,6 +231,9 @@ queryMyApplicationByConditionQuery ra.student_status = 1 and ra.student_id = #studentId# LIMIT 1) @} + @if(!isEmpty(universitiesCollegesId)) { + and tb.universities_colleges_id = #universitiesCollegesId# + @} AND tb.`type` = 1 AND tb.use_end_time > now()