diff --git a/orange-demo-single-service/README.md b/orange-demo-single-service/README.md index dcbb79ce..502ff830 100644 --- a/orange-demo-single-service/README.md +++ b/orange-demo-single-service/README.md @@ -1,3 +1,8 @@ +### 服务接口文档 +--- +- Knife4j + - 服务启动后,Knife4j的文档入口地址 [http://localhost:8082/doc.html#/plus](http://localhost:8082/doc.html#/plus) + ### 服务启动环境依赖 --- diff --git a/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/DeviceType.java b/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/DeviceType.java index 1dee697b..1dab32df 100644 --- a/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/DeviceType.java +++ b/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/DeviceType.java @@ -7,7 +7,7 @@ import java.util.Map; * 设备类型常量字典对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class DeviceType { diff --git a/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/ExpLevel.java b/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/ExpLevel.java index 14fd122c..acd2481f 100644 --- a/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/ExpLevel.java +++ b/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/ExpLevel.java @@ -7,7 +7,7 @@ import java.util.Map; * 经验等级常量字典对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class ExpLevel { diff --git a/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/Gender.java b/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/Gender.java index 8cb45321..fe098160 100644 --- a/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/Gender.java +++ b/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/Gender.java @@ -7,7 +7,7 @@ import java.util.Map; * 性别常量字典对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class Gender { diff --git a/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/StudentActionType.java b/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/StudentActionType.java index fbe7158c..e546ff4e 100644 --- a/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/StudentActionType.java +++ b/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/StudentActionType.java @@ -7,7 +7,7 @@ import java.util.Map; * 学生行为常量字典对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class StudentActionType { diff --git a/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/StudentStatus.java b/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/StudentStatus.java index c28a3d95..9c39f2b1 100644 --- a/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/StudentStatus.java +++ b/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/StudentStatus.java @@ -7,7 +7,7 @@ import java.util.Map; * 学生状态常量字典对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class StudentStatus { diff --git a/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/Subject.java b/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/Subject.java index faf7e73f..9bf21fb4 100644 --- a/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/Subject.java +++ b/orange-demo-single-service/application-common/src/main/java/com/orange/demo/application/common/constant/Subject.java @@ -7,7 +7,7 @@ import java.util.Map; * 学科常量字典对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class Subject { diff --git a/orange-demo-single-service/application/pom.xml b/orange-demo-single-service/application/pom.xml index 2b63c856..d363bf8c 100644 --- a/orange-demo-single-service/application/pom.xml +++ b/orange-demo-single-service/application/pom.xml @@ -30,6 +30,11 @@ application-common 1.0.0 + + com.orange.demo + common-swagger + 1.0.0 + diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/MyApplication.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/MyApplication.java index 701723b4..4914a72b 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/MyApplication.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/MyApplication.java @@ -7,7 +7,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; * 应用服务启动类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @SpringBootApplication public class MyApplication { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/AreaCodeController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/AreaCodeController.java index a88f6811..ad6990c2 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/AreaCodeController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/AreaCodeController.java @@ -1,5 +1,6 @@ package com.orange.demo.app.controller; +import io.swagger.annotations.Api; import cn.jimmyshi.beanquery.BeanQuery; import com.orange.demo.app.model.AreaCode; import com.orange.demo.app.service.AreaCodeService; @@ -17,8 +18,9 @@ import java.util.*; * 行政区划数据访问接口类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@Api(tags = "行政区划数据访问接口") @RestController @RequestMapping("/admin/app/areaCode") public class AreaCodeController { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/CourseController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/CourseController.java index 524fae22..35cb268b 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/CourseController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/CourseController.java @@ -16,8 +16,9 @@ import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.cache.SessionCacheHelper; import com.orange.demo.config.ApplicationConfig; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; -import com.alibaba.fastjson.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -30,8 +31,9 @@ import javax.validation.groups.Default; * 课程数据操作控制器类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@Api(tags = "课程数据管理接口") @Slf4j @RestController @RequestMapping("/admin/app/course") @@ -52,8 +54,16 @@ public class CourseController { * @param course 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = { + "course.courseId", + "course.priceStart", + "course.priceEnd", + "course.classHourStart", + "course.classHourEnd", + "course.createTimeStart", + "course.createTimeEnd"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody Course course) { + public ResponseResult add(@MyRequestBody Course course) { String errorMessage = MyCommonUtil.getModelValidationError(course); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); @@ -65,9 +75,7 @@ public class CourseController { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); } course = courseService.saveNew(course); - JSONObject responseData = new JSONObject(); - responseData.put("courseId", course.getCourseId()); - return ResponseResult.success(responseData); + return ResponseResult.success(course.getCourseId()); } /** @@ -76,6 +84,13 @@ public class CourseController { * @param course 更新对象。 * @return 应答结果对象。 */ + @ApiOperationSupport(ignoreParameters = { + "course.priceStart", + "course.priceEnd", + "course.classHourStart", + "course.classHourEnd", + "course.createTimeStart", + "course.createTimeEnd"}) @PostMapping("/update") public ResponseResult update(@MyRequestBody Course course) { String errorMessage = MyCommonUtil.getModelValidationError(course, Default.class, UpdateGroup.class); @@ -136,7 +151,7 @@ public class CourseController { * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/list") - public ResponseResult list( + public ResponseResult> list( @MyRequestBody Course courseFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/CourseTransStatsController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/CourseTransStatsController.java index b17a712c..f71fd0e9 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/CourseTransStatsController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/CourseTransStatsController.java @@ -7,8 +7,8 @@ import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.constant.*; import com.orange.demo.common.core.annotation.MyRequestBody; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; -import com.alibaba.fastjson.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -18,8 +18,9 @@ import java.util.*; * 课程统计操作控制器类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@Api(tags = "课程统计管理接口") @Slf4j @RestController @RequestMapping("/admin/app/courseTransStats") @@ -37,7 +38,7 @@ public class CourseTransStatsController { * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/list") - public ResponseResult list( + public ResponseResult> list( @MyRequestBody CourseTransStats courseTransStatsFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { @@ -59,7 +60,7 @@ public class CourseTransStatsController { * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/listWithGroup") - public ResponseResult listWithGroup( + public ResponseResult> listWithGroup( @MyRequestBody CourseTransStats courseTransStatsFilter, @MyRequestBody MyGroupParam groupParam, @MyRequestBody MyOrderParam orderParam, diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/GradeController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/GradeController.java index 2f3df4b6..2f51f70e 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/GradeController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/GradeController.java @@ -8,7 +8,8 @@ import com.orange.demo.common.core.object.ResponseResult; import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.common.core.validator.UpdateGroup; -import com.alibaba.fastjson.JSONObject; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -21,8 +22,9 @@ import java.util.*; * 年级操作控制器类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@Api(tags = "年级管理接口") @Slf4j @RestController @RequestMapping("/admin/app/grade") @@ -37,16 +39,15 @@ public class GradeController { * @param grade 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"grade.gradeId"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody Grade grade) { + public ResponseResult add(@MyRequestBody Grade grade) { String errorMessage = MyCommonUtil.getModelValidationError(grade); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); } grade = gradeService.saveNew(grade); - JSONObject responseData = new JSONObject(); - responseData.put("gradeId", grade.getGradeId()); - return ResponseResult.success(responseData); + return ResponseResult.success(grade.getGradeId()); } /** diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/SchoolInfoController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/SchoolInfoController.java index 153dccde..48df39e7 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/SchoolInfoController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/SchoolInfoController.java @@ -9,8 +9,9 @@ import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.constant.*; import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.common.core.validator.UpdateGroup; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; -import com.alibaba.fastjson.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -21,8 +22,9 @@ import javax.validation.groups.Default; * 校区数据操作控制器类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@Api(tags = "校区数据管理接口") @Slf4j @RestController @RequestMapping("/admin/app/schoolInfo") @@ -37,8 +39,9 @@ public class SchoolInfoController { * @param schoolInfo 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"schoolInfo.userId"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody SchoolInfo schoolInfo) { + public ResponseResult add(@MyRequestBody SchoolInfo schoolInfo) { String errorMessage = MyCommonUtil.getModelValidationError(schoolInfo); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); @@ -50,9 +53,7 @@ public class SchoolInfoController { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); } schoolInfo = schoolInfoService.saveNew(schoolInfo); - JSONObject responseData = new JSONObject(); - responseData.put("schoolId", schoolInfo.getSchoolId()); - return ResponseResult.success(responseData); + return ResponseResult.success(schoolInfo.getSchoolId()); } /** @@ -121,7 +122,7 @@ public class SchoolInfoController { * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/list") - public ResponseResult list( + public ResponseResult> list( @MyRequestBody SchoolInfo schoolInfoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentActionStatsController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentActionStatsController.java index 30d06ff3..dee3ade9 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentActionStatsController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentActionStatsController.java @@ -7,8 +7,8 @@ import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.constant.*; import com.orange.demo.common.core.annotation.MyRequestBody; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; -import com.alibaba.fastjson.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -18,8 +18,9 @@ import java.util.*; * 学生行为统计操作控制器类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@Api(tags = "学生行为统计管理接口") @Slf4j @RestController @RequestMapping("/admin/app/studentActionStats") @@ -37,7 +38,7 @@ public class StudentActionStatsController { * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/list") - public ResponseResult list( + public ResponseResult> list( @MyRequestBody StudentActionStats studentActionStatsFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { @@ -59,7 +60,7 @@ public class StudentActionStatsController { * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/listWithGroup") - public ResponseResult listWithGroup( + public ResponseResult> listWithGroup( @MyRequestBody StudentActionStats studentActionStatsFilter, @MyRequestBody MyGroupParam groupParam, @MyRequestBody MyOrderParam orderParam, diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentActionTransController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentActionTransController.java index 6032b949..0b5ec070 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentActionTransController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentActionTransController.java @@ -8,8 +8,9 @@ import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.constant.*; import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.common.core.validator.UpdateGroup; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; -import com.alibaba.fastjson.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -20,8 +21,9 @@ import javax.validation.groups.Default; * 学生行为流水操作控制器类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@Api(tags = "学生行为流水管理接口") @Slf4j @RestController @RequestMapping("/admin/app/studentActionTrans") @@ -36,8 +38,12 @@ public class StudentActionTransController { * @param studentActionTrans 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = { + "studentActionTrans.transId", + "studentActionTrans.createTimeStart", + "studentActionTrans.createTimeEnd"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody StudentActionTrans studentActionTrans) { + public ResponseResult add(@MyRequestBody StudentActionTrans studentActionTrans) { String errorMessage = MyCommonUtil.getModelValidationError(studentActionTrans); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); @@ -49,9 +55,7 @@ public class StudentActionTransController { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); } studentActionTrans = studentActionTransService.saveNew(studentActionTrans); - JSONObject responseData = new JSONObject(); - responseData.put("transId", studentActionTrans.getTransId()); - return ResponseResult.success(responseData); + return ResponseResult.success(studentActionTrans.getTransId()); } /** @@ -60,6 +64,9 @@ public class StudentActionTransController { * @param studentActionTrans 更新对象。 * @return 应答结果对象。 */ + @ApiOperationSupport(ignoreParameters = { + "studentActionTrans.createTimeStart", + "studentActionTrans.createTimeEnd"}) @PostMapping("/update") public ResponseResult update(@MyRequestBody StudentActionTrans studentActionTrans) { String errorMessage = MyCommonUtil.getModelValidationError(studentActionTrans, Default.class, UpdateGroup.class); @@ -120,7 +127,7 @@ public class StudentActionTransController { * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/list") - public ResponseResult list( + public ResponseResult> list( @MyRequestBody StudentActionTrans studentActionTransFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentClassController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentClassController.java index 37e3da00..c630169e 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentClassController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentClassController.java @@ -8,8 +8,9 @@ import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.constant.*; import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.common.core.validator.UpdateGroup; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; -import com.alibaba.fastjson.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -21,8 +22,9 @@ import java.util.stream.Collectors; * 班级数据操作控制器类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@Api(tags = "班级数据管理接口") @Slf4j @RestController @RequestMapping("/admin/app/studentClass") @@ -41,8 +43,9 @@ public class StudentClassController { * @param studentClass 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"studentClass.userId"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody StudentClass studentClass) { + public ResponseResult add(@MyRequestBody StudentClass studentClass) { String errorMessage = MyCommonUtil.getModelValidationError(studentClass); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); @@ -54,9 +57,7 @@ public class StudentClassController { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); } studentClass = studentClassService.saveNew(studentClass); - JSONObject responseData = new JSONObject(); - responseData.put("classId", studentClass.getClassId()); - return ResponseResult.success(responseData); + return ResponseResult.success(studentClass.getClassId()); } /** @@ -125,7 +126,7 @@ public class StudentClassController { * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/list") - public ResponseResult list( + public ResponseResult> list( @MyRequestBody StudentClass studentClassFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { @@ -165,7 +166,7 @@ public class StudentClassController { * @return 应答结果对象,返回符合条件的数据列表。 */ @PostMapping("/listNotInClassCourse") - public ResponseResult listNotInClassCourse( + public ResponseResult> listNotInClassCourse( @MyRequestBody Long classId, @MyRequestBody Course courseFilter, @MyRequestBody MyOrderParam orderParam, @@ -180,8 +181,7 @@ public class StudentClassController { String orderBy = MyOrderParam.buildOrderBy(orderParam, Course.class); List resultList = courseService.getNotInCourseListByClassId(classId, courseFilter, orderBy); - JSONObject responseData = MyPageUtil.makeResponseData(resultList); - return ResponseResult.success(responseData); + return ResponseResult.success(MyPageUtil.makeResponseData(resultList)); } /** @@ -194,7 +194,7 @@ public class StudentClassController { * @return 应答结果对象,返回符合条件的数据列表。 */ @PostMapping("/listClassCourse") - public ResponseResult listClassCourse( + public ResponseResult> listClassCourse( @MyRequestBody Long classId, @MyRequestBody Course courseFilter, @MyRequestBody MyOrderParam orderParam, @@ -209,8 +209,7 @@ public class StudentClassController { String orderBy = MyOrderParam.buildOrderBy(orderParam, Course.class); List resultList = courseService.getCourseListByClassId(classId, courseFilter, orderBy); - JSONObject responseData = MyPageUtil.makeResponseData(resultList); - return ResponseResult.success(responseData); + return ResponseResult.success(MyPageUtil.makeResponseData(resultList)); } private ResponseResult doClassCourseVerify(Long classId) { @@ -320,7 +319,7 @@ public class StudentClassController { * @return 应答结果对象,返回符合条件的数据列表。 */ @PostMapping("/listNotInClassStudent") - public ResponseResult listNotInClassStudent( + public ResponseResult> listNotInClassStudent( @MyRequestBody Long classId, @MyRequestBody Student studentFilter, @MyRequestBody MyOrderParam orderParam, @@ -335,8 +334,7 @@ public class StudentClassController { String orderBy = MyOrderParam.buildOrderBy(orderParam, Student.class); List resultList = studentService.getNotInStudentListByClassId(classId, studentFilter, orderBy); - JSONObject responseData = MyPageUtil.makeResponseData(resultList); - return ResponseResult.success(responseData); + return ResponseResult.success(MyPageUtil.makeResponseData(resultList)); } /** @@ -349,7 +347,7 @@ public class StudentClassController { * @return 应答结果对象,返回符合条件的数据列表。 */ @PostMapping("/listClassStudent") - public ResponseResult listClassStudent( + public ResponseResult> listClassStudent( @MyRequestBody Long classId, @MyRequestBody Student studentFilter, @MyRequestBody MyOrderParam orderParam, @@ -364,8 +362,7 @@ public class StudentClassController { String orderBy = MyOrderParam.buildOrderBy(orderParam, Student.class); List resultList = studentService.getStudentListByClassId(classId, studentFilter, orderBy); - JSONObject responseData = MyPageUtil.makeResponseData(resultList); - return ResponseResult.success(responseData); + return ResponseResult.success(MyPageUtil.makeResponseData(resultList)); } private ResponseResult doClassStudentVerify(Long classId) { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentController.java index 4dd55d16..6f533dcb 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/controller/StudentController.java @@ -9,8 +9,9 @@ import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.constant.*; import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.common.core.validator.UpdateGroup; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; -import com.alibaba.fastjson.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -21,8 +22,9 @@ import javax.validation.groups.Default; * 学生数据操作控制器类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@Api(tags = "学生数据管理接口") @Slf4j @RestController @RequestMapping("/admin/app/student") @@ -37,8 +39,15 @@ public class StudentController { * @param student 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = { + "student.studentId", + "student.searchString", + "student.birthdayStart", + "student.birthdayEnd", + "student.registerTimeStart", + "student.registerTimeEnd"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody Student student) { + public ResponseResult add(@MyRequestBody Student student) { String errorMessage = MyCommonUtil.getModelValidationError(student); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); @@ -50,9 +59,7 @@ public class StudentController { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); } student = studentService.saveNew(student); - JSONObject responseData = new JSONObject(); - responseData.put("studentId", student.getStudentId()); - return ResponseResult.success(responseData); + return ResponseResult.success(student.getStudentId()); } /** @@ -61,6 +68,12 @@ public class StudentController { * @param student 更新对象。 * @return 应答结果对象。 */ + @ApiOperationSupport(ignoreParameters = { + "student.searchString", + "student.birthdayStart", + "student.birthdayEnd", + "student.registerTimeStart", + "student.registerTimeEnd"}) @PostMapping("/update") public ResponseResult update(@MyRequestBody Student student) { String errorMessage = MyCommonUtil.getModelValidationError(student, Default.class, UpdateGroup.class); @@ -121,7 +134,7 @@ public class StudentController { * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/list") - public ResponseResult list( + public ResponseResult> list( @MyRequestBody Student studentFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/AreaCodeMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/AreaCodeMapper.java index 3d4504af..1f7bbf11 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/AreaCodeMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/AreaCodeMapper.java @@ -7,7 +7,7 @@ import com.orange.demo.app.model.AreaCode; * 行政区划数据操作访问接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface AreaCodeMapper extends BaseDaoMapper { } \ No newline at end of file diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/ClassCourseMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/ClassCourseMapper.java index ecd8cb01..95ca5b78 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/ClassCourseMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/ClassCourseMapper.java @@ -7,7 +7,7 @@ import com.orange.demo.app.model.ClassCourse; * 数据操作访问接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface ClassCourseMapper extends BaseDaoMapper { } diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/ClassStudentMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/ClassStudentMapper.java index 7b3b2486..3b465c45 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/ClassStudentMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/ClassStudentMapper.java @@ -7,7 +7,7 @@ import com.orange.demo.app.model.ClassStudent; * 数据操作访问接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface ClassStudentMapper extends BaseDaoMapper { } diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/CourseMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/CourseMapper.java index ffdcb228..3265e928 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/CourseMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/CourseMapper.java @@ -10,7 +10,7 @@ import java.util.*; * 课程数据数据操作访问接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface CourseMapper extends BaseDaoMapper { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/CourseTransStatsMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/CourseTransStatsMapper.java index 646a2f65..af1fa0cd 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/CourseTransStatsMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/CourseTransStatsMapper.java @@ -10,7 +10,7 @@ import java.util.*; * 课程统计数据操作访问接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface CourseTransStatsMapper extends BaseDaoMapper { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/GradeMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/GradeMapper.java index 9338971f..4f0011c9 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/GradeMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/GradeMapper.java @@ -7,7 +7,7 @@ import com.orange.demo.app.model.Grade; * 年级数据操作访问接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface GradeMapper extends BaseDaoMapper { } diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/MaterialEditionMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/MaterialEditionMapper.java index 24accc94..2e9690e4 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/MaterialEditionMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/MaterialEditionMapper.java @@ -7,7 +7,7 @@ import com.orange.demo.app.model.MaterialEdition; * 数据操作访问接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface MaterialEditionMapper extends BaseDaoMapper { } diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/SchoolInfoMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/SchoolInfoMapper.java index 66271e6a..85a64e6c 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/SchoolInfoMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/SchoolInfoMapper.java @@ -10,7 +10,7 @@ import java.util.*; * 校区数据数据操作访问接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface SchoolInfoMapper extends BaseDaoMapper { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentActionStatsMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentActionStatsMapper.java index b496342a..aadc4d19 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentActionStatsMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentActionStatsMapper.java @@ -10,7 +10,7 @@ import java.util.*; * 学生行为统计数据操作访问接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface StudentActionStatsMapper extends BaseDaoMapper { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentActionTransMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentActionTransMapper.java index 809e2022..dd0835b7 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentActionTransMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentActionTransMapper.java @@ -10,7 +10,7 @@ import java.util.*; * 学生行为流水数据操作访问接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface StudentActionTransMapper extends BaseDaoMapper { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentClassMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentClassMapper.java index aadfc3d3..6fe5a118 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentClassMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentClassMapper.java @@ -10,7 +10,7 @@ import java.util.*; * 班级数据数据操作访问接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface StudentClassMapper extends BaseDaoMapper { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentMapper.java index 0aa7ebf3..ed0d8d90 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/StudentMapper.java @@ -10,7 +10,7 @@ import java.util.*; * 学生数据数据操作访问接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface StudentMapper extends BaseDaoMapper { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/CourseMapper.xml b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/CourseMapper.xml index b91f8cc5..6140b090 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/CourseMapper.xml +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/CourseMapper.xml @@ -62,7 +62,7 @@ - + ORDER BY ${orderBy} @@ -79,7 +79,7 @@ AND zz_class_course.course_id = zz_course.course_id - + ORDER BY ${orderBy} @@ -94,7 +94,7 @@ WHERE zz_class_course.class_id = #{classId} AND zz_class_course.course_id = zz_course.course_id) - + ORDER BY ${orderBy} diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/CourseTransStatsMapper.xml b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/CourseTransStatsMapper.xml index cc20e41f..6eab763b 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/CourseTransStatsMapper.xml +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/CourseTransStatsMapper.xml @@ -43,7 +43,7 @@ GROUP BY ${groupBy}) zz_course_trans_stats - + ORDER BY ${orderBy} @@ -53,7 +53,7 @@ - + ORDER BY ${orderBy} diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/SchoolInfoMapper.xml b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/SchoolInfoMapper.xml index a7db22d2..dd4c78aa 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/SchoolInfoMapper.xml +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/SchoolInfoMapper.xml @@ -28,7 +28,7 @@ - + ORDER BY ${orderBy} diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentActionStatsMapper.xml b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentActionStatsMapper.xml index fdd1e8e9..e8e943c1 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentActionStatsMapper.xml +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentActionStatsMapper.xml @@ -69,7 +69,7 @@ GROUP BY ${groupBy}) zz_student_action_stats - + ORDER BY ${orderBy} @@ -79,7 +79,7 @@ - + ORDER BY ${orderBy} diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentActionTransMapper.xml b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentActionTransMapper.xml index 4375e6d3..55a8ac0c 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentActionTransMapper.xml +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentActionTransMapper.xml @@ -50,7 +50,7 @@ - + ORDER BY ${orderBy} diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentClassMapper.xml b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentClassMapper.xml index a32e79b0..4d1372d4 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentClassMapper.xml +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentClassMapper.xml @@ -33,7 +33,7 @@ - + ORDER BY ${orderBy} diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentMapper.xml b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentMapper.xml index 81ee2f42..4fbee847 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentMapper.xml +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/dao/mapper/StudentMapper.xml @@ -63,7 +63,7 @@ - + ORDER BY ${orderBy} @@ -79,7 +79,7 @@ AND zz_class_student.student_id = zz_student.student_id - + ORDER BY ${orderBy} @@ -94,7 +94,7 @@ WHERE zz_class_student.class_id = #{classId} AND zz_class_student.student_id = zz_student.student_id) - + ORDER BY ${orderBy} diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/AreaCode.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/AreaCode.java index 68a5635e..44642e8c 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/AreaCode.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/AreaCode.java @@ -1,5 +1,7 @@ package com.orange.demo.app.model; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; @@ -8,8 +10,9 @@ import javax.persistence.*; * 行政区划实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("行政区划实体对象") @Data @Table(name = "zz_area_code") public class AreaCode { @@ -17,6 +20,7 @@ public class AreaCode { /** * 行政区划主键Id */ + @ApiModelProperty(value = "行政区划主键Id", required = true) @Id @Column(name = "area_id") private Long areaId; @@ -24,18 +28,21 @@ public class AreaCode { /** * 行政区划名称 */ + @ApiModelProperty(value = "行政区划名称") @Column(name = "area_name") private String areaName; /** * 行政区划级别 (1: 省级别 2: 市级别 3: 区级别) */ + @ApiModelProperty(value = "行政区划级别") @Column(name = "area_level") private Integer areaLevel; /** * 父级行政区划Id */ + @ApiModelProperty(value = "父级行政区划Id") @Column(name = "parent_id") private Long parentId; } \ No newline at end of file diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/ClassCourse.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/ClassCourse.java index 3c1b6f7f..6ff4c756 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/ClassCourse.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/ClassCourse.java @@ -1,6 +1,8 @@ package com.orange.demo.app.model; import com.orange.demo.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; import javax.validation.constraints.*; @@ -9,8 +11,9 @@ import javax.validation.constraints.*; * ClassCourse实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("ClassCourse实体对象") @Data @Table(name = "zz_class_course") public class ClassCourse { @@ -18,6 +21,7 @@ public class ClassCourse { /** * 班级Id。 */ + @ApiModelProperty(value = "班级Id", required = true) @NotNull(message = "数据验证失败,班级Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "class_id") @@ -26,6 +30,7 @@ public class ClassCourse { /** * 课程Id。 */ + @ApiModelProperty(value = "课程Id", required = true) @NotNull(message = "数据验证失败,课程Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "course_id") @@ -34,6 +39,7 @@ public class ClassCourse { /** * 课程顺序(数值越小越靠前)。 */ + @ApiModelProperty(value = "课程顺序(数值越小越靠前)", required = true) @NotNull(message = "数据验证失败,课程顺序(数值越小越靠前)不能为空!", groups = {UpdateGroup.class}) @Column(name = "course_order") private Integer courseOrder; diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/ClassStudent.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/ClassStudent.java index ec2b3aa1..6dee539d 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/ClassStudent.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/ClassStudent.java @@ -1,6 +1,8 @@ package com.orange.demo.app.model; import com.orange.demo.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; import javax.validation.constraints.*; @@ -9,8 +11,9 @@ import javax.validation.constraints.*; * ClassStudent实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("ClassStudent实体对象") @Data @Table(name = "zz_class_student") public class ClassStudent { @@ -18,6 +21,7 @@ public class ClassStudent { /** * 班级Id。 */ + @ApiModelProperty(value = "班级Id", required = true) @NotNull(message = "数据验证失败,班级Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "class_id") @@ -26,6 +30,7 @@ public class ClassStudent { /** * 学生Id。 */ + @ApiModelProperty(value = "学生Id", required = true) @NotNull(message = "数据验证失败,学生Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "student_id") diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/Course.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/Course.java index 756058cf..28c0a53e 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/Course.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/Course.java @@ -8,6 +8,8 @@ import com.orange.demo.common.core.annotation.RelationDict; import com.orange.demo.common.core.annotation.RelationConstDict; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.validator.ConstDictRef; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; import javax.validation.constraints.*; @@ -20,8 +22,9 @@ import java.util.Map; * Course实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("Course实体对象") @Data @Table(name = "zz_course") public class Course { @@ -29,6 +32,7 @@ public class Course { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id", required = true) @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "course_id") @@ -37,6 +41,7 @@ public class Course { /** * 课程名称。 */ + @ApiModelProperty(value = "课程名称", required = true) @NotBlank(message = "数据验证失败,课程名称不能为空!") @Column(name = "course_name") private String courseName; @@ -44,17 +49,20 @@ public class Course { /** * 课程价格。 */ + @ApiModelProperty(value = "课程价格", required = true) @NotNull(message = "数据验证失败,课程价格不能为空!") private BigDecimal price; /** * 课程描述。 */ + @ApiModelProperty(value = "课程描述") private String description; /** * 课程难度(0: 容易 1: 普通 2: 很难)。 */ + @ApiModelProperty(value = "课程难度(0: 容易 1: 普通 2: 很难)", required = true) @NotNull(message = "数据验证失败,课程难度不能为空!") @ConstDictRef(constDictClass = CourseDifficult.class, message = "数据验证失败,课程难度为无效值!") private Integer difficulty; @@ -62,6 +70,7 @@ public class Course { /** * 年级Id。 */ + @ApiModelProperty(value = "年级Id", required = true) @NotNull(message = "数据验证失败,所属年级不能为空!") @Column(name = "grade_id") private Integer gradeId; @@ -69,6 +78,7 @@ public class Course { /** * 学科Id。 */ + @ApiModelProperty(value = "学科Id", required = true) @NotNull(message = "数据验证失败,所属学科不能为空!") @ConstDictRef(constDictClass = Subject.class, message = "数据验证失败,所属学科为无效值!") @Column(name = "subject_id") @@ -77,6 +87,7 @@ public class Course { /** * 课时数量。 */ + @ApiModelProperty(value = "课时数量", required = true) @NotNull(message = "数据验证失败,课时数量不能为空!") @Column(name = "class_hour") private Integer classHour; @@ -84,6 +95,7 @@ public class Course { /** * 多张课程图片地址。 */ + @ApiModelProperty(value = "多张课程图片地址", required = true) @UploadFlagColumn(storeType = UploadStoreTypeEnum.LOCAL_SYSTEM) @NotBlank(message = "数据验证失败,课程图片不能为空!") @Column(name = "picture_url") @@ -92,63 +104,74 @@ public class Course { /** * 创建用户Id。 */ + @ApiModelProperty(value = "创建用户Id") @Column(name = "create_user_id") private Long createUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") @Column(name = "create_time") private Date createTime; /** * 最后修改时间。 */ + @ApiModelProperty(value = "最后修改时间") @Column(name = "update_time") private Date updateTime; /** * price 范围过滤起始值(>=)。 */ + @ApiModelProperty(value = "price 范围过滤起始值(>=)") @Transient private BigDecimal priceStart; /** * price 范围过滤结束值(<=)。 */ + @ApiModelProperty(value = "price 范围过滤结束值(<=)") @Transient private BigDecimal priceEnd; /** * classHour 范围过滤起始值(>=)。 */ + @ApiModelProperty(value = "classHour 范围过滤起始值(>=)") @Transient private Integer classHourStart; /** * classHour 范围过滤结束值(<=)。 */ + @ApiModelProperty(value = "classHour 范围过滤结束值(<=)") @Transient private Integer classHourEnd; /** * createTime 范围过滤起始值(>=)。 */ + @ApiModelProperty(value = "createTime 范围过滤起始值(>=)") @Transient private String createTimeStart; /** * createTime 范围过滤结束值(<=)。 */ + @ApiModelProperty(value = "createTime 范围过滤结束值(<=)") @Transient private String createTimeEnd; /** * courseId 的多对多关联表数据对象。 */ + @ApiModelProperty(hidden = true) @Transient private ClassCourse classCourse; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "gradeId", slaveServiceName = "gradeService", @@ -158,12 +181,14 @@ public class Course { @Transient private Map gradeIdDictMap; + @ApiModelProperty(hidden = true) @RelationConstDict( masterIdField = "difficulty", constantDictClass = CourseDifficult.class) @Transient private Map difficultyDictMap; + @ApiModelProperty(hidden = true) @RelationConstDict( masterIdField = "subjectId", constantDictClass = Subject.class) diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/CourseTransStats.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/CourseTransStats.java index bf3c6e9c..1577c58f 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/CourseTransStats.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/CourseTransStats.java @@ -5,6 +5,8 @@ import com.orange.demo.common.core.annotation.RelationDict; import com.orange.demo.common.core.annotation.RelationConstDict; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.validator.ConstDictRef; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; import javax.validation.constraints.*; @@ -16,8 +18,9 @@ import java.util.Map; * CourseTransStats实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("CourseTransStats实体对象") @Data @Table(name = "zz_course_trans_stats") public class CourseTransStats { @@ -25,6 +28,7 @@ public class CourseTransStats { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id", required = true) @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -34,6 +38,7 @@ public class CourseTransStats { /** * 统计日期。 */ + @ApiModelProperty(value = "统计日期", required = true) @NotNull(message = "数据验证失败,统计日期不能为空!") @Column(name = "stats_date") private Date statsDate; @@ -41,6 +46,7 @@ public class CourseTransStats { /** * 科目Id。 */ + @ApiModelProperty(value = "科目Id", required = true) @NotNull(message = "数据验证失败,所属科目不能为空!") @ConstDictRef(constDictClass = Subject.class, message = "数据验证失败,所属科目为无效值!") @Column(name = "subject_id") @@ -49,6 +55,7 @@ public class CourseTransStats { /** * 年级Id。 */ + @ApiModelProperty(value = "年级Id", required = true) @NotNull(message = "数据验证失败,所属年级不能为空!") @Column(name = "grade_id") private Integer gradeId; @@ -56,12 +63,14 @@ public class CourseTransStats { /** * 年级名称。 */ + @ApiModelProperty(value = "年级名称") @Column(name = "grade_name") private String gradeName; /** * 课程Id。 */ + @ApiModelProperty(value = "课程Id", required = true) @NotNull(message = "数据验证失败,课程Id不能为空!") @Column(name = "course_id") private Long courseId; @@ -69,12 +78,14 @@ public class CourseTransStats { /** * 课程名称。 */ + @ApiModelProperty(value = "课程名称") @Column(name = "course_name") private String courseName; /** * 学生上课次数。 */ + @ApiModelProperty(value = "学生上课次数", required = true) @NotNull(message = "数据验证失败,上课次数不能为空!") @Column(name = "student_attend_count") private Integer studentAttendCount; @@ -82,6 +93,7 @@ public class CourseTransStats { /** * 学生献花数量。 */ + @ApiModelProperty(value = "学生献花数量", required = true) @NotNull(message = "数据验证失败,献花数量不能为空!") @Column(name = "student_flower_amount") private Integer studentFlowerAmount; @@ -89,6 +101,7 @@ public class CourseTransStats { /** * 学生献花次数。 */ + @ApiModelProperty(value = "学生献花次数", required = true) @NotNull(message = "数据验证失败,献花次数不能为空!") @Column(name = "student_flower_count") private Integer studentFlowerCount; @@ -96,15 +109,18 @@ public class CourseTransStats { /** * statsDate 范围过滤起始值(>=)。 */ + @ApiModelProperty(value = "statsDate 范围过滤起始值(>=)") @Transient private String statsDateStart; /** * statsDate 范围过滤结束值(<=)。 */ + @ApiModelProperty(value = "statsDate 范围过滤结束值(<=)") @Transient private String statsDateEnd; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "gradeId", slaveServiceName = "gradeService", @@ -114,6 +130,7 @@ public class CourseTransStats { @Transient private Map gradeIdDictMap; + @ApiModelProperty(hidden = true) @RelationConstDict( masterIdField = "subjectId", constantDictClass = Subject.class) diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/Grade.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/Grade.java index 97743d45..0d0a4859 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/Grade.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/Grade.java @@ -3,6 +3,8 @@ package com.orange.demo.app.model; import com.alibaba.fastjson.annotation.JSONField; import com.orange.demo.common.core.annotation.DeletedFlagColumn; import com.orange.demo.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; import javax.validation.constraints.*; @@ -11,8 +13,9 @@ import javax.validation.constraints.*; * Grade实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("Grade实体对象") @Data @Table(name = "zz_grade") public class Grade { @@ -20,6 +23,7 @@ public class Grade { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id", required = true) @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -29,6 +33,7 @@ public class Grade { /** * 年级名称。 */ + @ApiModelProperty(value = "年级名称", required = true) @NotBlank(message = "数据验证失败,年级名称不能为空!") @Column(name = "grade_name") private String gradeName; @@ -36,6 +41,7 @@ public class Grade { /** * 逻辑删除标记字段(1: 正常 -1: 已删除)。 */ + @ApiModelProperty(hidden = true) @JSONField(serialize = false) @DeletedFlagColumn private Integer status; diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/MaterialEdition.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/MaterialEdition.java index 332f91ac..59fe5b28 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/MaterialEdition.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/MaterialEdition.java @@ -1,6 +1,8 @@ package com.orange.demo.app.model; import com.orange.demo.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; import javax.validation.constraints.*; @@ -9,8 +11,9 @@ import javax.validation.constraints.*; * MaterialEdition实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("MaterialEdition实体对象") @Data @Table(name = "zz_material_edition") public class MaterialEdition { @@ -18,6 +21,7 @@ public class MaterialEdition { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id", required = true) @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -27,6 +31,7 @@ public class MaterialEdition { /** * 教材版本名称。 */ + @ApiModelProperty(value = "教材版本名称", required = true) @NotBlank(message = "数据验证失败,教材版本名称不能为空!") @Column(name = "edition_name") private String editionName; @@ -34,6 +39,7 @@ public class MaterialEdition { /** * 是否正在使用(0:不是,1:是)。 */ + @ApiModelProperty(value = "是否正在使用(0:不是,1:是)", required = true) @NotNull(message = "数据验证失败,是否正在使用(0:不是,1:是)不能为空!") private Integer status; } diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/SchoolInfo.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/SchoolInfo.java index c6958a78..806dbe06 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/SchoolInfo.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/SchoolInfo.java @@ -2,6 +2,8 @@ package com.orange.demo.app.model; import com.orange.demo.common.core.annotation.RelationDict; import com.orange.demo.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; import javax.validation.constraints.*; @@ -12,8 +14,9 @@ import java.util.Map; * SchoolInfo实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("SchoolInfo实体对象") @Data @Table(name = "zz_school_info") public class SchoolInfo { @@ -21,6 +24,7 @@ public class SchoolInfo { /** * 学校Id。 */ + @ApiModelProperty(value = "学校Id", required = true) @NotNull(message = "数据验证失败,学校Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "school_id") @@ -29,6 +33,7 @@ public class SchoolInfo { /** * 学校名称。 */ + @ApiModelProperty(value = "学校名称", required = true) @NotBlank(message = "数据验证失败,学校名称不能为空!") @Column(name = "school_name") private String schoolName; @@ -36,6 +41,7 @@ public class SchoolInfo { /** * 所在省Id。 */ + @ApiModelProperty(value = "所在省Id", required = true) @NotNull(message = "数据验证失败,所在省份不能为空!") @Column(name = "province_id") private Long provinceId; @@ -43,10 +49,12 @@ public class SchoolInfo { /** * 所在城市Id。 */ + @ApiModelProperty(value = "所在城市Id", required = true) @NotNull(message = "数据验证失败,所在城市不能为空!") @Column(name = "city_id") private Long cityId; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "provinceId", slaveServiceName = "areaCodeService", @@ -56,6 +64,7 @@ public class SchoolInfo { @Transient private Map provinceIdDictMap; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "cityId", slaveServiceName = "areaCodeService", diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/Student.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/Student.java index c51053eb..3e7bbba5 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/Student.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/Student.java @@ -7,6 +7,8 @@ import com.orange.demo.common.core.annotation.RelationDict; import com.orange.demo.common.core.annotation.RelationConstDict; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.validator.ConstDictRef; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; import javax.validation.constraints.*; @@ -18,8 +20,9 @@ import java.util.Map; * Student实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("Student实体对象") @Data @Table(name = "zz_student") public class Student { @@ -27,6 +30,7 @@ public class Student { /** * 学生Id。 */ + @ApiModelProperty(value = "学生Id", required = true) @NotNull(message = "数据验证失败,学生Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "student_id") @@ -35,6 +39,7 @@ public class Student { /** * 登录手机。 */ + @ApiModelProperty(value = "登录手机", required = true) @NotBlank(message = "数据验证失败,手机号码不能为空!") @Column(name = "login_mobile") private String loginMobile; @@ -42,6 +47,7 @@ public class Student { /** * 学生姓名。 */ + @ApiModelProperty(value = "学生姓名", required = true) @NotBlank(message = "数据验证失败,学生姓名不能为空!") @Column(name = "student_name") private String studentName; @@ -49,6 +55,7 @@ public class Student { /** * 所在省份Id。 */ + @ApiModelProperty(value = "所在省份Id", required = true) @NotNull(message = "数据验证失败,所在省份不能为空!") @Column(name = "province_id") private Long provinceId; @@ -56,6 +63,7 @@ public class Student { /** * 所在城市Id。 */ + @ApiModelProperty(value = "所在城市Id", required = true) @NotNull(message = "数据验证失败,所在城市不能为空!") @Column(name = "city_id") private Long cityId; @@ -63,6 +71,7 @@ public class Student { /** * 区县Id。 */ + @ApiModelProperty(value = "区县Id", required = true) @NotNull(message = "数据验证失败,所在区县不能为空!") @Column(name = "district_id") private Long districtId; @@ -70,6 +79,7 @@ public class Student { /** * 学生性别 (0: 女生 1: 男生)。 */ + @ApiModelProperty(value = "学生性别 (0: 女生 1: 男生)", required = true) @NotNull(message = "数据验证失败,学生性别不能为空!") @ConstDictRef(constDictClass = Gender.class, message = "数据验证失败,学生性别为无效值!") private Integer gender; @@ -77,12 +87,14 @@ public class Student { /** * 生日。 */ + @ApiModelProperty(value = "生日", required = true) @NotNull(message = "数据验证失败,出生日期不能为空!") private Date birthday; /** * 经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)。 */ + @ApiModelProperty(value = "经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)", required = true) @NotNull(message = "数据验证失败,经验等级不能为空!") @ConstDictRef(constDictClass = ExpLevel.class, message = "数据验证失败,经验等级为无效值!") @Column(name = "experience_level") @@ -91,6 +103,7 @@ public class Student { /** * 总共充值学币数量。 */ + @ApiModelProperty(value = "总共充值学币数量", required = true) @NotNull(message = "数据验证失败,充值学币不能为空!", groups = {UpdateGroup.class}) @Column(name = "total_coin") private Integer totalCoin; @@ -98,6 +111,7 @@ public class Student { /** * 可用学币数量。 */ + @ApiModelProperty(value = "可用学币数量", required = true) @NotNull(message = "数据验证失败,剩余学币不能为空!", groups = {UpdateGroup.class}) @Column(name = "left_coin") private Integer leftCoin; @@ -105,6 +119,7 @@ public class Student { /** * 年级Id。 */ + @ApiModelProperty(value = "年级Id", required = true) @NotNull(message = "数据验证失败,年级不能为空!") @Column(name = "grade_id") private Integer gradeId; @@ -112,6 +127,7 @@ public class Student { /** * 校区Id。 */ + @ApiModelProperty(value = "校区Id", required = true) @NotNull(message = "数据验证失败,所属校区不能为空!") @Column(name = "school_id") private Long schoolId; @@ -119,12 +135,14 @@ public class Student { /** * 注册时间。 */ + @ApiModelProperty(value = "注册时间") @Column(name = "register_time") private Date registerTime; /** * 学生状态 (0: 正常 1: 锁定 2: 注销)。 */ + @ApiModelProperty(value = "学生状态 (0: 正常 1: 锁定 2: 注销)", required = true) @NotNull(message = "数据验证失败,学生状态不能为空!", groups = {UpdateGroup.class}) @ConstDictRef(constDictClass = StudentStatus.class, message = "数据验证失败,学生状态为无效值!") private Integer status; @@ -132,33 +150,39 @@ public class Student { /** * birthday 范围过滤起始值(>=)。 */ + @ApiModelProperty(value = "birthday 范围过滤起始值(>=)") @Transient private String birthdayStart; /** * birthday 范围过滤结束值(<=)。 */ + @ApiModelProperty(value = "birthday 范围过滤结束值(<=)") @Transient private String birthdayEnd; /** * registerTime 范围过滤起始值(>=)。 */ + @ApiModelProperty(value = "registerTime 范围过滤起始值(>=)") @Transient private String registerTimeStart; /** * registerTime 范围过滤结束值(<=)。 */ + @ApiModelProperty(value = "registerTime 范围过滤结束值(<=)") @Transient private String registerTimeEnd; /** * login_mobile / student_name LIKE搜索字符串。 */ + @ApiModelProperty(value = "LIKE模糊搜索字符串") @Transient private String searchString; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "provinceId", slaveServiceName = "areaCodeService", @@ -168,6 +192,7 @@ public class Student { @Transient private Map provinceIdDictMap; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "cityId", slaveServiceName = "areaCodeService", @@ -177,6 +202,7 @@ public class Student { @Transient private Map cityIdDictMap; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "districtId", slaveServiceName = "areaCodeService", @@ -186,6 +212,7 @@ public class Student { @Transient private Map districtIdDictMap; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "gradeId", slaveServiceName = "gradeService", @@ -195,6 +222,7 @@ public class Student { @Transient private Map gradeIdDictMap; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "schoolId", slaveServiceName = "schoolInfoService", @@ -204,18 +232,21 @@ public class Student { @Transient private Map schoolIdDictMap; + @ApiModelProperty(hidden = true) @RelationConstDict( masterIdField = "gender", constantDictClass = Gender.class) @Transient private Map genderDictMap; + @ApiModelProperty(hidden = true) @RelationConstDict( masterIdField = "experienceLevel", constantDictClass = ExpLevel.class) @Transient private Map experienceLevelDictMap; + @ApiModelProperty(hidden = true) @RelationConstDict( masterIdField = "status", constantDictClass = StudentStatus.class) diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/StudentActionStats.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/StudentActionStats.java index 0b64ac41..32baafbf 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/StudentActionStats.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/StudentActionStats.java @@ -2,6 +2,8 @@ package com.orange.demo.app.model; import com.orange.demo.common.core.annotation.RelationDict; import com.orange.demo.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; import javax.validation.constraints.*; @@ -13,8 +15,9 @@ import java.util.Map; * StudentActionStats实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("StudentActionStats实体对象") @Data @Table(name = "zz_student_action_stats") public class StudentActionStats { @@ -22,6 +25,7 @@ public class StudentActionStats { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id", required = true) @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "stats_id") @@ -30,6 +34,7 @@ public class StudentActionStats { /** * 统计日期。 */ + @ApiModelProperty(value = "统计日期", required = true) @NotNull(message = "数据验证失败,统计日期不能为空!") @Column(name = "stats_date") private Date statsDate; @@ -37,12 +42,14 @@ public class StudentActionStats { /** * 统计小时。 */ + @ApiModelProperty(value = "统计小时") @Column(name = "stats_month") private Date statsMonth; /** * 年级Id。 */ + @ApiModelProperty(value = "年级Id", required = true) @NotNull(message = "数据验证失败,所属年级不能为空!") @Column(name = "grade_id") private Integer gradeId; @@ -50,6 +57,7 @@ public class StudentActionStats { /** * 学生所在省Id。 */ + @ApiModelProperty(value = "学生所在省Id", required = true) @NotNull(message = "数据验证失败,所在省份不能为空!") @Column(name = "province_id") private Long provinceId; @@ -57,6 +65,7 @@ public class StudentActionStats { /** * 学生所在城市Id。 */ + @ApiModelProperty(value = "学生所在城市Id", required = true) @NotNull(message = "数据验证失败,所在城市不能为空!", groups = {UpdateGroup.class}) @Column(name = "city_id") private Long cityId; @@ -64,6 +73,7 @@ public class StudentActionStats { /** * 购课学币数量。 */ + @ApiModelProperty(value = "购课学币数量", required = true) @NotNull(message = "数据验证失败,购课学币数量不能为空!", groups = {UpdateGroup.class}) @Column(name = "buy_course_amount") private Integer buyCourseAmount; @@ -71,6 +81,7 @@ public class StudentActionStats { /** * 购买课程次数。 */ + @ApiModelProperty(value = "购买课程次数", required = true) @NotNull(message = "数据验证失败,购买课程次数不能为空!", groups = {UpdateGroup.class}) @Column(name = "buy_course_count") private Integer buyCourseCount; @@ -78,6 +89,7 @@ public class StudentActionStats { /** * 购买视频学币数量。 */ + @ApiModelProperty(value = "购买视频学币数量", required = true) @NotNull(message = "数据验证失败,购买视频学币数量不能为空!", groups = {UpdateGroup.class}) @Column(name = "buy_video_amount") private Integer buyVideoAmount; @@ -85,6 +97,7 @@ public class StudentActionStats { /** * 购买视频次数。 */ + @ApiModelProperty(value = "购买视频次数", required = true) @NotNull(message = "数据验证失败,购买视频次数不能为空!", groups = {UpdateGroup.class}) @Column(name = "buy_video_count") private Integer buyVideoCount; @@ -92,6 +105,7 @@ public class StudentActionStats { /** * 购买作业学币数量。 */ + @ApiModelProperty(value = "购买作业学币数量", required = true) @NotNull(message = "数据验证失败,购买作业学币数量不能为空!", groups = {UpdateGroup.class}) @Column(name = "buy_paper_amount") private Integer buyPaperAmount; @@ -99,6 +113,7 @@ public class StudentActionStats { /** * 购买作业次数。 */ + @ApiModelProperty(value = "购买作业次数", required = true) @NotNull(message = "数据验证失败,购买作业次数不能为空!", groups = {UpdateGroup.class}) @Column(name = "buy_paper_count") private Integer buyPaperCount; @@ -106,6 +121,7 @@ public class StudentActionStats { /** * 购买献花数量。 */ + @ApiModelProperty(value = "购买献花数量", required = true) @NotNull(message = "数据验证失败,购买献花数量不能为空!", groups = {UpdateGroup.class}) @Column(name = "buy_flower_amount") private Integer buyFlowerAmount; @@ -113,6 +129,7 @@ public class StudentActionStats { /** * 购买献花次数。 */ + @ApiModelProperty(value = "购买献花次数", required = true) @NotNull(message = "数据验证失败,购买献花次数不能为空!", groups = {UpdateGroup.class}) @Column(name = "buy_flower_count") private Integer buyFlowerCount; @@ -120,6 +137,7 @@ public class StudentActionStats { /** * 充值学币数量。 */ + @ApiModelProperty(value = "充值学币数量", required = true) @NotNull(message = "数据验证失败,充值学币数量不能为空!", groups = {UpdateGroup.class}) @Column(name = "recharge_coin_amount") private Integer rechargeCoinAmount; @@ -127,6 +145,7 @@ public class StudentActionStats { /** * 充值学币次数。 */ + @ApiModelProperty(value = "充值学币次数", required = true) @NotNull(message = "数据验证失败,充值学币次数不能为空!", groups = {UpdateGroup.class}) @Column(name = "recharge_coin_count") private Integer rechargeCoinCount; @@ -134,6 +153,7 @@ public class StudentActionStats { /** * 线下课程上课次数。 */ + @ApiModelProperty(value = "线下课程上课次数", required = true) @NotNull(message = "数据验证失败,线下课程上课次数不能为空!") @Column(name = "do_course_count") private Integer doCourseCount; @@ -141,6 +161,7 @@ public class StudentActionStats { /** * 观看视频次数。 */ + @ApiModelProperty(value = "观看视频次数", required = true) @NotNull(message = "数据验证失败,观看视频次数不能为空!", groups = {UpdateGroup.class}) @Column(name = "watch_video_count") private Integer watchVideoCount; @@ -148,6 +169,7 @@ public class StudentActionStats { /** * 购买献花消费学币数量。 */ + @ApiModelProperty(value = "购买献花消费学币数量", required = true) @NotNull(message = "数据验证失败,购买献花消费学币数量不能为空!") @Column(name = "watch_video_total_second") private Integer watchVideoTotalSecond; @@ -155,6 +177,7 @@ public class StudentActionStats { /** * 做题数量。 */ + @ApiModelProperty(value = "做题数量", required = true) @NotNull(message = "数据验证失败,做题数量不能为空!", groups = {UpdateGroup.class}) @Column(name = "do_exercise_count") private Integer doExerciseCount; @@ -162,6 +185,7 @@ public class StudentActionStats { /** * 做题正确的数量。 */ + @ApiModelProperty(value = "做题正确的数量", required = true) @NotNull(message = "数据验证失败,做题正确的数量不能为空!", groups = {UpdateGroup.class}) @Column(name = "do_exercise_correct_count") private Integer doExerciseCorrectCount; @@ -169,15 +193,18 @@ public class StudentActionStats { /** * statsDate 范围过滤起始值(>=)。 */ + @ApiModelProperty(value = "statsDate 范围过滤起始值(>=)") @Transient private String statsDateStart; /** * statsDate 范围过滤结束值(<=)。 */ + @ApiModelProperty(value = "statsDate 范围过滤结束值(<=)") @Transient private String statsDateEnd; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "gradeId", slaveServiceName = "gradeService", @@ -187,6 +214,7 @@ public class StudentActionStats { @Transient private Map gradeIdDictMap; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "provinceId", slaveServiceName = "areaCodeService", @@ -196,6 +224,7 @@ public class StudentActionStats { @Transient private Map provinceIdDictMap; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "cityId", slaveServiceName = "areaCodeService", diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/StudentActionTrans.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/StudentActionTrans.java index 4eca9d67..dff3cd0b 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/StudentActionTrans.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/StudentActionTrans.java @@ -6,6 +6,8 @@ import com.orange.demo.common.core.annotation.RelationDict; import com.orange.demo.common.core.annotation.RelationConstDict; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.validator.ConstDictRef; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; import javax.validation.constraints.*; @@ -17,8 +19,9 @@ import java.util.Map; * StudentActionTrans实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("StudentActionTrans实体对象") @Data @Table(name = "zz_student_action_trans") public class StudentActionTrans { @@ -26,6 +29,7 @@ public class StudentActionTrans { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id", required = true) @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "trans_id") @@ -34,6 +38,7 @@ public class StudentActionTrans { /** * 学生Id。 */ + @ApiModelProperty(value = "学生Id", required = true) @NotNull(message = "数据验证失败,学生Id不能为空!") @Column(name = "student_id") private Long studentId; @@ -41,6 +46,7 @@ public class StudentActionTrans { /** * 学生名称。 */ + @ApiModelProperty(value = "学生名称", required = true) @NotBlank(message = "数据验证失败,学生名称不能为空!") @Column(name = "student_name") private String studentName; @@ -48,6 +54,7 @@ public class StudentActionTrans { /** * 学生校区。 */ + @ApiModelProperty(value = "学生校区", required = true) @NotNull(message = "数据验证失败,学生校区不能为空!") @Column(name = "school_id") private Long schoolId; @@ -55,6 +62,7 @@ public class StudentActionTrans { /** * 年级Id。 */ + @ApiModelProperty(value = "年级Id", required = true) @NotNull(message = "数据验证失败,学生年级不能为空!") @Column(name = "grade_id") private Integer gradeId; @@ -62,6 +70,7 @@ public class StudentActionTrans { /** * 行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)。 */ + @ApiModelProperty(value = "行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)", required = true) @NotNull(message = "数据验证失败,行为类型不能为空!") @ConstDictRef(constDictClass = StudentActionType.class, message = "数据验证失败,行为类型为无效值!") @Column(name = "action_type") @@ -70,6 +79,7 @@ public class StudentActionTrans { /** * 设备类型(0: iOS 1: Android 2: PC)。 */ + @ApiModelProperty(value = "设备类型(0: iOS 1: Android 2: PC)", required = true) @NotNull(message = "数据验证失败,设备类型不能为空!") @ConstDictRef(constDictClass = DeviceType.class, message = "数据验证失败,设备类型为无效值!") @Column(name = "device_type") @@ -78,48 +88,56 @@ public class StudentActionTrans { /** * 看视频秒数。 */ + @ApiModelProperty(value = "看视频秒数") @Column(name = "watch_video_seconds") private Integer watchVideoSeconds; /** * 购买献花数量。 */ + @ApiModelProperty(value = "购买献花数量") @Column(name = "flower_count") private Integer flowerCount; /** * 购买作业数量。 */ + @ApiModelProperty(value = "购买作业数量") @Column(name = "paper_count") private Integer paperCount; /** * 购买视频数量。 */ + @ApiModelProperty(value = "购买视频数量") @Column(name = "video_count") private Integer videoCount; /** * 购买课程数量。 */ + @ApiModelProperty(value = "购买课程数量") @Column(name = "course_count") private Integer courseCount; /** * 充值学币数量。 */ + @ApiModelProperty(value = "充值学币数量") @Column(name = "coin_count") private Integer coinCount; /** * 做题是否正确标记。 */ + @ApiModelProperty(value = "做题是否正确标记") @Column(name = "exercise_correct_flag") private Integer exerciseCorrectFlag; /** * 发生时间。 */ + @ApiModelProperty(value = "发生时间", required = true) @NotNull(message = "数据验证失败,发生时间不能为空!") @Column(name = "create_time") private Date createTime; @@ -127,15 +145,18 @@ public class StudentActionTrans { /** * createTime 范围过滤起始值(>=)。 */ + @ApiModelProperty(value = "createTime 范围过滤起始值(>=)") @Transient private String createTimeStart; /** * createTime 范围过滤结束值(<=)。 */ + @ApiModelProperty(value = "createTime 范围过滤结束值(<=)") @Transient private String createTimeEnd; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "schoolId", slaveServiceName = "schoolInfoService", @@ -145,6 +166,7 @@ public class StudentActionTrans { @Transient private Map schoolIdDictMap; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "gradeId", slaveServiceName = "gradeService", @@ -154,12 +176,14 @@ public class StudentActionTrans { @Transient private Map gradeIdDictMap; + @ApiModelProperty(hidden = true) @RelationConstDict( masterIdField = "actionType", constantDictClass = StudentActionType.class) @Transient private Map actionTypeDictMap; + @ApiModelProperty(hidden = true) @RelationConstDict( masterIdField = "deviceType", constantDictClass = DeviceType.class) diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/StudentClass.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/StudentClass.java index 48f9b191..c8cc313a 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/StudentClass.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/StudentClass.java @@ -7,6 +7,8 @@ import com.orange.demo.common.core.annotation.RelationConstDict; import com.orange.demo.common.core.annotation.DeletedFlagColumn; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.validator.ConstDictRef; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; import javax.validation.constraints.*; @@ -18,8 +20,9 @@ import java.util.Map; * StudentClass实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("StudentClass实体对象") @Data @Table(name = "zz_class") public class StudentClass { @@ -27,6 +30,7 @@ public class StudentClass { /** * 班级Id。 */ + @ApiModelProperty(value = "班级Id", required = true) @NotNull(message = "数据验证失败,班级Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "class_id") @@ -35,6 +39,7 @@ public class StudentClass { /** * 班级名称。 */ + @ApiModelProperty(value = "班级名称", required = true) @NotBlank(message = "数据验证失败,班级名称不能为空!") @Column(name = "class_name") private String className; @@ -42,6 +47,7 @@ public class StudentClass { /** * 学校Id。 */ + @ApiModelProperty(value = "学校Id", required = true) @NotNull(message = "数据验证失败,所属校区不能为空!") @Column(name = "school_id") private Long schoolId; @@ -49,6 +55,7 @@ public class StudentClass { /** * 学生班长Id。 */ + @ApiModelProperty(value = "学生班长Id", required = true) @NotNull(message = "数据验证失败,学生班长不能为空!") @Column(name = "leader_id") private Long leaderId; @@ -56,6 +63,7 @@ public class StudentClass { /** * 已完成课时数量。 */ + @ApiModelProperty(value = "已完成课时数量", required = true) @NotNull(message = "数据验证失败,已完成课时不能为空!", groups = {UpdateGroup.class}) @Column(name = "finish_class_hour") private Integer finishClassHour; @@ -63,6 +71,7 @@ public class StudentClass { /** * 班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)。 */ + @ApiModelProperty(value = "班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)", required = true) @NotNull(message = "数据验证失败,班级级别不能为空!") @ConstDictRef(constDictClass = ClassLevel.class, message = "数据验证失败,班级级别为无效值!") @Column(name = "class_level") @@ -71,22 +80,26 @@ public class StudentClass { /** * 创建用户。 */ + @ApiModelProperty(value = "创建用户") @Column(name = "create_user_id") private Long createUserId; /** * 班级创建时间。 */ + @ApiModelProperty(value = "班级创建时间") @Column(name = "create_time") private Date createTime; /** * 逻辑删除标记字段(1: 正常 -1: 已删除)。 */ + @ApiModelProperty(hidden = true) @JSONField(serialize = false) @DeletedFlagColumn private Integer status; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "schoolId", slaveServiceName = "schoolInfoService", @@ -96,6 +109,7 @@ public class StudentClass { @Transient private Map schoolIdDictMap; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "leaderId", slaveServiceName = "studentService", @@ -105,6 +119,7 @@ public class StudentClass { @Transient private Map leaderIdDictMap; + @ApiModelProperty(hidden = true) @RelationConstDict( masterIdField = "classLevel", constantDictClass = ClassLevel.class) diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/constant/ClassLevel.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/constant/ClassLevel.java index 90e4c59b..83711f1b 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/constant/ClassLevel.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/constant/ClassLevel.java @@ -7,7 +7,7 @@ import java.util.Map; * 班级级别常量字典对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class ClassLevel { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/constant/ClassStatus.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/constant/ClassStatus.java index 92be479c..1d24a0fe 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/constant/ClassStatus.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/constant/ClassStatus.java @@ -7,7 +7,7 @@ import java.util.Map; * 班级状态常量字典对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class ClassStatus { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/constant/CourseDifficult.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/constant/CourseDifficult.java index aac54ec0..485905ae 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/constant/CourseDifficult.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/model/constant/CourseDifficult.java @@ -7,7 +7,7 @@ import java.util.Map; * 课程难度常量字典对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class CourseDifficult { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/AreaCodeService.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/AreaCodeService.java index 0f2c8597..3d539da7 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/AreaCodeService.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/AreaCodeService.java @@ -16,7 +16,7 @@ import java.util.List; * 行政区划的Service类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Service public class AreaCodeService extends BaseDictService { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/CourseService.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/CourseService.java index 7138d9f3..56c34984 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/CourseService.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/CourseService.java @@ -19,7 +19,7 @@ import java.util.*; * 课程数据数据操作服务类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Service public class CourseService extends BaseService { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/CourseTransStatsService.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/CourseTransStatsService.java index 370c388f..77f15cbb 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/CourseTransStatsService.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/CourseTransStatsService.java @@ -15,7 +15,7 @@ import java.util.*; * 课程统计数据操作服务类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Service public class CourseTransStatsService extends BaseService { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/GradeService.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/GradeService.java index f76b935e..518fa2a6 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/GradeService.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/GradeService.java @@ -14,7 +14,7 @@ import org.springframework.transaction.annotation.Transactional; * 年级数据操作服务类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Service public class GradeService extends BaseDictService { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/SchoolInfoService.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/SchoolInfoService.java index 034bba55..f5cda76c 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/SchoolInfoService.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/SchoolInfoService.java @@ -18,7 +18,7 @@ import java.util.*; * 校区数据数据操作服务类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Service public class SchoolInfoService extends BaseService { @@ -75,7 +75,6 @@ public class SchoolInfoService extends BaseService { @Transactional(rollbackFor = Exception.class) public boolean remove(Long schoolId) { return schoolInfoMapper.deleteByPrimaryKey(schoolId) != 0; - // 这里可继续删除关联数据。 } /** diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/StudentActionStatsService.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/StudentActionStatsService.java index 44937b2d..15953a34 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/StudentActionStatsService.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/StudentActionStatsService.java @@ -15,7 +15,7 @@ import java.util.*; * 学生行为统计数据操作服务类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Service public class StudentActionStatsService extends BaseService { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/StudentActionTransService.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/StudentActionTransService.java index 33ce32ae..085e135f 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/StudentActionTransService.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/StudentActionTransService.java @@ -18,7 +18,7 @@ import java.util.*; * 学生行为流水数据操作服务类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Service public class StudentActionTransService extends BaseService { @@ -77,7 +77,6 @@ public class StudentActionTransService extends BaseService { @@ -65,9 +65,6 @@ public class StudentClassService extends BaseService { if (studentClass.getFinishClassHour() == null) { studentClass.setFinishClassHour(0); } - if (studentClass.getStatus() == null) { - studentClass.setStatus(0); - } studentClassMapper.insert(studentClass); return studentClass; } @@ -106,7 +103,6 @@ public class StudentClassService extends BaseService { if (studentClassMapper.updateByExampleSelective(deletedObject, studentClassExample) == 0) { return false; } - // 这里可继续删除关联数据。 // 开始删除多对多子表的关联 ClassCourse classCourse = new ClassCourse(); classCourse.setClassId(classId); diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/StudentService.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/StudentService.java index f2c8e7da..31fd3ec2 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/StudentService.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/app/service/StudentService.java @@ -19,7 +19,7 @@ import java.util.*; * 学生数据数据操作服务类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Service public class StudentService extends BaseService { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/config/ApplicationConfig.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/config/ApplicationConfig.java index 4da72f24..95711baa 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/config/ApplicationConfig.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/config/ApplicationConfig.java @@ -8,7 +8,7 @@ import org.springframework.context.annotation.Configuration; * 应用程序自定义的程序属性配置文件。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Data @Configuration @@ -24,7 +24,7 @@ public class ApplicationConfig { */ private String refreshedTokenHeaderKey; /** - * token 加密用的密钥 + * token 加密用的密钥,该值的长度最少10个字符(过短会报错)。 */ private String tokenSigningKey; /** diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/config/DataSourceConfig.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/config/DataSourceConfig.java index ee4c719d..6131745b 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/config/DataSourceConfig.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/config/DataSourceConfig.java @@ -14,7 +14,7 @@ import javax.sql.DataSource; * 数据源配置Bean对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Configuration @EnableTransactionManagement diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/config/FilterConfig.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/config/FilterConfig.java index 512fea90..bc4e4eb1 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/config/FilterConfig.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/config/FilterConfig.java @@ -15,7 +15,7 @@ import java.nio.charset.StandardCharsets; * 这里主要配置Web的各种过滤器和监听器等Servlet容器组件。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Configuration public class FilterConfig { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/config/InterceptorConfig.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/config/InterceptorConfig.java index 41aee392..32dd426b 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/config/InterceptorConfig.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/config/InterceptorConfig.java @@ -9,7 +9,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; * 所有的项目拦截器都在这里集中配置 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Configuration public class InterceptorConfig implements WebMvcConfigurer { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/interceptor/AuthenticationInterceptor.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/interceptor/AuthenticationInterceptor.java index 7af06e73..227b1902 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/interceptor/AuthenticationInterceptor.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/interceptor/AuthenticationInterceptor.java @@ -31,7 +31,7 @@ import java.util.stream.Collectors; * 登录用户Token验证、生成和权限验证的拦截器。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Slf4j public class AuthenticationInterceptor implements HandlerInterceptor { @@ -45,13 +45,13 @@ public class AuthenticationInterceptor implements HandlerInterceptor { private SysPermService sysPermService = ApplicationContextHolder.getBean("sysPermService"); - private static SysPermWhitelistService sysPermWhilelistService = + private static SysPermWhitelistService sysPermWhitelistService = ApplicationContextHolder.getBean("sysPermWhitelistService"); private static Set whitelistPermSet; static { - List sysPermWhitelistList = sysPermWhilelistService.getAllList(); + List sysPermWhitelistList = sysPermWhitelistService.getAllList(); whitelistPermSet = sysPermWhitelistList.stream() .map(SysPermWhitelist::getPermUrl).collect(Collectors.toSet()); } diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/LoginController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/LoginController.java index 60916b52..6e65ad2b 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/LoginController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/LoginController.java @@ -1,6 +1,10 @@ package com.orange.demo.upms.controller; import com.alibaba.fastjson.JSONObject; +import com.github.xiaoymin.knife4j.annotations.ApiSupport; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import lombok.extern.slf4j.Slf4j; import com.orange.demo.config.ApplicationConfig; import com.orange.demo.upms.service.*; @@ -8,7 +12,6 @@ import com.orange.demo.upms.model.SysMenu; import com.orange.demo.upms.model.SysUser; import com.orange.demo.upms.model.constant.SysUserStatus; import com.orange.demo.upms.model.constant.SysUserType; -import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.common.core.annotation.NoAuthInterface; import com.orange.demo.common.core.constant.ApplicationConstant; import com.orange.demo.common.core.constant.ErrorCodeEnum; @@ -28,8 +31,10 @@ import java.util.*; * 登录接口控制器类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiSupport(order = 1) +@Api(tags = "用户登录接口") @Slf4j @RestController @RequestMapping("/admin/upms/login") @@ -57,6 +62,12 @@ public class LoginController { * @param password 密码。 * @return 应答结果对象,其中包括JWT的Token数据,以及菜单列表。 */ + @ApiImplicitParams({ + // 这里包含密码密文,仅用于方便开发期间的接口测试,集成测试和发布阶段,需要将当前注解去掉。 + // 如果您重新生成了公钥和私钥,请替换password的缺省值。 + @ApiImplicitParam(name = "loginName", defaultValue = "admin"), + @ApiImplicitParam(name = "password", defaultValue = "IP3ccke3GhH45iGHB5qP9p7iZw6xUyj28Ju10rnBiPKOI35sc%2BjI7%2FdsjOkHWMfUwGYGfz8ik31HC2Ruk%2Fhkd9f6RPULTHj7VpFdNdde2P9M4mQQnFBAiPM7VT9iW3RyCtPlJexQ3nAiA09OqG%2F0sIf1kcyveSrulxembARDbDo%3D") + }) @NoAuthInterface @GetMapping("/doLogin") public ResponseResult doLogin( @@ -128,7 +139,7 @@ public class LoginController { */ @PostMapping("/changePassword") public ResponseResult changePassword( - @MyRequestBody String oldPass, @MyRequestBody String newPass) throws Exception { + @RequestParam String oldPass, @RequestParam String newPass) throws Exception { if (MyCommonUtil.existBlankArgument(oldPass, oldPass)) { return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); } diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysMenuController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysMenuController.java index 6515f0a9..72974896 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysMenuController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysMenuController.java @@ -1,14 +1,13 @@ package com.orange.demo.upms.controller; -import com.alibaba.fastjson.JSONObject; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import com.orange.demo.upms.model.SysMenu; import com.orange.demo.upms.service.SysMenuService; import com.orange.demo.upms.service.SysPermCodeService; import com.orange.demo.common.core.constant.ErrorCodeEnum; -import com.orange.demo.common.core.object.CallResult; -import com.orange.demo.common.core.object.ResponseResult; -import com.orange.demo.common.core.object.MyRelationParam; +import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.MyCommonUtil; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.annotation.MyRequestBody; @@ -22,8 +21,9 @@ import java.util.*; * 菜单管理接口控制器类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@Api(tags = "菜单管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysMenu") @@ -42,8 +42,9 @@ public class SysMenuController { * @return 应答结果对象,包含新增菜单的主键Id。 */ @SuppressWarnings("unchecked") + @ApiOperationSupport(ignoreParameters = {"sysMenu.menuId"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysMenu sysMenu, @MyRequestBody String permCodeIdListString) { + public ResponseResult add(@MyRequestBody SysMenu sysMenu, @MyRequestBody String permCodeIdListString) { String errorMessage = MyCommonUtil.getModelValidationError(sysMenu); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); @@ -57,9 +58,7 @@ public class SysMenuController { permCodeIdSet = (Set) result.getData().get("permCodeIdSet"); } sysMenuService.saveNew(sysMenu, permCodeIdSet); - JSONObject responseData = new JSONObject(); - responseData.put("sysMenuId", sysMenu.getMenuId()); - return ResponseResult.success(responseData); + return ResponseResult.success(sysMenu.getMenuId()); } /** diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysPermCodeController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysPermCodeController.java index a91ed661..68dcf083 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysPermCodeController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysPermCodeController.java @@ -1,15 +1,13 @@ package com.orange.demo.upms.controller; -import com.alibaba.fastjson.JSONObject; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.github.pagehelper.page.PageMethod; import lombok.extern.slf4j.Slf4j; import com.orange.demo.upms.model.SysPermCode; import com.orange.demo.upms.service.SysPermCodeService; import com.orange.demo.common.core.constant.ErrorCodeEnum; -import com.orange.demo.common.core.object.ResponseResult; -import com.orange.demo.common.core.object.CallResult; -import com.orange.demo.common.core.object.MyPageParam; -import com.orange.demo.common.core.object.MyRelationParam; +import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.MyCommonUtil; import com.orange.demo.common.core.util.MyPageUtil; import com.orange.demo.common.core.validator.UpdateGroup; @@ -25,8 +23,9 @@ import java.util.*; * 权限字管理接口控制器类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@Api(tags = "权限字管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysPermCode") @@ -43,8 +42,9 @@ public class SysPermCodeController { * @return 应答结果对象,包含新增权限字的主键Id。 */ @SuppressWarnings("unchecked") + @ApiOperationSupport(ignoreParameters = {"sysPermCode.permCodeId"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysPermCode sysPermCode, @MyRequestBody String permIdListString) { + public ResponseResult add(@MyRequestBody SysPermCode sysPermCode, @MyRequestBody String permIdListString) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermCode); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED); @@ -58,9 +58,7 @@ public class SysPermCodeController { permIdSet = (Set) result.getData().get("permIdSet"); } sysPermCode = sysPermCodeService.saveNew(sysPermCode, permIdSet); - JSONObject responseData = new JSONObject(); - responseData.put("sysPermCodeId", sysPermCode.getPermCodeId()); - return ResponseResult.success(responseData); + return ResponseResult.success(sysPermCode.getPermCodeId()); } /** @@ -162,7 +160,7 @@ public class SysPermCodeController { * @return 应答结果对象,包含该用户的全部权限资源列表。 */ @PostMapping("/listAllPermCodesByUserFilter") - public ResponseResult listAllPermCodesByUserFilter( + public ResponseResult> listAllPermCodesByUserFilter( @MyRequestBody String loginName, @MyRequestBody String permCode, @MyRequestBody MyPageParam pageParam) { @@ -172,9 +170,7 @@ public class SysPermCodeController { if (pageParam != null) { PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } - List permCodeList = - sysPermCodeService.getUserPermCodeListByFilter(loginName, permCode); - JSONObject responseData = MyPageUtil.makeResponseData(permCodeList); - return ResponseResult.success(responseData); + List permCodeList = sysPermCodeService.getUserPermCodeListByFilter(loginName, permCode); + return ResponseResult.success(MyPageUtil.makeResponseData(permCodeList)); } } diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysPermController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysPermController.java index 77e2de6c..0fb54001 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysPermController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysPermController.java @@ -1,15 +1,14 @@ package com.orange.demo.upms.controller; -import com.alibaba.fastjson.JSONObject; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.github.pagehelper.page.PageMethod; import lombok.extern.slf4j.Slf4j; import com.orange.demo.upms.model.SysPerm; import com.orange.demo.upms.model.SysPermModule; import com.orange.demo.upms.service.SysPermService; import com.orange.demo.common.core.constant.ErrorCodeEnum; -import com.orange.demo.common.core.object.ResponseResult; -import com.orange.demo.common.core.object.CallResult; -import com.orange.demo.common.core.object.MyPageParam; +import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.MyCommonUtil; import com.orange.demo.common.core.util.MyPageUtil; import com.orange.demo.common.core.validator.UpdateGroup; @@ -25,8 +24,9 @@ import java.util.Map; * 权限资源管理接口控制器类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@Api(tags = "权限资源管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysPerm") @@ -41,8 +41,9 @@ public class SysPermController { * @param sysPerm 新增权限资源对象。 * @return 应答结果对象,包含新增权限资源的主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysPerm.permId"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysPerm sysPerm) { + public ResponseResult add(@MyRequestBody SysPerm sysPerm) { String errorMessage = MyCommonUtil.getModelValidationError(sysPerm); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); @@ -52,9 +53,7 @@ public class SysPermController { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); } sysPerm = sysPermService.saveNew(sysPerm); - JSONObject responseData = new JSONObject(); - responseData.put("permId", sysPerm.getPermId()); - return ResponseResult.success(responseData); + return ResponseResult.success(sysPerm.getPermId()); } /** @@ -130,7 +129,7 @@ public class SysPermController { * @return 应答结果对象,包含权限资源列表。 */ @PostMapping("/list") - public ResponseResult list(@MyRequestBody SysPerm sysPermFilter, @MyRequestBody MyPageParam pageParam) { + public ResponseResult> list(@MyRequestBody SysPerm sysPermFilter, @MyRequestBody MyPageParam pageParam) { if (pageParam != null) { PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } @@ -148,7 +147,7 @@ public class SysPermController { * @return 应答结果对象,包含该用户的全部权限资源列表。 */ @PostMapping("/listAllPermsByUserFilter") - public ResponseResult listAllPermsByUserFilter( + public ResponseResult>> listAllPermsByUserFilter( @MyRequestBody String loginName, @MyRequestBody Long moduleId, @MyRequestBody String url, @@ -161,8 +160,7 @@ public class SysPermController { } List> userPermMapList = sysPermService.getUserPermListByFilter(loginName, moduleId, url); - JSONObject responseData = MyPageUtil.makeResponseData(userPermMapList); - return ResponseResult.success(responseData); + return ResponseResult.success(MyPageUtil.makeResponseData(userPermMapList)); } /** diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysPermModuleController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysPermModuleController.java index 5fa8df21..d06baabc 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysPermModuleController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysPermModuleController.java @@ -1,12 +1,13 @@ package com.orange.demo.upms.controller; -import com.alibaba.fastjson.JSONObject; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import com.orange.demo.upms.model.SysPerm; import com.orange.demo.upms.model.SysPermModule; import com.orange.demo.upms.service.SysPermModuleService; import com.orange.demo.common.core.constant.ErrorCodeEnum; -import com.orange.demo.common.core.object.ResponseResult; +import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.MyCommonUtil; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.annotation.MyRequestBody; @@ -24,8 +25,9 @@ import java.util.Map; * 权限资源模块管理接口控制器类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@Api(tags = "权限资源模块管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysPermModule") @@ -40,8 +42,9 @@ public class SysPermModuleController { * @param sysPermModule 新增权限资源模块对象。 * @return 应答结果对象,包含新增权限资源模块的主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysPermModule.moduleId"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysPermModule sysPermModule) { + public ResponseResult add(@MyRequestBody SysPermModule sysPermModule) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermModule); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); @@ -52,9 +55,7 @@ public class SysPermModuleController { return ResponseResult.error(ErrorCodeEnum.DATA_PARENT_ID_NOT_EXIST, errorMessage); } sysPermModuleService.saveNew(sysPermModule); - JSONObject responseData = new JSONObject(); - responseData.put("permModuleId", sysPermModule.getModuleId()); - return ResponseResult.success(responseData); + return ResponseResult.success(sysPermModule.getModuleId()); } /** diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysRoleController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysRoleController.java index 08775cee..cca3a7b9 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysRoleController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysRoleController.java @@ -1,6 +1,8 @@ package com.orange.demo.upms.controller; import com.alibaba.fastjson.JSONObject; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.github.pagehelper.page.PageMethod; import lombok.extern.slf4j.Slf4j; import com.orange.demo.upms.model.SysRole; @@ -11,11 +13,7 @@ import com.orange.demo.upms.service.SysUserService; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.util.MyCommonUtil; import com.orange.demo.common.core.constant.ErrorCodeEnum; -import com.orange.demo.common.core.object.MyOrderParam; -import com.orange.demo.common.core.object.MyPageParam; -import com.orange.demo.common.core.object.ResponseResult; -import com.orange.demo.common.core.object.CallResult; -import com.orange.demo.common.core.object.MyRelationParam; +import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.MyPageUtil; import com.orange.demo.common.core.annotation.MyRequestBody; import org.springframework.beans.factory.annotation.Autowired; @@ -29,8 +27,9 @@ import java.util.stream.Collectors; * 角色管理接口控制器类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@Api(tags = "角色管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysRole") @@ -49,8 +48,9 @@ public class SysRoleController { * @return 应答结果对象,包含新增角色的主键Id。 */ @SuppressWarnings("unchecked") + @ApiOperationSupport(ignoreParameters = {"sysRole.roleId", "sysRole.createTimeStart", "sysRole.createTimeEnd"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysRole sysRole, @MyRequestBody String menuIdListString) { + public ResponseResult add(@MyRequestBody SysRole sysRole, @MyRequestBody String menuIdListString) { String errorMessage = MyCommonUtil.getModelValidationError(sysRole); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); @@ -64,9 +64,7 @@ public class SysRoleController { menuIdSet = (Set) result.getData().get("menuIdSet"); } sysRoleService.saveNew(sysRole, menuIdSet); - JSONObject responseData = new JSONObject(); - responseData.put("roleId", sysRole.getRoleId()); - return ResponseResult.success(responseData); + return ResponseResult.success(sysRole.getRoleId()); } /** @@ -77,6 +75,7 @@ public class SysRoleController { * @return 应答结果对象。 */ @SuppressWarnings("unchecked") + @ApiOperationSupport(ignoreParameters = {"sysRole.createTimeStart", "sysRole.createTimeEnd"}) @PostMapping("/update") public ResponseResult update(@MyRequestBody SysRole sysRole, @MyRequestBody String menuIdListString) { String errorMessage = MyCommonUtil.getModelValidationError(sysRole, Default.class, UpdateGroup.class); @@ -130,7 +129,7 @@ public class SysRoleController { * @return 应答结果对象,包含角色列表。 */ @PostMapping("/list") - public ResponseResult list( + public ResponseResult> list( @MyRequestBody SysRole sysRoleFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { @@ -171,7 +170,7 @@ public class SysRoleController { * @return 应答结果对象,包含用户列表数据。 */ @PostMapping("/listNotInUserRole") - public ResponseResult listNotInUserRole( + public ResponseResult> listNotInUserRole( @MyRequestBody Long roleId, @MyRequestBody SysUser sysUserFilter, @MyRequestBody MyOrderParam orderParam, @@ -186,8 +185,7 @@ public class SysRoleController { String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); List resultList = sysUserService.getNotInSysUserListByRoleId(roleId, sysUserFilter, orderBy); - JSONObject responseData = MyPageUtil.makeResponseData(resultList); - return ResponseResult.success(responseData); + return ResponseResult.success(MyPageUtil.makeResponseData(resultList)); } /** @@ -200,7 +198,7 @@ public class SysRoleController { * @return 应答结果对象,包含用户列表数据。 */ @PostMapping("/listUserRole") - public ResponseResult listUserRole( + public ResponseResult> listUserRole( @MyRequestBody Long roleId, @MyRequestBody SysUser sysUserFilter, @MyRequestBody MyOrderParam orderParam, @@ -214,8 +212,7 @@ public class SysRoleController { } String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); List resultList = sysUserService.getSysUserListByRoleId(roleId, sysUserFilter, orderBy); - JSONObject responseData = MyPageUtil.makeResponseData(resultList); - return ResponseResult.success(responseData); + return ResponseResult.success(MyPageUtil.makeResponseData(resultList)); } private ResponseResult doRoleUserVerify(Long roleId) { @@ -286,7 +283,7 @@ public class SysRoleController { * @return 符合条件的角色列表。 */ @PostMapping("/listAllRolesByPermCode") - public ResponseResult listAllRolesByPermCode( + public ResponseResult> listAllRolesByPermCode( @MyRequestBody Long permCodeId, @MyRequestBody MyPageParam pageParam) { if (MyCommonUtil.existBlankArgument(permCodeId)) { return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); @@ -295,8 +292,7 @@ public class SysRoleController { PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } List roleList = sysRoleService.getSysRoleListByPermCodeId(permCodeId); - JSONObject responseData = MyPageUtil.makeResponseData(roleList); - return ResponseResult.success(responseData); + return ResponseResult.success(MyPageUtil.makeResponseData(roleList)); } /** @@ -308,7 +304,7 @@ public class SysRoleController { * @return 符合条件的角色列表。 */ @PostMapping("/listAllRolesByPerm") - public ResponseResult listAllRolesByPerm( + public ResponseResult> listAllRolesByPerm( @MyRequestBody String url, @MyRequestBody MyPageParam pageParam) { if (MyCommonUtil.existBlankArgument(url)) { return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); @@ -317,7 +313,6 @@ public class SysRoleController { PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } List roleList = sysRoleService.getSysRoleListByPerm(url); - JSONObject responseData = MyPageUtil.makeResponseData(roleList); - return ResponseResult.success(responseData); + return ResponseResult.success(MyPageUtil.makeResponseData(roleList)); } } diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysUserController.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysUserController.java index 1cc91c6a..3075b439 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysUserController.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/controller/SysUserController.java @@ -10,8 +10,9 @@ import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.common.core.validator.AddGroup; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.config.ApplicationConfig; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; -import com.alibaba.fastjson.JSONObject; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -23,8 +24,9 @@ import javax.validation.groups.Default; * 用户管理操作控制器类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@Api(tags = "用户管理管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysUser") @@ -45,8 +47,12 @@ public class SysUserController { * @return 应答结果对象,包含新增用户的主键Id。 */ @SuppressWarnings("unchecked") + @ApiOperationSupport(ignoreParameters = { + "sysUser.userId", + "sysUser.createTimeStart", + "sysUser.createTimeEnd"}) @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysUser sysUser, @MyRequestBody String roleIdListString) { + public ResponseResult add(@MyRequestBody SysUser sysUser, @MyRequestBody String roleIdListString) { String errorMessage = MyCommonUtil.getModelValidationError(sysUser, Default.class, AddGroup.class); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); @@ -57,9 +63,7 @@ public class SysUserController { } Set roleIdSet = (Set) result.getData().get("roleIdSet"); sysUserService.saveNew(sysUser, roleIdSet); - JSONObject responseData = new JSONObject(); - responseData.put("userId", sysUser.getUserId()); - return ResponseResult.success(responseData); + return ResponseResult.success(sysUser.getUserId()); } /** @@ -70,6 +74,9 @@ public class SysUserController { * @return 应答结果对象。 */ @SuppressWarnings("unchecked") + @ApiOperationSupport(ignoreParameters = { + "sysUser.createTimeStart", + "sysUser.createTimeEnd"}) @PostMapping("/update") public ResponseResult update(@MyRequestBody SysUser sysUser, @MyRequestBody String roleIdListString) { String errorMessage = MyCommonUtil.getModelValidationError(sysUser, Default.class, UpdateGroup.class); @@ -143,7 +150,7 @@ public class SysUserController { * @return 应答结果对象,包含查询结果集。 */ @PostMapping("/list") - public ResponseResult list( + public ResponseResult> list( @MyRequestBody SysUser sysUserFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysMenuMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysMenuMapper.java index 4abc1acd..39e1c651 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysMenuMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysMenuMapper.java @@ -9,7 +9,7 @@ import java.util.List; * 菜单数据访问操作接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface SysMenuMapper extends BaseDaoMapper { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysMenuPermCodeMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysMenuPermCodeMapper.java index 9f7770d7..8baa6dee 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysMenuPermCodeMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysMenuPermCodeMapper.java @@ -7,7 +7,7 @@ import com.orange.demo.upms.model.SysMenuPermCode; * 菜单与权限字关系数据访问操作接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface SysMenuPermCodeMapper extends BaseDaoMapper { } diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermCodeMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermCodeMapper.java index 1edb7a67..03624dd2 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermCodeMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermCodeMapper.java @@ -11,7 +11,7 @@ import java.util.Map; * 权限字数据访问操作接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface SysPermCodeMapper extends BaseDaoMapper { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermCodePermMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermCodePermMapper.java index 39e637c6..57384090 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermCodePermMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermCodePermMapper.java @@ -7,7 +7,7 @@ import com.orange.demo.upms.model.SysPermCodePerm; * 权限字与权限资源关系数据访问操作接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface SysPermCodePermMapper extends BaseDaoMapper { } diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermMapper.java index 62bd46a7..5c31f1df 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermMapper.java @@ -11,7 +11,7 @@ import java.util.Map; * 权限资源数据访问操作接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface SysPermMapper extends BaseDaoMapper { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermModuleMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermModuleMapper.java index 1b1f9f88..6605ba1e 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermModuleMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermModuleMapper.java @@ -9,7 +9,7 @@ import java.util.List; * 权限资源模块数据访问操作接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface SysPermModuleMapper extends BaseDaoMapper { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermWhitelistMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermWhitelistMapper.java index d182c026..acdaee57 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermWhitelistMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysPermWhitelistMapper.java @@ -7,7 +7,7 @@ import com.orange.demo.upms.model.SysPermWhitelist; * 权限资源白名单数据访问操作接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface SysPermWhitelistMapper extends BaseDaoMapper { } diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysRoleMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysRoleMapper.java index 70006add..83080288 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysRoleMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysRoleMapper.java @@ -10,7 +10,7 @@ import java.util.List; * 角色数据访问操作接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface SysRoleMapper extends BaseDaoMapper { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysRoleMenuMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysRoleMenuMapper.java index 58ccc35d..36db306e 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysRoleMenuMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysRoleMenuMapper.java @@ -7,7 +7,7 @@ import com.orange.demo.upms.model.SysRoleMenu; * 角色与菜单操作关联关系数据访问操作接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface SysRoleMenuMapper extends BaseDaoMapper { } diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysUserMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysUserMapper.java index 21832b47..90ed5af5 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysUserMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysUserMapper.java @@ -10,7 +10,7 @@ import java.util.*; * 用户管理数据操作访问接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface SysUserMapper extends BaseDaoMapper { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysUserRoleMapper.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysUserRoleMapper.java index 258325ce..d30bb43c 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysUserRoleMapper.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/SysUserRoleMapper.java @@ -9,7 +9,7 @@ import java.util.List; * 用户与角色关联关系数据访问操作接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface SysUserRoleMapper extends BaseDaoMapper { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/mapper/SysPermMapper.xml b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/mapper/SysPermMapper.xml index f1987410..e3da0525 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/mapper/SysPermMapper.xml +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/mapper/SysPermMapper.xml @@ -82,7 +82,7 @@ AND pcp.perm_id = p.perm_id AND p.deleted_flag = ${@com.orange.demo.common.core.constant.GlobalDeletedFlag@NORMAL} - + ORDER BY ${orderBy} diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/mapper/SysRoleMapper.xml b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/mapper/SysRoleMapper.xml index 495e41ad..a2b06e24 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/mapper/SysRoleMapper.xml +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/mapper/SysRoleMapper.xml @@ -22,7 +22,7 @@ AND deleted_flag = ${@com.orange.demo.common.core.constant.GlobalDeletedFlag@NORMAL} - + ORDER BY ${orderBy} diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/mapper/SysUserMapper.xml b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/mapper/SysUserMapper.xml index 0ded7457..1ceeb227 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/mapper/SysUserMapper.xml +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/dao/mapper/SysUserMapper.xml @@ -44,7 +44,7 @@ - + ORDER BY ${orderBy} @@ -60,7 +60,7 @@ AND zz_sys_user_role.user_id = zz_sys_user.user_id - + ORDER BY ${orderBy} @@ -72,7 +72,7 @@ WHERE zz_sys_user_role.role_id = #{roleId} AND zz_sys_user_role.user_id = zz_sys_user.user_id) - + ORDER BY ${orderBy} diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysMenu.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysMenu.java index 0ade4ca9..b9ddd76f 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysMenu.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysMenu.java @@ -6,6 +6,8 @@ import com.orange.demo.common.core.annotation.RelationManyToMany; import com.orange.demo.common.core.validator.ConstDictRef; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.upms.model.constant.SysMenuType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; @@ -17,15 +19,17 @@ import java.util.List; * 菜单实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("菜单实体对象") @Data @Table(name = "zz_sys_menu") public class SysMenu { /** - * 主键Id。 + * 菜单Id。 */ + @ApiModelProperty(value = "菜单Id", required = true) @NotNull(message = "菜单Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "menu_id") @@ -34,12 +38,14 @@ public class SysMenu { /** * 父菜单Id,目录菜单的父菜单为null。 */ + @ApiModelProperty(value = "父菜单Id") @Column(name = "parent_id") private Long parentId; /** * 菜单显示名称。 */ + @ApiModelProperty(value = "菜单显示名称", required = true) @NotBlank(message = "菜单显示名称不能为空!") @Column(name = "menu_name") private String menuName; @@ -47,6 +53,7 @@ public class SysMenu { /** * 菜单类型(0: 目录 1: 菜单 2: 按钮 3: UI片段)。 */ + @ApiModelProperty(value = "菜单类型", required = true) @NotNull(message = "菜单类型不能为空!") @ConstDictRef(constDictClass = SysMenuType.class, message = "数据验证失败,菜单类型为无效值!") @Column(name = "menu_type") @@ -55,12 +62,14 @@ public class SysMenu { /** * 前端表单路由名称,仅用于menu_type为1的菜单类型。 */ + @ApiModelProperty(value = "前端表单路由名称") @Column(name = "form_router_name") private String formRouterName; /** * 菜单显示顺序 (值越小,排序越靠前)。 */ + @ApiModelProperty(value = "菜单显示顺序", required = true) @NotNull(message = "菜单显示顺序不能为空!") @Column(name = "show_order") private Integer showOrder; @@ -68,22 +77,26 @@ public class SysMenu { /** * 菜单图标。 */ + @ApiModelProperty(value = "菜单图标") private String icon; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") @Column(name = "create_time") private Date createTime; /** * 逻辑删除标记字段(1: 正常 -1: 已删除)。 */ + @ApiModelProperty(hidden = true) @JSONField(serialize = false) @DeletedFlagColumn @Column(name = "deleted_flag") private Integer deletedFlag; + @ApiModelProperty(hidden = true) @RelationManyToMany( relationMapperName = "sysMenuPermCodeMapper", relationMasterIdField = "menuId", diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysMenuPermCode.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysMenuPermCode.java index 397d04bb..42be13a7 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysMenuPermCode.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysMenuPermCode.java @@ -1,5 +1,7 @@ package com.orange.demo.upms.model; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; @@ -8,8 +10,9 @@ import javax.persistence.*; * 菜单与权限字关联实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("菜单与权限字关联实体对象") @Data @Table(name = "zz_sys_menu_perm_code") public class SysMenuPermCode { @@ -17,6 +20,7 @@ public class SysMenuPermCode { /** * 关联菜单Id。 */ + @ApiModelProperty(value = "关联菜单Id", required = true) @Id @Column(name = "menu_id") private Long menuId; @@ -24,6 +28,7 @@ public class SysMenuPermCode { /** * 关联权限字Id。 */ + @ApiModelProperty(value = "关联权限字Id", required = true) @Id @Column(name = "perm_code_id") private Long permCodeId; diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPerm.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPerm.java index 56008cbc..620c2bbe 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPerm.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPerm.java @@ -4,6 +4,8 @@ import com.alibaba.fastjson.annotation.JSONField; import com.orange.demo.common.core.annotation.DeletedFlagColumn; import com.orange.demo.common.core.annotation.RelationDict; import com.orange.demo.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; @@ -15,15 +17,17 @@ import java.util.Map; * 权限资源实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("权限资源实体对象") @Data @Table(name = "zz_sys_perm") public class SysPerm { /** - * 权限Id。 + * 权限资源Id。 */ + @ApiModelProperty(value = "权限资源Id", required = true) @NotNull(message = "权限Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "perm_id") @@ -32,6 +36,7 @@ public class SysPerm { /** * 权限所在的权限模块Id。 */ + @ApiModelProperty(value = "权限所在的权限模块Id", required = true) @NotNull(message = "权限模块Id不能为空!") @Column(name = "module_id") private Long moduleId; @@ -39,6 +44,7 @@ public class SysPerm { /** * 权限名称。 */ + @ApiModelProperty(value = "权限名称", required = true) @NotBlank(message = "权限名称不能为空!") @Column(name = "perm_name") private String permName; @@ -46,12 +52,14 @@ public class SysPerm { /** * 关联的URL。 */ + @ApiModelProperty(value = "关联的URL", required = true) @NotBlank(message = "权限关联的url不能为空!") private String url; /** * 权限在当前模块下的顺序,由小到大。 */ + @ApiModelProperty(value = "权限在当前模块下的顺序", required = true) @NotNull(message = "权限显示顺序不能为空!") @Column(name = "show_order") private Integer showOrder; @@ -59,17 +67,20 @@ public class SysPerm { /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") @Column(name = "create_time") private Date createTime; /** * 逻辑删除标记字段(1: 正常 -1: 已删除)。 */ + @ApiModelProperty(hidden = true) @JSONField(serialize = false) @DeletedFlagColumn @Column(name = "deleted_flag") private Integer deletedFlag; + @ApiModelProperty(hidden = true) @RelationDict( masterIdField = "moduleId", slaveServiceName = "SysPermModuleService", diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermCode.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermCode.java index 1a17152f..a3357de4 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermCode.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermCode.java @@ -6,6 +6,8 @@ import com.orange.demo.common.core.annotation.RelationManyToMany; import com.orange.demo.common.core.validator.ConstDictRef; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.upms.model.constant.SysPermCodeType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; @@ -17,15 +19,17 @@ import java.util.List; * 权限字实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("权限字实体对象") @Data @Table(name = "zz_sys_perm_code") public class SysPermCode { /** - * 主键Id。 + * 权限字Id。 */ + @ApiModelProperty(value = "权限字Id", required = true) @NotNull(message = "权限字Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "perm_code_id") @@ -34,12 +38,14 @@ public class SysPermCode { /** * 上级权限字Id。 */ + @ApiModelProperty(value = "上级权限字Id") @Column(name = "parent_id") private Long parentId; /** * 权限字标识(一般为有含义的英文字符串)。 */ + @ApiModelProperty(value = "权限字标识", required = true) @NotBlank(message = "权限字编码不能为空!") @Column(name = "perm_code") private String permCode; @@ -47,6 +53,7 @@ public class SysPermCode { /** * 权限类型(0: 表单 1: UI片段 2: 操作)。 */ + @ApiModelProperty(value = "权限类型", required = true) @NotNull(message = "权限字类型不能为空!") @ConstDictRef(constDictClass = SysPermCodeType.class, message = "数据验证失败,权限类型为无效值!") @Column(name = "perm_code_type") @@ -55,6 +62,7 @@ public class SysPermCode { /** * 显示名称。 */ + @ApiModelProperty(value = "显示名称", required = true) @NotBlank(message = "权限字显示名称不能为空!") @Column(name = "show_name") private String showName; @@ -62,6 +70,7 @@ public class SysPermCode { /** * 显示顺序(数值越小,越靠前)。 */ + @ApiModelProperty(value = "显示顺序", required = true) @NotNull(message = "权限字显示顺序不能为空!") @Column(name = "show_order") private Integer showOrder; @@ -69,17 +78,20 @@ public class SysPermCode { /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") @Column(name = "create_time") private Date createTime; /** * 逻辑删除标记字段(1: 正常 -1: 已删除)。 */ + @ApiModelProperty(hidden = true) @JSONField(serialize = false) @DeletedFlagColumn @Column(name = "deleted_flag") private Integer deletedFlag; + @ApiModelProperty(hidden = true) @RelationManyToMany( relationMapperName = "sysPermCodePermMapper", relationMasterIdField = "permCodeId", diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermCodePerm.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermCodePerm.java index 83df3352..9f5f0535 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermCodePerm.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermCodePerm.java @@ -1,5 +1,7 @@ package com.orange.demo.upms.model; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; @@ -8,8 +10,9 @@ import javax.persistence.*; * 权限字与权限资源关联实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("权限字与权限资源关联实体对象") @Data @Table(name = "zz_sys_perm_code_perm") public class SysPermCodePerm { @@ -17,6 +20,7 @@ public class SysPermCodePerm { /** * 权限字Id。 */ + @ApiModelProperty(value = "权限字Id", required = true) @Id @Column(name = "perm_code_id") private Long permCodeId; @@ -24,6 +28,7 @@ public class SysPermCodePerm { /** * 权限Id。 */ + @ApiModelProperty(value = "权限Id", required = true) @Id @Column(name = "perm_id") private Long permId; diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermModule.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermModule.java index 12152f95..40e3f399 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermModule.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermModule.java @@ -5,6 +5,8 @@ import com.orange.demo.common.core.annotation.DeletedFlagColumn; import com.orange.demo.common.core.validator.ConstDictRef; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.upms.model.constant.SysPermModuleType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; @@ -16,8 +18,9 @@ import java.util.List; * 权限模块实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("权限模块实体对象") @Data @Table(name = "zz_sys_perm_module") public class SysPermModule { @@ -25,6 +28,7 @@ public class SysPermModule { /** * 权限模块Id。 */ + @ApiModelProperty(value = "权限模块Id", required = true) @NotNull(message = "权限模块Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "module_id") @@ -33,12 +37,14 @@ public class SysPermModule { /** * 上级权限模块Id。 */ + @ApiModelProperty(value = "上级权限模块Id") @Column(name = "parent_id") private Long parentId; /** * 权限模块名称。 */ + @ApiModelProperty(value = "权限模块名称", required = true) @NotBlank(message = "权限模块名称不能为空!") @Column(name = "module_name") private String moduleName; @@ -46,6 +52,7 @@ public class SysPermModule { /** * 权限模块类型(0: 普通模块 1: Controller模块)。 */ + @ApiModelProperty(value = "权限模块类型", required = true) @NotNull(message = "模块类型不能为空!") @ConstDictRef(constDictClass = SysPermModuleType.class, message = "数据验证失败,权限模块类型为无效值!") @Column(name = "module_type") @@ -54,6 +61,7 @@ public class SysPermModule { /** * 权限模块在当前层级下的顺序,由小到大。 */ + @ApiModelProperty(value = "显示顺序", required = true) @NotNull(message = "权限模块显示顺序不能为空!") @Column(name = "show_order") private Integer showOrder; @@ -61,17 +69,20 @@ public class SysPermModule { /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") @Column(name = "create_time") private Date createTime; /** * 逻辑删除标记字段(1: 正常 -1: 已删除)。 */ + @ApiModelProperty(hidden = true) @JSONField(serialize = false) @DeletedFlagColumn @Column(name = "deleted_flag") private Integer deletedFlag; + @ApiModelProperty(hidden = true) @Transient private List sysPermList; } \ No newline at end of file diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermWhitelist.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermWhitelist.java index 9a45c1d0..cb8ae91e 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermWhitelist.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysPermWhitelist.java @@ -8,7 +8,7 @@ import javax.persistence.*; * 白名单实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Data @Table(name = "zz_sys_perm_whitelist") diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysRole.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysRole.java index f4136322..062ac683 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysRole.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysRole.java @@ -4,6 +4,8 @@ import com.alibaba.fastjson.annotation.JSONField; import com.orange.demo.common.core.annotation.DeletedFlagColumn; import com.orange.demo.common.core.annotation.RelationManyToMany; import com.orange.demo.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; @@ -15,15 +17,17 @@ import java.util.List; * 角色实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("角色实体对象") @Data @Table(name = "zz_sys_role") public class SysRole { /** - * 主键Id。 + * 角色Id。 */ + @ApiModelProperty(value = "角色Id", required = true) @NotNull(message = "角色Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "role_id") @@ -32,42 +36,49 @@ public class SysRole { /** * 角色名称。 */ + @ApiModelProperty(value = "角色名称", required = true) @NotBlank(message = "角色名称不能为空!") @Column(name = "role_name") private String roleName; /** - * 创建者。 + * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") @Column(name = "create_user_id") private Long createUserId; /** * 创建者显示名称。 */ + @ApiModelProperty(value = "创建者显示名称") @Column(name = "create_username") private String createUsername; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") @Column(name = "create_time") private Date createTime; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") @Column(name = "update_time") private Date updateTime; /** * 逻辑删除标记字段(1: 正常 -1: 已删除)。 */ + @ApiModelProperty(hidden = true) @JSONField(serialize = false) @DeletedFlagColumn @Column(name = "deleted_flag") private Integer deletedFlag; + @ApiModelProperty(hidden = true) @RelationManyToMany( relationMapperName = "sysRoleMenuMapper", relationMasterIdField = "roleId", @@ -75,9 +86,11 @@ public class SysRole { @Transient private List sysRoleMenuList; + @ApiModelProperty(value = "创建时间开始查询时间") @Transient private String createTimeStart; + @ApiModelProperty(value = "创建时间结束查询时间") @Transient private String createTimeEnd; } diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysRoleMenu.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysRoleMenu.java index b5c83400..2fda8150 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysRoleMenu.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysRoleMenu.java @@ -1,5 +1,7 @@ package com.orange.demo.upms.model; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; @@ -8,8 +10,9 @@ import javax.persistence.*; * 角色菜单实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("角色菜单实体对象") @Data @Table(name = "zz_sys_role_menu") public class SysRoleMenu { @@ -17,6 +20,7 @@ public class SysRoleMenu { /** * 角色Id。 */ + @ApiModelProperty(value = "角色Id", required = true) @Id @Column(name = "role_id") private Long roleId; @@ -24,6 +28,7 @@ public class SysRoleMenu { /** * 菜单Id。 */ + @ApiModelProperty(value = "菜单Id", required = true) @Id @Column(name = "menu_id") private Long menuId; diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysUser.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysUser.java index ca884017..52e8e811 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysUser.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysUser.java @@ -9,6 +9,8 @@ import com.orange.demo.common.core.annotation.DeletedFlagColumn; import com.orange.demo.common.core.validator.AddGroup; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.validator.ConstDictRef; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; import javax.validation.constraints.*; @@ -21,8 +23,9 @@ import java.util.List; * SysUser实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("SysUser实体对象") @Data @Table(name = "zz_sys_user") public class SysUser { @@ -30,6 +33,7 @@ public class SysUser { /** * 用户Id。 */ + @ApiModelProperty(value = "用户Id", required = true) @NotNull(message = "数据验证失败,用户Id不能为空!", groups = {UpdateGroup.class}) @Id @Column(name = "user_id") @@ -38,6 +42,7 @@ public class SysUser { /** * 登录用户名。 */ + @ApiModelProperty(value = "登录用户名", required = true) @NotBlank(message = "数据验证失败,登录用户名不能为空!") @Column(name = "login_name") private String loginName; @@ -45,12 +50,14 @@ public class SysUser { /** * 用户密码。 */ + @ApiModelProperty(value = "用户密码", required = true) @NotBlank(message = "数据验证失败,用户密码不能为空!", groups = {AddGroup.class}) private String password; /** * 用户显示名称。 */ + @ApiModelProperty(value = "用户显示名称", required = true) @NotBlank(message = "数据验证失败,用户显示名称不能为空!") @Column(name = "show_name") private String showName; @@ -58,6 +65,7 @@ public class SysUser { /** * 用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)。 */ + @ApiModelProperty(value = "用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)", required = true) @NotNull(message = "数据验证失败,用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)不能为空!") @ConstDictRef(constDictClass = SysUserType.class, message = "数据验证失败,用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)为无效值!") @Column(name = "user_type") @@ -66,12 +74,14 @@ public class SysUser { /** * 用户头像的Url。 */ + @ApiModelProperty(value = "用户头像的Url") @Column(name = "head_image_url") private String headImageUrl; /** * 用户状态(0: 正常 1: 锁定)。 */ + @ApiModelProperty(value = "用户状态(0: 正常 1: 锁定)", required = true) @NotNull(message = "数据验证失败,用户状态(0: 正常 1: 锁定)不能为空!") @ConstDictRef(constDictClass = SysUserStatus.class, message = "数据验证失败,用户状态(0: 正常 1: 锁定)为无效值!") @Column(name = "user_status") @@ -80,6 +90,7 @@ public class SysUser { /** * 逻辑删除标记字段(1: 正常 -1: 已删除)。 */ + @ApiModelProperty(hidden = true) @JSONField(serialize = false) @DeletedFlagColumn @Column(name = "deleted_flag") @@ -88,42 +99,49 @@ public class SysUser { /** * 创建用户Id。 */ + @ApiModelProperty(value = "创建用户Id") @Column(name = "create_user_id") private Long createUserId; /** * 创建用户名。 */ + @ApiModelProperty(value = "创建用户名") @Column(name = "create_username") private String createUsername; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") @Column(name = "create_time") private Date createTime; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") @Column(name = "update_time") private Date updateTime; /** * createTime 范围过滤起始值(>=)。 */ + @ApiModelProperty(value = "createTime 范围过滤起始值(>=)") @Transient private String createTimeStart; /** * createTime 范围过滤结束值(<=)。 */ + @ApiModelProperty(value = "createTime 范围过滤结束值(<=)") @Transient private String createTimeEnd; /** * 多对多用户角色数据集合。 */ + @ApiModelProperty(hidden = true) @RelationManyToMany( relationMapperName = "sysUserRoleMapper", relationMasterIdField = "userId", @@ -131,12 +149,14 @@ public class SysUser { @Transient private List sysUserRoleList; + @ApiModelProperty(hidden = true) @RelationConstDict( masterIdField = "userType", constantDictClass = SysUserType.class) @Transient private Map userTypeDictMap; + @ApiModelProperty(hidden = true) @RelationConstDict( masterIdField = "userStatus", constantDictClass = SysUserStatus.class) diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysUserRole.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysUserRole.java index 5357c6cf..df051840 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysUserRole.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/SysUserRole.java @@ -1,5 +1,7 @@ package com.orange.demo.upms.model; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.persistence.*; @@ -8,8 +10,9 @@ import javax.persistence.*; * 用户角色实体对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ +@ApiModel("用户角色实体对象") @Data @Table(name = "zz_sys_user_role") public class SysUserRole { @@ -17,6 +20,7 @@ public class SysUserRole { /** * 用户Id。 */ + @ApiModelProperty(value = "用户Id", required = true) @Id @Column(name = "user_id") private Long userId; @@ -24,6 +28,7 @@ public class SysUserRole { /** * 角色Id。 */ + @ApiModelProperty(value = "角色Id", required = true) @Id @Column(name = "role_id") private Long roleId; diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysMenuType.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysMenuType.java index 7aee6887..d87d2b98 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysMenuType.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysMenuType.java @@ -7,7 +7,7 @@ import java.util.Map; * 菜单类型常量对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class SysMenuType { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysPermCodeType.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysPermCodeType.java index ec853d52..d76a24a6 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysPermCodeType.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysPermCodeType.java @@ -7,7 +7,7 @@ import java.util.Map; * 权限字类型常量对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class SysPermCodeType { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysPermModuleType.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysPermModuleType.java index 408897f0..e2bd5693 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysPermModuleType.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysPermModuleType.java @@ -7,7 +7,7 @@ import java.util.Map; * 权限资源模块类型常量对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class SysPermModuleType { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysUserStatus.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysUserStatus.java index fb86349e..501f1beb 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysUserStatus.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysUserStatus.java @@ -7,7 +7,7 @@ import java.util.Map; * 用户状态常量字典对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class SysUserStatus { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysUserType.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysUserType.java index c5a4dd12..6958a002 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysUserType.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/model/constant/SysUserType.java @@ -7,7 +7,7 @@ import java.util.Map; * 用户类型常量字典对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class SysUserType { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysMenuService.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysMenuService.java index 93326764..cf25c06f 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysMenuService.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysMenuService.java @@ -26,7 +26,7 @@ import java.util.stream.Collectors; * 菜单数据服务类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Service public class SysMenuService extends BaseService { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermCodeService.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermCodeService.java index d3464b94..a3f92780 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermCodeService.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermCodeService.java @@ -24,7 +24,7 @@ import java.util.stream.Collectors; * 权限字数据服务类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Service public class SysPermCodeService extends BaseService { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermModuleService.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermModuleService.java index bc1a401f..3284751d 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermModuleService.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermModuleService.java @@ -18,7 +18,7 @@ import java.util.List; * 权限资源模块数据服务类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Service public class SysPermModuleService extends BaseService { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermService.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermService.java index 3b824016..5bf978ff 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermService.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermService.java @@ -30,7 +30,7 @@ import java.util.stream.Collectors; * 权限资源数据服务类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Service public class SysPermService extends BaseService { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermWhitelistService.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermWhitelistService.java index ea4994ad..d628c2c9 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermWhitelistService.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysPermWhitelistService.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Service; * 白名单中的权限资源,可以不受权限控制,任何用户皆可访问,一般用于常用的字典数据列表接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Service public class SysPermWhitelistService extends BaseService { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysRoleService.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysRoleService.java index b8c53874..2d5458ad 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysRoleService.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysRoleService.java @@ -26,7 +26,7 @@ import java.util.stream.Collectors; * 角色数据服务类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Service public class SysRoleService extends BaseService { diff --git a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysUserService.java b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysUserService.java index f372bd5e..91bcd4cd 100644 --- a/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysUserService.java +++ b/orange-demo-single-service/application/src/main/java/com/orange/demo/upms/service/SysUserService.java @@ -27,7 +27,7 @@ import java.util.stream.Collectors; * 用户管理数据操作服务类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Service public class SysUserService extends BaseService { @@ -170,7 +170,6 @@ public class SysUserService extends BaseService { if (sysUserMapper.updateByExampleSelective(deletedObject, sysUserExample) == 0) { return false; } - // 这里可继续删除关联数据。 SysUserRole userRole = new SysUserRole(); userRole.setUserId(userId); sysUserRoleMapper.delete(userRole); diff --git a/orange-demo-single-service/application/src/main/resources/application.yml b/orange-demo-single-service/application/src/main/resources/application.yml index 10a3ec07..fb8ad4fc 100644 --- a/orange-demo-single-service/application/src/main/resources/application.yml +++ b/orange-demo-single-service/application/src/main/resources/application.yml @@ -56,6 +56,15 @@ pagehelper: supportMethodsArguments: false params: count=countSql +swagger: + # 当enabled为false的时候,则可禁用swagger。 + enabled: true + # 工程的基础包名。 + basePackage: com.orange.demo + title: 橙单单体开源版 + description: 橙单单体开源版详情 + version: 1.0 + # 暴露监控端点 management: endpoints: @@ -116,8 +125,8 @@ spring: resetEnable: true application: - # Jwt令牌加密的签名值。 - tokenSigningKey: OrangeSingleDemo + # Jwt令牌加密的签名值。该值的长度要超过10个字符(过短会报错)。 + tokenSigningKey: OrangeSingleDemo-signing-key # Jwt令牌在Http Header中的键名称。 tokenHeaderKey: Authorization # Jwt令牌刷新后在Http Header中的键名称。 @@ -173,8 +182,8 @@ spring: resetEnable: true application: - # Jwt令牌加密的签名值。 - tokenSigningKey: OrangeSingleDemo + # Jwt令牌加密的签名值。该值的长度要超过10个字符(过短会报错)。 + tokenSigningKey: OrangeSingleDemo-signing-key # Jwt令牌在Http Header中的键名称。 tokenHeaderKey: Authorization # Jwt令牌刷新后在Http Header中的键名称。 diff --git a/orange-demo-single-service/application/src/main/resources/log4j2.xml b/orange-demo-single-service/application/src/main/resources/log4j2.xml index 1a4ca1f3..ab205b9e 100644 --- a/orange-demo-single-service/application/src/main/resources/log4j2.xml +++ b/orange-demo-single-service/application/src/main/resources/log4j2.xml @@ -53,6 +53,9 @@ + + + diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyControllerAdvice.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyControllerAdvice.java index 12f12863..53d7e496 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyControllerAdvice.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyControllerAdvice.java @@ -12,7 +12,7 @@ import java.util.Date; * Controller的环绕拦截类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @ControllerAdvice public class MyControllerAdvice { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyExceptionHandler.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyExceptionHandler.java index ff76cd18..eec03f49 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyExceptionHandler.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyExceptionHandler.java @@ -24,7 +24,7 @@ import java.util.concurrent.TimeoutException; * 用不同的函数,处理不同类型的异常。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Slf4j @RestControllerAdvice("com.orange.demo") diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/DeletedFlagColumn.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/DeletedFlagColumn.java index da684873..f7d0caaa 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/DeletedFlagColumn.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/DeletedFlagColumn.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 主要用于标记逻辑删除字段。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/JobUpdateTimeColumn.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/JobUpdateTimeColumn.java index 428c306f..fcf2a6e2 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/JobUpdateTimeColumn.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/JobUpdateTimeColumn.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 主要用于标记更新字段。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyDataSource.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyDataSource.java index 3c4ab9af..a8eba077 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyDataSource.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyDataSource.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 主要用于标记Service所依赖的数据源类型。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyRequestBody.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyRequestBody.java index d86bf2be..cb52d6d5 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyRequestBody.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyRequestBody.java @@ -9,7 +9,7 @@ import java.lang.annotation.Target; * 标记Controller中的方法参数,参数解析器会根据该注解将请求中的JSON数据,映射到参数中的绑定字段。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/NoAuthInterface.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/NoAuthInterface.java index 3f9832e4..54a7bdff 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/NoAuthInterface.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/NoAuthInterface.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 主要用于标记无需Token验证的接口 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationConstDict.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationConstDict.java index ff2ee6ec..658b6bdb 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationConstDict.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationConstDict.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 标识Model和常量字典之间的关联关系。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationDict.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationDict.java index 82ceba76..77dfea33 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationDict.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationDict.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 标识Model之间的字典关联关系。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToMany.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToMany.java index 079593ae..2cf58252 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToMany.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToMany.java @@ -4,9 +4,11 @@ import java.lang.annotation.*; /** * 标注多对多的Model关系。 + * 重要提示:由于多对多关联表数据,很多时候都不需要跟随主表数据返回,所以该注解不会在 + * 生成的时候自动添加到实体类字段上,需要的时候,用户可自行手动添加。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToManyAggregation.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToManyAggregation.java index bb4e9e83..25ab5f77 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToManyAggregation.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToManyAggregation.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 主要用于多对多的Model关系。标注通过从表关联字段或者关联表关联字段计算主表聚合计算字段的规则。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToManyAggregation.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToManyAggregation.java index bbc5752e..c688f6be 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToManyAggregation.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToManyAggregation.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 主要用于一对多的Model关系。标注通过从表关联字段计算主表聚合计算字段的规则。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToOne.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToOne.java index 3320de41..616843a1 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToOne.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToOne.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; * 标识Model之间的一对一关联关系。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/UploadFlagColumn.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/UploadFlagColumn.java index 945b2c24..dd308cbe 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/UploadFlagColumn.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/UploadFlagColumn.java @@ -8,7 +8,7 @@ import java.lang.annotation.*; * 用于标记支持数据上传和下载的字段。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/aop/AccessLogAspect.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/aop/AccessLogAspect.java index 15656d97..638b0d26 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/aop/AccessLogAspect.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/aop/AccessLogAspect.java @@ -24,7 +24,7 @@ import java.util.List; * 记录接口的链路traceId、请求参数、应答数据、错误信息和调用时长。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Aspect @Component diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/dao/BaseDaoMapper.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/dao/BaseDaoMapper.java index bf4b0fc3..c1e65a9d 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/dao/BaseDaoMapper.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/dao/BaseDaoMapper.java @@ -14,7 +14,7 @@ import java.util.Map; * * @param 主Model实体对象。 * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @RegisterMapper public interface BaseDaoMapper extends Mapper, InsertListMapper { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/BaseModelMapper.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/BaseModelMapper.java index cfb55b83..42be1057 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/BaseModelMapper.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/BaseModelMapper.java @@ -12,7 +12,7 @@ import java.util.stream.Collectors; * @param Domain域对象类型。 * @param Model实体对象类型。 * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface BaseModelMapper { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/DummyModelMapper.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/DummyModelMapper.java index fad3296e..541b6079 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/DummyModelMapper.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/DummyModelMapper.java @@ -8,7 +8,7 @@ import java.util.List; * * @param 数据类型。 * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class DummyModelMapper implements BaseModelMapper { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseDictService.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseDictService.java index fab8c192..66d951ab 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseDictService.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseDictService.java @@ -16,7 +16,7 @@ import java.util.List; * @param Model实体对象的类型。 * @param Model对象主键的类型。 * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Slf4j public abstract class BaseDictService extends BaseService { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseService.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseService.java index 0affabbe..57c5305b 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseService.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseService.java @@ -34,7 +34,7 @@ import static java.util.stream.Collectors.*; * @param Model对象的类型。 * @param Model对象主键的类型。 * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Slf4j public abstract class BaseService { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/CacheConfig.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/CacheConfig.java index 1b441cc6..2f7a746f 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/CacheConfig.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/CacheConfig.java @@ -15,7 +15,7 @@ import java.util.concurrent.TimeUnit; * 使用Caffeine作为本地缓存库 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Configuration @EnableCaching diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/DictionaryCache.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/DictionaryCache.java index 7dd16eae..69ee83f5 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/DictionaryCache.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/DictionaryCache.java @@ -9,7 +9,7 @@ import java.util.Set; * @param 字典表主键类型。 * @param 字典表对象类型。 * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface DictionaryCache { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapDictionaryCache.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapDictionaryCache.java index 67644aef..b14e1bd5 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapDictionaryCache.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapDictionaryCache.java @@ -9,7 +9,7 @@ import java.util.function.Function; * @param 字典表主键类型。 * @param 字典表对象类型。 * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class MapDictionaryCache implements DictionaryCache { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapTreeDictionaryCache.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapTreeDictionaryCache.java index e2168c55..9379aa88 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapTreeDictionaryCache.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapTreeDictionaryCache.java @@ -12,7 +12,7 @@ import java.util.function.Function; * @param 字典表主键类型。 * @param 字典表对象类型。 * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class MapTreeDictionaryCache extends MapDictionaryCache { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/SessionCacheHelper.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/SessionCacheHelper.java index 4923ecba..d76375e1 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/SessionCacheHelper.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/SessionCacheHelper.java @@ -13,7 +13,7 @@ import java.util.Set; * Session数据缓存辅助类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @SuppressWarnings("unchecked") @Component diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/CommonWebMvcConfig.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/CommonWebMvcConfig.java index df148b4e..992285ad 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/CommonWebMvcConfig.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/CommonWebMvcConfig.java @@ -21,7 +21,7 @@ import java.util.List; * 所有的项目拦截器、参数解析器、消息对象转换器都在这里集中配置。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Configuration public class CommonWebMvcConfig implements WebMvcConfigurer { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/EncryptConfig.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/EncryptConfig.java index 5f660da4..60a22590 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/EncryptConfig.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/EncryptConfig.java @@ -8,7 +8,7 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; * 目前用于用户密码加密,UAA接入应用客户端的client_secret加密。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Configuration public class EncryptConfig { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/RestTemplateConfig.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/RestTemplateConfig.java index 46f586b0..581bc3f1 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/RestTemplateConfig.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/RestTemplateConfig.java @@ -24,7 +24,7 @@ import java.util.List; * RestTemplate连接池配置对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Configuration public class RestTemplateConfig { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/TomcatConfig.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/TomcatConfig.java index 7fd72f64..543b7951 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/TomcatConfig.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/config/TomcatConfig.java @@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration; * tomcat配置对象。当前配置禁用了PUT和DELETE方法,防止渗透攻击。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Configuration public class TomcatConfig { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/AggregationType.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/AggregationType.java index c01eda95..efec91cb 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/AggregationType.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/AggregationType.java @@ -7,7 +7,7 @@ import java.util.Map; * 聚合计算的常量类型对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class AggregationType { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ApplicationConstant.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ApplicationConstant.java index c873483e..a02a7db9 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ApplicationConstant.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ApplicationConstant.java @@ -4,7 +4,7 @@ package com.orange.demo.common.core.constant; * 应用程序的常量声明对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class ApplicationConstant { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ErrorCodeEnum.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ErrorCodeEnum.java index 54911011..a32c522b 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ErrorCodeEnum.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ErrorCodeEnum.java @@ -4,7 +4,7 @@ package com.orange.demo.common.core.constant; * 返回应答中的错误代码和错误信息。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public enum ErrorCodeEnum { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/GlobalDeletedFlag.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/GlobalDeletedFlag.java index 94c266ab..f87266c1 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/GlobalDeletedFlag.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/GlobalDeletedFlag.java @@ -4,7 +4,7 @@ package com.orange.demo.common.core.constant; * 数据记录逻辑删除标记常量。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public final class GlobalDeletedFlag { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/DataValidationException.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/DataValidationException.java index eb7bf755..89c58c14 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/DataValidationException.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/DataValidationException.java @@ -4,7 +4,7 @@ package com.orange.demo.common.core.exception; * 数据验证失败的自定义异常。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class DataValidationException extends RuntimeException { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidClassFieldException.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidClassFieldException.java index c8e452ff..e444db0a 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidClassFieldException.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidClassFieldException.java @@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode; * 无效的类对象字段的自定义异常。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataFieldException.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataFieldException.java index a74ed300..26986d4f 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataFieldException.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataFieldException.java @@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode; * 无效的实体对象字段的自定义异常。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataModelException.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataModelException.java index f26e1ae0..0f9b6b73 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataModelException.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataModelException.java @@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode; * 无效的实体对象的自定义异常。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/MyRuntimeException.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/MyRuntimeException.java index 6a003632..347e3ba2 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/MyRuntimeException.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/MyRuntimeException.java @@ -5,7 +5,7 @@ package com.orange.demo.common.core.exception; * NOTE:主要是为了避免SonarQube进行代码质量扫描时,给出警告。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class MyRuntimeException extends RuntimeException { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataAffectException.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataAffectException.java index 14dbb448..360e5e2c 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataAffectException.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataAffectException.java @@ -4,7 +4,7 @@ package com.orange.demo.common.core.exception; * 没有数据被修改的自定义异常。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class NoDataAffectException extends RuntimeException { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataPermException.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataPermException.java index 33dba030..6d030556 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataPermException.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataPermException.java @@ -4,7 +4,7 @@ package com.orange.demo.common.core.exception; * 没有数据访问权限的自定义异常。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class NoDataPermException extends RuntimeException { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/RedisCacheAccessException.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/RedisCacheAccessException.java index e093bc90..9ae324dc 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/RedisCacheAccessException.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/RedisCacheAccessException.java @@ -4,7 +4,7 @@ package com.orange.demo.common.core.exception; * Redis缓存访问失败。比如:获取分布式数据锁超时、等待线程中断等。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class RedisCacheAccessException extends RuntimeException { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/interceptor/MyRequestArgumentResolver.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/interceptor/MyRequestArgumentResolver.java index 0b017549..e5b0e948 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/interceptor/MyRequestArgumentResolver.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/interceptor/MyRequestArgumentResolver.java @@ -29,7 +29,7 @@ import java.util.*; * 2、多个对象需要封装到一个对象里才可以用@RequestBody接收。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class MyRequestArgumentResolver implements HandlerMethodArgumentResolver { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadCachedDataListener.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadCachedDataListener.java index d6b22c5b..fb79b89f 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadCachedDataListener.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadCachedDataListener.java @@ -11,7 +11,7 @@ import java.util.Map; * 应用程序启动后的事件监听对象。主要负责加载Model之间的字典关联和一对一关联所对应的Service结构关系。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Component public class LoadCachedDataListener implements ApplicationListener { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadServiceRelationListener.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadServiceRelationListener.java index 63f3b9ff..9dae33ff 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadServiceRelationListener.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadServiceRelationListener.java @@ -11,7 +11,7 @@ import java.util.Map; * 应用程序启动后的事件监听对象。主要负责加载Model之间的字典关联和一对一关联所对应的Service结构关系。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Component public class LoadServiceRelationListener implements ApplicationListener { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/CallResult.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/CallResult.java index a9197c5a..469b4d65 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/CallResult.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/CallResult.java @@ -8,7 +8,7 @@ import lombok.Data; * 同时为了提升效率,减少查询次数,可以根据具体的需求,将部分验证关联对象存入data字段,以供Controller使用。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Data public class CallResult { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupCriteria.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupCriteria.java index 9c610493..5453efce 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupCriteria.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupCriteria.java @@ -7,7 +7,7 @@ import lombok.Data; * Mybatis Mapper.xml中所需的分组条件对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Data @AllArgsConstructor diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupParam.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupParam.java index d01fc12e..65c43758 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupParam.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupParam.java @@ -20,7 +20,7 @@ import java.util.List; * 查询分组参数请求对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @EqualsAndHashCode(callSuper = true) @Slf4j diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyOrderParam.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyOrderParam.java index d8c858da..f5174464 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyOrderParam.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyOrderParam.java @@ -18,7 +18,7 @@ import java.util.*; * Controller参数中的排序请求对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @EqualsAndHashCode(callSuper = true) @Slf4j @@ -44,6 +44,9 @@ public class MyOrderParam extends ArrayList { int i = 0; StringBuilder orderBy = new StringBuilder(128); for (OrderInfo orderInfo : orderParam) { + if (StringUtils.isBlank(orderInfo.getFieldName())) { + continue; + } OrderBaseData orderBaseData = parseOrderBaseData(orderInfo, modelClazz); if (StringUtils.isBlank(orderBaseData.tableName)) { throw new InvalidDataModelException(orderBaseData.modelName); @@ -83,9 +86,6 @@ public class MyOrderParam extends ArrayList { private static OrderBaseData parseOrderBaseData(OrderInfo orderInfo, Class modelClazz) { OrderBaseData orderBaseData = new OrderBaseData(); - if (StringUtils.isBlank(orderInfo.getFieldName())) { - return orderBaseData; - } orderBaseData.fieldName = StringUtils.substringBefore(orderInfo.fieldName, DICT_MAP); String[] stringArray = StringUtils.split(orderBaseData.fieldName, '.'); if (stringArray.length == 1) { @@ -230,7 +230,7 @@ public class MyOrderParam extends ArrayList { @Data public static class OrderInfo { /** - * Java对象的字段名。目前主要包含三种格式: + * Java对象的字段名。如果fieldName为空,则忽略跳过。目前主要包含三种格式: * 1. 简单的属性名称,如userId,将会直接映射到与其关联的数据库字段。表名为当前ModelClazz所对应的表名。 * 映射结果或为 my_main_table.user_id * 2. 字典属性名称,如userIdDictMap.id,由于仅仅支持字典中Id数据的排序,所以直接截取DictMap之前的字符串userId作为排序属性。 diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyPageData.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyPageData.java new file mode 100644 index 00000000..485944b1 --- /dev/null +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyPageData.java @@ -0,0 +1,23 @@ +package com.orange.demo.common.core.object; + +import lombok.Data; + +import java.util.List; + +/** + * 分页数据的应答返回对象。 + * + * @author Jerry + * @date 2020-09-24 + */ +@Data +public class MyPageData { + /** + * 数据列表。 + */ + private List dataList; + /** + * 数据总数量。 + */ + private Long totalCount; +} diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyPageParam.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyPageParam.java index 26e2945f..18838c97 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyPageParam.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyPageParam.java @@ -6,7 +6,7 @@ import lombok.Getter; * Controller参数中的分页请求对象 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Getter public class MyPageParam { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyRelationParam.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyRelationParam.java index 349b6863..d6e8b956 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyRelationParam.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyRelationParam.java @@ -8,7 +8,7 @@ import lombok.Data; * BaseService中的实体对象数据组装函数,会根据该参数对象进行数据组装。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Data @Builder diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyWhereCriteria.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyWhereCriteria.java index 9ae3eb49..cc533cdb 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyWhereCriteria.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyWhereCriteria.java @@ -16,7 +16,7 @@ import java.util.List; * Where中的条件语句。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Slf4j @Data diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/ResponseResult.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/ResponseResult.java index b4cab20d..71ac4b07 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/ResponseResult.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/ResponseResult.java @@ -13,7 +13,7 @@ import java.io.PrintWriter; * 接口返回对象 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Data public class ResponseResult { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/TokenData.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/TokenData.java index 3955992f..7d2ee065 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/TokenData.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/TokenData.java @@ -10,7 +10,7 @@ import javax.servlet.http.HttpServletRequest; * 基于Jwt,用于前后端传递的令牌对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Data @ToString diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/Tuple2.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/Tuple2.java index 4051c9bc..15d04ae0 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/Tuple2.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/object/Tuple2.java @@ -4,7 +4,7 @@ package com.orange.demo.common.core.object; * 二元组对象。主要用于可以一次返回多个结果的场景,同时还能避免强制转换。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class Tuple2 { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/BaseUpDownloader.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/BaseUpDownloader.java index 09696d12..9398f1fb 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/BaseUpDownloader.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/BaseUpDownloader.java @@ -19,7 +19,7 @@ import java.util.List; * 包含存储本地文件的功能,以及上传和下载所需的通用方法。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Slf4j public abstract class BaseUpDownloader { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/LocalUpDownloader.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/LocalUpDownloader.java index 7251ce18..8a060c45 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/LocalUpDownloader.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/LocalUpDownloader.java @@ -22,7 +22,7 @@ import java.util.Objects; * 存储本地文件的上传下载实现类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Slf4j @Component @@ -75,7 +75,7 @@ public class LocalUpDownloader extends BaseUpDownloader { i = bis.read(buff); } } catch (IOException e) { - log.error("Failed to call UpDownloadUtil.doDownload", e); + log.error("Failed to call LocalUpDownloader.doDownload", e); } } diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UpDownloaderFactory.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UpDownloaderFactory.java index 83693b53..03b34dce 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UpDownloaderFactory.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UpDownloaderFactory.java @@ -9,7 +9,7 @@ import java.util.Map; * 业务对象根据上传下载存储类型,获取上传下载对象的工厂类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Component public class UpDownloaderFactory { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UploadResponseInfo.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UploadResponseInfo.java index 14af24e6..81ef267c 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UploadResponseInfo.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UploadResponseInfo.java @@ -6,7 +6,7 @@ import lombok.Data; * 数据上传操作的应答信息对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Data public class UploadResponseInfo { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UploadStoreInfo.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UploadStoreInfo.java index 59fedcd0..ea873fb4 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UploadStoreInfo.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UploadStoreInfo.java @@ -6,7 +6,7 @@ import lombok.Data; * 上传数据存储信息对象。这里之所以使用对象,主要是便于今后扩展。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Data public class UploadStoreInfo { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UploadStoreTypeEnum.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UploadStoreTypeEnum.java index da382cd4..b235fed5 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UploadStoreTypeEnum.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/upload/UploadStoreTypeEnum.java @@ -4,7 +4,7 @@ package com.orange.demo.common.core.upload; * 上传数据存储介质类型枚举。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public enum UploadStoreTypeEnum { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/AopTargetUtil.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/AopTargetUtil.java index 1360ca0e..3e4624bf 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/AopTargetUtil.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/AopTargetUtil.java @@ -11,7 +11,7 @@ import java.lang.reflect.Field; * 获取JDK动态代理/CGLIB代理对象代理的目标对象的工具类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Slf4j public class AopTargetUtil { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ApplicationContextHolder.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ApplicationContextHolder.java index 69b8ef07..ab25ebe5 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ApplicationContextHolder.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ApplicationContextHolder.java @@ -10,7 +10,7 @@ import org.springframework.stereotype.Component; * Spring 系统启动应用感知对象,主要用于获取Spring Bean的上下文对象,后续的代码中可以直接查找系统中加载的Bean对象。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Component public class ApplicationContextHolder implements ApplicationContextAware { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ContextUtil.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ContextUtil.java index 7fbe68cc..b5e77a60 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ContextUtil.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ContextUtil.java @@ -10,7 +10,7 @@ import javax.servlet.http.HttpServletResponse; * 获取Servlet HttpRequest和HttpResponse的工具类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class ContextUtil { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ExportUtil.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ExportUtil.java index 36a048b7..656d1a0c 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ExportUtil.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ExportUtil.java @@ -23,7 +23,7 @@ import java.util.*; * 导出工具类,目前支持xlsx和csv两种类型。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Slf4j public class ExportUtil { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ImportUtil.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ImportUtil.java index 431dea23..425759e2 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ImportUtil.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ImportUtil.java @@ -22,7 +22,7 @@ import java.util.stream.Collectors; * 导入工具类,目前支持xlsx和csv两种类型。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Slf4j public class ImportUtil { @@ -122,7 +122,7 @@ public class ImportUtil { * @param rowIndex 当前行号。 * @param row 当前行数据列表对象。 */ - public void doImport(int rowIndex, List row) { + public void doImport(long rowIndex, List row) { if (row == null) { doProcess(batchRowList); doFinish(); diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/IpUtil.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/IpUtil.java index 64a2a0c4..d9ba9a8d 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/IpUtil.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/IpUtil.java @@ -16,7 +16,7 @@ import java.util.List; * Ip工具类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Slf4j public class IpUtil { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/JwtUtil.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/JwtUtil.java index c38c00c9..11966d0d 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/JwtUtil.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/JwtUtil.java @@ -12,7 +12,7 @@ import java.util.Map; * 基于JWT的Token生成工具类 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Slf4j public class JwtUtil { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/LogMessageUtil.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/LogMessageUtil.java index 6584df45..a806a965 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/LogMessageUtil.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/LogMessageUtil.java @@ -6,7 +6,7 @@ package com.orange.demo.common.core.util; * 提高代码的规范度和可维护性。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class LogMessageUtil { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyCommonUtil.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyCommonUtil.java index 56ec8b6a..0fa73cd5 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyCommonUtil.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyCommonUtil.java @@ -16,7 +16,7 @@ import java.util.UUID; * 脚手架中常用的基本工具方法集合,一般而言工程内部使用的方法。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class MyCommonUtil { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyDateUtil.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyDateUtil.java index e10f4168..f3c4fcc0 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyDateUtil.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyDateUtil.java @@ -16,7 +16,7 @@ import static org.joda.time.PeriodType.days; * 日期工具类,主要封装了部分joda-time中的方法,让很多代码一行完成,同时统一了日期到字符串的pattern格式。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class MyDateUtil { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyModelUtil.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyModelUtil.java index 87240f03..b164a30b 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyModelUtil.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyModelUtil.java @@ -28,7 +28,7 @@ import java.util.stream.Collectors; * 负责Model数据操作、类型转换和关系关联等行为的工具类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Slf4j public class MyModelUtil { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyPageUtil.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyPageUtil.java index 1d6b1617..13046d18 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyPageUtil.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyPageUtil.java @@ -3,6 +3,7 @@ package com.orange.demo.common.core.util; import cn.jimmyshi.beanquery.BeanQuery; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.Page; +import com.orange.demo.common.core.object.MyPageData; import java.util.List; @@ -10,7 +11,7 @@ import java.util.List; * 生成带有分页信息的数据列表 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class MyPageUtil { @@ -37,13 +38,13 @@ public class MyPageUtil { * 用户构建带有分页信息的数据列表。 * * @param dataList 数据列表,该参数必须是调用PageMethod.startPage之后,立即执行mybatis查询操作的结果集。 - * @return 返回结果集和TotalCount。 + * @return 返回分页数据对象。 */ - public static JSONObject makeResponseData(List dataList) { - JSONObject pageData = new JSONObject(); - pageData.put(DATA_LIST_LITERAL, dataList); + public static MyPageData makeResponseData(List dataList) { + MyPageData pageData = new MyPageData<>(); + pageData.setDataList(dataList); if (dataList instanceof Page) { - pageData.put(TOTAL_COUNT_LITERAL, ((Page)dataList).getTotal()); + pageData.setTotalCount(((Page)dataList).getTotal()); } return pageData; } @@ -53,13 +54,13 @@ public class MyPageUtil { * * @param dataList 数据列表,该参数必须是调用PageMethod.startPage之后,立即执行mybatis查询操作的结果集。 * @param totalCount 总数量。 - * @return 返回结果集和TotalCount。 + * @return 返回分页数据对象。 */ - public static JSONObject makeResponseData(List dataList, Long totalCount) { - JSONObject pageData = new JSONObject(); - pageData.put(DATA_LIST_LITERAL, dataList); + public static MyPageData makeResponseData(List dataList, Long totalCount) { + MyPageData pageData = new MyPageData<>(); + pageData.setDataList(dataList); if (totalCount != null) { - pageData.put(TOTAL_COUNT_LITERAL, totalCount); + pageData.setTotalCount(totalCount); } return pageData; } diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/RsaUtil.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/RsaUtil.java index 1334c744..bc161b3d 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/RsaUtil.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/RsaUtil.java @@ -15,7 +15,7 @@ import java.util.Map; * Java RSA 加密工具类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class RsaUtil { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/TreeNode.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/TreeNode.java index 0daddb2b..610beb57 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/TreeNode.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/util/TreeNode.java @@ -15,7 +15,7 @@ import java.util.function.Function; * @param 节点之间关联键的类型。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Data public class TreeNode { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/AddGroup.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/AddGroup.java index c7876b43..cfcfc4d8 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/AddGroup.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/AddGroup.java @@ -4,7 +4,7 @@ package com.orange.demo.common.core.validator; * 数据增加的验证分组。通常用于数据新增场景。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface AddGroup { } diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictRef.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictRef.java index 26a9f332..46e69d43 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictRef.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictRef.java @@ -11,7 +11,7 @@ import java.lang.annotation.Target; * 定义在Model对象中,标注字段值引用自指定的常量字典,和ConstDictRefValidator对象配合完成数据验证。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictValidator.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictValidator.java index 571a3d9e..aba63630 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictValidator.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictValidator.java @@ -10,7 +10,7 @@ import java.lang.reflect.Method; * 数据字段自定义验证,用于验证Model中字符串字段的最大长度和最小长度。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class ConstDictValidator implements ConstraintValidator { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLength.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLength.java index 02fcb138..f3c5a99a 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLength.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLength.java @@ -11,7 +11,7 @@ import java.lang.annotation.Target; * 定义在Model或Dto对象中,UTF-8编码的字符串字段长度的上限和下限,和TextLengthValidator对象配合完成数据验证。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLengthValidator.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLengthValidator.java index 1c3b9830..60f0b17b 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLengthValidator.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLengthValidator.java @@ -9,7 +9,7 @@ import javax.validation.ConstraintValidatorContext; * 数据字段自定义验证,用于验证Model中UTF-8编码的字符串字段的最大长度和最小长度。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class TextLengthValidator implements ConstraintValidator { diff --git a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/UpdateGroup.java b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/UpdateGroup.java index 07cfecf1..a61fb8f9 100644 --- a/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/UpdateGroup.java +++ b/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/UpdateGroup.java @@ -4,7 +4,7 @@ package com.orange.demo.common.core.validator; * 数据修改的验证分组。通常用于数据更新的场景。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface UpdateGroup { diff --git a/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorAutoConfigure.java b/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorAutoConfigure.java index edb6f1c7..34d738bd 100644 --- a/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorAutoConfigure.java +++ b/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorAutoConfigure.java @@ -6,7 +6,7 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties * common-sequence模块的自动配置引导类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @EnableConfigurationProperties({IdGeneratorProperties.class}) public class IdGeneratorAutoConfigure { diff --git a/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorProperties.java b/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorProperties.java index 87c92e27..5337e5ef 100644 --- a/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorProperties.java +++ b/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorProperties.java @@ -7,7 +7,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * common-sequence模块的配置类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Data @ConfigurationProperties(prefix = "sequence") diff --git a/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/BasicIdGenerator.java b/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/BasicIdGenerator.java index 7b811569..493dc130 100644 --- a/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/BasicIdGenerator.java +++ b/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/BasicIdGenerator.java @@ -9,7 +9,7 @@ import cn.hutool.core.util.IdUtil; * WorkNodeId是通过配置文件静态指定的。而SnowflakeIdGenerator的WorkNodeId是由zk生成的。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public class BasicIdGenerator implements MyIdGenerator { diff --git a/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/MyIdGenerator.java b/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/MyIdGenerator.java index 72184f41..e3dfeb4e 100644 --- a/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/MyIdGenerator.java +++ b/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/MyIdGenerator.java @@ -4,7 +4,7 @@ package com.orange.demo.common.sequence.generator; * 分布式Id生成器的统一接口。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ public interface MyIdGenerator { diff --git a/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/wrapper/IdGeneratorWrapper.java b/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/wrapper/IdGeneratorWrapper.java index 92a7ae08..0486e4d4 100644 --- a/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/wrapper/IdGeneratorWrapper.java +++ b/orange-demo-single-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/wrapper/IdGeneratorWrapper.java @@ -12,7 +12,7 @@ import javax.annotation.PostConstruct; * 分布式Id生成器的封装类。该对象可根据配置选择不同的生成器实现类。 * * @author Jerry - * @date 2020-10-19 + * @date 2020-09-24 */ @Component public class IdGeneratorWrapper { diff --git a/orange-demo-single-service/common/common-swagger/pom.xml b/orange-demo-single-service/common/common-swagger/pom.xml new file mode 100644 index 00000000..f60b7e5a --- /dev/null +++ b/orange-demo-single-service/common/common-swagger/pom.xml @@ -0,0 +1,29 @@ + + + + common + com.orange.demo + 1.0.0 + + 4.0.0 + + common-swagger + 1.0.0 + common-swagger + jar + + + + com.github.xiaoymin + knife4j-spring-boot-starter + ${knife4j.version} + + + com.orange.demo + common-core + 1.0.0 + + + \ No newline at end of file diff --git a/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/config/SwaggerAutoConfiguration.java b/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/config/SwaggerAutoConfiguration.java new file mode 100644 index 00000000..dc189501 --- /dev/null +++ b/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/config/SwaggerAutoConfiguration.java @@ -0,0 +1,56 @@ +package com.orange.demo.common.swagger.config; + +import com.orange.demo.common.core.annotation.MyRequestBody; +import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +/** + * 自动加载bean的配置对象。 + * + * @author Jerry + * @date 2020-09-24 + */ +@EnableSwagger2 +@EnableKnife4j +@EnableConfigurationProperties(SwaggerProperties.class) +@ConditionalOnProperty(prefix = "swagger", name = "enabled") +public class SwaggerAutoConfiguration { + + @Bean + public Docket upmsDocket(SwaggerProperties properties) { + return new Docket(DocumentationType.SWAGGER_2) + .groupName("1. 用户权限分组接口") + .ignoredParameterTypes(MyRequestBody.class) + .apiInfo(apiInfo(properties)) + .select() + .apis(RequestHandlerSelectors.basePackage(properties.getBasePackage() + ".upms.controller")) + .paths(PathSelectors.any()).build(); + } + + @Bean + public Docket bizDocket(SwaggerProperties properties) { + return new Docket(DocumentationType.SWAGGER_2) + .groupName("2. 业务应用分组接口") + .ignoredParameterTypes(MyRequestBody.class) + .apiInfo(apiInfo(properties)) + .select() + .apis(RequestHandlerSelectors.basePackage(properties.getBasePackage() + ".app.controller")) + .paths(PathSelectors.any()).build(); + } + + private ApiInfo apiInfo(SwaggerProperties properties) { + return new ApiInfoBuilder() + .title(properties.getTitle()) + .description(properties.getDescription()) + .version(properties.getVersion()).build(); + } +} diff --git a/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/config/SwaggerProperties.java b/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/config/SwaggerProperties.java new file mode 100644 index 00000000..290d95f5 --- /dev/null +++ b/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/config/SwaggerProperties.java @@ -0,0 +1,44 @@ +package com.orange.demo.common.swagger.config; + +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.boot.context.properties.ConfigurationProperties; + +import java.util.ArrayList; +import java.util.List; + +/** + * 配置参数对象。 + * + * @author Jerry + * @date 2020-09-24 + */ +@Data +@ConfigurationProperties("swagger") +public class SwaggerProperties { + + /** + * 是否开启Swagger。 + */ + private Boolean enabled; + + /** + * Swagger解析的基础包路径。 + **/ + private String basePackage = ""; + + /** + * ApiInfo中的标题。 + **/ + private String title = ""; + + /** + * ApiInfo中的描述信息。 + **/ + private String description = ""; + + /** + * ApiInfo中的版本信息。 + **/ + private String version = ""; +} diff --git a/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/ByteBodyUtils.java b/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/ByteBodyUtils.java new file mode 100644 index 00000000..86df1e34 --- /dev/null +++ b/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/ByteBodyUtils.java @@ -0,0 +1,85 @@ +package com.orange.demo.common.swagger.plugin; + +import cn.hutool.core.lang.Assert; +import com.orange.demo.common.core.annotation.MyRequestBody; +import com.github.xiaoymin.knife4j.core.conf.Consts; +import javassist.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import springfox.documentation.service.ResolvedMethodParameter; + +import java.util.List; + +/** + * 通过字节码方式动态创建接口参数封装对象。 + * + * @author Jerry + * @date 2020-09-24 + */ +@Slf4j +public class ByteBodyUtils { + private static final ClassPool CLASS_POOL = ClassPool.getDefault(); + + public static Class createDynamicModelClass(String name, List parameters) { + String clazzName = Consts.BASE_PACKAGE_PREFIX + name; + try { + CtClass tmp = CLASS_POOL.getCtClass(clazzName); + if (tmp != null) { + tmp.detach(); + } + } catch (NotFoundException e) { + // 需要吃掉这个异常。 + } + CtClass ctClass = CLASS_POOL.makeClass(clazzName); + try { + int fieldCount = 0; + for (ResolvedMethodParameter dynamicParameter : parameters) { + // 因为在调用这个方法之前,这些参数都包含MyRequestBody注解。 + MyRequestBody myRequestBody = + dynamicParameter.findAnnotation(MyRequestBody.class).orNull(); + Assert.notNull(myRequestBody); + String fieldName = dynamicParameter.defaultName().isPresent() + ? dynamicParameter.defaultName().get() : "parameter"; + if (StringUtils.isNotBlank(myRequestBody.value())) { + fieldName = myRequestBody.value(); + } + ctClass.addField(createField(dynamicParameter, fieldName, ctClass)); + fieldCount++; + } + if (fieldCount > 0) { + return ctClass.toClass(); + } + } catch (Throwable e) { + log.error(e.getMessage()); + } + return null; + } + + private static CtField createField(ResolvedMethodParameter parameter, String parameterName, CtClass ctClass) + throws NotFoundException, CannotCompileException { + CtField field = new CtField(getFieldType(parameter.getParameterType().getErasedType()), parameterName, ctClass); + field.setModifiers(Modifier.PUBLIC); + return field; + } + + private static CtClass getFieldType(Class propetyType) { + CtClass fieldType = null; + try { + if (!propetyType.isAssignableFrom(Void.class)) { + fieldType = CLASS_POOL.get(propetyType.getName()); + } else { + fieldType = CLASS_POOL.get(String.class.getName()); + } + } catch (NotFoundException e) { + //抛异常 + ClassClassPath path = new ClassClassPath(propetyType); + CLASS_POOL.insertClassPath(path); + try { + fieldType = CLASS_POOL.get(propetyType.getName()); + } catch (NotFoundException e1) { + log.error(e1.getMessage(), e1); + } + } + return fieldType; + } +} diff --git a/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/DynamicBodyModelPlugin.java b/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/DynamicBodyModelPlugin.java new file mode 100644 index 00000000..0f9e0d26 --- /dev/null +++ b/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/DynamicBodyModelPlugin.java @@ -0,0 +1,61 @@ +package com.orange.demo.common.swagger.plugin; + +import com.orange.demo.common.core.annotation.MyRequestBody; +import com.fasterxml.classmate.TypeResolver; +import com.google.common.base.CaseFormat; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import springfox.documentation.service.ResolvedMethodParameter; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.service.OperationModelsProviderPlugin; +import springfox.documentation.spi.service.contexts.RequestMappingContext; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 生成参数包装类的插件。 + * + * @author Jerry + * @date 2020-09-24 + */ +@Component +@Order(Ordered.HIGHEST_PRECEDENCE + 200) +@ConditionalOnProperty(prefix = "swagger", name = "enabled") +public class DynamicBodyModelPlugin implements OperationModelsProviderPlugin { + + private final TypeResolver typeResolver; + + public DynamicBodyModelPlugin(TypeResolver typeResolver) { + this.typeResolver = typeResolver; + } + + @Override + public void apply(RequestMappingContext context) { + List parameterTypes = context.getParameters(); + if (CollectionUtils.isEmpty(parameterTypes)) { + return; + } + List bodyParameter = parameterTypes.stream() + .filter(p -> p.hasParameterAnnotation(MyRequestBody.class)).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(bodyParameter)) { + return; + } + String groupName = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, context.getGroupName()); + String clazzName = groupName + StringUtils.capitalize(context.getName()); + Class clazz = ByteBodyUtils.createDynamicModelClass(clazzName, bodyParameter); + if (clazz != null) { + context.operationModelsBuilder().addInputParam(typeResolver.resolve(clazz)); + } + } + + @Override + public boolean supports(DocumentationType delimiter) { + //支持2.0版本 + return delimiter == DocumentationType.SWAGGER_2; + } +} diff --git a/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/DynamicBodyParameterBuilder.java b/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/DynamicBodyParameterBuilder.java new file mode 100644 index 00000000..fdef1c1c --- /dev/null +++ b/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/DynamicBodyParameterBuilder.java @@ -0,0 +1,64 @@ +package com.orange.demo.common.swagger.plugin; + +import com.orange.demo.common.core.annotation.MyRequestBody; +import com.google.common.base.CaseFormat; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import springfox.documentation.builders.ParameterBuilder; +import springfox.documentation.schema.ModelRef; +import springfox.documentation.service.Parameter; +import springfox.documentation.service.ResolvedMethodParameter; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.service.OperationBuilderPlugin; +import springfox.documentation.spi.service.contexts.OperationContext; +import springfox.documentation.spi.service.contexts.ParameterContext; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 构建操作接口参数对象的插件。 + * + * @author Jerry + * @date 2020-09-24 + */ +@Component +@Order(Ordered.HIGHEST_PRECEDENCE + 102) +@ConditionalOnProperty(prefix = "swagger", name = "enabled") +public class DynamicBodyParameterBuilder implements OperationBuilderPlugin { + + @Override + public void apply(OperationContext context) { + List methodParameters = context.getParameters(); + List parameters = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(methodParameters)) { + List bodyParameter = methodParameters.stream() + .filter(p -> p.hasParameterAnnotation(MyRequestBody.class)).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(bodyParameter)) { + //构造model + String groupName = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, context.getGroupName()); + String clazzName = groupName + StringUtils.capitalize(context.getName()); + ResolvedMethodParameter methodParameter = bodyParameter.get(0); + ParameterContext parameterContext = new ParameterContext(methodParameter, + new ParameterBuilder(), + context.getDocumentationContext(), + context.getGenericsNamingStrategy(), + context); + Parameter parameter = parameterContext.parameterBuilder() + .parameterType("body").modelRef(new ModelRef(clazzName)).name(clazzName).build(); + parameters.add(parameter); + } + } + context.operationBuilder().parameters(parameters); + } + + @Override + public boolean supports(DocumentationType delimiter) { + return delimiter == DocumentationType.SWAGGER_2; + } +} diff --git a/orange-demo-single-service/common/common-swagger/src/main/resources/META-INF/spring.factories b/orange-demo-single-service/common/common-swagger/src/main/resources/META-INF/spring.factories new file mode 100644 index 00000000..a7717f2b --- /dev/null +++ b/orange-demo-single-service/common/common-swagger/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.orange.demo.common.swagger.config.SwaggerAutoConfiguration \ No newline at end of file diff --git a/orange-demo-single-service/common/pom.xml b/orange-demo-single-service/common/pom.xml index 6dc41ee7..d05fda13 100644 --- a/orange-demo-single-service/common/pom.xml +++ b/orange-demo-single-service/common/pom.xml @@ -14,5 +14,6 @@ common-core common-sequence + common-swagger diff --git a/orange-demo-single-service/pom.xml b/orange-demo-single-service/pom.xml index 8a330ee4..f8dea078 100644 --- a/orange-demo-single-service/pom.xml +++ b/orange-demo-single-service/pom.xml @@ -22,9 +22,9 @@ 4.4 1.8 4.1.2 - 5.1.5 + 5.4.5 0.9.1 - 1.2.70 + 1.2.74 1.1.5 2.8.1 1.3.1.Final @@ -34,6 +34,9 @@ 1.3.7 1.2.13 2.0.0 + 2.0.5 + 2.9.2 + 1.5.21 diff --git a/orange-demo-single-service/zz-resource/db-scripts/.DS_Store b/orange-demo-single-service/zz-resource/db-scripts/.DS_Store deleted file mode 100644 index 5008ddfc..00000000 Binary files a/orange-demo-single-service/zz-resource/db-scripts/.DS_Store and /dev/null differ