diff --git a/orange-demo-multi-service/.idea/compiler.xml b/orange-demo-multi-service/.idea/compiler.xml index 640bf32d..c3bb3d4d 100644 --- a/orange-demo-multi-service/.idea/compiler.xml +++ b/orange-demo-multi-service/.idea/compiler.xml @@ -2,23 +2,29 @@ - + - - + + + + + + + - + - - - - + + + + + diff --git a/orange-demo-multi-service/.idea/inspectionProfiles/Project_Default.xml b/orange-demo-multi-service/.idea/inspectionProfiles/Project_Default.xml index fc8488e1..c562afbb 100644 --- a/orange-demo-multi-service/.idea/inspectionProfiles/Project_Default.xml +++ b/orange-demo-multi-service/.idea/inspectionProfiles/Project_Default.xml @@ -14,6 +14,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/application-common/application-common.iml b/orange-demo-multi-service/application/application-common/application-common.iml index a6ad6af1..82b881c9 100644 --- a/orange-demo-multi-service/application/application-common/application-common.iml +++ b/orange-demo-multi-service/application/application-common/application-common.iml @@ -10,33 +10,36 @@ + - - - + + + + - - - + + + + - + - - - + + + - - - - - - + + + + + + @@ -56,102 +59,103 @@ - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - - + + + + - - - - - - - - + + + + + + + + - + + - + - - - + + + + + + + @@ -163,37 +167,37 @@ - - - - + + + + - - - - + + + + + + - - - - + + + + - - - - - - - - + + + + + + - - - - + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/application.iml b/orange-demo-multi-service/application/application.iml index ee4abb7e..c8c12938 100644 --- a/orange-demo-multi-service/application/application.iml +++ b/orange-demo-multi-service/application/application.iml @@ -4,33 +4,36 @@ + - - - + + + + - - - + + + + - + - - - + + + - - - - - - + + + + + + @@ -50,102 +53,103 @@ - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - - + + + + - - - - - - - - + + + + + + + + - + + - + - - - + + + + + + + @@ -157,37 +161,37 @@ - - - - + + + + - - - - + + + + + + - - - - + + + + - - - - - - - - + + + + + + - - - - + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/course-class/course-class-api/course-class-api.iml b/orange-demo-multi-service/application/course-class/course-class-api/course-class-api.iml index 422a6cd0..2f00bb2a 100644 --- a/orange-demo-multi-service/application/course-class/course-class-api/course-class-api.iml +++ b/orange-demo-multi-service/application/course-class/course-class-api/course-class-api.iml @@ -15,47 +15,42 @@ + - - - - - - - - - - - - - - - - + + + + + + + + + + + - + - - + + - + - + - - - - + + + @@ -67,15 +62,15 @@ - - - - + + + + - - - - + + + + @@ -109,18 +104,21 @@ - - - - - + + + + + + + + - - - - - - + + + + + + @@ -139,98 +137,98 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - - + + + + - - - - - - - - + + + + + + + + - + + - - - + + + + + + + @@ -242,37 +240,37 @@ - - - - + + + + - - - - + + + + + + - - - - + + + + - - - - - - - - + + + + + + - - - - + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/course-class/course-class-service/course-class-service.iml b/orange-demo-multi-service/application/course-class/course-class-service/course-class-service.iml index 6918c1fc..4fd6aeac 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/course-class-service.iml +++ b/orange-demo-multi-service/application/course-class/course-class-service/course-class-service.iml @@ -24,39 +24,33 @@ - - - - - - - - - - - - - - - + + + + + + + + + + - + - - + + - + - + - - - + + @@ -67,13 +61,14 @@ - - - + + + - - - + + + + @@ -95,6 +90,7 @@ + @@ -106,46 +102,42 @@ - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + + + + - - - - - + + + + + @@ -165,92 +157,94 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - - + + + + - - - - - - - - + + + + + + + + - + + - - - + + + + + + + @@ -262,36 +256,36 @@ - - - - + + + + - - - - + + + + + + - - - - + + + + - - - - - - - - + + + + + + - - - - + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/AreaCodeController.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/AreaCodeController.java index e8c8b79e..3e63b885 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/AreaCodeController.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/AreaCodeController.java @@ -4,6 +4,7 @@ import io.swagger.annotations.Api; import cn.jimmyshi.beanquery.BeanQuery; import com.orange.demo.common.core.base.controller.BaseController; import com.orange.demo.common.core.base.service.IBaseDictService; +import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.common.core.util.MyModelUtil; import com.orange.demo.common.core.object.*; import com.orange.demo.courseclassapi.vo.AreaCodeVo; @@ -62,6 +63,20 @@ public class AreaCodeController extends BaseController>> listDictByIds( + @MyRequestBody(elementType = Long.class) List dictIds) { + List resultList = areaCodeService.getInList(new HashSet<>(dictIds)); + return ResponseResult.success(BeanQuery.select( + "parentId as parentId", "areaId as id", "areaName as name").executeFrom(resultList)); + } + /** * 查看单条记录的详情信息,如果当前主对象包含字典和一对一关联,也都同时返回。 * diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/CourseController.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/CourseController.java index 25b40862..66fcfb76 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/CourseController.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/CourseController.java @@ -64,15 +64,15 @@ public class CourseController extends BaseController { * @return 应答结果对象,包含新增对象主键Id。 */ @ApiOperationSupport(ignoreParameters = { - "course.courseId", - "course.priceStart", - "course.priceEnd", - "course.classHourStart", - "course.classHourEnd", - "course.updateTimeStart", - "course.updateTimeEnd"}) + "courseDto.courseId", + "courseDto.priceStart", + "courseDto.priceEnd", + "courseDto.classHourStart", + "courseDto.classHourEnd", + "courseDto.updateTimeStart", + "courseDto.updateTimeEnd"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody("course") CourseDto courseDto) { + public ResponseResult add(@MyRequestBody CourseDto courseDto) { String errorMessage = MyCommonUtil.getModelValidationError(courseDto); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -95,14 +95,14 @@ public class CourseController extends BaseController { * @return 应答结果对象。 */ @ApiOperationSupport(ignoreParameters = { - "course.priceStart", - "course.priceEnd", - "course.classHourStart", - "course.classHourEnd", - "course.updateTimeStart", - "course.updateTimeEnd"}) + "CourseDto.priceStart", + "CourseDto.priceEnd", + "CourseDto.classHourStart", + "CourseDto.classHourEnd", + "CourseDto.updateTimeStart", + "CourseDto.updateTimeEnd"}) @PostMapping("/update") - public ResponseResult update(@MyRequestBody("course") CourseDto courseDto) { + public ResponseResult update(@MyRequestBody CourseDto courseDto) { String errorMessage = MyCommonUtil.getModelValidationError(courseDto, Default.class, UpdateGroup.class); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -162,7 +162,7 @@ public class CourseController extends BaseController { */ @PostMapping("/list") public ResponseResult> list( - @MyRequestBody("courseFilter") CourseDto courseDtoFilter, + @MyRequestBody CourseDto courseDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { @@ -302,6 +302,20 @@ public class CourseController extends BaseController { BeanQuery.select("courseId as id", "courseName as name").executeFrom(resultList)); } + /** + * 根据字典Id集合,获取查询后的字典数据。 + * + * @param dictIds 字典Id集合。 + * @return 应答结果对象,包含字典形式的数据集合。 + */ + @PostMapping("/listDictByIds") + public ResponseResult>> listDictByIds( + @MyRequestBody(elementType = Long.class) List dictIds) { + List resultList = courseService.getInList(new HashSet<>(dictIds)); + return ResponseResult.success( + BeanQuery.select("courseId as id", "courseName as name").executeFrom(resultList)); + } + /** * 根据主键Id集合,获取数据对象集合。仅限于微服务间远程接口调用。 * diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/GradeController.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/GradeController.java index c335be48..ae18f5ec 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/GradeController.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/GradeController.java @@ -9,11 +9,11 @@ import lombok.extern.slf4j.Slf4j; import com.orange.demo.common.core.base.controller.BaseController; import com.orange.demo.common.core.base.service.IBaseDictService; import com.orange.demo.common.core.object.*; +import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.common.core.constant.ErrorCodeEnum; import com.orange.demo.common.core.util.MyModelUtil; import com.orange.demo.common.core.util.MyCommonUtil; import com.orange.demo.common.core.validator.UpdateGroup; -import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.courseclassapi.dto.GradeDto; import com.orange.demo.courseclassapi.vo.GradeVo; import com.orange.demo.courseclassservice.model.Grade; @@ -51,9 +51,9 @@ public class GradeController extends BaseController { * @param gradeDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ - @ApiOperationSupport(ignoreParameters = {"grade.gradeId"}) + @ApiOperationSupport(ignoreParameters = {"gradeDto.gradeId"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody("grade") GradeDto gradeDto) { + public ResponseResult add(@MyRequestBody GradeDto gradeDto) { String errorMessage = MyCommonUtil.getModelValidationError(gradeDto); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -70,7 +70,7 @@ public class GradeController extends BaseController { * @return 应答结果对象。 */ @PostMapping("/update") - public ResponseResult update(@MyRequestBody("grade") GradeDto gradeDto) { + public ResponseResult update(@MyRequestBody GradeDto gradeDto) { String errorMessage = MyCommonUtil.getModelValidationError(gradeDto, Default.class, UpdateGroup.class); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -155,6 +155,20 @@ public class GradeController extends BaseController { return ResponseResult.success(jsonObject); } + /** + * 根据字典Id集合,获取查询后的字典数据。 + * + * @param dictIds 字典Id集合。 + * @return 应答结果对象,包含字典形式的数据集合。 + */ + @PostMapping("/listDictByIds") + public ResponseResult>> listDictByIds( + @MyRequestBody(elementType = Integer.class) List dictIds) { + List resultList = gradeService.getInList(new HashSet<>(dictIds)); + return ResponseResult.success(BeanQuery.select( + "gradeId as id", "gradeName as name").executeFrom(resultList)); + } + /** * 根据主键Id集合,获取数据对象集合。仅限于微服务间远程接口调用。 * diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/SchoolInfoController.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/SchoolInfoController.java index 048f2a99..3d7f6405 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/SchoolInfoController.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/SchoolInfoController.java @@ -48,9 +48,9 @@ public class SchoolInfoController extends BaseController add(@MyRequestBody("schoolInfo") SchoolInfoDto schoolInfoDto) { + public ResponseResult add(@MyRequestBody SchoolInfoDto schoolInfoDto) { String errorMessage = MyCommonUtil.getModelValidationError(schoolInfoDto); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -73,7 +73,7 @@ public class SchoolInfoController extends BaseController update(@MyRequestBody("schoolInfo") SchoolInfoDto schoolInfoDto) { + public ResponseResult update(@MyRequestBody SchoolInfoDto schoolInfoDto) { String errorMessage = MyCommonUtil.getModelValidationError(schoolInfoDto, Default.class, UpdateGroup.class); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -133,7 +133,7 @@ public class SchoolInfoController extends BaseController> list( - @MyRequestBody("schoolInfoFilter") SchoolInfoDto schoolInfoDtoFilter, + @MyRequestBody SchoolInfoDto schoolInfoDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { @@ -180,6 +180,20 @@ public class SchoolInfoController extends BaseController>> listDictByIds( + @MyRequestBody(elementType = Long.class) List dictIds) { + List resultList = schoolInfoService.getInList(new HashSet<>(dictIds)); + return ResponseResult.success( + BeanQuery.select("schoolId as id", "schoolName as name").executeFrom(resultList)); + } + /** * 根据主键Id集合,获取数据对象集合。仅限于微服务间远程接口调用。 * diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentClassController.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentClassController.java index 803b34fe..c926621f 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentClassController.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentClassController.java @@ -52,9 +52,9 @@ public class StudentClassController extends BaseController add(@MyRequestBody("studentClass") StudentClassDto studentClassDto) { + public ResponseResult add(@MyRequestBody StudentClassDto studentClassDto) { String errorMessage = MyCommonUtil.getModelValidationError(studentClassDto); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -77,7 +77,7 @@ public class StudentClassController extends BaseController update(@MyRequestBody("studentClass") StudentClassDto studentClassDto) { + public ResponseResult update(@MyRequestBody StudentClassDto studentClassDto) { String errorMessage = MyCommonUtil.getModelValidationError(studentClassDto, Default.class, UpdateGroup.class); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -137,7 +137,7 @@ public class StudentClassController extends BaseController> list( - @MyRequestBody("studentClassFilter") StudentClassDto studentClassDtoFilter, + @MyRequestBody StudentClassDto studentClassDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { @@ -183,7 +183,7 @@ public class StudentClassController extends BaseController> listNotInClassCourse( @MyRequestBody Long classId, - @MyRequestBody("courseFilter") CourseDto courseDtoFilter, + @MyRequestBody CourseDto courseDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { ResponseResult verifyResult = this.doClassCourseVerify(classId); @@ -212,7 +212,7 @@ public class StudentClassController extends BaseController> listClassCourse( @MyRequestBody Long classId, - @MyRequestBody("courseFilter") CourseDto courseDtoFilter, + @MyRequestBody CourseDto courseDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { ResponseResult verifyResult = this.doClassCourseVerify(classId); @@ -249,7 +249,7 @@ public class StudentClassController extends BaseController addClassCourse( @MyRequestBody Long classId, - @MyRequestBody(value = "classCourseList", elementType = ClassCourseDto.class) List classCourseDtoList) { + @MyRequestBody(elementType = ClassCourseDto.class) List classCourseDtoList) { if (MyCommonUtil.existBlankArgument(classId, classCourseDtoList)) { return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); } @@ -279,7 +279,7 @@ public class StudentClassController extends BaseController updateClassCourse( - @MyRequestBody("classCourse") ClassCourseDto classCourseDto) { + @MyRequestBody ClassCourseDto classCourseDto) { String errorMessage = MyCommonUtil.getModelValidationError(classCourseDto); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -344,7 +344,7 @@ public class StudentClassController extends BaseController> listNotInClassStudent( @MyRequestBody Long classId, - @MyRequestBody("studentFilter") StudentDto studentDtoFilter, + @MyRequestBody StudentDto studentDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { ResponseResult verifyResult = this.doClassStudentVerify(classId); @@ -373,7 +373,7 @@ public class StudentClassController extends BaseController> listClassStudent( @MyRequestBody Long classId, - @MyRequestBody("studentFilter") StudentDto studentDtoFilter, + @MyRequestBody StudentDto studentDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { ResponseResult verifyResult = this.doClassStudentVerify(classId); @@ -410,7 +410,7 @@ public class StudentClassController extends BaseController addClassStudent( @MyRequestBody Long classId, - @MyRequestBody(value = "classStudentList", elementType = ClassStudentDto.class) List classStudentDtoList) { + @MyRequestBody(elementType = ClassStudentDto.class) List classStudentDtoList) { if (MyCommonUtil.existBlankArgument(classId, classStudentDtoList)) { return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); } diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentController.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentController.java index 751626c7..3f3a4547 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentController.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentController.java @@ -49,14 +49,14 @@ public class StudentController extends BaseController * @return 应答结果对象,包含新增对象主键Id。 */ @ApiOperationSupport(ignoreParameters = { - "student.studentId", - "student.searchString", - "student.birthdayStart", - "student.birthdayEnd", - "student.registerTimeStart", - "student.registerTimeEnd"}) + "studentDto.studentId", + "studentDto.searchString", + "studentDto.birthdayStart", + "studentDto.birthdayEnd", + "studentDto.registerTimeStart", + "studentDto.registerTimeEnd"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody("student") StudentDto studentDto) { + public ResponseResult add(@MyRequestBody StudentDto studentDto) { String errorMessage = MyCommonUtil.getModelValidationError(studentDto); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -79,13 +79,13 @@ public class StudentController extends BaseController * @return 应答结果对象。 */ @ApiOperationSupport(ignoreParameters = { - "student.searchString", - "student.birthdayStart", - "student.birthdayEnd", - "student.registerTimeStart", - "student.registerTimeEnd"}) + "StudentDto.searchString", + "StudentDto.birthdayStart", + "StudentDto.birthdayEnd", + "StudentDto.registerTimeStart", + "StudentDto.registerTimeEnd"}) @PostMapping("/update") - public ResponseResult update(@MyRequestBody("student") StudentDto studentDto) { + public ResponseResult update(@MyRequestBody StudentDto studentDto) { String errorMessage = MyCommonUtil.getModelValidationError(studentDto, Default.class, UpdateGroup.class); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -145,7 +145,7 @@ public class StudentController extends BaseController */ @PostMapping("/list") public ResponseResult> list( - @MyRequestBody("studentFilter") StudentDto studentDtoFilter, + @MyRequestBody StudentDto studentDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { @@ -192,6 +192,20 @@ public class StudentController extends BaseController BeanQuery.select("studentId as id", "studentName as name").executeFrom(resultList)); } + /** + * 根据字典Id集合,获取查询后的字典数据。 + * + * @param dictIds 字典Id集合。 + * @return 应答结果对象,包含字典形式的数据集合。 + */ + @PostMapping("/listDictByIds") + public ResponseResult>> listDictByIds( + @MyRequestBody(elementType = Long.class) List dictIds) { + List resultList = studentService.getInList(new HashSet<>(dictIds)); + return ResponseResult.success( + BeanQuery.select("studentId as id", "studentName as name").executeFrom(resultList)); + } + /** * 根据主键Id集合,获取数据对象集合。仅限于微服务间远程接口调用。 * diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/CourseService.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/CourseService.java index 50ffa9b1..5a607797 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/CourseService.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/CourseService.java @@ -94,8 +94,7 @@ public interface CourseService extends IBaseService { * @param orderBy 排序参数。 * @return 查询结果集。 */ - List getNotInCourseListByClassId( - Long classId, Course filter, String orderBy); + List getNotInCourseListByClassId(Long classId, Course filter, String orderBy); /** * 在多对多关系中,当前Service的数据表为从表,返回与指定主表主键Id存在对多对关系的列表。 @@ -105,8 +104,7 @@ public interface CourseService extends IBaseService { * @param orderBy 排序参数。 * @return 查询结果集。 */ - List getCourseListByClassId( - Long classId, Course filter, String orderBy); + List getCourseListByClassId(Long classId, Course filter, String orderBy); /** * 根据最新对象和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/StudentService.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/StudentService.java index a7ce002b..44f28df8 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/StudentService.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/StudentService.java @@ -94,8 +94,7 @@ public interface StudentService extends IBaseService { * @param orderBy 排序参数。 * @return 查询结果集。 */ - List getNotInStudentListByClassId( - Long classId, Student filter, String orderBy); + List getNotInStudentListByClassId(Long classId, Student filter, String orderBy); /** * 在多对多关系中,当前Service的数据表为从表,返回与指定主表主键Id存在对多对关系的列表。 @@ -105,8 +104,7 @@ public interface StudentService extends IBaseService { * @param orderBy 排序参数。 * @return 查询结果集。 */ - List getStudentListByClassId( - Long classId, Student filter, String orderBy); + List getStudentListByClassId(Long classId, Student filter, String orderBy); /** * 根据最新对象和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/CourseServiceImpl.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/CourseServiceImpl.java index 2731915d..b4bc8167 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/CourseServiceImpl.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/CourseServiceImpl.java @@ -10,6 +10,7 @@ import com.orange.demo.common.core.object.TokenData; import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orange.demo.common.core.base.service.BaseService; import com.orange.demo.common.sequence.wrapper.IdGeneratorWrapper; +import lombok.extern.slf4j.Slf4j; import com.github.pagehelper.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -23,6 +24,7 @@ import java.util.*; * @author Jerry * @date 2020-08-08 */ +@Slf4j @Service("courseService") public class CourseServiceImpl extends BaseService implements CourseService { @@ -144,6 +146,8 @@ public class CourseServiceImpl extends BaseService implements Cour @Override public List getCourseListWithRelation(Course filter, String orderBy) { List resultList = courseMapper.getCourseList(null, null, filter, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); return resultList; @@ -165,6 +169,8 @@ public class CourseServiceImpl extends BaseService implements Cour String inFilterField, Set inFilterValues, Course filter, String orderBy) { List resultList = courseMapper.getCourseList(inFilterField, inFilterValues, filter, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; this.buildRelationForDataList(resultList, MyRelationParam.dictOnly(), batchSize); return resultList; @@ -179,8 +185,7 @@ public class CourseServiceImpl extends BaseService implements Cour * @return 查询结果集。 */ @Override - public List getNotInCourseListByClassId( - Long classId, Course filter, String orderBy) { + public List getNotInCourseListByClassId(Long classId, Course filter, String orderBy) { List resultList = courseMapper.getNotInCourseListByClassId(classId, filter, orderBy); this.buildRelationForDataList(resultList, MyRelationParam.dictOnly()); @@ -196,8 +201,7 @@ public class CourseServiceImpl extends BaseService implements Cour * @return 查询结果集。 */ @Override - public List getCourseListByClassId( - Long classId, Course filter, String orderBy) { + public List getCourseListByClassId(Long classId, Course filter, String orderBy) { List resultList = courseMapper.getCourseListByClassId(classId, filter, orderBy); this.buildRelationForDataList(resultList, MyRelationParam.dictOnly()); diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/GradeServiceImpl.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/GradeServiceImpl.java index 0a2a6e39..d67f90d5 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/GradeServiceImpl.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/GradeServiceImpl.java @@ -6,6 +6,7 @@ import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orange.demo.courseclassservice.service.GradeService; import com.orange.demo.courseclassservice.dao.GradeMapper; import com.orange.demo.courseclassservice.model.Grade; +import lombok.extern.slf4j.Slf4j; import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -18,6 +19,7 @@ import javax.annotation.PostConstruct; * @author Jerry * @date 2020-08-08 */ +@Slf4j @Service("gradeService") public class GradeServiceImpl extends BaseDictService implements GradeService { diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/SchoolInfoServiceImpl.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/SchoolInfoServiceImpl.java index 050fac5e..4cda5794 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/SchoolInfoServiceImpl.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/SchoolInfoServiceImpl.java @@ -9,6 +9,7 @@ import com.orange.demo.common.core.object.CallResult; import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orange.demo.common.core.base.service.BaseService; import com.orange.demo.common.sequence.wrapper.IdGeneratorWrapper; +import lombok.extern.slf4j.Slf4j; import com.github.pagehelper.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,6 +23,7 @@ import java.util.*; * @author Jerry * @date 2020-08-08 */ +@Slf4j @Service("schoolInfoService") public class SchoolInfoServiceImpl extends BaseService implements SchoolInfoService { @@ -126,6 +128,8 @@ public class SchoolInfoServiceImpl extends BaseService impleme @Override public List getSchoolInfoListWithRelation(SchoolInfo filter, String orderBy) { List resultList = schoolInfoMapper.getSchoolInfoList(null, null, filter, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); return resultList; @@ -147,6 +151,8 @@ public class SchoolInfoServiceImpl extends BaseService impleme String inFilterField, Set inFilterValues, SchoolInfo filter, String orderBy) { List resultList = schoolInfoMapper.getSchoolInfoList(inFilterField, inFilterValues, filter, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; this.buildRelationForDataList(resultList, MyRelationParam.dictOnly(), batchSize); return resultList; diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/StudentClassServiceImpl.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/StudentClassServiceImpl.java index a8ebe9be..d17ef7c4 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/StudentClassServiceImpl.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/StudentClassServiceImpl.java @@ -11,6 +11,7 @@ import com.orange.demo.common.core.constant.GlobalDeletedFlag; import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orange.demo.common.core.base.service.BaseService; import com.orange.demo.common.sequence.wrapper.IdGeneratorWrapper; +import lombok.extern.slf4j.Slf4j; import com.github.pagehelper.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,6 +26,7 @@ import java.util.*; * @author Jerry * @date 2020-08-08 */ +@Slf4j @Service("studentClassService") public class StudentClassServiceImpl extends BaseService implements StudentClassService { @@ -152,6 +154,8 @@ public class StudentClassServiceImpl extends BaseService imp @Override public List getStudentClassListWithRelation(StudentClass filter, String orderBy) { List resultList = studentClassMapper.getStudentClassList(null, null, filter, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); return resultList; @@ -173,6 +177,8 @@ public class StudentClassServiceImpl extends BaseService imp String inFilterField, Set inFilterValues, StudentClass filter, String orderBy) { List resultList = studentClassMapper.getStudentClassList(inFilterField, inFilterValues, filter, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; this.buildRelationForDataList(resultList, MyRelationParam.dictOnly(), batchSize); return resultList; diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/StudentServiceImpl.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/StudentServiceImpl.java index c3d43221..8976af2c 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/StudentServiceImpl.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/impl/StudentServiceImpl.java @@ -10,6 +10,7 @@ import com.orange.demo.common.core.object.CallResult; import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orange.demo.common.core.base.service.BaseService; import com.orange.demo.common.sequence.wrapper.IdGeneratorWrapper; +import lombok.extern.slf4j.Slf4j; import com.github.pagehelper.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -23,6 +24,7 @@ import java.util.*; * @author Jerry * @date 2020-08-08 */ +@Slf4j @Service("studentService") public class StudentServiceImpl extends BaseService implements StudentService { @@ -143,6 +145,8 @@ public class StudentServiceImpl extends BaseService implements St @Override public List getStudentListWithRelation(Student filter, String orderBy) { List resultList = studentMapper.getStudentList(null, null, filter, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); return resultList; @@ -164,6 +168,8 @@ public class StudentServiceImpl extends BaseService implements St String inFilterField, Set inFilterValues, Student filter, String orderBy) { List resultList = studentMapper.getStudentList(inFilterField, inFilterValues, filter, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; this.buildRelationForDataList(resultList, MyRelationParam.dictOnly(), batchSize); return resultList; @@ -178,8 +184,7 @@ public class StudentServiceImpl extends BaseService implements St * @return 查询结果集。 */ @Override - public List getNotInStudentListByClassId( - Long classId, Student filter, String orderBy) { + public List getNotInStudentListByClassId(Long classId, Student filter, String orderBy) { List resultList = studentMapper.getNotInStudentListByClassId(classId, filter, orderBy); this.buildRelationForDataList(resultList, MyRelationParam.dictOnly()); @@ -195,8 +200,7 @@ public class StudentServiceImpl extends BaseService implements St * @return 查询结果集。 */ @Override - public List getStudentListByClassId( - Long classId, Student filter, String orderBy) { + public List getStudentListByClassId(Long classId, Student filter, String orderBy) { List resultList = studentMapper.getStudentListByClassId(classId, filter, orderBy); this.buildRelationForDataList(resultList, MyRelationParam.dictOnly()); diff --git a/orange-demo-multi-service/application/course-class/course-class.iml b/orange-demo-multi-service/application/course-class/course-class.iml index ee4abb7e..c8c12938 100644 --- a/orange-demo-multi-service/application/course-class/course-class.iml +++ b/orange-demo-multi-service/application/course-class/course-class.iml @@ -4,33 +4,36 @@ + - - - + + + + - - - + + + + - + - - - + + + - - - - - - + + + + + + @@ -50,102 +53,103 @@ - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - - + + + + - - - - - - - - + + + + + + + + - + + - + - - - + + + + + + + @@ -157,37 +161,37 @@ - - - - + + + + - - - - + + + + + + - - - - + + + + - - - - - - - - + + + + + + - - - - + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/gateway/gateway.iml b/orange-demo-multi-service/application/gateway/gateway.iml index 234b1e70..f0edaa8a 100644 --- a/orange-demo-multi-service/application/gateway/gateway.iml +++ b/orange-demo-multi-service/application/gateway/gateway.iml @@ -11,6 +11,7 @@ + @@ -23,89 +24,85 @@ - + - + - - - + + + - + - - + + - - - - - - - - - - - - - - + + - - - - - + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - + + - + - + - - - + + @@ -118,10 +115,10 @@ - - - - + + + + @@ -137,16 +134,19 @@ - - - - + + + + + + + - - - - - + + + + + @@ -165,84 +165,83 @@ - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + - - + + - - - - - + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - + + + + + + + + - + - - - + + + + + + @@ -253,36 +252,36 @@ - - - - + + + + - - - - + + + + + + - - - - + + + + - - - - - - - - + + + + + + - - - - + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPostFilter.java b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPostFilter.java index b07e155a..e09a7c45 100644 --- a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPostFilter.java +++ b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPostFilter.java @@ -163,8 +163,8 @@ public class AuthenticationPostFilter implements GlobalFilter, Ordered { ResponseResult result = JSON.parseObject(responseBody, ResponseResult.class); if (result.isSuccess()) { String sessionId = (String) exchange.getAttributes().get(GatewayConstant.SESSION_ID_KEY_NAME); - redissonClient.getBucket(RedisKeyUtil.makeSessionIdKeyForRedis(sessionId)).deleteAsync(); - redissonClient.getSet(RedisKeyUtil.makeSessionPermIdKeyForRedis(sessionId)).deleteAsync(); + redissonClient.getBucket(RedisKeyUtil.makeSessionIdKey(sessionId)).deleteAsync(); + redissonClient.getSet(RedisKeyUtil.makeSessionPermIdKey(sessionId)).deleteAsync(); } return responseBody; } @@ -197,7 +197,7 @@ public class AuthenticationPostFilter implements GlobalFilter, Ordered { return ResponseResult.error(errorCode, "内部错误,用户显示名没有正确返回!"); } String loginName = tokenData.getString("loginName"); - if (StringUtils.isBlank(showName)) { + if (StringUtils.isBlank(loginName)) { return ResponseResult.error(errorCode, "内部错误,用户登录名没有正确返回!"); } String sessionId = tokenData.getString("sessionId"); @@ -209,7 +209,7 @@ public class AuthenticationPostFilter implements GlobalFilter, Ordered { claims.put(GatewayConstant.SESSION_ID_KEY_NAME, sessionId); String token = JwtUtil.generateToken(claims, appConfig.getExpiration(), appConfig.getTokenSigningKey()); // 3. 更新缓存 - String sessionIdKey = RedisKeyUtil.makeSessionIdKeyForRedis(sessionId); + String sessionIdKey = RedisKeyUtil.makeSessionIdKey(sessionId); String sessionData = JSON.toJSONString(tokenData, SerializerFeature.WriteNonStringValueAsString); RBucket bucket = redissonClient.getBucket(sessionIdKey); bucket.set(sessionData); @@ -217,7 +217,7 @@ public class AuthenticationPostFilter implements GlobalFilter, Ordered { // 3.2 sessionId -> permList 是set结构的缓存 JSONArray permSet = loginData.getJSONArray("permSet"); if (permSet != null) { - String sessionPermKey = RedisKeyUtil.makeSessionPermIdKeyForRedis(sessionId); + String sessionPermKey = RedisKeyUtil.makeSessionPermIdKey(sessionId); RSet redisPermSet = redissonClient.getSet(sessionPermKey); redisPermSet.addAll(permSet.stream().map(Object::toString).collect(Collectors.toSet())); redisPermSet.expire(appConfig.getSessionExpiredSeconds(), TimeUnit.SECONDS); diff --git a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPreFilter.java b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPreFilter.java index fe547fe0..acaa5556 100644 --- a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPreFilter.java +++ b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPreFilter.java @@ -77,7 +77,7 @@ public class AuthenticationPreFilter implements GlobalFilter, Ordered { } // 先基于sessionId获取userInfo String sessionId = (String) c.get(GatewayConstant.SESSION_ID_KEY_NAME); - String sessionIdKey = RedisKeyUtil.makeSessionIdKeyForRedis(sessionId); + String sessionIdKey = RedisKeyUtil.makeSessionIdKey(sessionId); RBucket sessionData = redissonClient.getBucket(sessionIdKey); JSONObject tokenData = null; if (sessionData.isExists()) { @@ -152,7 +152,7 @@ public class AuthenticationPreFilter implements GlobalFilter, Ordered { if (url.equals(GatewayConstant.ADMIN_LOGOUT_URL)) { return true; } - String permKey = RedisKeyUtil.makeSessionPermIdKeyForRedis(sessionId); + String permKey = RedisKeyUtil.makeSessionPermIdKey(sessionId); return redissonClient.getSet(permKey).contains(url); } diff --git a/orange-demo-multi-service/application/stats/stats-api/stats-api.iml b/orange-demo-multi-service/application/stats/stats-api/stats-api.iml index 422a6cd0..2f00bb2a 100644 --- a/orange-demo-multi-service/application/stats/stats-api/stats-api.iml +++ b/orange-demo-multi-service/application/stats/stats-api/stats-api.iml @@ -15,47 +15,42 @@ + - - - - - - - - - - - - - - - - + + + + + + + + + + + - + - - + + - + - + - - - - + + + @@ -67,15 +62,15 @@ - - - - + + + + - - - - + + + + @@ -109,18 +104,21 @@ - - - - - + + + + + + + + - - - - - - + + + + + + @@ -139,98 +137,98 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - - + + + + - - - - - - - - + + + + + + + + - + + - - - + + + + + + + @@ -242,37 +240,37 @@ - - - - + + + + - - - - + + + + + + - - - - + + + + - - - - - - - - + + + + + + - - - - + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/CourseTransStatsController.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/CourseTransStatsController.java index 8ed859fc..8c32b251 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/CourseTransStatsController.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/CourseTransStatsController.java @@ -48,7 +48,7 @@ public class CourseTransStatsController extends BaseController> list( - @MyRequestBody("courseTransStatsFilter") CourseTransStatsDto courseTransStatsDtoFilter, + @MyRequestBody CourseTransStatsDto courseTransStatsDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { @@ -72,7 +72,7 @@ public class CourseTransStatsController extends BaseController> listWithGroup( - @MyRequestBody("courseTransStatsFilter") CourseTransStatsDto courseTransStatsDtoFilter, + @MyRequestBody CourseTransStatsDto courseTransStatsDtoFilter, @MyRequestBody(required = true) MyGroupParam groupParam, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionStatsController.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionStatsController.java index a3f0d928..fade9d0d 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionStatsController.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionStatsController.java @@ -48,7 +48,7 @@ public class StudentActionStatsController extends BaseController> list( - @MyRequestBody("studentActionStatsFilter") StudentActionStatsDto studentActionStatsDtoFilter, + @MyRequestBody StudentActionStatsDto studentActionStatsDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { @@ -72,7 +72,7 @@ public class StudentActionStatsController extends BaseController> listWithGroup( - @MyRequestBody("studentActionStatsFilter") StudentActionStatsDto studentActionStatsDtoFilter, + @MyRequestBody StudentActionStatsDto studentActionStatsDtoFilter, @MyRequestBody(required = true) MyGroupParam groupParam, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionTransController.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionTransController.java index 49bd745b..0bca44cb 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionTransController.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionTransController.java @@ -48,11 +48,11 @@ public class StudentActionTransController extends BaseController add(@MyRequestBody("studentActionTrans") StudentActionTransDto studentActionTransDto) { + public ResponseResult add(@MyRequestBody StudentActionTransDto studentActionTransDto) { String errorMessage = MyCommonUtil.getModelValidationError(studentActionTransDto); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -75,10 +75,10 @@ public class StudentActionTransController extends BaseController update(@MyRequestBody("studentActionTrans") StudentActionTransDto studentActionTransDto) { + public ResponseResult update(@MyRequestBody StudentActionTransDto studentActionTransDto) { String errorMessage = MyCommonUtil.getModelValidationError(studentActionTransDto, Default.class, UpdateGroup.class); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -138,7 +138,7 @@ public class StudentActionTransController extends BaseController> list( - @MyRequestBody("studentActionTransFilter") StudentActionTransDto studentActionTransDtoFilter, + @MyRequestBody StudentActionTransDto studentActionTransDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/impl/CourseTransStatsServiceImpl.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/impl/CourseTransStatsServiceImpl.java index cb7b5f4c..7d2ae4f9 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/impl/CourseTransStatsServiceImpl.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/impl/CourseTransStatsServiceImpl.java @@ -7,6 +7,7 @@ import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.object.MyRelationParam; import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orange.demo.common.core.base.service.BaseService; +import lombok.extern.slf4j.Slf4j; import com.github.pagehelper.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -19,6 +20,7 @@ import java.util.*; * @author Jerry * @date 2020-08-08 */ +@Slf4j @Service("courseTransStatsService") public class CourseTransStatsServiceImpl extends BaseService implements CourseTransStatsService { @@ -78,6 +80,8 @@ public class CourseTransStatsServiceImpl extends BaseService getCourseTransStatsListWithRelation(CourseTransStats filter, String orderBy) { List resultList = courseTransStatsMapper.getCourseTransStatsList(null, null, filter, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); return resultList; @@ -99,6 +103,8 @@ public class CourseTransStatsServiceImpl extends BaseService inFilterValues, CourseTransStats filter, String orderBy) { List resultList = courseTransStatsMapper.getCourseTransStatsList(inFilterField, inFilterValues, filter, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; this.buildRelationForDataList(resultList, MyRelationParam.dictOnly(), batchSize); return resultList; @@ -118,6 +124,8 @@ public class CourseTransStatsServiceImpl extends BaseService resultList = courseTransStatsMapper.getGroupedCourseTransStatsList(filter, groupSelect, groupBy, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; // NOTE: 这里只是包含了本地关联数据和远程关联数据,本地聚合计算数据和远程聚合计算数据没有包含。 // 主要原因是,由于聚合字段通常被视为普通字段使用,不会在group by的从句中出现,语义上也不会在此关联。 diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/impl/StudentActionStatsServiceImpl.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/impl/StudentActionStatsServiceImpl.java index 12bae1ed..7e3278c4 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/impl/StudentActionStatsServiceImpl.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/impl/StudentActionStatsServiceImpl.java @@ -7,6 +7,7 @@ import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.object.MyRelationParam; import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orange.demo.common.core.base.service.BaseService; +import lombok.extern.slf4j.Slf4j; import com.github.pagehelper.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -19,6 +20,7 @@ import java.util.*; * @author Jerry * @date 2020-08-08 */ +@Slf4j @Service("studentActionStatsService") public class StudentActionStatsServiceImpl extends BaseService implements StudentActionStatsService { @@ -78,6 +80,8 @@ public class StudentActionStatsServiceImpl extends BaseService getStudentActionStatsListWithRelation(StudentActionStats filter, String orderBy) { List resultList = studentActionStatsMapper.getStudentActionStatsList(null, null, filter, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); return resultList; @@ -99,6 +103,8 @@ public class StudentActionStatsServiceImpl extends BaseService inFilterValues, StudentActionStats filter, String orderBy) { List resultList = studentActionStatsMapper.getStudentActionStatsList(inFilterField, inFilterValues, filter, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; this.buildRelationForDataList(resultList, MyRelationParam.dictOnly(), batchSize); return resultList; @@ -118,6 +124,8 @@ public class StudentActionStatsServiceImpl extends BaseService resultList = studentActionStatsMapper.getGroupedStudentActionStatsList(filter, groupSelect, groupBy, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; // NOTE: 这里只是包含了本地关联数据和远程关联数据,本地聚合计算数据和远程聚合计算数据没有包含。 // 主要原因是,由于聚合字段通常被视为普通字段使用,不会在group by的从句中出现,语义上也不会在此关联。 diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/impl/StudentActionTransServiceImpl.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/impl/StudentActionTransServiceImpl.java index ef9f934d..e5d65e89 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/impl/StudentActionTransServiceImpl.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/impl/StudentActionTransServiceImpl.java @@ -11,6 +11,7 @@ import com.orange.demo.common.core.object.CallResult; import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orange.demo.common.core.base.service.BaseService; import com.orange.demo.common.sequence.wrapper.IdGeneratorWrapper; +import lombok.extern.slf4j.Slf4j; import com.github.pagehelper.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -24,6 +25,7 @@ import java.util.*; * @author Jerry * @date 2020-08-08 */ +@Slf4j @Service("studentActionTransService") public class StudentActionTransServiceImpl extends BaseService implements StudentActionTransService { @@ -132,6 +134,8 @@ public class StudentActionTransServiceImpl extends BaseService getStudentActionTransListWithRelation(StudentActionTrans filter, String orderBy) { List resultList = studentActionTransMapper.getStudentActionTransList(null, null, filter, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); return resultList; @@ -153,6 +157,8 @@ public class StudentActionTransServiceImpl extends BaseService inFilterValues, StudentActionTrans filter, String orderBy) { List resultList = studentActionTransMapper.getStudentActionTransList(inFilterField, inFilterValues, filter, orderBy); + // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 + // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 int batchSize = resultList instanceof Page ? 0 : 1000; this.buildRelationForDataList(resultList, MyRelationParam.dictOnly(), batchSize); return resultList; diff --git a/orange-demo-multi-service/application/stats/stats-service/stats-service.iml b/orange-demo-multi-service/application/stats/stats-service/stats-service.iml index e796cd61..9745feef 100644 --- a/orange-demo-multi-service/application/stats/stats-service/stats-service.iml +++ b/orange-demo-multi-service/application/stats/stats-service/stats-service.iml @@ -24,39 +24,33 @@ - - - - - - - - - - - - - - - + + + + + + + + + + - + - - + + - + - + - - - + + @@ -67,13 +61,14 @@ - - - + + + - - - + + + + @@ -95,6 +90,7 @@ + @@ -107,46 +103,42 @@ - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + + + + - - - - - + + + + + @@ -166,92 +158,94 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - - + + + + - - - - - - - - + + + + + + + + - + + - - - + + + + + + + @@ -263,36 +257,36 @@ - - - - + + + + - - - - + + + + + + - - - - + + + + - - - - - - - - + + + + + + - - - - + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/stats/stats.iml b/orange-demo-multi-service/application/stats/stats.iml index ee4abb7e..c8c12938 100644 --- a/orange-demo-multi-service/application/stats/stats.iml +++ b/orange-demo-multi-service/application/stats/stats.iml @@ -4,33 +4,36 @@ + - - - + + + + - - - + + + + - + - - - + + + - - - - - - + + + + + + @@ -50,102 +53,103 @@ - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - - + + + + - - - - - - - - + + + + + + + + - + + - + - - - + + + + + + + @@ -157,37 +161,37 @@ - - - - + + + + - - - - + + + + + + - - - - + + + + - - - - - - - - + + + + + + - - - - + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/constant/SysMenuType.java b/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/constant/SysMenuType.java index a4f00df0..74649e3e 100644 --- a/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/constant/SysMenuType.java +++ b/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/constant/SysMenuType.java @@ -30,10 +30,10 @@ public final class SysMenuType { private static final Map DICT_MAP = new HashMap<>(4); static { - DICT_MAP.put(0, "目录菜单"); - DICT_MAP.put(1, "普通菜单"); - DICT_MAP.put(2, "表单片段类型"); - DICT_MAP.put(3, "按钮类型"); + DICT_MAP.put(TYPE_DIRECTORY, "目录菜单"); + DICT_MAP.put(TYPE_MENU, "普通菜单"); + DICT_MAP.put(TYPE_UI_FRAGMENT, "表单片段类型"); + DICT_MAP.put(TYPE_BUTTON, "按钮类型"); } /** diff --git a/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/constant/SysOnlineMenuPermType.java b/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/constant/SysOnlineMenuPermType.java new file mode 100644 index 00000000..876cb2a2 --- /dev/null +++ b/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/constant/SysOnlineMenuPermType.java @@ -0,0 +1,44 @@ +package com.orange.demo.upmsapi.constant; + +import java.util.HashMap; +import java.util.Map; + +/** + * 菜单关联在线表单的控制权限类型。 + * + * @author Jerry + * @date 2020-08-08 + */ +public final class SysOnlineMenuPermType { + + /** + * 查看。 + */ + public static final int TYPE_VIEW = 0; + /** + * 编辑。 + */ + public static final int TYPE_EDIT = 1; + + private static final Map DICT_MAP = new HashMap<>(4); + static { + DICT_MAP.put(TYPE_VIEW, "查看"); + DICT_MAP.put(TYPE_EDIT, "编辑"); + } + + /** + * 判断参数是否为当前常量字典的合法值。 + * + * @param value 待验证的参数值。 + * @return 合法返回true,否则false。 + */ + public static boolean isValid(Integer value) { + return value != null && DICT_MAP.containsKey(value); + } + + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private SysOnlineMenuPermType() { + } +} diff --git a/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/constant/SysPermCodeType.java b/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/constant/SysPermCodeType.java index fcca7b5c..d4a28608 100644 --- a/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/constant/SysPermCodeType.java +++ b/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/constant/SysPermCodeType.java @@ -26,9 +26,9 @@ public final class SysPermCodeType { private static final Map DICT_MAP = new HashMap<>(3); static { - DICT_MAP.put(0, "表单权限字"); - DICT_MAP.put(1, "表单片段布局权限字"); - DICT_MAP.put(2, "操作权限字"); + DICT_MAP.put(TYPE_FORM, "表单权限字"); + DICT_MAP.put(TYPE_FRAGMENT, "表单片段布局权限字"); + DICT_MAP.put(TYPE_OPERATION, "操作权限字"); } /** diff --git a/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/constant/SysPermModuleType.java b/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/constant/SysPermModuleType.java index bbee0a2b..74015367 100644 --- a/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/constant/SysPermModuleType.java +++ b/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/constant/SysPermModuleType.java @@ -22,8 +22,8 @@ public final class SysPermModuleType { private static final Map DICT_MAP = new HashMap<>(2); static { - DICT_MAP.put(0, "普通模块"); - DICT_MAP.put(1, "controller接口模块"); + DICT_MAP.put(TYPE_NORMAL, "普通模块"); + DICT_MAP.put(TYPE_CONTROLLER, "controller接口模块"); } /** diff --git a/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/dto/SysMenuDto.java b/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/dto/SysMenuDto.java index 05e15a01..8028c29c 100644 --- a/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/dto/SysMenuDto.java +++ b/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/dto/SysMenuDto.java @@ -54,6 +54,12 @@ public class SysMenuDto { @ApiModelProperty(value = "前端表单路由名称") private String formRouterName; + /** + * 在线表单主键Id,仅用于在线表单绑定的菜单。 + */ + @ApiModelProperty(value = "在线表单主键Id") + private Long onlineFormId; + /** * 菜单显示顺序 (值越小,排序越靠前)。 */ diff --git a/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/vo/SysMenuVo.java b/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/vo/SysMenuVo.java index c85cabc9..c9cd24d1 100644 --- a/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/vo/SysMenuVo.java +++ b/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orange/demo/upmsapi/vo/SysMenuVo.java @@ -46,6 +46,18 @@ public class SysMenuVo { @ApiModelProperty(value = "前端表单路由名称") private String formRouterName; + /** + * 在线表单主键Id,仅用于在线表单绑定的菜单。 + */ + @ApiModelProperty(value = "在线表单主键Id") + private Long onlineFormId; + + /** + * 在线表单菜单的权限控制类型,具体值可参考SysOnlineMenuPermType常量对象。 + */ + @ApiModelProperty(value = "在线表单菜单的权限控制类型") + private Integer onlineMenuPermType; + /** * 菜单显示顺序 (值越小,排序越靠前)。 */ diff --git a/orange-demo-multi-service/application/upms/upms-api/upms-api.iml b/orange-demo-multi-service/application/upms/upms-api/upms-api.iml index 1b5981da..22e3921c 100644 --- a/orange-demo-multi-service/application/upms/upms-api/upms-api.iml +++ b/orange-demo-multi-service/application/upms/upms-api/upms-api.iml @@ -15,46 +15,41 @@ + - - - - - - - - - - - - - - - - + + + + + + + + + + + - + - - + + - + - + - - - - + + + @@ -66,15 +61,15 @@ - - - - + + + + - - - - + + + + @@ -109,18 +104,21 @@ - - - - - + + + + + + + + - - - - - - + + + + + + @@ -139,98 +137,98 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - - + + + + - - - - - - - - + + + + + + + + - + + - - - + + + + + + + @@ -242,37 +240,37 @@ - - - - + + + + - - - - + + + + + + - - - - + + + + - - - - - - - - + + + + + + - - - - + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/LoginUserController.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/LoginUserController.java index 306b7ae0..87b0dfec 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/LoginUserController.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/LoginUserController.java @@ -74,7 +74,7 @@ public class LoginUserController { public ResponseResult delete(@MyRequestBody String sessionId) { // 为了保证被剔除用户正在进行的操作不被干扰,这里只是删除sessionIdKey即可,这样可以使强制下线操作更加平滑。 // 比如,如果删除操作权限或数据权限的redis session key,那么正在请求数据的操作就会报错。 - redissonClient.getBucket(RedisKeyUtil.makeSessionIdKeyForRedis(sessionId)).delete(); + redissonClient.getBucket(RedisKeyUtil.makeSessionIdKey(sessionId)).delete(); return ResponseResult.success(); } diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysMenuController.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysMenuController.java index e745382e..8eaf357e 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysMenuController.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysMenuController.java @@ -1,5 +1,6 @@ package com.orange.demo.upmsservice.controller; +import cn.hutool.core.util.ObjectUtil; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; @@ -11,6 +12,7 @@ import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.upmsapi.dto.SysMenuDto; import com.orange.demo.upmsapi.vo.SysMenuVo; +import com.orange.demo.upmsapi.constant.SysMenuType; import com.orange.demo.upmsservice.model.SysMenu; import com.orange.demo.upmsservice.service.SysMenuService; import org.springframework.beans.factory.annotation.Autowired; @@ -42,15 +44,26 @@ public class SysMenuController { * @return 应答结果对象,包含新增菜单的主键Id。 */ @SuppressWarnings("unchecked") - @ApiOperationSupport(ignoreParameters = {"sysMenu.menuId"}) + @ApiOperationSupport(ignoreParameters = {"sysMenuDto.menuId"}) @PostMapping("/add") public ResponseResult add( - @MyRequestBody("sysMenu") SysMenuDto sysMenuDto, @MyRequestBody String permCodeIdListString) { + @MyRequestBody SysMenuDto sysMenuDto, @MyRequestBody String permCodeIdListString) { String errorMessage = MyCommonUtil.getModelValidationError(sysMenuDto); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); } SysMenu sysMenu = MyModelUtil.copyTo(sysMenuDto, SysMenu.class); + if (sysMenu.getParentId() != null) { + SysMenu parentSysMenu = sysMenuService.getById(sysMenu.getParentId()); + if (parentSysMenu == null) { + errorMessage = "数据验证失败,关联的父菜单不存在!"; + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); + } + if (parentSysMenu.getOnlineFormId() != null) { + errorMessage = "数据验证失败,不能动态表单菜单添加父菜单!"; + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); + } + } CallResult result = sysMenuService.verifyRelatedData(sysMenu, null, permCodeIdListString); if (!result.isSuccess()) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); @@ -73,7 +86,7 @@ public class SysMenuController { @SuppressWarnings("unchecked") @PostMapping("/update") public ResponseResult update( - @MyRequestBody("sysMenu") SysMenuDto sysMenuDto, @MyRequestBody String permCodeIdListString) { + @MyRequestBody SysMenuDto sysMenuDto, @MyRequestBody String permCodeIdListString) { String errorMessage = MyCommonUtil.getModelValidationError(sysMenuDto, Default.class, UpdateGroup.class); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -84,6 +97,21 @@ public class SysMenuController { return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); } SysMenu sysMenu = MyModelUtil.copyTo(sysMenuDto, SysMenu.class); + if (ObjectUtil.notEqual(originalSysMenu.getOnlineFormId(), sysMenu.getOnlineFormId())) { + if (originalSysMenu.getOnlineFormId() == null) { + errorMessage = "数据验证失败,不能为当前菜单添加在线表单Id属性!"; + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); + } + if (sysMenu.getOnlineFormId() == null) { + errorMessage = "数据验证失败,不能去掉当前菜单的在线表单Id属性!"; + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); + } + } + if (originalSysMenu.getOnlineFormId() != null + && originalSysMenu.getMenuType().equals(SysMenuType.TYPE_BUTTON)) { + errorMessage = "数据验证失败,在线表单的内置菜单不能编辑!"; + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); + } CallResult result = sysMenuService.verifyRelatedData(sysMenu, originalSysMenu, permCodeIdListString); if (!result.isSuccess()) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); @@ -111,11 +139,20 @@ public class SysMenuController { return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); } String errorMessage; - if (sysMenuService.hasChildren(menuId)) { + SysMenu menu = sysMenuService.getById(menuId); + if (menu == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + if (menu.getOnlineFormId() != null && menu.getMenuType().equals(SysMenuType.TYPE_BUTTON)) { + errorMessage = "数据验证失败,在线表单的内置菜单不能删除!"; + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); + } + // 对于在线表单,无需进行子菜单的验证,而是在删除的时候,连同子菜单一起删除。 + if (menu.getOnlineFormId() == null && sysMenuService.hasChildren(menuId)) { errorMessage = "数据验证失败,当前菜单存在下级菜单!"; return ResponseResult.error(ErrorCodeEnum.HAS_CHILDREN_DATA, errorMessage); } - if (!sysMenuService.remove(menuId)) { + if (!sysMenuService.remove(menu)) { errorMessage = "数据操作失败,菜单不存在,请刷新后重试!"; return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); } diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermCodeController.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermCodeController.java index 7f035b28..442d8640 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermCodeController.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermCodeController.java @@ -43,10 +43,10 @@ public class SysPermCodeController { * @return 应答结果对象,包含新增权限字的主键Id。 */ @SuppressWarnings("unchecked") - @ApiOperationSupport(ignoreParameters = {"sysPermCode.permCodeId"}) + @ApiOperationSupport(ignoreParameters = {"sysPermCodeDto.permCodeId"}) @PostMapping("/add") public ResponseResult add( - @MyRequestBody("sysPermCode") SysPermCodeDto sysPermCodeDto, @MyRequestBody String permIdListString) { + @MyRequestBody SysPermCodeDto sysPermCodeDto, @MyRequestBody String permIdListString) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermCodeDto); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED); @@ -74,7 +74,7 @@ public class SysPermCodeController { @SuppressWarnings("unchecked") @PostMapping("/update") public ResponseResult update( - @MyRequestBody("sysPermCode") SysPermCodeDto sysPermCodeDto, @MyRequestBody String permIdListString) { + @MyRequestBody SysPermCodeDto sysPermCodeDto, @MyRequestBody String permIdListString) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermCodeDto, Default.class, UpdateGroup.class); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermController.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermController.java index eae56df8..f152e744 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermController.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermController.java @@ -44,9 +44,9 @@ public class SysPermController { * @param sysPermDto 新增权限资源对象。 * @return 应答结果对象,包含新增权限资源的主键Id。 */ - @ApiOperationSupport(ignoreParameters = {"sysPerm.permId"}) + @ApiOperationSupport(ignoreParameters = {"sysPermDto.permId"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody("sysPerm") SysPermDto sysPermDto) { + public ResponseResult add(@MyRequestBody SysPermDto sysPermDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermDto); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -67,7 +67,7 @@ public class SysPermController { * @return 应答结果对象,包含更新权限资源的主键Id。 */ @PostMapping("/update") - public ResponseResult update(@MyRequestBody("sysPerm") SysPermDto sysPermDto) { + public ResponseResult update(@MyRequestBody SysPermDto sysPermDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermDto, Default.class, UpdateGroup.class); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -126,17 +126,17 @@ public class SysPermController { /** * 查看权限资源列表。 * - * @param sysPermDtoFiltter 过滤对象。 + * @param sysPermDtoFilter 过滤对象。 * @param pageParam 分页参数。 * @return 应答结果对象,包含权限资源列表。 */ @PostMapping("/list") public ResponseResult> list( - @MyRequestBody("sysPermFilter") SysPermDto sysPermDtoFiltter, @MyRequestBody MyPageParam pageParam) { + @MyRequestBody SysPermDto sysPermDtoFilter, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } - SysPerm filter = MyModelUtil.copyTo(sysPermDtoFiltter, SysPerm.class); + SysPerm filter = MyModelUtil.copyTo(sysPermDtoFilter, SysPerm.class); List permList = sysPermService.getPermListWithRelation(filter); List permVoList = MyModelUtil.copyCollectionTo(permList, SysPermVo.class); long totalCount = 0L; diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermModuleController.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermModuleController.java index 6e02c034..cde3ba83 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermModuleController.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermModuleController.java @@ -45,9 +45,9 @@ public class SysPermModuleController { * @param sysPermModuleDto 新增权限资源模块对象。 * @return 应答结果对象,包含新增权限资源模块的主键Id。 */ - @ApiOperationSupport(ignoreParameters = {"sysPermModule.moduleId"}) + @ApiOperationSupport(ignoreParameters = {"sysPermModuleDto.moduleId"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody("sysPermModule") SysPermModuleDto sysPermModuleDto) { + public ResponseResult add(@MyRequestBody SysPermModuleDto sysPermModuleDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermModuleDto); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -69,7 +69,7 @@ public class SysPermModuleController { * @return 应答结果对象,包含新增权限资源模块的主键Id。 */ @PostMapping("/update") - public ResponseResult update(@MyRequestBody("sysPermModule") SysPermModuleDto sysPermModuleDto) { + public ResponseResult update(@MyRequestBody SysPermModuleDto sysPermModuleDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermModuleDto, Default.class, UpdateGroup.class); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysRoleController.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysRoleController.java index b43b2908..21f78363 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysRoleController.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysRoleController.java @@ -53,10 +53,10 @@ public class SysRoleController { * @return 应答结果对象,包含新增角色的主键Id。 */ @SuppressWarnings("unchecked") - @ApiOperationSupport(ignoreParameters = {"sysRole.roleId", "sysRole.createTimeStart", "sysRole.createTimeEnd"}) + @ApiOperationSupport(ignoreParameters = {"sysRoleDto.roleId", "sysRoleDto.createTimeStart", "sysRoleDto.createTimeEnd"}) @PostMapping("/add") public ResponseResult add( - @MyRequestBody("sysRole") SysRoleDto sysRoleDto, @MyRequestBody String menuIdListString) { + @MyRequestBody SysRoleDto sysRoleDto, @MyRequestBody String menuIdListString) { String errorMessage = MyCommonUtil.getModelValidationError(sysRoleDto); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -82,10 +82,10 @@ public class SysRoleController { * @return 应答结果对象。 */ @SuppressWarnings("unchecked") - @ApiOperationSupport(ignoreParameters = {"sysRole.createTimeStart", "sysRole.createTimeEnd"}) + @ApiOperationSupport(ignoreParameters = {"sysRoleDto.createTimeStart", "sysRoleDto.createTimeEnd"}) @PostMapping("/update") public ResponseResult update( - @MyRequestBody("sysRole") SysRoleDto sysRoleDto, @MyRequestBody String menuIdListString) { + @MyRequestBody SysRoleDto sysRoleDto, @MyRequestBody String menuIdListString) { String errorMessage = MyCommonUtil.getModelValidationError(sysRoleDto, Default.class, UpdateGroup.class); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -139,7 +139,7 @@ public class SysRoleController { */ @PostMapping("/list") public ResponseResult> list( - @MyRequestBody("sysRoleFilter") SysRoleDto sysRoleDtoFilter, + @MyRequestBody SysRoleDto sysRoleDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { @@ -188,7 +188,7 @@ public class SysRoleController { @PostMapping("/listNotInUserRole") public ResponseResult> listNotInUserRole( @MyRequestBody Long roleId, - @MyRequestBody("sysUserFilter") SysUserDto sysUserDtoFilter, + @MyRequestBody SysUserDto sysUserDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { ResponseResult verifyResult = this.doRoleUserVerify(roleId); @@ -217,7 +217,7 @@ public class SysRoleController { @PostMapping("/listUserRole") public ResponseResult> listUserRole( @MyRequestBody Long roleId, - @MyRequestBody("sysUserFilter") SysUserDto sysUserDtoFilter, + @MyRequestBody SysUserDto sysUserDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { ResponseResult verifyResult = this.doRoleUserVerify(roleId); diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysUserController.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysUserController.java index d6b3264a..9894560b 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysUserController.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysUserController.java @@ -54,12 +54,12 @@ public class SysUserController extends BaseController */ @SuppressWarnings("unchecked") @ApiOperationSupport(ignoreParameters = { - "sysUser.userId", - "sysUser.createTimeStart", - "sysUser.createTimeEnd"}) + "sysUserDto.userId", + "sysUserDto.createTimeStart", + "sysUserDto.createTimeEnd"}) @PostMapping("/add") public ResponseResult add( - @MyRequestBody("sysUser") SysUserDto sysUserDto, @MyRequestBody String roleIdListString) { + @MyRequestBody SysUserDto sysUserDto, @MyRequestBody String roleIdListString) { String errorMessage = MyCommonUtil.getModelValidationError(sysUserDto, Default.class, AddGroup.class); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -83,11 +83,11 @@ public class SysUserController extends BaseController */ @SuppressWarnings("unchecked") @ApiOperationSupport(ignoreParameters = { - "sysUser.createTimeStart", - "sysUser.createTimeEnd"}) + "sysUserDto.createTimeStart", + "sysUserDto.createTimeEnd"}) @PostMapping("/update") public ResponseResult update( - @MyRequestBody("sysUser") SysUserDto sysUserDto, @MyRequestBody String roleIdListString) { + @MyRequestBody SysUserDto sysUserDto, @MyRequestBody String roleIdListString) { String errorMessage = MyCommonUtil.getModelValidationError(sysUserDto, Default.class, UpdateGroup.class); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); @@ -161,7 +161,7 @@ public class SysUserController extends BaseController */ @PostMapping("/list") public ResponseResult> list( - @MyRequestBody("sysUserFilter") SysUserDto sysUserDtoFilter, + @MyRequestBody SysUserDto sysUserDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysMenuMapper.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysMenuMapper.java index 05442369..fcd737a7 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysMenuMapper.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysMenuMapper.java @@ -22,6 +22,16 @@ public interface SysMenuMapper extends BaseDaoMapper { */ List getMenuListByUserId(@Param("userId") Long userId); + /** + * 获取当前用户有权访问的在线表单菜单,仅返回类型为BUTTON的菜单。 + * + * @param userId 指定的用户。 + * @param menuType 菜单类型,NULL则返回全部类型。 + * @return 在线表单关联的菜单列表。 + */ + List getOnlineMenuListByUserId( + @Param("userId") Long userId, @Param("menuType") Integer menuType); + /** * 查询菜单的权限资源地址列表。同时返回详细的分配路径。 * diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/mapper/SysMenuMapper.xml b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/mapper/SysMenuMapper.xml index 5a5635ae..e312d71c 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/mapper/SysMenuMapper.xml +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/mapper/SysMenuMapper.xml @@ -7,6 +7,8 @@ + + @@ -32,6 +34,25 @@ ORDER BY m.show_order + + + +