commit:同步2.1版本

This commit is contained in:
Jerry
2021-12-16 21:59:51 +08:00
parent 387dc5c939
commit 1597afbfe1
383 changed files with 3014 additions and 1704 deletions

View File

@@ -1,5 +1,7 @@
### 服务接口文档 ### 服务接口文档
--- ---
- Knife4j
- 服务启动后Knife4j的文档入口地址 [http://localhost:8082/doc.html#/plus](http://localhost:8082/doc.html#/plus)
- Postman - Postman
- 无需启动服务即可将当前工程的接口导出成Postman格式。在工程的common/common-tools/模块下找到ExportApiApp文件并执行main函数。 - 无需启动服务即可将当前工程的接口导出成Postman格式。在工程的common/common-tools/模块下找到ExportApiApp文件并执行main函数。

View File

@@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.orange.demo</groupId> <groupId>com.orangeforms</groupId>
<artifactId>OrangeSingleDemo</artifactId> <artifactId>OrangeSingleDemo</artifactId>
<version>1.0.0</version> <version>1.0.0</version>
</parent> </parent>

View File

@@ -1,4 +1,4 @@
package com.orange.demo.application.common.constant; package com.orangeforms.application.common.constant;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

View File

@@ -1,4 +1,4 @@
package com.orange.demo.application.common.constant; package com.orangeforms.application.common.constant;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

View File

@@ -1,4 +1,4 @@
package com.orange.demo.application.common.constant; package com.orangeforms.application.common.constant;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

View File

@@ -1,4 +1,4 @@
package com.orange.demo.application.common.constant; package com.orangeforms.application.common.constant;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

View File

@@ -1,4 +1,4 @@
package com.orange.demo.application.common.constant; package com.orangeforms.application.common.constant;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

View File

@@ -1,4 +1,4 @@
package com.orange.demo.application.common.constant; package com.orangeforms.application.common.constant;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

View File

@@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.orange.demo</groupId> <groupId>com.orangeforms</groupId>
<artifactId>OrangeSingleDemo</artifactId> <artifactId>OrangeSingleDemo</artifactId>
<version>1.0.0</version> <version>1.0.0</version>
</parent> </parent>
@@ -16,30 +16,35 @@
<dependencies> <dependencies>
<!-- 业务组件依赖 --> <!-- 业务组件依赖 -->
<dependency> <dependency>
<groupId>com.orange.demo</groupId> <groupId>com.orangeforms</groupId>
<artifactId>common-redis</artifactId> <artifactId>common-redis</artifactId>
<version>1.0.0</version> <version>1.0.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.orange.demo</groupId> <groupId>com.orangeforms</groupId>
<artifactId>common-log</artifactId> <artifactId>common-log</artifactId>
<version>1.0.0</version> <version>1.0.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.orange.demo</groupId> <groupId>com.orangeforms</groupId>
<artifactId>common-sequence</artifactId> <artifactId>common-sequence</artifactId>
<version>1.0.0</version> <version>1.0.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.orange.demo</groupId> <groupId>com.orangeforms</groupId>
<artifactId>common-datafilter</artifactId> <artifactId>common-datafilter</artifactId>
<version>1.0.0</version> <version>1.0.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.orange.demo</groupId> <groupId>com.orangeforms</groupId>
<artifactId>application-common</artifactId> <artifactId>application-common</artifactId>
<version>1.0.0</version> <version>1.0.0</version>
</dependency> </dependency>
<dependency>
<groupId>com.orangeforms</groupId>
<artifactId>common-swagger</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@@ -1,23 +0,0 @@
package com.orange.demo.webadmin.upms.dto;
import lombok.Data;
/**
* 数据权限与部门关联Dto。
*
* @author Jerry
* @date 2020-09-24
*/
@Data
public class SysDataPermDeptDto {
/**
* 数据权限Id。
*/
private Long dataPermId;
/**
* 关联部门Id。
*/
private Long deptId;
}

View File

@@ -1,40 +0,0 @@
package com.orange.demo.webadmin.upms.dto;
import com.orange.demo.common.core.validator.UpdateGroup;
import lombok.Data;
import javax.validation.constraints.*;
/**
* SysDeptDto对象。
*
* @author Jerry
* @date 2020-09-24
*/
@Data
public class SysDeptDto {
/**
* 部门Id。
*/
@NotNull(message = "数据验证失败部门Id不能为空", groups = {UpdateGroup.class})
private Long deptId;
/**
* 部门名称。
*/
@NotBlank(message = "数据验证失败,部门名称不能为空!")
private String deptName;
/**
* 显示顺序。
*/
@NotNull(message = "数据验证失败,显示顺序不能为空!")
private Integer showOrder;
/**
* 父部门Id。
*/
private Long parentId;
}

View File

@@ -1,4 +1,4 @@
package com.orange.demo.webadmin; package com.orangeforms.webadmin;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -13,7 +13,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
*/ */
@EnableAsync @EnableAsync
@SpringBootApplication @SpringBootApplication
@ComponentScan("com.orange.demo") @ComponentScan("com.orangeforms")
public class WebAdminApplication { public class WebAdminApplication {
public static void main(String[] args) { public static void main(String[] args) {

View File

@@ -1,10 +1,11 @@
package com.orange.demo.webadmin.app.controller; package com.orangeforms.webadmin.app.controller;
import io.swagger.annotations.Api;
import cn.jimmyshi.beanquery.BeanQuery; import cn.jimmyshi.beanquery.BeanQuery;
import com.orange.demo.webadmin.app.model.AreaCode; import com.orangeforms.webadmin.app.model.AreaCode;
import com.orange.demo.webadmin.app.service.AreaCodeService; import com.orangeforms.webadmin.app.service.AreaCodeService;
import com.orange.demo.common.core.object.ResponseResult; import com.orangeforms.common.core.object.ResponseResult;
import com.orange.demo.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.annotation.MyRequestBody;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@@ -21,6 +22,7 @@ import java.util.*;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@Api(tags = "行政区划数据访问接口")
@RestController @RestController
@RequestMapping("/admin/app/areaCode") @RequestMapping("/admin/app/areaCode")
public class AreaCodeController { public class AreaCodeController {

View File

@@ -1,24 +1,26 @@
package com.orange.demo.webadmin.app.controller; package com.orangeforms.webadmin.app.controller;
import cn.jimmyshi.beanquery.BeanQuery; import cn.jimmyshi.beanquery.BeanQuery;
import cn.hutool.core.util.ReflectUtil; import cn.hutool.core.util.ReflectUtil;
import com.orange.demo.common.core.upload.BaseUpDownloader; import com.orangeforms.common.core.upload.BaseUpDownloader;
import com.orange.demo.common.core.upload.UpDownloaderFactory; import com.orangeforms.common.core.upload.UpDownloaderFactory;
import com.orange.demo.common.core.upload.UploadResponseInfo; import com.orangeforms.common.core.upload.UploadResponseInfo;
import com.orange.demo.common.core.upload.UploadStoreInfo; import com.orangeforms.common.core.upload.UploadStoreInfo;
import com.orange.demo.common.log.annotation.OperationLog; import com.orangeforms.common.log.annotation.OperationLog;
import com.orange.demo.common.log.model.constant.SysOperationLogType; import com.orangeforms.common.log.model.constant.SysOperationLogType;
import com.github.pagehelper.page.PageMethod; import com.github.pagehelper.page.PageMethod;
import com.orange.demo.webadmin.app.vo.*; import com.orangeforms.webadmin.app.vo.*;
import com.orange.demo.webadmin.app.dto.*; import com.orangeforms.webadmin.app.dto.*;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.webadmin.app.service.*; import com.orangeforms.webadmin.app.service.*;
import com.orange.demo.common.core.object.*; import com.orangeforms.common.core.object.*;
import com.orange.demo.common.core.util.*; import com.orangeforms.common.core.util.*;
import com.orange.demo.common.core.constant.*; import com.orangeforms.common.core.constant.*;
import com.orange.demo.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.annotation.MyRequestBody;
import com.orange.demo.common.redis.cache.SessionCacheHelper; import com.orangeforms.common.redis.cache.SessionCacheHelper;
import com.orange.demo.webadmin.config.ApplicationConfig; import com.orangeforms.webadmin.config.ApplicationConfig;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -33,6 +35,7 @@ import java.util.*;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@Api(tags = "课程数据管理接口")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/admin/app/course") @RequestMapping("/admin/app/course")
@@ -53,6 +56,14 @@ public class CourseController {
* @param courseDto 新增对象 * @param courseDto 新增对象
* @return 应答结果对象包含新增对象主键Id * @return 应答结果对象包含新增对象主键Id
*/ */
@ApiOperationSupport(ignoreParameters = {
"courseDto.courseId",
"courseDto.priceStart",
"courseDto.priceEnd",
"courseDto.classHourStart",
"courseDto.classHourEnd",
"courseDto.createTimeStart",
"courseDto.createTimeEnd"})
@OperationLog(type = SysOperationLogType.ADD) @OperationLog(type = SysOperationLogType.ADD)
@PostMapping("/add") @PostMapping("/add")
public ResponseResult<Long> add(@MyRequestBody CourseDto courseDto) { public ResponseResult<Long> add(@MyRequestBody CourseDto courseDto) {
@@ -64,8 +75,7 @@ public class CourseController {
// 验证关联Id的数据合法性 // 验证关联Id的数据合法性
CallResult callResult = courseService.verifyRelatedData(course, null); CallResult callResult = courseService.verifyRelatedData(course, null);
if (!callResult.isSuccess()) { if (!callResult.isSuccess()) {
errorMessage = callResult.getErrorMessage(); return ResponseResult.errorFrom(callResult);
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage);
} }
course = courseService.saveNew(course); course = courseService.saveNew(course);
return ResponseResult.success(course.getCourseId()); return ResponseResult.success(course.getCourseId());
@@ -77,6 +87,13 @@ public class CourseController {
* @param courseDto 更新对象 * @param courseDto 更新对象
* @return 应答结果对象 * @return 应答结果对象
*/ */
@ApiOperationSupport(ignoreParameters = {
"courseDto.priceStart",
"courseDto.priceEnd",
"courseDto.classHourStart",
"courseDto.classHourEnd",
"courseDto.createTimeStart",
"courseDto.createTimeEnd"})
@OperationLog(type = SysOperationLogType.UPDATE) @OperationLog(type = SysOperationLogType.UPDATE)
@PostMapping("/update") @PostMapping("/update")
public ResponseResult<Void> update(@MyRequestBody CourseDto courseDto) { public ResponseResult<Void> update(@MyRequestBody CourseDto courseDto) {
@@ -94,8 +111,7 @@ public class CourseController {
// 验证关联Id的数据合法性 // 验证关联Id的数据合法性
CallResult callResult = courseService.verifyRelatedData(course, originalCourse); CallResult callResult = courseService.verifyRelatedData(course, originalCourse);
if (!callResult.isSuccess()) { if (!callResult.isSuccess()) {
errorMessage = callResult.getErrorMessage(); return ResponseResult.errorFrom(callResult);
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage);
} }
if (!courseService.update(course, originalCourse)) { if (!courseService.update(course, originalCourse)) {
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST);

View File

@@ -1,14 +1,15 @@
package com.orange.demo.webadmin.app.controller; package com.orangeforms.webadmin.app.controller;
import com.github.pagehelper.page.PageMethod; import com.github.pagehelper.page.PageMethod;
import com.orange.demo.webadmin.app.vo.*; import com.orangeforms.webadmin.app.vo.*;
import com.orange.demo.webadmin.app.dto.*; import com.orangeforms.webadmin.app.dto.*;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.webadmin.app.service.*; import com.orangeforms.webadmin.app.service.*;
import com.orange.demo.common.core.object.*; import com.orangeforms.common.core.object.*;
import com.orange.demo.common.core.util.*; import com.orangeforms.common.core.util.*;
import com.orange.demo.common.core.constant.*; import com.orangeforms.common.core.constant.*;
import com.orange.demo.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.annotation.MyRequestBody;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -21,6 +22,7 @@ import java.util.*;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@Api(tags = "课程统计管理接口")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/admin/app/courseTransStats") @RequestMapping("/admin/app/courseTransStats")

View File

@@ -1,18 +1,20 @@
package com.orange.demo.webadmin.app.controller; package com.orangeforms.webadmin.app.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import cn.jimmyshi.beanquery.BeanQuery; import cn.jimmyshi.beanquery.BeanQuery;
import com.orange.demo.webadmin.app.dto.GradeDto; import com.orangeforms.webadmin.app.dto.GradeDto;
import com.orange.demo.webadmin.app.model.Grade; import com.orangeforms.webadmin.app.model.Grade;
import com.orange.demo.webadmin.app.service.GradeService; import com.orangeforms.webadmin.app.service.GradeService;
import com.orange.demo.common.core.constant.ErrorCodeEnum; import com.orangeforms.common.core.constant.ErrorCodeEnum;
import com.orange.demo.common.core.util.MyModelUtil; import com.orangeforms.common.core.util.MyModelUtil;
import com.orange.demo.common.core.util.MyCommonUtil; import com.orangeforms.common.core.util.MyCommonUtil;
import com.orange.demo.common.core.object.ResponseResult; import com.orangeforms.common.core.object.ResponseResult;
import com.orange.demo.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.annotation.MyRequestBody;
import com.orange.demo.common.core.validator.UpdateGroup; import com.orangeforms.common.core.validator.UpdateGroup;
import com.orange.demo.common.log.annotation.OperationLog; import com.orangeforms.common.log.annotation.OperationLog;
import com.orange.demo.common.log.model.constant.SysOperationLogType; import com.orangeforms.common.log.model.constant.SysOperationLogType;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -27,6 +29,7 @@ import java.util.*;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@Api(tags = "年级管理接口")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/admin/app/grade") @RequestMapping("/admin/app/grade")
@@ -41,6 +44,7 @@ public class GradeController {
* @param gradeDto 新增对象 * @param gradeDto 新增对象
* @return 应答结果对象包含新增对象主键Id * @return 应答结果对象包含新增对象主键Id
*/ */
@ApiOperationSupport(ignoreParameters = {"gradeDto.gradeId"})
@OperationLog(type = SysOperationLogType.ADD) @OperationLog(type = SysOperationLogType.ADD)
@PostMapping("/add") @PostMapping("/add")
public ResponseResult<Integer> add(@MyRequestBody GradeDto gradeDto) { public ResponseResult<Integer> add(@MyRequestBody GradeDto gradeDto) {

View File

@@ -1,14 +1,15 @@
package com.orange.demo.webadmin.app.controller; package com.orangeforms.webadmin.app.controller;
import com.github.pagehelper.page.PageMethod; import com.github.pagehelper.page.PageMethod;
import com.orange.demo.webadmin.app.vo.*; import com.orangeforms.webadmin.app.vo.*;
import com.orange.demo.webadmin.app.dto.*; import com.orangeforms.webadmin.app.dto.*;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.webadmin.app.service.*; import com.orangeforms.webadmin.app.service.*;
import com.orange.demo.common.core.object.*; import com.orangeforms.common.core.object.*;
import com.orange.demo.common.core.util.*; import com.orangeforms.common.core.util.*;
import com.orange.demo.common.core.constant.*; import com.orangeforms.common.core.constant.*;
import com.orange.demo.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.annotation.MyRequestBody;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -21,6 +22,7 @@ import java.util.*;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@Api(tags = "学生行为统计管理接口")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/admin/app/studentActionStats") @RequestMapping("/admin/app/studentActionStats")

View File

@@ -1,16 +1,18 @@
package com.orange.demo.webadmin.app.controller; package com.orangeforms.webadmin.app.controller;
import com.orange.demo.common.log.annotation.OperationLog; import com.orangeforms.common.log.annotation.OperationLog;
import com.orange.demo.common.log.model.constant.SysOperationLogType; import com.orangeforms.common.log.model.constant.SysOperationLogType;
import com.github.pagehelper.page.PageMethod; import com.github.pagehelper.page.PageMethod;
import com.orange.demo.webadmin.app.vo.*; import com.orangeforms.webadmin.app.vo.*;
import com.orange.demo.webadmin.app.dto.*; import com.orangeforms.webadmin.app.dto.*;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.webadmin.app.service.*; import com.orangeforms.webadmin.app.service.*;
import com.orange.demo.common.core.object.*; import com.orangeforms.common.core.object.*;
import com.orange.demo.common.core.util.*; import com.orangeforms.common.core.util.*;
import com.orange.demo.common.core.constant.*; import com.orangeforms.common.core.constant.*;
import com.orange.demo.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.annotation.MyRequestBody;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -23,6 +25,7 @@ import java.util.*;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@Api(tags = "学生行为流水管理接口")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/admin/app/studentActionTrans") @RequestMapping("/admin/app/studentActionTrans")
@@ -37,6 +40,10 @@ public class StudentActionTransController {
* @param studentActionTransDto 新增对象 * @param studentActionTransDto 新增对象
* @return 应答结果对象包含新增对象主键Id * @return 应答结果对象包含新增对象主键Id
*/ */
@ApiOperationSupport(ignoreParameters = {
"studentActionTransDto.transId",
"studentActionTransDto.createTimeStart",
"studentActionTransDto.createTimeEnd"})
@OperationLog(type = SysOperationLogType.ADD) @OperationLog(type = SysOperationLogType.ADD)
@PostMapping("/add") @PostMapping("/add")
public ResponseResult<Long> add(@MyRequestBody StudentActionTransDto studentActionTransDto) { public ResponseResult<Long> add(@MyRequestBody StudentActionTransDto studentActionTransDto) {
@@ -48,8 +55,7 @@ public class StudentActionTransController {
// 验证关联Id的数据合法性 // 验证关联Id的数据合法性
CallResult callResult = studentActionTransService.verifyRelatedData(studentActionTrans, null); CallResult callResult = studentActionTransService.verifyRelatedData(studentActionTrans, null);
if (!callResult.isSuccess()) { if (!callResult.isSuccess()) {
errorMessage = callResult.getErrorMessage(); return ResponseResult.errorFrom(callResult);
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage);
} }
studentActionTrans = studentActionTransService.saveNew(studentActionTrans); studentActionTrans = studentActionTransService.saveNew(studentActionTrans);
return ResponseResult.success(studentActionTrans.getTransId()); return ResponseResult.success(studentActionTrans.getTransId());
@@ -61,6 +67,9 @@ public class StudentActionTransController {
* @param studentActionTransDto 更新对象 * @param studentActionTransDto 更新对象
* @return 应答结果对象 * @return 应答结果对象
*/ */
@ApiOperationSupport(ignoreParameters = {
"studentActionTransDto.createTimeStart",
"studentActionTransDto.createTimeEnd"})
@OperationLog(type = SysOperationLogType.UPDATE) @OperationLog(type = SysOperationLogType.UPDATE)
@PostMapping("/update") @PostMapping("/update")
public ResponseResult<Void> update(@MyRequestBody StudentActionTransDto studentActionTransDto) { public ResponseResult<Void> update(@MyRequestBody StudentActionTransDto studentActionTransDto) {
@@ -78,8 +87,7 @@ public class StudentActionTransController {
// 验证关联Id的数据合法性 // 验证关联Id的数据合法性
CallResult callResult = studentActionTransService.verifyRelatedData(studentActionTrans, originalStudentActionTrans); CallResult callResult = studentActionTransService.verifyRelatedData(studentActionTrans, originalStudentActionTrans);
if (!callResult.isSuccess()) { if (!callResult.isSuccess()) {
errorMessage = callResult.getErrorMessage(); return ResponseResult.errorFrom(callResult);
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage);
} }
if (!studentActionTransService.update(studentActionTrans, originalStudentActionTrans)) { if (!studentActionTransService.update(studentActionTrans, originalStudentActionTrans)) {
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST);

View File

@@ -1,16 +1,18 @@
package com.orange.demo.webadmin.app.controller; package com.orangeforms.webadmin.app.controller;
import com.orange.demo.common.log.annotation.OperationLog; import com.orangeforms.common.log.annotation.OperationLog;
import com.orange.demo.common.log.model.constant.SysOperationLogType; import com.orangeforms.common.log.model.constant.SysOperationLogType;
import com.github.pagehelper.page.PageMethod; import com.github.pagehelper.page.PageMethod;
import com.orange.demo.webadmin.app.vo.*; import com.orangeforms.webadmin.app.vo.*;
import com.orange.demo.webadmin.app.dto.*; import com.orangeforms.webadmin.app.dto.*;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.webadmin.app.service.*; import com.orangeforms.webadmin.app.service.*;
import com.orange.demo.common.core.object.*; import com.orangeforms.common.core.object.*;
import com.orange.demo.common.core.util.*; import com.orangeforms.common.core.util.*;
import com.orange.demo.common.core.constant.*; import com.orangeforms.common.core.constant.*;
import com.orange.demo.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.annotation.MyRequestBody;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -24,6 +26,7 @@ import java.util.stream.Collectors;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@Api(tags = "班级数据管理接口")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/admin/app/studentClass") @RequestMapping("/admin/app/studentClass")
@@ -42,6 +45,7 @@ public class StudentClassController {
* @param studentClassDto 新增对象 * @param studentClassDto 新增对象
* @return 应答结果对象包含新增对象主键Id * @return 应答结果对象包含新增对象主键Id
*/ */
@ApiOperationSupport(ignoreParameters = {"studentClassDto.classId"})
@OperationLog(type = SysOperationLogType.ADD) @OperationLog(type = SysOperationLogType.ADD)
@PostMapping("/add") @PostMapping("/add")
public ResponseResult<Long> add(@MyRequestBody StudentClassDto studentClassDto) { public ResponseResult<Long> add(@MyRequestBody StudentClassDto studentClassDto) {
@@ -53,8 +57,7 @@ public class StudentClassController {
// 验证关联Id的数据合法性 // 验证关联Id的数据合法性
CallResult callResult = studentClassService.verifyRelatedData(studentClass, null); CallResult callResult = studentClassService.verifyRelatedData(studentClass, null);
if (!callResult.isSuccess()) { if (!callResult.isSuccess()) {
errorMessage = callResult.getErrorMessage(); return ResponseResult.errorFrom(callResult);
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage);
} }
studentClass = studentClassService.saveNew(studentClass); studentClass = studentClassService.saveNew(studentClass);
return ResponseResult.success(studentClass.getClassId()); return ResponseResult.success(studentClass.getClassId());
@@ -83,8 +86,7 @@ public class StudentClassController {
// 验证关联Id的数据合法性 // 验证关联Id的数据合法性
CallResult callResult = studentClassService.verifyRelatedData(studentClass, originalStudentClass); CallResult callResult = studentClassService.verifyRelatedData(studentClass, originalStudentClass);
if (!callResult.isSuccess()) { if (!callResult.isSuccess()) {
errorMessage = callResult.getErrorMessage(); return ResponseResult.errorFrom(callResult);
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage);
} }
if (!studentClassService.update(studentClass, originalStudentClass)) { if (!studentClassService.update(studentClass, originalStudentClass)) {
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST);
@@ -189,6 +191,7 @@ public class StudentClassController {
courseList = courseService.getNotInCourseListByClassId(classId, filter, orderBy); courseList = courseService.getNotInCourseListByClassId(classId, filter, orderBy);
} else { } else {
courseList = courseService.getCourseList(filter, orderBy); courseList = courseService.getCourseList(filter, orderBy);
courseService.buildRelationForDataList(courseList, MyRelationParam.dictOnly());
} }
return ResponseResult.success(MyPageUtil.makeResponseData(courseList, Course.INSTANCE)); return ResponseResult.success(MyPageUtil.makeResponseData(courseList, Course.INSTANCE));
} }
@@ -342,6 +345,7 @@ public class StudentClassController {
studentList = studentService.getNotInStudentListByClassId(classId, filter, orderBy); studentList = studentService.getNotInStudentListByClassId(classId, filter, orderBy);
} else { } else {
studentList = studentService.getStudentList(filter, orderBy); studentList = studentService.getStudentList(filter, orderBy);
studentService.buildRelationForDataList(studentList, MyRelationParam.dictOnly());
} }
return ResponseResult.success(MyPageUtil.makeResponseData(studentList, Student.INSTANCE)); return ResponseResult.success(MyPageUtil.makeResponseData(studentList, Student.INSTANCE));
} }
@@ -424,24 +428,4 @@ public class StudentClassController {
} }
return ResponseResult.success(); return ResponseResult.success();
} }
private String doBusinessDataVerify(
StudentClassDto studentClassDto,
boolean forUpdate,
List<ClassCourseDto> classCourseDtoList,
List<ClassStudentDto> classStudentDtoList) {
String errorMessage = MyCommonUtil.getModelValidationError(studentClassDto, forUpdate);
if (errorMessage != null) {
return errorMessage;
}
errorMessage = MyCommonUtil.getModelValidationError(classCourseDtoList);
if (errorMessage != null) {
return "参数 [classCourseDtoList] 数据验证失败" + errorMessage;
}
errorMessage = MyCommonUtil.getModelValidationError(classStudentDtoList);
if (errorMessage != null) {
return "参数 [classStudentDtoList] 数据验证失败" + errorMessage;
}
return null;
}
} }

View File

@@ -1,17 +1,19 @@
package com.orange.demo.webadmin.app.controller; package com.orangeforms.webadmin.app.controller;
import cn.jimmyshi.beanquery.BeanQuery; import cn.jimmyshi.beanquery.BeanQuery;
import com.orange.demo.common.log.annotation.OperationLog; import com.orangeforms.common.log.annotation.OperationLog;
import com.orange.demo.common.log.model.constant.SysOperationLogType; import com.orangeforms.common.log.model.constant.SysOperationLogType;
import com.github.pagehelper.page.PageMethod; import com.github.pagehelper.page.PageMethod;
import com.orange.demo.webadmin.app.vo.*; import com.orangeforms.webadmin.app.vo.*;
import com.orange.demo.webadmin.app.dto.*; import com.orangeforms.webadmin.app.dto.*;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.webadmin.app.service.*; import com.orangeforms.webadmin.app.service.*;
import com.orange.demo.common.core.object.*; import com.orangeforms.common.core.object.*;
import com.orange.demo.common.core.util.*; import com.orangeforms.common.core.util.*;
import com.orange.demo.common.core.constant.*; import com.orangeforms.common.core.constant.*;
import com.orange.demo.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.annotation.MyRequestBody;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -24,6 +26,7 @@ import java.util.*;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@Api(tags = "学生数据管理接口")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/admin/app/student") @RequestMapping("/admin/app/student")
@@ -38,6 +41,13 @@ public class StudentController {
* @param studentDto 新增对象 * @param studentDto 新增对象
* @return 应答结果对象包含新增对象主键Id * @return 应答结果对象包含新增对象主键Id
*/ */
@ApiOperationSupport(ignoreParameters = {
"studentDto.studentId",
"studentDto.searchString",
"studentDto.birthdayStart",
"studentDto.birthdayEnd",
"studentDto.registerTimeStart",
"studentDto.registerTimeEnd"})
@OperationLog(type = SysOperationLogType.ADD) @OperationLog(type = SysOperationLogType.ADD)
@PostMapping("/add") @PostMapping("/add")
public ResponseResult<Long> add(@MyRequestBody StudentDto studentDto) { public ResponseResult<Long> add(@MyRequestBody StudentDto studentDto) {
@@ -49,8 +59,7 @@ public class StudentController {
// 验证关联Id的数据合法性 // 验证关联Id的数据合法性
CallResult callResult = studentService.verifyRelatedData(student, null); CallResult callResult = studentService.verifyRelatedData(student, null);
if (!callResult.isSuccess()) { if (!callResult.isSuccess()) {
errorMessage = callResult.getErrorMessage(); return ResponseResult.errorFrom(callResult);
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage);
} }
student = studentService.saveNew(student); student = studentService.saveNew(student);
return ResponseResult.success(student.getStudentId()); return ResponseResult.success(student.getStudentId());
@@ -62,6 +71,12 @@ public class StudentController {
* @param studentDto 更新对象 * @param studentDto 更新对象
* @return 应答结果对象 * @return 应答结果对象
*/ */
@ApiOperationSupport(ignoreParameters = {
"studentDto.searchString",
"studentDto.birthdayStart",
"studentDto.birthdayEnd",
"studentDto.registerTimeStart",
"studentDto.registerTimeEnd"})
@OperationLog(type = SysOperationLogType.UPDATE) @OperationLog(type = SysOperationLogType.UPDATE)
@PostMapping("/update") @PostMapping("/update")
public ResponseResult<Void> update(@MyRequestBody StudentDto studentDto) { public ResponseResult<Void> update(@MyRequestBody StudentDto studentDto) {
@@ -79,8 +94,7 @@ public class StudentController {
// 验证关联Id的数据合法性 // 验证关联Id的数据合法性
CallResult callResult = studentService.verifyRelatedData(student, originalStudent); CallResult callResult = studentService.verifyRelatedData(student, originalStudent);
if (!callResult.isSuccess()) { if (!callResult.isSuccess()) {
errorMessage = callResult.getErrorMessage(); return ResponseResult.errorFrom(callResult);
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage);
} }
if (!studentService.update(student, originalStudent)) { if (!studentService.update(student, originalStudent)) {
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST);

View File

@@ -1,7 +1,7 @@
package com.orange.demo.webadmin.app.dao; package com.orangeforms.webadmin.app.dao;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.webadmin.app.model.AreaCode; import com.orangeforms.webadmin.app.model.AreaCode;
/** /**
* 行政区划数据操作访问接口 * 行政区划数据操作访问接口

View File

@@ -1,7 +1,7 @@
package com.orange.demo.webadmin.app.dao; package com.orangeforms.webadmin.app.dao;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.webadmin.app.model.ClassCourse; import com.orangeforms.webadmin.app.model.ClassCourse;
import java.util.*; import java.util.*;

View File

@@ -1,7 +1,7 @@
package com.orange.demo.webadmin.app.dao; package com.orangeforms.webadmin.app.dao;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.webadmin.app.model.ClassStudent; import com.orangeforms.webadmin.app.model.ClassStudent;
import java.util.*; import java.util.*;

View File

@@ -1,7 +1,7 @@
package com.orange.demo.webadmin.app.dao; package com.orangeforms.webadmin.app.dao;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.webadmin.app.model.Course; import com.orangeforms.webadmin.app.model.Course;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.*; import java.util.*;

View File

@@ -1,7 +1,7 @@
package com.orange.demo.webadmin.app.dao; package com.orangeforms.webadmin.app.dao;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.webadmin.app.model.CourseTransStats; import com.orangeforms.webadmin.app.model.CourseTransStats;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.*; import java.util.*;

View File

@@ -1,7 +1,7 @@
package com.orange.demo.webadmin.app.dao; package com.orangeforms.webadmin.app.dao;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.webadmin.app.model.Grade; import com.orangeforms.webadmin.app.model.Grade;
import java.util.*; import java.util.*;

View File

@@ -1,7 +1,7 @@
package com.orange.demo.webadmin.app.dao; package com.orangeforms.webadmin.app.dao;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.webadmin.app.model.MaterialEdition; import com.orangeforms.webadmin.app.model.MaterialEdition;
import java.util.*; import java.util.*;

View File

@@ -1,7 +1,7 @@
package com.orange.demo.webadmin.app.dao; package com.orangeforms.webadmin.app.dao;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.webadmin.app.model.StudentActionStats; import com.orangeforms.webadmin.app.model.StudentActionStats;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.*; import java.util.*;

View File

@@ -1,7 +1,7 @@
package com.orange.demo.webadmin.app.dao; package com.orangeforms.webadmin.app.dao;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.webadmin.app.model.StudentActionTrans; import com.orangeforms.webadmin.app.model.StudentActionTrans;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.*; import java.util.*;

View File

@@ -1,7 +1,7 @@
package com.orange.demo.webadmin.app.dao; package com.orangeforms.webadmin.app.dao;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.webadmin.app.model.StudentClass; import com.orangeforms.webadmin.app.model.StudentClass;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.*; import java.util.*;

View File

@@ -1,7 +1,7 @@
package com.orange.demo.webadmin.app.dao; package com.orangeforms.webadmin.app.dao;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.webadmin.app.model.Student; import com.orangeforms.webadmin.app.model.Student;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.*; import java.util.*;

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.orange.demo.webadmin.app.dao.AreaCodeMapper"> <mapper namespace="com.orangeforms.webadmin.app.dao.AreaCodeMapper">
<resultMap id="BaseResultMap" type="com.orange.demo.webadmin.app.model.AreaCode"> <resultMap id="BaseResultMap" type="com.orangeforms.webadmin.app.model.AreaCode">
<id column="area_id" jdbcType="BIGINT" property="areaId"/> <id column="area_id" jdbcType="BIGINT" property="areaId"/>
<result column="area_name" jdbcType="VARCHAR" property="areaName"/> <result column="area_name" jdbcType="VARCHAR" property="areaName"/>
<result column="area_level" jdbcType="INTEGER" property="areaLevel"/> <result column="area_level" jdbcType="INTEGER" property="areaLevel"/>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.orange.demo.webadmin.app.dao.ClassCourseMapper"> <mapper namespace="com.orangeforms.webadmin.app.dao.ClassCourseMapper">
<resultMap id="BaseResultMap" type="com.orange.demo.webadmin.app.model.ClassCourse"> <resultMap id="BaseResultMap" type="com.orangeforms.webadmin.app.model.ClassCourse">
<id column="class_id" jdbcType="BIGINT" property="classId"/> <id column="class_id" jdbcType="BIGINT" property="classId"/>
<id column="course_id" jdbcType="BIGINT" property="courseId"/> <id column="course_id" jdbcType="BIGINT" property="courseId"/>
<result column="course_order" jdbcType="TINYINT" property="courseOrder"/> <result column="course_order" jdbcType="TINYINT" property="courseOrder"/>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.orange.demo.webadmin.app.dao.ClassStudentMapper"> <mapper namespace="com.orangeforms.webadmin.app.dao.ClassStudentMapper">
<resultMap id="BaseResultMap" type="com.orange.demo.webadmin.app.model.ClassStudent"> <resultMap id="BaseResultMap" type="com.orangeforms.webadmin.app.model.ClassStudent">
<id column="class_id" jdbcType="BIGINT" property="classId"/> <id column="class_id" jdbcType="BIGINT" property="classId"/>
<id column="student_id" jdbcType="BIGINT" property="studentId"/> <id column="student_id" jdbcType="BIGINT" property="studentId"/>
</resultMap> </resultMap>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.orange.demo.webadmin.app.dao.CourseMapper"> <mapper namespace="com.orangeforms.webadmin.app.dao.CourseMapper">
<resultMap id="BaseResultMap" type="com.orange.demo.webadmin.app.model.Course"> <resultMap id="BaseResultMap" type="com.orangeforms.webadmin.app.model.Course">
<id column="course_id" jdbcType="BIGINT" property="courseId"/> <id column="course_id" jdbcType="BIGINT" property="courseId"/>
<result column="course_name" jdbcType="VARCHAR" property="courseName"/> <result column="course_name" jdbcType="VARCHAR" property="courseName"/>
<result column="price" jdbcType="DECIMAL" property="price"/> <result column="price" jdbcType="DECIMAL" property="price"/>
@@ -16,9 +16,9 @@
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/> <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap> </resultMap>
<resultMap id="BaseResultMapWithClassCourse" type="com.orange.demo.webadmin.app.model.Course" extends="BaseResultMap"> <resultMap id="BaseResultMapWithClassCourse" type="com.orangeforms.webadmin.app.model.Course" extends="BaseResultMap">
<association property="classCourse" column="course_id" foreignColumn="course_id" <association property="classCourse" column="course_id" foreignColumn="course_id"
notNullColumn="course_id" resultMap="com.orange.demo.webadmin.app.dao.ClassCourseMapper.BaseResultMap" /> notNullColumn="course_id" resultMap="com.orangeforms.webadmin.app.dao.ClassCourseMapper.BaseResultMap" />
</resultMap> </resultMap>
<insert id="insertList"> <insert id="insertList">
@@ -55,7 +55,7 @@
<!-- 如果有逻辑删除字段过滤,请写到这里 --> <!-- 如果有逻辑删除字段过滤,请写到这里 -->
<sql id="filterRef"> <sql id="filterRef">
<!-- 这里必须加上全包名否则当filterRef被其他Mapper.xml包含引用的时候就会调用Mapper.xml中的该SQL片段 --> <!-- 这里必须加上全包名否则当filterRef被其他Mapper.xml包含引用的时候就会调用Mapper.xml中的该SQL片段 -->
<include refid="com.orange.demo.webadmin.app.dao.CourseMapper.inputFilterRef"/> <include refid="com.orangeforms.webadmin.app.dao.CourseMapper.inputFilterRef"/>
</sql> </sql>
<!-- 这里仅包含调用接口输入的主表过滤条件 --> <!-- 这里仅包含调用接口输入的主表过滤条件 -->
@@ -95,7 +95,7 @@
</if> </if>
</sql> </sql>
<select id="getCourseList" resultMap="BaseResultMap" parameterType="com.orange.demo.webadmin.app.model.Course"> <select id="getCourseList" resultMap="BaseResultMap" parameterType="com.orangeforms.webadmin.app.model.Course">
SELECT * FROM zz_course SELECT * FROM zz_course
<where> <where>
<include refid="filterRef"/> <include refid="filterRef"/>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.orange.demo.webadmin.app.dao.CourseTransStatsMapper"> <mapper namespace="com.orangeforms.webadmin.app.dao.CourseTransStatsMapper">
<resultMap id="BaseResultMap" type="com.orange.demo.webadmin.app.model.CourseTransStats"> <resultMap id="BaseResultMap" type="com.orangeforms.webadmin.app.model.CourseTransStats">
<id column="stats_id" jdbcType="BIGINT" property="statsId"/> <id column="stats_id" jdbcType="BIGINT" property="statsId"/>
<result column="stats_date" jdbcType="DATE" property="statsDate"/> <result column="stats_date" jdbcType="DATE" property="statsDate"/>
<result column="subject_id" jdbcType="TINYINT" property="subjectId"/> <result column="subject_id" jdbcType="TINYINT" property="subjectId"/>
@@ -44,7 +44,7 @@
<!-- 如果有逻辑删除字段过滤,请写到这里 --> <!-- 如果有逻辑删除字段过滤,请写到这里 -->
<sql id="filterRef"> <sql id="filterRef">
<!-- 这里必须加上全包名否则当filterRef被其他Mapper.xml包含引用的时候就会调用Mapper.xml中的该SQL片段 --> <!-- 这里必须加上全包名否则当filterRef被其他Mapper.xml包含引用的时候就会调用Mapper.xml中的该SQL片段 -->
<include refid="com.orange.demo.webadmin.app.dao.CourseTransStatsMapper.inputFilterRef"/> <include refid="com.orangeforms.webadmin.app.dao.CourseTransStatsMapper.inputFilterRef"/>
</sql> </sql>
<!-- 这里仅包含调用接口输入的主表过滤条件 --> <!-- 这里仅包含调用接口输入的主表过滤条件 -->
@@ -65,7 +65,7 @@
</if> </if>
</sql> </sql>
<select id="getGroupedCourseTransStatsList" resultMap="BaseResultMap" parameterType="com.orange.demo.webadmin.app.model.CourseTransStats"> <select id="getGroupedCourseTransStatsList" resultMap="BaseResultMap" parameterType="com.orangeforms.webadmin.app.model.CourseTransStats">
SELECT * FROM SELECT * FROM
(SELECT (SELECT
SUM(student_attend_count) student_attend_count, SUM(student_attend_count) student_attend_count,
@@ -82,7 +82,7 @@
</if> </if>
</select> </select>
<select id="getCourseTransStatsList" resultMap="BaseResultMap" parameterType="com.orange.demo.webadmin.app.model.CourseTransStats"> <select id="getCourseTransStatsList" resultMap="BaseResultMap" parameterType="com.orangeforms.webadmin.app.model.CourseTransStats">
SELECT * FROM zz_course_trans_stats SELECT * FROM zz_course_trans_stats
<where> <where>
<include refid="filterRef"/> <include refid="filterRef"/>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.orange.demo.webadmin.app.dao.GradeMapper"> <mapper namespace="com.orangeforms.webadmin.app.dao.GradeMapper">
<resultMap id="BaseResultMap" type="com.orange.demo.webadmin.app.model.Grade"> <resultMap id="BaseResultMap" type="com.orangeforms.webadmin.app.model.Grade">
<id column="grade_id" jdbcType="INTEGER" property="gradeId"/> <id column="grade_id" jdbcType="INTEGER" property="gradeId"/>
<result column="grade_name" jdbcType="VARCHAR" property="gradeName"/> <result column="grade_name" jdbcType="VARCHAR" property="gradeName"/>
<result column="status" jdbcType="INTEGER" property="status"/> <result column="status" jdbcType="INTEGER" property="status"/>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.orange.demo.webadmin.app.dao.MaterialEditionMapper"> <mapper namespace="com.orangeforms.webadmin.app.dao.MaterialEditionMapper">
<resultMap id="BaseResultMap" type="com.orange.demo.webadmin.app.model.MaterialEdition"> <resultMap id="BaseResultMap" type="com.orangeforms.webadmin.app.model.MaterialEdition">
<id column="edition_id" jdbcType="INTEGER" property="editionId"/> <id column="edition_id" jdbcType="INTEGER" property="editionId"/>
<result column="edition_name" jdbcType="VARCHAR" property="editionName"/> <result column="edition_name" jdbcType="VARCHAR" property="editionName"/>
<result column="status" jdbcType="INTEGER" property="status"/> <result column="status" jdbcType="INTEGER" property="status"/>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.orange.demo.webadmin.app.dao.StudentActionStatsMapper"> <mapper namespace="com.orangeforms.webadmin.app.dao.StudentActionStatsMapper">
<resultMap id="BaseResultMap" type="com.orange.demo.webadmin.app.model.StudentActionStats"> <resultMap id="BaseResultMap" type="com.orangeforms.webadmin.app.model.StudentActionStats">
<id column="stats_id" jdbcType="BIGINT" property="statsId"/> <id column="stats_id" jdbcType="BIGINT" property="statsId"/>
<result column="stats_date" jdbcType="DATE" property="statsDate"/> <result column="stats_date" jdbcType="DATE" property="statsDate"/>
<result column="stats_month" jdbcType="DATE" property="statsMonth"/> <result column="stats_month" jdbcType="DATE" property="statsMonth"/>
@@ -77,7 +77,7 @@
<!-- 如果有逻辑删除字段过滤,请写到这里 --> <!-- 如果有逻辑删除字段过滤,请写到这里 -->
<sql id="filterRef"> <sql id="filterRef">
<!-- 这里必须加上全包名否则当filterRef被其他Mapper.xml包含引用的时候就会调用Mapper.xml中的该SQL片段 --> <!-- 这里必须加上全包名否则当filterRef被其他Mapper.xml包含引用的时候就会调用Mapper.xml中的该SQL片段 -->
<include refid="com.orange.demo.webadmin.app.dao.StudentActionStatsMapper.inputFilterRef"/> <include refid="com.orangeforms.webadmin.app.dao.StudentActionStatsMapper.inputFilterRef"/>
</sql> </sql>
<!-- 这里仅包含调用接口输入的主表过滤条件 --> <!-- 这里仅包含调用接口输入的主表过滤条件 -->
@@ -101,7 +101,7 @@
</if> </if>
</sql> </sql>
<select id="getGroupedStudentActionStatsList" resultMap="BaseResultMap" parameterType="com.orange.demo.webadmin.app.model.StudentActionStats"> <select id="getGroupedStudentActionStatsList" resultMap="BaseResultMap" parameterType="com.orangeforms.webadmin.app.model.StudentActionStats">
SELECT * FROM SELECT * FROM
(SELECT (SELECT
SUM(buy_course_amount) buy_course_amount, SUM(buy_course_amount) buy_course_amount,
@@ -130,7 +130,7 @@
</if> </if>
</select> </select>
<select id="getStudentActionStatsList" resultMap="BaseResultMap" parameterType="com.orange.demo.webadmin.app.model.StudentActionStats"> <select id="getStudentActionStatsList" resultMap="BaseResultMap" parameterType="com.orangeforms.webadmin.app.model.StudentActionStats">
SELECT * FROM zz_student_action_stats SELECT * FROM zz_student_action_stats
<where> <where>
<include refid="filterRef"/> <include refid="filterRef"/>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.orange.demo.webadmin.app.dao.StudentActionTransMapper"> <mapper namespace="com.orangeforms.webadmin.app.dao.StudentActionTransMapper">
<resultMap id="BaseResultMap" type="com.orange.demo.webadmin.app.model.StudentActionTrans"> <resultMap id="BaseResultMap" type="com.orangeforms.webadmin.app.model.StudentActionTrans">
<id column="trans_id" jdbcType="BIGINT" property="transId"/> <id column="trans_id" jdbcType="BIGINT" property="transId"/>
<result column="student_id" jdbcType="BIGINT" property="studentId"/> <result column="student_id" jdbcType="BIGINT" property="studentId"/>
<result column="student_name" jdbcType="VARCHAR" property="studentName"/> <result column="student_name" jdbcType="VARCHAR" property="studentName"/>
@@ -59,7 +59,7 @@
<!-- 如果有逻辑删除字段过滤,请写到这里 --> <!-- 如果有逻辑删除字段过滤,请写到这里 -->
<sql id="filterRef"> <sql id="filterRef">
<!-- 这里必须加上全包名否则当filterRef被其他Mapper.xml包含引用的时候就会调用Mapper.xml中的该SQL片段 --> <!-- 这里必须加上全包名否则当filterRef被其他Mapper.xml包含引用的时候就会调用Mapper.xml中的该SQL片段 -->
<include refid="com.orange.demo.webadmin.app.dao.StudentActionTransMapper.inputFilterRef"/> <include refid="com.orangeforms.webadmin.app.dao.StudentActionTransMapper.inputFilterRef"/>
</sql> </sql>
<!-- 这里仅包含调用接口输入的主表过滤条件 --> <!-- 这里仅包含调用接口输入的主表过滤条件 -->
@@ -89,7 +89,7 @@
</if> </if>
</sql> </sql>
<select id="getStudentActionTransList" resultMap="BaseResultMap" parameterType="com.orange.demo.webadmin.app.model.StudentActionTrans"> <select id="getStudentActionTransList" resultMap="BaseResultMap" parameterType="com.orangeforms.webadmin.app.model.StudentActionTrans">
SELECT * FROM zz_student_action_trans SELECT * FROM zz_student_action_trans
<where> <where>
<include refid="filterRef"/> <include refid="filterRef"/>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.orange.demo.webadmin.app.dao.StudentClassMapper"> <mapper namespace="com.orangeforms.webadmin.app.dao.StudentClassMapper">
<resultMap id="BaseResultMap" type="com.orange.demo.webadmin.app.model.StudentClass"> <resultMap id="BaseResultMap" type="com.orangeforms.webadmin.app.model.StudentClass">
<id column="class_id" jdbcType="BIGINT" property="classId"/> <id column="class_id" jdbcType="BIGINT" property="classId"/>
<result column="class_name" jdbcType="VARCHAR" property="className"/> <result column="class_name" jdbcType="VARCHAR" property="className"/>
<result column="school_id" jdbcType="BIGINT" property="schoolId"/> <result column="school_id" jdbcType="BIGINT" property="schoolId"/>
@@ -41,8 +41,8 @@
<!-- 如果有逻辑删除字段过滤,请写到这里 --> <!-- 如果有逻辑删除字段过滤,请写到这里 -->
<sql id="filterRef"> <sql id="filterRef">
<!-- 这里必须加上全包名否则当filterRef被其他Mapper.xml包含引用的时候就会调用Mapper.xml中的该SQL片段 --> <!-- 这里必须加上全包名否则当filterRef被其他Mapper.xml包含引用的时候就会调用Mapper.xml中的该SQL片段 -->
<include refid="com.orange.demo.webadmin.app.dao.StudentClassMapper.inputFilterRef"/> <include refid="com.orangeforms.webadmin.app.dao.StudentClassMapper.inputFilterRef"/>
AND zz_class.status = ${@com.orange.demo.common.core.constant.GlobalDeletedFlag@NORMAL} AND zz_class.status = ${@com.orangeforms.common.core.constant.GlobalDeletedFlag@NORMAL}
</sql> </sql>
<!-- 这里仅包含调用接口输入的主表过滤条件 --> <!-- 这里仅包含调用接口输入的主表过滤条件 -->
@@ -60,7 +60,7 @@
</if> </if>
</sql> </sql>
<select id="getStudentClassList" resultMap="BaseResultMap" parameterType="com.orange.demo.webadmin.app.model.StudentClass"> <select id="getStudentClassList" resultMap="BaseResultMap" parameterType="com.orangeforms.webadmin.app.model.StudentClass">
SELECT * FROM zz_class SELECT * FROM zz_class
<where> <where>
<include refid="filterRef"/> <include refid="filterRef"/>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.orange.demo.webadmin.app.dao.StudentMapper"> <mapper namespace="com.orangeforms.webadmin.app.dao.StudentMapper">
<resultMap id="BaseResultMap" type="com.orange.demo.webadmin.app.model.Student"> <resultMap id="BaseResultMap" type="com.orangeforms.webadmin.app.model.Student">
<id column="student_id" jdbcType="BIGINT" property="studentId"/> <id column="student_id" jdbcType="BIGINT" property="studentId"/>
<result column="login_mobile" jdbcType="VARCHAR" property="loginMobile"/> <result column="login_mobile" jdbcType="VARCHAR" property="loginMobile"/>
<result column="student_name" jdbcType="VARCHAR" property="studentName"/> <result column="student_name" jdbcType="VARCHAR" property="studentName"/>
@@ -59,7 +59,7 @@
<!-- 如果有逻辑删除字段过滤,请写到这里 --> <!-- 如果有逻辑删除字段过滤,请写到这里 -->
<sql id="filterRef"> <sql id="filterRef">
<!-- 这里必须加上全包名否则当filterRef被其他Mapper.xml包含引用的时候就会调用Mapper.xml中的该SQL片段 --> <!-- 这里必须加上全包名否则当filterRef被其他Mapper.xml包含引用的时候就会调用Mapper.xml中的该SQL片段 -->
<include refid="com.orange.demo.webadmin.app.dao.StudentMapper.inputFilterRef"/> <include refid="com.orangeforms.webadmin.app.dao.StudentMapper.inputFilterRef"/>
</sql> </sql>
<!-- 这里仅包含调用接口输入的主表过滤条件 --> <!-- 这里仅包含调用接口输入的主表过滤条件 -->
@@ -102,7 +102,7 @@
</if> </if>
</sql> </sql>
<select id="getStudentList" resultMap="BaseResultMap" parameterType="com.orange.demo.webadmin.app.model.Student"> <select id="getStudentList" resultMap="BaseResultMap" parameterType="com.orangeforms.webadmin.app.model.Student">
SELECT * FROM zz_student SELECT * FROM zz_student
<where> <where>
<include refid="filterRef"/> <include refid="filterRef"/>

View File

@@ -1,7 +1,9 @@
package com.orange.demo.webadmin.app.dto; package com.orangeforms.webadmin.app.dto;
import com.orange.demo.common.core.validator.UpdateGroup; import com.orangeforms.common.core.validator.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@@ -12,24 +14,28 @@ import javax.validation.constraints.*;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("ClassCourseDto对象")
@Data @Data
public class ClassCourseDto { public class ClassCourseDto {
/** /**
* 班级Id * 班级Id
*/ */
@ApiModelProperty(value = "班级Id", required = true)
@NotNull(message = "数据验证失败班级Id不能为空", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败班级Id不能为空", groups = {UpdateGroup.class})
private Long classId; private Long classId;
/** /**
* 课程Id * 课程Id
*/ */
@ApiModelProperty(value = "课程Id", required = true)
@NotNull(message = "数据验证失败课程Id不能为空", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败课程Id不能为空", groups = {UpdateGroup.class})
private Long courseId; private Long courseId;
/** /**
* 课程顺序(数值越小越靠前) * 课程顺序(数值越小越靠前)
*/ */
@ApiModelProperty(value = "课程顺序(数值越小越靠前)", required = true)
@NotNull(message = "数据验证失败,课程顺序(数值越小越靠前)不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,课程顺序(数值越小越靠前)不能为空!", groups = {UpdateGroup.class})
private Integer courseOrder; private Integer courseOrder;
} }

View File

@@ -1,7 +1,9 @@
package com.orange.demo.webadmin.app.dto; package com.orangeforms.webadmin.app.dto;
import com.orange.demo.common.core.validator.UpdateGroup; import com.orangeforms.common.core.validator.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@@ -12,18 +14,21 @@ import javax.validation.constraints.*;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("ClassStudentDto对象")
@Data @Data
public class ClassStudentDto { public class ClassStudentDto {
/** /**
* 班级Id * 班级Id
*/ */
@ApiModelProperty(value = "班级Id", required = true)
@NotNull(message = "数据验证失败班级Id不能为空", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败班级Id不能为空", groups = {UpdateGroup.class})
private Long classId; private Long classId;
/** /**
* 学生Id * 学生Id
*/ */
@ApiModelProperty(value = "学生Id", required = true)
@NotNull(message = "数据验证失败学生Id不能为空", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败学生Id不能为空", groups = {UpdateGroup.class})
private Long studentId; private Long studentId;
} }

View File

@@ -1,15 +1,18 @@
package com.orange.demo.webadmin.app.dto; package com.orangeforms.webadmin.app.dto;
import com.orange.demo.common.core.validator.UpdateGroup; import com.orangeforms.common.core.validator.UpdateGroup;
import com.orange.demo.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.ConstDictRef;
import com.orange.demo.webadmin.app.model.constant.CourseDifficult; import com.orangeforms.webadmin.app.model.constant.CourseDifficult;
import com.orange.demo.application.common.constant.Subject; import com.orangeforms.application.common.constant.Subject;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.*; import javax.validation.constraints.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/** /**
* CourseDto对象 * CourseDto对象
@@ -17,35 +20,41 @@ import java.math.BigDecimal;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("CourseDto对象")
@Data @Data
public class CourseDto { public class CourseDto {
/** /**
* 主键Id * 主键Id
*/ */
@ApiModelProperty(value = "主键Id", required = true)
@NotNull(message = "数据验证失败主键Id不能为空", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败主键Id不能为空", groups = {UpdateGroup.class})
private Long courseId; private Long courseId;
/** /**
* 课程名称 * 课程名称
*/ */
@ApiModelProperty(value = "课程名称", required = true)
@NotBlank(message = "数据验证失败,课程名称不能为空!") @NotBlank(message = "数据验证失败,课程名称不能为空!")
private String courseName; private String courseName;
/** /**
* 课程价格 * 课程价格
*/ */
@ApiModelProperty(value = "课程价格", required = true)
@NotNull(message = "数据验证失败,课程价格不能为空!") @NotNull(message = "数据验证失败,课程价格不能为空!")
private BigDecimal price; private BigDecimal price;
/** /**
* 课程描述 * 课程描述
*/ */
@ApiModelProperty(value = "课程描述")
private String description; private String description;
/** /**
* 课程难度(0: 容易 1: 普通 2: 很难) * 课程难度(0: 容易 1: 普通 2: 很难)
*/ */
@ApiModelProperty(value = "课程难度(0: 容易 1: 普通 2: 很难)", required = true)
@NotNull(message = "数据验证失败,课程难度不能为空!") @NotNull(message = "数据验证失败,课程难度不能为空!")
@ConstDictRef(constDictClass = CourseDifficult.class, message = "数据验证失败,课程难度为无效值!") @ConstDictRef(constDictClass = CourseDifficult.class, message = "数据验证失败,课程难度为无效值!")
private Integer difficulty; private Integer difficulty;
@@ -53,12 +62,14 @@ public class CourseDto {
/** /**
* 年级Id * 年级Id
*/ */
@ApiModelProperty(value = "年级Id", required = true)
@NotNull(message = "数据验证失败,所属年级不能为空!") @NotNull(message = "数据验证失败,所属年级不能为空!")
private Integer gradeId; private Integer gradeId;
/** /**
* 学科Id * 学科Id
*/ */
@ApiModelProperty(value = "学科Id", required = true)
@NotNull(message = "数据验证失败,所属学科不能为空!") @NotNull(message = "数据验证失败,所属学科不能为空!")
@ConstDictRef(constDictClass = Subject.class, message = "数据验证失败,所属学科为无效值!") @ConstDictRef(constDictClass = Subject.class, message = "数据验证失败,所属学科为无效值!")
private Integer subjectId; private Integer subjectId;
@@ -66,42 +77,68 @@ public class CourseDto {
/** /**
* 课时数量 * 课时数量
*/ */
@ApiModelProperty(value = "课时数量", required = true)
@NotNull(message = "数据验证失败,课时数量不能为空!") @NotNull(message = "数据验证失败,课时数量不能为空!")
private Integer classHour; private Integer classHour;
/** /**
* 多张课程图片地址 * 多张课程图片地址
*/ */
@ApiModelProperty(value = "多张课程图片地址", required = true)
@NotBlank(message = "数据验证失败,课程图片不能为空!") @NotBlank(message = "数据验证失败,课程图片不能为空!")
private String pictureUrl; private String pictureUrl;
/**
* 创建用户Id
*/
@ApiModelProperty(value = "创建用户Id")
private Long createUserId;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 最后修改时间
*/
@ApiModelProperty(value = "最后修改时间")
private Date updateTime;
/** /**
* price 范围过滤起始值(>=) * price 范围过滤起始值(>=)
*/ */
@ApiModelProperty(value = "price 范围过滤起始值(>=)")
private BigDecimal priceStart; private BigDecimal priceStart;
/** /**
* price 范围过滤结束值(<=) * price 范围过滤结束值(<=)
*/ */
@ApiModelProperty(value = "price 范围过滤结束值(<=)")
private BigDecimal priceEnd; private BigDecimal priceEnd;
/** /**
* classHour 范围过滤起始值(>=) * classHour 范围过滤起始值(>=)
*/ */
@ApiModelProperty(value = "classHour 范围过滤起始值(>=)")
private Integer classHourStart; private Integer classHourStart;
/** /**
* classHour 范围过滤结束值(<=) * classHour 范围过滤结束值(<=)
*/ */
@ApiModelProperty(value = "classHour 范围过滤结束值(<=)")
private Integer classHourEnd; private Integer classHourEnd;
/** /**
* createTime 范围过滤起始值(>=) * createTime 范围过滤起始值(>=)
*/ */
@ApiModelProperty(value = "createTime 范围过滤起始值(>=)")
private String createTimeStart; private String createTimeStart;
/** /**
* createTime 范围过滤结束值(<=) * createTime 范围过滤结束值(<=)
*/ */
@ApiModelProperty(value = "createTime 范围过滤结束值(<=)")
private String createTimeEnd; private String createTimeEnd;
} }

View File

@@ -1,9 +1,11 @@
package com.orange.demo.webadmin.app.dto; package com.orangeforms.webadmin.app.dto;
import com.orange.demo.common.core.validator.UpdateGroup; import com.orangeforms.common.core.validator.UpdateGroup;
import com.orange.demo.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.ConstDictRef;
import com.orange.demo.application.common.constant.Subject; import com.orangeforms.application.common.constant.Subject;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@@ -16,24 +18,28 @@ import java.util.Date;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("CourseTransStatsDto对象")
@Data @Data
public class CourseTransStatsDto { public class CourseTransStatsDto {
/** /**
* 主键Id * 主键Id
*/ */
@ApiModelProperty(value = "主键Id", required = true)
@NotNull(message = "数据验证失败主键Id不能为空", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败主键Id不能为空", groups = {UpdateGroup.class})
private Long statsId; private Long statsId;
/** /**
* 统计日期 * 统计日期
*/ */
@ApiModelProperty(value = "统计日期", required = true)
@NotNull(message = "数据验证失败,统计日期不能为空!") @NotNull(message = "数据验证失败,统计日期不能为空!")
private Date statsDate; private Date statsDate;
/** /**
* 科目Id * 科目Id
*/ */
@ApiModelProperty(value = "科目Id", required = true)
@NotNull(message = "数据验证失败,所属科目不能为空!") @NotNull(message = "数据验证失败,所属科目不能为空!")
@ConstDictRef(constDictClass = Subject.class, message = "数据验证失败,所属科目为无效值!") @ConstDictRef(constDictClass = Subject.class, message = "数据验证失败,所属科目为无效值!")
private Integer subjectId; private Integer subjectId;
@@ -41,50 +47,59 @@ public class CourseTransStatsDto {
/** /**
* 年级Id * 年级Id
*/ */
@ApiModelProperty(value = "年级Id", required = true)
@NotNull(message = "数据验证失败,所属年级不能为空!") @NotNull(message = "数据验证失败,所属年级不能为空!")
private Integer gradeId; private Integer gradeId;
/** /**
* 年级名称 * 年级名称
*/ */
@ApiModelProperty(value = "年级名称")
private String gradeName; private String gradeName;
/** /**
* 课程Id * 课程Id
*/ */
@ApiModelProperty(value = "课程Id", required = true)
@NotNull(message = "数据验证失败课程Id不能为空") @NotNull(message = "数据验证失败课程Id不能为空")
private Long courseId; private Long courseId;
/** /**
* 课程名称 * 课程名称
*/ */
@ApiModelProperty(value = "课程名称")
private String courseName; private String courseName;
/** /**
* 学生上课次数 * 学生上课次数
*/ */
@ApiModelProperty(value = "学生上课次数", required = true)
@NotNull(message = "数据验证失败,上课次数不能为空!") @NotNull(message = "数据验证失败,上课次数不能为空!")
private Integer studentAttendCount; private Integer studentAttendCount;
/** /**
* 学生献花数量 * 学生献花数量
*/ */
@ApiModelProperty(value = "学生献花数量", required = true)
@NotNull(message = "数据验证失败,献花数量不能为空!") @NotNull(message = "数据验证失败,献花数量不能为空!")
private Integer studentFlowerAmount; private Integer studentFlowerAmount;
/** /**
* 学生献花次数 * 学生献花次数
*/ */
@ApiModelProperty(value = "学生献花次数", required = true)
@NotNull(message = "数据验证失败,献花次数不能为空!") @NotNull(message = "数据验证失败,献花次数不能为空!")
private Integer studentFlowerCount; private Integer studentFlowerCount;
/** /**
* statsDate 范围过滤起始值(>=) * statsDate 范围过滤起始值(>=)
*/ */
@ApiModelProperty(value = "statsDate 范围过滤起始值(>=)")
private String statsDateStart; private String statsDateStart;
/** /**
* statsDate 范围过滤结束值(<=) * statsDate 范围过滤结束值(<=)
*/ */
@ApiModelProperty(value = "statsDate 范围过滤结束值(<=)")
private String statsDateEnd; private String statsDateEnd;
} }

View File

@@ -1,7 +1,9 @@
package com.orange.demo.webadmin.app.dto; package com.orangeforms.webadmin.app.dto;
import com.orange.demo.common.core.validator.UpdateGroup; import com.orangeforms.common.core.validator.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@@ -12,18 +14,21 @@ import javax.validation.constraints.*;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("GradeDto对象")
@Data @Data
public class GradeDto { public class GradeDto {
/** /**
* 主键Id * 主键Id
*/ */
@ApiModelProperty(value = "主键Id", required = true)
@NotNull(message = "数据验证失败主键Id不能为空", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败主键Id不能为空", groups = {UpdateGroup.class})
private Integer gradeId; private Integer gradeId;
/** /**
* 年级名称 * 年级名称
*/ */
@ApiModelProperty(value = "年级名称", required = true)
@NotBlank(message = "数据验证失败,年级名称不能为空!") @NotBlank(message = "数据验证失败,年级名称不能为空!")
private String gradeName; private String gradeName;
} }

View File

@@ -1,7 +1,9 @@
package com.orange.demo.webadmin.app.dto; package com.orangeforms.webadmin.app.dto;
import com.orange.demo.common.core.validator.UpdateGroup; import com.orangeforms.common.core.validator.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@@ -14,141 +16,165 @@ import java.util.Date;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("StudentActionStatsDto对象")
@Data @Data
public class StudentActionStatsDto { public class StudentActionStatsDto {
/** /**
* 主键Id * 主键Id
*/ */
@ApiModelProperty(value = "主键Id", required = true)
@NotNull(message = "数据验证失败主键Id不能为空", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败主键Id不能为空", groups = {UpdateGroup.class})
private Long statsId; private Long statsId;
/** /**
* 统计日期 * 统计日期
*/ */
@ApiModelProperty(value = "统计日期", required = true)
@NotNull(message = "数据验证失败,统计日期不能为空!") @NotNull(message = "数据验证失败,统计日期不能为空!")
private Date statsDate; private Date statsDate;
/** /**
* 统计小时 * 统计小时
*/ */
@ApiModelProperty(value = "统计小时")
private Date statsMonth; private Date statsMonth;
/** /**
* 年级Id * 年级Id
*/ */
@ApiModelProperty(value = "年级Id", required = true)
@NotNull(message = "数据验证失败,所属年级不能为空!") @NotNull(message = "数据验证失败,所属年级不能为空!")
private Integer gradeId; private Integer gradeId;
/** /**
* 学生所在省Id * 学生所在省Id
*/ */
@ApiModelProperty(value = "学生所在省Id", required = true)
@NotNull(message = "数据验证失败,所在省份不能为空!") @NotNull(message = "数据验证失败,所在省份不能为空!")
private Long provinceId; private Long provinceId;
/** /**
* 学生所在城市Id * 学生所在城市Id
*/ */
@ApiModelProperty(value = "学生所在城市Id", required = true)
@NotNull(message = "数据验证失败,所在城市不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,所在城市不能为空!", groups = {UpdateGroup.class})
private Long cityId; private Long cityId;
/** /**
* 购课学币数量 * 购课学币数量
*/ */
@ApiModelProperty(value = "购课学币数量", required = true)
@NotNull(message = "数据验证失败,购课学币数量不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,购课学币数量不能为空!", groups = {UpdateGroup.class})
private Integer buyCourseAmount; private Integer buyCourseAmount;
/** /**
* 购买课程次数 * 购买课程次数
*/ */
@ApiModelProperty(value = "购买课程次数", required = true)
@NotNull(message = "数据验证失败,购买课程次数不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,购买课程次数不能为空!", groups = {UpdateGroup.class})
private Integer buyCourseCount; private Integer buyCourseCount;
/** /**
* 购买视频学币数量 * 购买视频学币数量
*/ */
@ApiModelProperty(value = "购买视频学币数量", required = true)
@NotNull(message = "数据验证失败,购买视频学币数量不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,购买视频学币数量不能为空!", groups = {UpdateGroup.class})
private Integer buyVideoAmount; private Integer buyVideoAmount;
/** /**
* 购买视频次数 * 购买视频次数
*/ */
@ApiModelProperty(value = "购买视频次数", required = true)
@NotNull(message = "数据验证失败,购买视频次数不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,购买视频次数不能为空!", groups = {UpdateGroup.class})
private Integer buyVideoCount; private Integer buyVideoCount;
/** /**
* 购买作业学币数量 * 购买作业学币数量
*/ */
@ApiModelProperty(value = "购买作业学币数量", required = true)
@NotNull(message = "数据验证失败,购买作业学币数量不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,购买作业学币数量不能为空!", groups = {UpdateGroup.class})
private Integer buyPaperAmount; private Integer buyPaperAmount;
/** /**
* 购买作业次数 * 购买作业次数
*/ */
@ApiModelProperty(value = "购买作业次数", required = true)
@NotNull(message = "数据验证失败,购买作业次数不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,购买作业次数不能为空!", groups = {UpdateGroup.class})
private Integer buyPaperCount; private Integer buyPaperCount;
/** /**
* 购买献花数量 * 购买献花数量
*/ */
@ApiModelProperty(value = "购买献花数量", required = true)
@NotNull(message = "数据验证失败,购买献花数量不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,购买献花数量不能为空!", groups = {UpdateGroup.class})
private Integer buyFlowerAmount; private Integer buyFlowerAmount;
/** /**
* 购买献花次数 * 购买献花次数
*/ */
@ApiModelProperty(value = "购买献花次数", required = true)
@NotNull(message = "数据验证失败,购买献花次数不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,购买献花次数不能为空!", groups = {UpdateGroup.class})
private Integer buyFlowerCount; private Integer buyFlowerCount;
/** /**
* 充值学币数量 * 充值学币数量
*/ */
@ApiModelProperty(value = "充值学币数量", required = true)
@NotNull(message = "数据验证失败,充值学币数量不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,充值学币数量不能为空!", groups = {UpdateGroup.class})
private Integer rechargeCoinAmount; private Integer rechargeCoinAmount;
/** /**
* 充值学币次数 * 充值学币次数
*/ */
@ApiModelProperty(value = "充值学币次数", required = true)
@NotNull(message = "数据验证失败,充值学币次数不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,充值学币次数不能为空!", groups = {UpdateGroup.class})
private Integer rechargeCoinCount; private Integer rechargeCoinCount;
/** /**
* 线下课程上课次数 * 线下课程上课次数
*/ */
@ApiModelProperty(value = "线下课程上课次数", required = true)
@NotNull(message = "数据验证失败,线下课程上课次数不能为空!") @NotNull(message = "数据验证失败,线下课程上课次数不能为空!")
private Integer doCourseCount; private Integer doCourseCount;
/** /**
* 观看视频次数 * 观看视频次数
*/ */
@ApiModelProperty(value = "观看视频次数", required = true)
@NotNull(message = "数据验证失败,观看视频次数不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,观看视频次数不能为空!", groups = {UpdateGroup.class})
private Integer watchVideoCount; private Integer watchVideoCount;
/** /**
* 购买献花消费学币数量 * 购买献花消费学币数量
*/ */
@ApiModelProperty(value = "购买献花消费学币数量", required = true)
@NotNull(message = "数据验证失败,购买献花消费学币数量不能为空!") @NotNull(message = "数据验证失败,购买献花消费学币数量不能为空!")
private Integer watchVideoTotalSecond; private Integer watchVideoTotalSecond;
/** /**
* 做题数量 * 做题数量
*/ */
@ApiModelProperty(value = "做题数量", required = true)
@NotNull(message = "数据验证失败,做题数量不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,做题数量不能为空!", groups = {UpdateGroup.class})
private Integer doExerciseCount; private Integer doExerciseCount;
/** /**
* 做题正确的数量 * 做题正确的数量
*/ */
@ApiModelProperty(value = "做题正确的数量", required = true)
@NotNull(message = "数据验证失败,做题正确的数量不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,做题正确的数量不能为空!", groups = {UpdateGroup.class})
private Integer doExerciseCorrectCount; private Integer doExerciseCorrectCount;
/** /**
* statsDate 范围过滤起始值(>=) * statsDate 范围过滤起始值(>=)
*/ */
@ApiModelProperty(value = "statsDate 范围过滤起始值(>=)")
private String statsDateStart; private String statsDateStart;
/** /**
* statsDate 范围过滤结束值(<=) * statsDate 范围过滤结束值(<=)
*/ */
@ApiModelProperty(value = "statsDate 范围过滤结束值(<=)")
private String statsDateEnd; private String statsDateEnd;
} }

View File

@@ -1,10 +1,12 @@
package com.orange.demo.webadmin.app.dto; package com.orangeforms.webadmin.app.dto;
import com.orange.demo.common.core.validator.UpdateGroup; import com.orangeforms.common.core.validator.UpdateGroup;
import com.orange.demo.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.ConstDictRef;
import com.orange.demo.application.common.constant.StudentActionType; import com.orangeforms.application.common.constant.StudentActionType;
import com.orange.demo.application.common.constant.DeviceType; import com.orangeforms.application.common.constant.DeviceType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@@ -17,42 +19,49 @@ import java.util.Date;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("StudentActionTransDto对象")
@Data @Data
public class StudentActionTransDto { public class StudentActionTransDto {
/** /**
* 主键Id * 主键Id
*/ */
@ApiModelProperty(value = "主键Id", required = true)
@NotNull(message = "数据验证失败主键Id不能为空", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败主键Id不能为空", groups = {UpdateGroup.class})
private Long transId; private Long transId;
/** /**
* 学生Id * 学生Id
*/ */
@ApiModelProperty(value = "学生Id", required = true)
@NotNull(message = "数据验证失败学生Id不能为空") @NotNull(message = "数据验证失败学生Id不能为空")
private Long studentId; private Long studentId;
/** /**
* 学生名称 * 学生名称
*/ */
@ApiModelProperty(value = "学生名称", required = true)
@NotBlank(message = "数据验证失败,学生名称不能为空!") @NotBlank(message = "数据验证失败,学生名称不能为空!")
private String studentName; private String studentName;
/** /**
* 学生校区 * 学生校区
*/ */
@ApiModelProperty(value = "学生校区", required = true)
@NotNull(message = "数据验证失败,学生校区不能为空!") @NotNull(message = "数据验证失败,学生校区不能为空!")
private Long schoolId; private Long schoolId;
/** /**
* 年级Id * 年级Id
*/ */
@ApiModelProperty(value = "年级Id", required = true)
@NotNull(message = "数据验证失败,学生年级不能为空!") @NotNull(message = "数据验证失败,学生年级不能为空!")
private Integer gradeId; private Integer gradeId;
/** /**
* 行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花) * 行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)
*/ */
@ApiModelProperty(value = "行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)", required = true)
@NotNull(message = "数据验证失败,行为类型不能为空!") @NotNull(message = "数据验证失败,行为类型不能为空!")
@ConstDictRef(constDictClass = StudentActionType.class, message = "数据验证失败,行为类型为无效值!") @ConstDictRef(constDictClass = StudentActionType.class, message = "数据验证失败,行为类型为无效值!")
private Integer actionType; private Integer actionType;
@@ -60,6 +69,7 @@ public class StudentActionTransDto {
/** /**
* 设备类型(0: iOS 1: Android 2: PC) * 设备类型(0: iOS 1: Android 2: PC)
*/ */
@ApiModelProperty(value = "设备类型(0: iOS 1: Android 2: PC)", required = true)
@NotNull(message = "数据验证失败,设备类型不能为空!") @NotNull(message = "数据验证失败,设备类型不能为空!")
@ConstDictRef(constDictClass = DeviceType.class, message = "数据验证失败,设备类型为无效值!") @ConstDictRef(constDictClass = DeviceType.class, message = "数据验证失败,设备类型为无效值!")
private Integer deviceType; private Integer deviceType;
@@ -67,51 +77,60 @@ public class StudentActionTransDto {
/** /**
* 看视频秒数 * 看视频秒数
*/ */
@ApiModelProperty(value = "看视频秒数")
private Integer watchVideoSeconds; private Integer watchVideoSeconds;
/** /**
* 购买献花数量 * 购买献花数量
*/ */
@ApiModelProperty(value = "购买献花数量")
private Integer flowerCount; private Integer flowerCount;
/** /**
* 购买作业数量 * 购买作业数量
*/ */
@ApiModelProperty(value = "购买作业数量")
private Integer paperCount; private Integer paperCount;
/** /**
* 购买视频数量 * 购买视频数量
*/ */
@ApiModelProperty(value = "购买视频数量")
private Integer videoCount; private Integer videoCount;
/** /**
* 购买课程数量 * 购买课程数量
*/ */
@ApiModelProperty(value = "购买课程数量")
private Integer courseCount; private Integer courseCount;
/** /**
* 充值学币数量 * 充值学币数量
*/ */
@ApiModelProperty(value = "充值学币数量")
private Integer coinCount; private Integer coinCount;
/** /**
* 做题是否正确标记 * 做题是否正确标记
*/ */
@ApiModelProperty(value = "做题是否正确标记")
private Integer exerciseCorrectFlag; private Integer exerciseCorrectFlag;
/** /**
* 发生时间 * 发生时间
*/ */
@NotNull(message = "数据验证失败,发生时间不能为空!") @ApiModelProperty(value = "发生时间")
private Date createTime; private Date createTime;
/** /**
* createTime 范围过滤起始值(>=) * createTime 范围过滤起始值(>=)
*/ */
@ApiModelProperty(value = "createTime 范围过滤起始值(>=)")
private String createTimeStart; private String createTimeStart;
/** /**
* createTime 范围过滤结束值(<=) * createTime 范围过滤结束值(<=)
*/ */
@ApiModelProperty(value = "createTime 范围过滤结束值(<=)")
private String createTimeEnd; private String createTimeEnd;
} }

View File

@@ -1,56 +1,79 @@
package com.orange.demo.webadmin.app.dto; package com.orangeforms.webadmin.app.dto;
import com.orange.demo.common.core.validator.UpdateGroup; import com.orangeforms.common.core.validator.UpdateGroup;
import com.orange.demo.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.ConstDictRef;
import com.orange.demo.webadmin.app.model.constant.ClassLevel; import com.orangeforms.webadmin.app.model.constant.ClassLevel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.*; import javax.validation.constraints.*;
import java.util.Date;
/** /**
* StudentClassDto对象 * StudentClassDto对象
* *
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("StudentClassDto对象")
@Data @Data
public class StudentClassDto { public class StudentClassDto {
/** /**
* 班级Id * 班级Id
*/ */
@ApiModelProperty(value = "班级Id", required = true)
@NotNull(message = "数据验证失败班级Id不能为空", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败班级Id不能为空", groups = {UpdateGroup.class})
private Long classId; private Long classId;
/** /**
* 班级名称 * 班级名称
*/ */
@ApiModelProperty(value = "班级名称", required = true)
@NotBlank(message = "数据验证失败,班级名称不能为空!") @NotBlank(message = "数据验证失败,班级名称不能为空!")
private String className; private String className;
/** /**
* 学校Id * 学校Id
*/ */
@ApiModelProperty(value = "学校Id", required = true)
@NotNull(message = "数据验证失败,所属校区不能为空!") @NotNull(message = "数据验证失败,所属校区不能为空!")
private Long schoolId; private Long schoolId;
/** /**
* 学生班长Id * 学生班长Id
*/ */
@ApiModelProperty(value = "学生班长Id", required = true)
@NotNull(message = "数据验证失败,学生班长不能为空!") @NotNull(message = "数据验证失败,学生班长不能为空!")
private Long leaderId; private Long leaderId;
/** /**
* 已完成课时数量 * 已完成课时数量
*/ */
@ApiModelProperty(value = "已完成课时数量", required = true)
@NotNull(message = "数据验证失败,已完成课时不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,已完成课时不能为空!", groups = {UpdateGroup.class})
private Integer finishClassHour; private Integer finishClassHour;
/** /**
* 班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班) * 班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)
*/ */
@ApiModelProperty(value = "班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)", required = true)
@NotNull(message = "数据验证失败,班级级别不能为空!") @NotNull(message = "数据验证失败,班级级别不能为空!")
@ConstDictRef(constDictClass = ClassLevel.class, message = "数据验证失败,班级级别为无效值!") @ConstDictRef(constDictClass = ClassLevel.class, message = "数据验证失败,班级级别为无效值!")
private Integer classLevel; private Integer classLevel;
/**
* 创建用户
*/
@ApiModelProperty(value = "创建用户")
private Long createUserId;
/**
* 班级创建时间
*/
@ApiModelProperty(value = "班级创建时间")
private Date createTime;
} }

View File

@@ -1,11 +1,13 @@
package com.orange.demo.webadmin.app.dto; package com.orangeforms.webadmin.app.dto;
import com.orange.demo.common.core.validator.UpdateGroup; import com.orangeforms.common.core.validator.UpdateGroup;
import com.orange.demo.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.ConstDictRef;
import com.orange.demo.application.common.constant.Gender; import com.orangeforms.application.common.constant.Gender;
import com.orange.demo.application.common.constant.ExpLevel; import com.orangeforms.application.common.constant.ExpLevel;
import com.orange.demo.application.common.constant.StudentStatus; import com.orangeforms.application.common.constant.StudentStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@@ -18,48 +20,56 @@ import java.util.Date;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("StudentDto对象")
@Data @Data
public class StudentDto { public class StudentDto {
/** /**
* 学生Id * 学生Id
*/ */
@ApiModelProperty(value = "学生Id", required = true)
@NotNull(message = "数据验证失败学生Id不能为空", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败学生Id不能为空", groups = {UpdateGroup.class})
private Long studentId; private Long studentId;
/** /**
* 登录手机 * 登录手机
*/ */
@ApiModelProperty(value = "登录手机", required = true)
@NotBlank(message = "数据验证失败,手机号码不能为空!") @NotBlank(message = "数据验证失败,手机号码不能为空!")
private String loginMobile; private String loginMobile;
/** /**
* 学生姓名 * 学生姓名
*/ */
@ApiModelProperty(value = "学生姓名", required = true)
@NotBlank(message = "数据验证失败,学生姓名不能为空!") @NotBlank(message = "数据验证失败,学生姓名不能为空!")
private String studentName; private String studentName;
/** /**
* 所在省份Id * 所在省份Id
*/ */
@ApiModelProperty(value = "所在省份Id", required = true)
@NotNull(message = "数据验证失败,所在省份不能为空!") @NotNull(message = "数据验证失败,所在省份不能为空!")
private Long provinceId; private Long provinceId;
/** /**
* 所在城市Id * 所在城市Id
*/ */
@ApiModelProperty(value = "所在城市Id", required = true)
@NotNull(message = "数据验证失败,所在城市不能为空!") @NotNull(message = "数据验证失败,所在城市不能为空!")
private Long cityId; private Long cityId;
/** /**
* 区县Id * 区县Id
*/ */
@ApiModelProperty(value = "区县Id", required = true)
@NotNull(message = "数据验证失败,所在区县不能为空!") @NotNull(message = "数据验证失败,所在区县不能为空!")
private Long districtId; private Long districtId;
/** /**
* 学生性别 (0: 女生 1: 男生) * 学生性别 (0: 女生 1: 男生)
*/ */
@ApiModelProperty(value = "学生性别 (0: 女生 1: 男生)", required = true)
@NotNull(message = "数据验证失败,学生性别不能为空!") @NotNull(message = "数据验证失败,学生性别不能为空!")
@ConstDictRef(constDictClass = Gender.class, message = "数据验证失败,学生性别为无效值!") @ConstDictRef(constDictClass = Gender.class, message = "数据验证失败,学生性别为无效值!")
private Integer gender; private Integer gender;
@@ -67,12 +77,14 @@ public class StudentDto {
/** /**
* 生日 * 生日
*/ */
@ApiModelProperty(value = "生日", required = true)
@NotNull(message = "数据验证失败,出生日期不能为空!") @NotNull(message = "数据验证失败,出生日期不能为空!")
private Date birthday; private Date birthday;
/** /**
* 经验等级 (0: 初级 1: 中级 2: 高级 3: 资深) * 经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)
*/ */
@ApiModelProperty(value = "经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)", required = true)
@NotNull(message = "数据验证失败,经验等级不能为空!") @NotNull(message = "数据验证失败,经验等级不能为空!")
@ConstDictRef(constDictClass = ExpLevel.class, message = "数据验证失败,经验等级为无效值!") @ConstDictRef(constDictClass = ExpLevel.class, message = "数据验证失败,经验等级为无效值!")
private Integer experienceLevel; private Integer experienceLevel;
@@ -80,29 +92,40 @@ public class StudentDto {
/** /**
* 总共充值学币数量 * 总共充值学币数量
*/ */
@ApiModelProperty(value = "总共充值学币数量", required = true)
@NotNull(message = "数据验证失败,充值学币不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,充值学币不能为空!", groups = {UpdateGroup.class})
private Integer totalCoin; private Integer totalCoin;
/** /**
* 可用学币数量 * 可用学币数量
*/ */
@ApiModelProperty(value = "可用学币数量")
private Integer leftCoin; private Integer leftCoin;
/** /**
* 年级Id * 年级Id
*/ */
@ApiModelProperty(value = "年级Id", required = true)
@NotNull(message = "数据验证失败,年级不能为空!") @NotNull(message = "数据验证失败,年级不能为空!")
private Integer gradeId; private Integer gradeId;
/** /**
* 校区Id * 校区Id
*/ */
@ApiModelProperty(value = "校区Id", required = true)
@NotNull(message = "数据验证失败,所属校区不能为空!") @NotNull(message = "数据验证失败,所属校区不能为空!")
private Long schoolId; private Long schoolId;
/**
* 注册时间
*/
@ApiModelProperty(value = "注册时间", required = true)
private Date registerTime;
/** /**
* 学生状态 (0: 正常 1: 锁定 2: 注销) * 学生状态 (0: 正常 1: 锁定 2: 注销)
*/ */
@ApiModelProperty(value = "学生状态 (0: 正常 1: 锁定 2: 注销)", required = true)
@NotNull(message = "数据验证失败,学生状态不能为空!", groups = {UpdateGroup.class}) @NotNull(message = "数据验证失败,学生状态不能为空!", groups = {UpdateGroup.class})
@ConstDictRef(constDictClass = StudentStatus.class, message = "数据验证失败,学生状态为无效值!") @ConstDictRef(constDictClass = StudentStatus.class, message = "数据验证失败,学生状态为无效值!")
private Integer status; private Integer status;
@@ -110,25 +133,30 @@ public class StudentDto {
/** /**
* birthday 范围过滤起始值(>=) * birthday 范围过滤起始值(>=)
*/ */
@ApiModelProperty(value = "birthday 范围过滤起始值(>=)")
private String birthdayStart; private String birthdayStart;
/** /**
* birthday 范围过滤结束值(<=) * birthday 范围过滤结束值(<=)
*/ */
@ApiModelProperty(value = "birthday 范围过滤结束值(<=)")
private String birthdayEnd; private String birthdayEnd;
/** /**
* registerTime 范围过滤起始值(>=) * registerTime 范围过滤起始值(>=)
*/ */
@ApiModelProperty(value = "registerTime 范围过滤起始值(>=)")
private String registerTimeStart; private String registerTimeStart;
/** /**
* registerTime 范围过滤结束值(<=) * registerTime 范围过滤结束值(<=)
*/ */
@ApiModelProperty(value = "registerTime 范围过滤结束值(<=)")
private String registerTimeEnd; private String registerTimeEnd;
/** /**
* login_mobile / student_name LIKE搜索字符串 * login_mobile / student_name LIKE搜索字符串
*/ */
@ApiModelProperty(value = "LIKE模糊搜索字符串")
private String searchString; private String searchString;
} }

View File

@@ -1,4 +1,4 @@
package com.orange.demo.webadmin.app.model; package com.orangeforms.webadmin.app.model;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import lombok.Data; import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.orange.demo.webadmin.app.model; package com.orangeforms.webadmin.app.model;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import lombok.Data; import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.orange.demo.webadmin.app.model; package com.orangeforms.webadmin.app.model;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import lombok.Data; import lombok.Data;

View File

@@ -1,14 +1,12 @@
package com.orange.demo.webadmin.app.model; package com.orangeforms.webadmin.app.model;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.orange.demo.webadmin.app.model.constant.CourseDifficult; import com.orangeforms.webadmin.app.model.constant.CourseDifficult;
import com.orange.demo.application.common.constant.Subject; import com.orangeforms.application.common.constant.Subject;
import com.orange.demo.common.core.upload.UploadStoreTypeEnum; import com.orangeforms.common.core.upload.UploadStoreTypeEnum;
import com.orange.demo.common.core.annotation.UploadFlagColumn; import com.orangeforms.common.core.annotation.*;
import com.orange.demo.common.core.annotation.RelationDict; import com.orangeforms.common.core.base.mapper.BaseModelMapper;
import com.orange.demo.common.core.annotation.RelationConstDict; import com.orangeforms.webadmin.app.vo.CourseVo;
import com.orange.demo.common.core.base.mapper.BaseModelMapper;
import com.orange.demo.webadmin.app.vo.CourseVo;
import lombok.Data; import lombok.Data;
import org.mapstruct.*; import org.mapstruct.*;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
@@ -168,7 +166,7 @@ public class Course {
* @param courseVo 域对象 * @param courseVo 域对象
* @return 实体对象 * @return 实体对象
*/ */
@Mapping(target = "classCourse", expression = "java(mapToBean(courseVo.getClassCourse(), com.orange.demo.webadmin.app.model.ClassCourse.class))") @Mapping(target = "classCourse", expression = "java(mapToBean(courseVo.getClassCourse(), com.orangeforms.webadmin.app.model.ClassCourse.class))")
@Override @Override
Course toModel(CourseVo courseVo); Course toModel(CourseVo courseVo);
/** /**

View File

@@ -1,11 +1,10 @@
package com.orange.demo.webadmin.app.model; package com.orangeforms.webadmin.app.model;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.orange.demo.application.common.constant.Subject; import com.orangeforms.application.common.constant.Subject;
import com.orange.demo.common.core.annotation.RelationDict; import com.orangeforms.common.core.annotation.*;
import com.orange.demo.common.core.annotation.RelationConstDict; import com.orangeforms.common.core.base.mapper.BaseModelMapper;
import com.orange.demo.common.core.base.mapper.BaseModelMapper; import com.orangeforms.webadmin.app.vo.CourseTransStatsVo;
import com.orange.demo.webadmin.app.vo.CourseTransStatsVo;
import lombok.Data; import lombok.Data;
import org.mapstruct.*; import org.mapstruct.*;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;

View File

@@ -1,4 +1,4 @@
package com.orange.demo.webadmin.app.model; package com.orangeforms.webadmin.app.model;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import lombok.Data; import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.orange.demo.webadmin.app.model; package com.orangeforms.webadmin.app.model;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import lombok.Data; import lombok.Data;

View File

@@ -1,15 +1,14 @@
package com.orange.demo.webadmin.app.model; package com.orangeforms.webadmin.app.model;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.orange.demo.webadmin.upms.model.SysDept; import com.orangeforms.webadmin.upms.model.SysDept;
import com.orange.demo.application.common.constant.Gender; import com.orangeforms.application.common.constant.Gender;
import com.orange.demo.application.common.constant.ExpLevel; import com.orangeforms.application.common.constant.ExpLevel;
import com.orange.demo.application.common.constant.StudentStatus; import com.orangeforms.application.common.constant.StudentStatus;
import com.orange.demo.common.core.util.MyCommonUtil; import com.orangeforms.common.core.util.MyCommonUtil;
import com.orange.demo.common.core.annotation.RelationDict; import com.orangeforms.common.core.annotation.*;
import com.orange.demo.common.core.annotation.RelationConstDict; import com.orangeforms.common.core.base.mapper.BaseModelMapper;
import com.orange.demo.common.core.base.mapper.BaseModelMapper; import com.orangeforms.webadmin.app.vo.StudentVo;
import com.orange.demo.webadmin.app.vo.StudentVo;
import lombok.Data; import lombok.Data;
import org.mapstruct.*; import org.mapstruct.*;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;

View File

@@ -1,9 +1,9 @@
package com.orange.demo.webadmin.app.model; package com.orangeforms.webadmin.app.model;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.orange.demo.common.core.annotation.RelationDict; import com.orangeforms.common.core.annotation.*;
import com.orange.demo.common.core.base.mapper.BaseModelMapper; import com.orangeforms.common.core.base.mapper.BaseModelMapper;
import com.orange.demo.webadmin.app.vo.StudentActionStatsVo; import com.orangeforms.webadmin.app.vo.StudentActionStatsVo;
import lombok.Data; import lombok.Data;
import org.mapstruct.*; import org.mapstruct.*;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;

View File

@@ -1,13 +1,12 @@
package com.orange.demo.webadmin.app.model; package com.orangeforms.webadmin.app.model;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.orange.demo.webadmin.upms.model.SysDept; import com.orangeforms.webadmin.upms.model.SysDept;
import com.orange.demo.application.common.constant.StudentActionType; import com.orangeforms.application.common.constant.StudentActionType;
import com.orange.demo.application.common.constant.DeviceType; import com.orangeforms.application.common.constant.DeviceType;
import com.orange.demo.common.core.annotation.RelationDict; import com.orangeforms.common.core.annotation.*;
import com.orange.demo.common.core.annotation.RelationConstDict; import com.orangeforms.common.core.base.mapper.BaseModelMapper;
import com.orange.demo.common.core.base.mapper.BaseModelMapper; import com.orangeforms.webadmin.app.vo.StudentActionTransVo;
import com.orange.demo.webadmin.app.vo.StudentActionTransVo;
import lombok.Data; import lombok.Data;
import org.mapstruct.*; import org.mapstruct.*;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;

View File

@@ -1,12 +1,11 @@
package com.orange.demo.webadmin.app.model; package com.orangeforms.webadmin.app.model;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.orange.demo.webadmin.upms.model.SysDept; import com.orangeforms.webadmin.upms.model.SysDept;
import com.orange.demo.webadmin.app.model.constant.ClassLevel; import com.orangeforms.webadmin.app.model.constant.ClassLevel;
import com.orange.demo.common.core.annotation.RelationDict; import com.orangeforms.common.core.annotation.*;
import com.orange.demo.common.core.annotation.RelationConstDict; import com.orangeforms.common.core.base.mapper.BaseModelMapper;
import com.orange.demo.common.core.base.mapper.BaseModelMapper; import com.orangeforms.webadmin.app.vo.StudentClassVo;
import com.orange.demo.webadmin.app.vo.StudentClassVo;
import lombok.Data; import lombok.Data;
import org.mapstruct.*; import org.mapstruct.*;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;

View File

@@ -1,4 +1,4 @@
package com.orange.demo.webadmin.app.model.constant; package com.orangeforms.webadmin.app.model.constant;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

View File

@@ -1,4 +1,4 @@
package com.orange.demo.webadmin.app.model.constant; package com.orangeforms.webadmin.app.model.constant;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

View File

@@ -1,4 +1,4 @@
package com.orange.demo.webadmin.app.model.constant; package com.orangeforms.webadmin.app.model.constant;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

View File

@@ -1,7 +1,7 @@
package com.orange.demo.webadmin.app.service; package com.orangeforms.webadmin.app.service;
import com.orange.demo.common.core.base.service.IBaseDictService; import com.orangeforms.common.core.base.service.IBaseDictService;
import com.orange.demo.webadmin.app.model.AreaCode; import com.orangeforms.webadmin.app.model.AreaCode;
import java.util.Collection; import java.util.Collection;

View File

@@ -1,8 +1,7 @@
package com.orange.demo.webadmin.app.service; package com.orangeforms.webadmin.app.service;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.common.core.object.CallResult; import com.orangeforms.common.core.base.service.IBaseService;
import com.orange.demo.common.core.base.service.IBaseService;
import java.util.*; import java.util.*;
@@ -86,13 +85,4 @@ public interface CourseService extends IBaseService<Course, Long> {
* @return 查询结果集 * @return 查询结果集
*/ */
List<Course> getCourseListByClassId(Long classId, Course filter, String orderBy); List<Course> getCourseListByClassId(Long classId, Course filter, String orderBy);
/**
* 根据最新对象和原有对象的数据对比判断关联的字典数据和多对一主表数据是否都是合法数据
*
* @param course 最新数据对象
* @param originalCourse 原有数据对象
* @return 数据全部正确返回true否则false
*/
CallResult verifyRelatedData(Course course, Course originalCourse);
} }

View File

@@ -1,7 +1,7 @@
package com.orange.demo.webadmin.app.service; package com.orangeforms.webadmin.app.service;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.common.core.base.service.IBaseService; import com.orangeforms.common.core.base.service.IBaseService;
import java.util.*; import java.util.*;

View File

@@ -1,7 +1,7 @@
package com.orange.demo.webadmin.app.service; package com.orangeforms.webadmin.app.service;
import com.orange.demo.common.core.base.service.IBaseDictService; import com.orangeforms.common.core.base.service.IBaseDictService;
import com.orange.demo.webadmin.app.model.Grade; import com.orangeforms.webadmin.app.model.Grade;
/** /**
* 年级字典数据操作服务接口 * 年级字典数据操作服务接口

View File

@@ -1,7 +1,7 @@
package com.orange.demo.webadmin.app.service; package com.orangeforms.webadmin.app.service;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.common.core.base.service.IBaseService; import com.orangeforms.common.core.base.service.IBaseService;
import java.util.*; import java.util.*;

View File

@@ -1,8 +1,7 @@
package com.orange.demo.webadmin.app.service; package com.orangeforms.webadmin.app.service;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.common.core.object.CallResult; import com.orangeforms.common.core.base.service.IBaseService;
import com.orange.demo.common.core.base.service.IBaseService;
import java.util.*; import java.util.*;
@@ -66,13 +65,4 @@ public interface StudentActionTransService extends IBaseService<StudentActionTra
* @return 查询结果集 * @return 查询结果集
*/ */
List<StudentActionTrans> getStudentActionTransListWithRelation(StudentActionTrans filter, String orderBy); List<StudentActionTrans> getStudentActionTransListWithRelation(StudentActionTrans filter, String orderBy);
/**
* 根据最新对象和原有对象的数据对比判断关联的字典数据和多对一主表数据是否都是合法数据
*
* @param studentActionTrans 最新数据对象
* @param originalStudentActionTrans 原有数据对象
* @return 数据全部正确返回true否则false
*/
CallResult verifyRelatedData(StudentActionTrans studentActionTrans, StudentActionTrans originalStudentActionTrans);
} }

View File

@@ -1,8 +1,7 @@
package com.orange.demo.webadmin.app.service; package com.orangeforms.webadmin.app.service;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.common.core.object.CallResult; import com.orangeforms.common.core.base.service.IBaseService;
import com.orange.demo.common.core.base.service.IBaseService;
import java.util.*; import java.util.*;
@@ -117,13 +116,4 @@ public interface StudentClassService extends IBaseService<StudentClass, Long> {
* @return 成功返回true否则false * @return 成功返回true否则false
*/ */
boolean removeClassStudent(Long classId, Long studentId); boolean removeClassStudent(Long classId, Long studentId);
/**
* 根据最新对象和原有对象的数据对比判断关联的字典数据和多对一主表数据是否都是合法数据
*
* @param studentClass 最新数据对象
* @param originalStudentClass 原有数据对象
* @return 数据全部正确返回true否则false
*/
CallResult verifyRelatedData(StudentClass studentClass, StudentClass originalStudentClass);
} }

View File

@@ -1,8 +1,7 @@
package com.orange.demo.webadmin.app.service; package com.orangeforms.webadmin.app.service;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.common.core.object.CallResult; import com.orangeforms.common.core.base.service.IBaseService;
import com.orange.demo.common.core.base.service.IBaseService;
import java.util.*; import java.util.*;
@@ -86,13 +85,4 @@ public interface StudentService extends IBaseService<Student, Long> {
* @return 查询结果集 * @return 查询结果集
*/ */
List<Student> getStudentListByClassId(Long classId, Student filter, String orderBy); List<Student> getStudentListByClassId(Long classId, Student filter, String orderBy);
/**
* 根据最新对象和原有对象的数据对比判断关联的字典数据和多对一主表数据是否都是合法数据
*
* @param student 最新数据对象
* @param originalStudent 原有数据对象
* @return 数据全部正确返回true否则false
*/
CallResult verifyRelatedData(Student student, Student originalStudent);
} }

View File

@@ -1,11 +1,11 @@
package com.orange.demo.webadmin.app.service.impl; package com.orangeforms.webadmin.app.service.impl;
import com.orange.demo.webadmin.app.service.AreaCodeService; import com.orangeforms.webadmin.app.service.AreaCodeService;
import com.orange.demo.webadmin.app.dao.AreaCodeMapper; import com.orangeforms.webadmin.app.dao.AreaCodeMapper;
import com.orange.demo.webadmin.app.model.AreaCode; import com.orangeforms.webadmin.app.model.AreaCode;
import com.orange.demo.common.core.cache.MapTreeDictionaryCache; import com.orangeforms.common.core.cache.MapTreeDictionaryCache;
import com.orange.demo.common.core.base.service.BaseDictService; import com.orangeforms.common.core.base.service.BaseDictService;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

View File

@@ -1,17 +1,17 @@
package com.orange.demo.webadmin.app.service.impl; package com.orangeforms.webadmin.app.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.orange.demo.webadmin.app.service.*; import com.orangeforms.webadmin.app.service.*;
import com.orange.demo.webadmin.app.dao.*; import com.orangeforms.webadmin.app.dao.*;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.common.core.object.TokenData; import com.orangeforms.common.core.object.TokenData;
import com.orange.demo.common.core.object.MyRelationParam; import com.orangeforms.common.core.object.MyRelationParam;
import com.orange.demo.common.core.object.CallResult; import com.orangeforms.common.core.object.CallResult;
import com.orange.demo.common.core.base.service.BaseService; import com.orangeforms.common.core.base.service.BaseService;
import com.orange.demo.common.sequence.wrapper.IdGeneratorWrapper; import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;

View File

@@ -1,11 +1,11 @@
package com.orange.demo.webadmin.app.service.impl; package com.orangeforms.webadmin.app.service.impl;
import com.orange.demo.webadmin.app.service.*; import com.orangeforms.webadmin.app.service.*;
import com.orange.demo.webadmin.app.dao.*; import com.orangeforms.webadmin.app.dao.*;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.common.core.object.MyRelationParam; import com.orangeforms.common.core.object.MyRelationParam;
import com.orange.demo.common.core.base.service.BaseService; import com.orangeforms.common.core.base.service.BaseService;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -1,11 +1,11 @@
package com.orange.demo.webadmin.app.service.impl; package com.orangeforms.webadmin.app.service.impl;
import com.orange.demo.common.core.base.service.BaseDictService; import com.orangeforms.common.core.base.service.BaseDictService;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.common.redis.cache.RedisDictionaryCache; import com.orangeforms.common.redis.cache.RedisDictionaryCache;
import com.orange.demo.webadmin.app.service.GradeService; import com.orangeforms.webadmin.app.service.GradeService;
import com.orange.demo.webadmin.app.dao.GradeMapper; import com.orangeforms.webadmin.app.dao.GradeMapper;
import com.orange.demo.webadmin.app.model.Grade; import com.orangeforms.webadmin.app.model.Grade;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -1,11 +1,11 @@
package com.orange.demo.webadmin.app.service.impl; package com.orangeforms.webadmin.app.service.impl;
import com.orange.demo.webadmin.app.service.*; import com.orangeforms.webadmin.app.service.*;
import com.orange.demo.webadmin.app.dao.*; import com.orangeforms.webadmin.app.dao.*;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.common.core.object.MyRelationParam; import com.orangeforms.common.core.object.MyRelationParam;
import com.orange.demo.common.core.base.service.BaseService; import com.orangeforms.common.core.base.service.BaseService;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -1,16 +1,16 @@
package com.orange.demo.webadmin.app.service.impl; package com.orangeforms.webadmin.app.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.orange.demo.webadmin.app.service.*; import com.orangeforms.webadmin.app.service.*;
import com.orange.demo.webadmin.app.dao.*; import com.orangeforms.webadmin.app.dao.*;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.webadmin.upms.service.SysDeptService; import com.orangeforms.webadmin.upms.service.SysDeptService;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.common.core.object.MyRelationParam; import com.orangeforms.common.core.object.MyRelationParam;
import com.orange.demo.common.core.object.CallResult; import com.orangeforms.common.core.object.CallResult;
import com.orange.demo.common.core.base.service.BaseService; import com.orangeforms.common.core.base.service.BaseService;
import com.orange.demo.common.sequence.wrapper.IdGeneratorWrapper; import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;

View File

@@ -1,20 +1,20 @@
package com.orange.demo.webadmin.app.service.impl; package com.orangeforms.webadmin.app.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.orange.demo.webadmin.app.service.*; import com.orangeforms.webadmin.app.service.*;
import com.orange.demo.webadmin.app.dao.*; import com.orangeforms.webadmin.app.dao.*;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.webadmin.upms.service.SysDeptService; import com.orangeforms.webadmin.upms.service.SysDeptService;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.common.core.constant.GlobalDeletedFlag; import com.orangeforms.common.core.constant.GlobalDeletedFlag;
import com.orange.demo.common.core.object.TokenData; import com.orangeforms.common.core.object.TokenData;
import com.orange.demo.common.core.object.MyRelationParam; import com.orangeforms.common.core.object.MyRelationParam;
import com.orange.demo.common.core.object.CallResult; import com.orangeforms.common.core.object.CallResult;
import com.orange.demo.common.core.base.service.BaseService; import com.orangeforms.common.core.base.service.BaseService;
import com.orange.demo.common.core.util.MyModelUtil; import com.orangeforms.common.core.util.MyModelUtil;
import com.orange.demo.common.sequence.wrapper.IdGeneratorWrapper; import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;

View File

@@ -1,19 +1,19 @@
package com.orange.demo.webadmin.app.service.impl; package com.orangeforms.webadmin.app.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.orange.demo.application.common.constant.StudentStatus; import com.orangeforms.application.common.constant.StudentStatus;
import com.orange.demo.webadmin.app.service.*; import com.orangeforms.webadmin.app.service.*;
import com.orange.demo.webadmin.app.dao.*; import com.orangeforms.webadmin.app.dao.*;
import com.orange.demo.webadmin.app.model.*; import com.orangeforms.webadmin.app.model.*;
import com.orange.demo.webadmin.upms.service.SysDeptService; import com.orangeforms.webadmin.upms.service.SysDeptService;
import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orangeforms.common.core.base.dao.BaseDaoMapper;
import com.orange.demo.common.core.object.MyRelationParam; import com.orangeforms.common.core.object.MyRelationParam;
import com.orange.demo.common.core.object.CallResult; import com.orangeforms.common.core.object.CallResult;
import com.orange.demo.common.core.base.service.BaseService; import com.orangeforms.common.core.base.service.BaseService;
import com.orange.demo.common.core.util.MyModelUtil; import com.orangeforms.common.core.util.MyModelUtil;
import com.orange.demo.common.sequence.wrapper.IdGeneratorWrapper; import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;

View File

@@ -1,5 +1,7 @@
package com.orange.demo.webadmin.app.vo; package com.orangeforms.webadmin.app.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
@@ -8,26 +10,31 @@ import lombok.Data;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("行政区划实体对象")
@Data @Data
public class AreaCodeVo { public class AreaCodeVo {
/** /**
* 行政区划主键Id * 行政区划主键Id
*/ */
@ApiModelProperty(value = "行政区划主键Id", required = true)
private Long areaId; private Long areaId;
/** /**
* 行政区划名称 * 行政区划名称
*/ */
@ApiModelProperty(value = "行政区划名称")
private String areaName; private String areaName;
/** /**
* 行政区划级别 (1: 省级别 2: 市级别 3: 区级别) * 行政区划级别 (1: 省级别 2: 市级别 3: 区级别)
*/ */
@ApiModelProperty(value = "行政区划级别")
private Integer areaLevel; private Integer areaLevel;
/** /**
* 父级行政区划Id * 父级行政区划Id
*/ */
@ApiModelProperty(value = "父级行政区划Id")
private Long parentId; private Long parentId;
} }

View File

@@ -1,5 +1,7 @@
package com.orange.demo.webadmin.app.vo; package com.orangeforms.webadmin.app.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
@@ -8,21 +10,25 @@ import lombok.Data;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("ClassCourseVO视图对象")
@Data @Data
public class ClassCourseVo { public class ClassCourseVo {
/** /**
* 班级Id * 班级Id
*/ */
@ApiModelProperty(value = "班级Id")
private Long classId; private Long classId;
/** /**
* 课程Id * 课程Id
*/ */
@ApiModelProperty(value = "课程Id")
private Long courseId; private Long courseId;
/** /**
* 课程顺序(数值越小越靠前) * 课程顺序(数值越小越靠前)
*/ */
@ApiModelProperty(value = "课程顺序(数值越小越靠前)")
private Integer courseOrder; private Integer courseOrder;
} }

View File

@@ -1,5 +1,7 @@
package com.orange.demo.webadmin.app.vo; package com.orangeforms.webadmin.app.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
@@ -8,16 +10,19 @@ import lombok.Data;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("ClassStudentVO视图对象")
@Data @Data
public class ClassStudentVo { public class ClassStudentVo {
/** /**
* 班级Id * 班级Id
*/ */
@ApiModelProperty(value = "班级Id")
private Long classId; private Long classId;
/** /**
* 学生Id * 学生Id
*/ */
@ApiModelProperty(value = "学生Id")
private Long studentId; private Long studentId;
} }

View File

@@ -1,5 +1,7 @@
package com.orange.demo.webadmin.app.vo; package com.orangeforms.webadmin.app.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
@@ -11,66 +13,79 @@ import java.util.Map;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("CourseTransStatsVO视图对象")
@Data @Data
public class CourseTransStatsVo { public class CourseTransStatsVo {
/** /**
* 主键Id * 主键Id
*/ */
@ApiModelProperty(value = "主键Id")
private Long statsId; private Long statsId;
/** /**
* 统计日期 * 统计日期
*/ */
@ApiModelProperty(value = "统计日期")
private Date statsDate; private Date statsDate;
/** /**
* 科目Id * 科目Id
*/ */
@ApiModelProperty(value = "科目Id")
private Integer subjectId; private Integer subjectId;
/** /**
* 年级Id * 年级Id
*/ */
@ApiModelProperty(value = "年级Id")
private Integer gradeId; private Integer gradeId;
/** /**
* 年级名称 * 年级名称
*/ */
@ApiModelProperty(value = "年级名称")
private String gradeName; private String gradeName;
/** /**
* 课程Id * 课程Id
*/ */
@ApiModelProperty(value = "课程Id")
private Long courseId; private Long courseId;
/** /**
* 课程名称 * 课程名称
*/ */
@ApiModelProperty(value = "课程名称")
private String courseName; private String courseName;
/** /**
* 学生上课次数 * 学生上课次数
*/ */
@ApiModelProperty(value = "学生上课次数")
private Integer studentAttendCount; private Integer studentAttendCount;
/** /**
* 学生献花数量 * 学生献花数量
*/ */
@ApiModelProperty(value = "学生献花数量")
private Integer studentFlowerAmount; private Integer studentFlowerAmount;
/** /**
* 学生献花次数 * 学生献花次数
*/ */
@ApiModelProperty(value = "学生献花次数")
private Integer studentFlowerCount; private Integer studentFlowerCount;
/** /**
* gradeId 字典关联数据 * gradeId 字典关联数据
*/ */
@ApiModelProperty(value = "gradeId 字典关联数据")
private Map<String, Object> gradeIdDictMap; private Map<String, Object> gradeIdDictMap;
/** /**
* subjectId 常量字典关联数据 * subjectId 常量字典关联数据
*/ */
@ApiModelProperty(value = "subjectId 常量字典关联数据")
private Map<String, Object> subjectIdDictMap; private Map<String, Object> subjectIdDictMap;
} }

View File

@@ -1,5 +1,7 @@
package com.orange.demo.webadmin.app.vo; package com.orangeforms.webadmin.app.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
@@ -12,86 +14,103 @@ import java.util.Map;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("CourseVO视图对象")
@Data @Data
public class CourseVo { public class CourseVo {
/** /**
* 主键Id * 主键Id
*/ */
@ApiModelProperty(value = "主键Id")
private Long courseId; private Long courseId;
/** /**
* 课程名称 * 课程名称
*/ */
@ApiModelProperty(value = "课程名称")
private String courseName; private String courseName;
/** /**
* 课程价格 * 课程价格
*/ */
@ApiModelProperty(value = "课程价格")
private BigDecimal price; private BigDecimal price;
/** /**
* 课程描述 * 课程描述
*/ */
@ApiModelProperty(value = "课程描述")
private String description; private String description;
/** /**
* 课程难度(0: 容易 1: 普通 2: 很难) * 课程难度(0: 容易 1: 普通 2: 很难)
*/ */
@ApiModelProperty(value = "课程难度(0: 容易 1: 普通 2: 很难)")
private Integer difficulty; private Integer difficulty;
/** /**
* 年级Id * 年级Id
*/ */
@ApiModelProperty(value = "年级Id")
private Integer gradeId; private Integer gradeId;
/** /**
* 学科Id * 学科Id
*/ */
@ApiModelProperty(value = "学科Id")
private Integer subjectId; private Integer subjectId;
/** /**
* 课时数量 * 课时数量
*/ */
@ApiModelProperty(value = "课时数量")
private Integer classHour; private Integer classHour;
/** /**
* 多张课程图片地址 * 多张课程图片地址
*/ */
@ApiModelProperty(value = "多张课程图片地址")
private String pictureUrl; private String pictureUrl;
/** /**
* 创建用户Id * 创建用户Id
*/ */
@ApiModelProperty(value = "创建用户Id")
private Long createUserId; private Long createUserId;
/** /**
* 创建时间 * 创建时间
*/ */
@ApiModelProperty(value = "创建时间")
private Date createTime; private Date createTime;
/** /**
* 最后修改时间 * 最后修改时间
*/ */
@ApiModelProperty(value = "最后修改时间")
private Date updateTime; private Date updateTime;
/** /**
* courseId 的多对多关联表数据对象数据对应类型为ClassCourseVo * courseId 的多对多关联表数据对象数据对应类型为ClassCourseVo
*/ */
@ApiModelProperty(value = "courseId 的多对多关联表数据对象数据对应类型为ClassCourseVo")
private Map<String, Object> classCourse; private Map<String, Object> classCourse;
/** /**
* gradeId 字典关联数据 * gradeId 字典关联数据
*/ */
@ApiModelProperty(value = "gradeId 字典关联数据")
private Map<String, Object> gradeIdDictMap; private Map<String, Object> gradeIdDictMap;
/** /**
* difficulty 常量字典关联数据 * difficulty 常量字典关联数据
*/ */
@ApiModelProperty(value = "difficulty 常量字典关联数据")
private Map<String, Object> difficultyDictMap; private Map<String, Object> difficultyDictMap;
/** /**
* subjectId 常量字典关联数据 * subjectId 常量字典关联数据
*/ */
@ApiModelProperty(value = "subjectId 常量字典关联数据")
private Map<String, Object> subjectIdDictMap; private Map<String, Object> subjectIdDictMap;
} }

View File

@@ -1,5 +1,7 @@
package com.orange.demo.webadmin.app.vo; package com.orangeforms.webadmin.app.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
@@ -8,16 +10,19 @@ import lombok.Data;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("GradeVO视图对象")
@Data @Data
public class GradeVo { public class GradeVo {
/** /**
* 主键Id * 主键Id
*/ */
@ApiModelProperty(value = "主键Id")
private Integer gradeId; private Integer gradeId;
/** /**
* 年级名称 * 年级名称
*/ */
@ApiModelProperty(value = "年级名称")
private String gradeName; private String gradeName;
} }

View File

@@ -1,5 +1,7 @@
package com.orange.demo.webadmin.app.vo; package com.orangeforms.webadmin.app.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
@@ -11,126 +13,151 @@ import java.util.Map;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("StudentActionStatsVO视图对象")
@Data @Data
public class StudentActionStatsVo { public class StudentActionStatsVo {
/** /**
* 主键Id * 主键Id
*/ */
@ApiModelProperty(value = "主键Id")
private Long statsId; private Long statsId;
/** /**
* 统计日期 * 统计日期
*/ */
@ApiModelProperty(value = "统计日期")
private Date statsDate; private Date statsDate;
/** /**
* 统计小时 * 统计小时
*/ */
@ApiModelProperty(value = "统计小时")
private Date statsMonth; private Date statsMonth;
/** /**
* 年级Id * 年级Id
*/ */
@ApiModelProperty(value = "年级Id")
private Integer gradeId; private Integer gradeId;
/** /**
* 学生所在省Id * 学生所在省Id
*/ */
@ApiModelProperty(value = "学生所在省Id")
private Long provinceId; private Long provinceId;
/** /**
* 学生所在城市Id * 学生所在城市Id
*/ */
@ApiModelProperty(value = "学生所在城市Id")
private Long cityId; private Long cityId;
/** /**
* 购课学币数量 * 购课学币数量
*/ */
@ApiModelProperty(value = "购课学币数量")
private Integer buyCourseAmount; private Integer buyCourseAmount;
/** /**
* 购买课程次数 * 购买课程次数
*/ */
@ApiModelProperty(value = "购买课程次数")
private Integer buyCourseCount; private Integer buyCourseCount;
/** /**
* 购买视频学币数量 * 购买视频学币数量
*/ */
@ApiModelProperty(value = "购买视频学币数量")
private Integer buyVideoAmount; private Integer buyVideoAmount;
/** /**
* 购买视频次数 * 购买视频次数
*/ */
@ApiModelProperty(value = "购买视频次数")
private Integer buyVideoCount; private Integer buyVideoCount;
/** /**
* 购买作业学币数量 * 购买作业学币数量
*/ */
@ApiModelProperty(value = "购买作业学币数量")
private Integer buyPaperAmount; private Integer buyPaperAmount;
/** /**
* 购买作业次数 * 购买作业次数
*/ */
@ApiModelProperty(value = "购买作业次数")
private Integer buyPaperCount; private Integer buyPaperCount;
/** /**
* 购买献花数量 * 购买献花数量
*/ */
@ApiModelProperty(value = "购买献花数量")
private Integer buyFlowerAmount; private Integer buyFlowerAmount;
/** /**
* 购买献花次数 * 购买献花次数
*/ */
@ApiModelProperty(value = "购买献花次数")
private Integer buyFlowerCount; private Integer buyFlowerCount;
/** /**
* 充值学币数量 * 充值学币数量
*/ */
@ApiModelProperty(value = "充值学币数量")
private Integer rechargeCoinAmount; private Integer rechargeCoinAmount;
/** /**
* 充值学币次数 * 充值学币次数
*/ */
@ApiModelProperty(value = "充值学币次数")
private Integer rechargeCoinCount; private Integer rechargeCoinCount;
/** /**
* 线下课程上课次数 * 线下课程上课次数
*/ */
@ApiModelProperty(value = "线下课程上课次数")
private Integer doCourseCount; private Integer doCourseCount;
/** /**
* 观看视频次数 * 观看视频次数
*/ */
@ApiModelProperty(value = "观看视频次数")
private Integer watchVideoCount; private Integer watchVideoCount;
/** /**
* 购买献花消费学币数量 * 购买献花消费学币数量
*/ */
@ApiModelProperty(value = "购买献花消费学币数量")
private Integer watchVideoTotalSecond; private Integer watchVideoTotalSecond;
/** /**
* 做题数量 * 做题数量
*/ */
@ApiModelProperty(value = "做题数量")
private Integer doExerciseCount; private Integer doExerciseCount;
/** /**
* 做题正确的数量 * 做题正确的数量
*/ */
@ApiModelProperty(value = "做题正确的数量")
private Integer doExerciseCorrectCount; private Integer doExerciseCorrectCount;
/** /**
* gradeId 字典关联数据 * gradeId 字典关联数据
*/ */
@ApiModelProperty(value = "gradeId 字典关联数据")
private Map<String, Object> gradeIdDictMap; private Map<String, Object> gradeIdDictMap;
/** /**
* provinceId 字典关联数据 * provinceId 字典关联数据
*/ */
@ApiModelProperty(value = "provinceId 字典关联数据")
private Map<String, Object> provinceIdDictMap; private Map<String, Object> provinceIdDictMap;
/** /**
* cityId 字典关联数据 * cityId 字典关联数据
*/ */
@ApiModelProperty(value = "cityId 字典关联数据")
private Map<String, Object> cityIdDictMap; private Map<String, Object> cityIdDictMap;
} }

View File

@@ -1,5 +1,7 @@
package com.orange.demo.webadmin.app.vo; package com.orangeforms.webadmin.app.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
@@ -11,101 +13,121 @@ import java.util.Map;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("StudentActionTransVO视图对象")
@Data @Data
public class StudentActionTransVo { public class StudentActionTransVo {
/** /**
* 主键Id * 主键Id
*/ */
@ApiModelProperty(value = "主键Id")
private Long transId; private Long transId;
/** /**
* 学生Id * 学生Id
*/ */
@ApiModelProperty(value = "学生Id")
private Long studentId; private Long studentId;
/** /**
* 学生名称 * 学生名称
*/ */
@ApiModelProperty(value = "学生名称")
private String studentName; private String studentName;
/** /**
* 学生校区 * 学生校区
*/ */
@ApiModelProperty(value = "学生校区")
private Long schoolId; private Long schoolId;
/** /**
* 年级Id * 年级Id
*/ */
@ApiModelProperty(value = "年级Id")
private Integer gradeId; private Integer gradeId;
/** /**
* 行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花) * 行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)
*/ */
@ApiModelProperty(value = "行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)")
private Integer actionType; private Integer actionType;
/** /**
* 设备类型(0: iOS 1: Android 2: PC) * 设备类型(0: iOS 1: Android 2: PC)
*/ */
@ApiModelProperty(value = "设备类型(0: iOS 1: Android 2: PC)")
private Integer deviceType; private Integer deviceType;
/** /**
* 看视频秒数 * 看视频秒数
*/ */
@ApiModelProperty(value = "看视频秒数")
private Integer watchVideoSeconds; private Integer watchVideoSeconds;
/** /**
* 购买献花数量 * 购买献花数量
*/ */
@ApiModelProperty(value = "购买献花数量")
private Integer flowerCount; private Integer flowerCount;
/** /**
* 购买作业数量 * 购买作业数量
*/ */
@ApiModelProperty(value = "购买作业数量")
private Integer paperCount; private Integer paperCount;
/** /**
* 购买视频数量 * 购买视频数量
*/ */
@ApiModelProperty(value = "购买视频数量")
private Integer videoCount; private Integer videoCount;
/** /**
* 购买课程数量 * 购买课程数量
*/ */
@ApiModelProperty(value = "购买课程数量")
private Integer courseCount; private Integer courseCount;
/** /**
* 充值学币数量 * 充值学币数量
*/ */
@ApiModelProperty(value = "充值学币数量")
private Integer coinCount; private Integer coinCount;
/** /**
* 做题是否正确标记 * 做题是否正确标记
*/ */
@ApiModelProperty(value = "做题是否正确标记")
private Integer exerciseCorrectFlag; private Integer exerciseCorrectFlag;
/** /**
* 发生时间 * 发生时间
*/ */
@ApiModelProperty(value = "发生时间")
private Date createTime; private Date createTime;
/** /**
* schoolId 字典关联数据 * schoolId 字典关联数据
*/ */
@ApiModelProperty(value = "schoolId 字典关联数据")
private Map<String, Object> schoolIdDictMap; private Map<String, Object> schoolIdDictMap;
/** /**
* gradeId 字典关联数据 * gradeId 字典关联数据
*/ */
@ApiModelProperty(value = "gradeId 字典关联数据")
private Map<String, Object> gradeIdDictMap; private Map<String, Object> gradeIdDictMap;
/** /**
* actionType 常量字典关联数据 * actionType 常量字典关联数据
*/ */
@ApiModelProperty(value = "actionType 常量字典关联数据")
private Map<String, Object> actionTypeDictMap; private Map<String, Object> actionTypeDictMap;
/** /**
* deviceType 常量字典关联数据 * deviceType 常量字典关联数据
*/ */
@ApiModelProperty(value = "deviceType 常量字典关联数据")
private Map<String, Object> deviceTypeDictMap; private Map<String, Object> deviceTypeDictMap;
} }

View File

@@ -1,5 +1,7 @@
package com.orange.demo.webadmin.app.vo; package com.orangeforms.webadmin.app.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
@@ -11,61 +13,73 @@ import java.util.Map;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("StudentClassVO视图对象")
@Data @Data
public class StudentClassVo { public class StudentClassVo {
/** /**
* 班级Id * 班级Id
*/ */
@ApiModelProperty(value = "班级Id")
private Long classId; private Long classId;
/** /**
* 班级名称 * 班级名称
*/ */
@ApiModelProperty(value = "班级名称")
private String className; private String className;
/** /**
* 学校Id * 学校Id
*/ */
@ApiModelProperty(value = "学校Id")
private Long schoolId; private Long schoolId;
/** /**
* 学生班长Id * 学生班长Id
*/ */
@ApiModelProperty(value = "学生班长Id")
private Long leaderId; private Long leaderId;
/** /**
* 已完成课时数量 * 已完成课时数量
*/ */
@ApiModelProperty(value = "已完成课时数量")
private Integer finishClassHour; private Integer finishClassHour;
/** /**
* 班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班) * 班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)
*/ */
@ApiModelProperty(value = "班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)")
private Integer classLevel; private Integer classLevel;
/** /**
* 创建用户 * 创建用户
*/ */
@ApiModelProperty(value = "创建用户")
private Long createUserId; private Long createUserId;
/** /**
* 班级创建时间 * 班级创建时间
*/ */
@ApiModelProperty(value = "班级创建时间")
private Date createTime; private Date createTime;
/** /**
* schoolId 字典关联数据 * schoolId 字典关联数据
*/ */
@ApiModelProperty(value = "schoolId 字典关联数据")
private Map<String, Object> schoolIdDictMap; private Map<String, Object> schoolIdDictMap;
/** /**
* leaderId 字典关联数据 * leaderId 字典关联数据
*/ */
@ApiModelProperty(value = "leaderId 字典关联数据")
private Map<String, Object> leaderIdDictMap; private Map<String, Object> leaderIdDictMap;
/** /**
* classLevel 常量字典关联数据 * classLevel 常量字典关联数据
*/ */
@ApiModelProperty(value = "classLevel 常量字典关联数据")
private Map<String, Object> classLevelDictMap; private Map<String, Object> classLevelDictMap;
} }

View File

@@ -1,5 +1,7 @@
package com.orange.demo.webadmin.app.vo; package com.orangeforms.webadmin.app.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
@@ -11,121 +13,145 @@ import java.util.Map;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiModel("StudentVO视图对象")
@Data @Data
public class StudentVo { public class StudentVo {
/** /**
* 学生Id * 学生Id
*/ */
@ApiModelProperty(value = "学生Id")
private Long studentId; private Long studentId;
/** /**
* 登录手机 * 登录手机
*/ */
@ApiModelProperty(value = "登录手机")
private String loginMobile; private String loginMobile;
/** /**
* 学生姓名 * 学生姓名
*/ */
@ApiModelProperty(value = "学生姓名")
private String studentName; private String studentName;
/** /**
* 所在省份Id * 所在省份Id
*/ */
@ApiModelProperty(value = "所在省份Id")
private Long provinceId; private Long provinceId;
/** /**
* 所在城市Id * 所在城市Id
*/ */
@ApiModelProperty(value = "所在城市Id")
private Long cityId; private Long cityId;
/** /**
* 区县Id * 区县Id
*/ */
@ApiModelProperty(value = "区县Id")
private Long districtId; private Long districtId;
/** /**
* 学生性别 (0: 女生 1: 男生) * 学生性别 (0: 女生 1: 男生)
*/ */
@ApiModelProperty(value = "学生性别 (0: 女生 1: 男生)")
private Integer gender; private Integer gender;
/** /**
* 生日 * 生日
*/ */
@ApiModelProperty(value = "生日")
private Date birthday; private Date birthday;
/** /**
* 经验等级 (0: 初级 1: 中级 2: 高级 3: 资深) * 经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)
*/ */
@ApiModelProperty(value = "经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)")
private Integer experienceLevel; private Integer experienceLevel;
/** /**
* 总共充值学币数量 * 总共充值学币数量
*/ */
@ApiModelProperty(value = "总共充值学币数量")
private Integer totalCoin; private Integer totalCoin;
/** /**
* 可用学币数量 * 可用学币数量
*/ */
@ApiModelProperty(value = "可用学币数量")
private Integer leftCoin; private Integer leftCoin;
/** /**
* 年级Id * 年级Id
*/ */
@ApiModelProperty(value = "年级Id")
private Integer gradeId; private Integer gradeId;
/** /**
* 校区Id * 校区Id
*/ */
@ApiModelProperty(value = "校区Id")
private Long schoolId; private Long schoolId;
/** /**
* 注册时间 * 注册时间
*/ */
@ApiModelProperty(value = "注册时间")
private Date registerTime; private Date registerTime;
/** /**
* 学生状态 (0: 正常 1: 锁定 2: 注销) * 学生状态 (0: 正常 1: 锁定 2: 注销)
*/ */
@ApiModelProperty(value = "学生状态 (0: 正常 1: 锁定 2: 注销)")
private Integer status; private Integer status;
/** /**
* provinceId 字典关联数据 * provinceId 字典关联数据
*/ */
@ApiModelProperty(value = "provinceId 字典关联数据")
private Map<String, Object> provinceIdDictMap; private Map<String, Object> provinceIdDictMap;
/** /**
* cityId 字典关联数据 * cityId 字典关联数据
*/ */
@ApiModelProperty(value = "cityId 字典关联数据")
private Map<String, Object> cityIdDictMap; private Map<String, Object> cityIdDictMap;
/** /**
* districtId 字典关联数据 * districtId 字典关联数据
*/ */
@ApiModelProperty(value = "districtId 字典关联数据")
private Map<String, Object> districtIdDictMap; private Map<String, Object> districtIdDictMap;
/** /**
* gradeId 字典关联数据 * gradeId 字典关联数据
*/ */
@ApiModelProperty(value = "gradeId 字典关联数据")
private Map<String, Object> gradeIdDictMap; private Map<String, Object> gradeIdDictMap;
/** /**
* schoolId 字典关联数据 * schoolId 字典关联数据
*/ */
@ApiModelProperty(value = "schoolId 字典关联数据")
private Map<String, Object> schoolIdDictMap; private Map<String, Object> schoolIdDictMap;
/** /**
* gender 常量字典关联数据 * gender 常量字典关联数据
*/ */
@ApiModelProperty(value = "gender 常量字典关联数据")
private Map<String, Object> genderDictMap; private Map<String, Object> genderDictMap;
/** /**
* experienceLevel 常量字典关联数据 * experienceLevel 常量字典关联数据
*/ */
@ApiModelProperty(value = "experienceLevel 常量字典关联数据")
private Map<String, Object> experienceLevelDictMap; private Map<String, Object> experienceLevelDictMap;
/** /**
* status 常量字典关联数据 * status 常量字典关联数据
*/ */
@ApiModelProperty(value = "status 常量字典关联数据")
private Map<String, Object> statusDictMap; private Map<String, Object> statusDictMap;
} }

View File

@@ -1,4 +1,4 @@
package com.orange.demo.webadmin.config; package com.orangeforms.webadmin.config;
import lombok.Data; import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;

View File

@@ -1,4 +1,4 @@
package com.orange.demo.webadmin.config; package com.orangeforms.webadmin.config;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -18,7 +18,7 @@ import javax.sql.DataSource;
*/ */
@Configuration @Configuration
@EnableTransactionManagement @EnableTransactionManagement
@MapperScan(value = {"com.orange.demo.webadmin.*.dao", "com.orange.demo.common.*.dao"}) @MapperScan(value = {"com.orangeforms.webadmin.*.dao", "com.orangeforms.common.*.dao"})
public class DataSourceConfig { public class DataSourceConfig {
@Bean(initMethod = "init", destroyMethod = "close") @Bean(initMethod = "init", destroyMethod = "close")

View File

@@ -1,4 +1,4 @@
package com.orange.demo.webadmin.config; package com.orangeforms.webadmin.config;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.FilterRegistrationBean;

View File

@@ -1,6 +1,6 @@
package com.orange.demo.webadmin.config; package com.orangeforms.webadmin.config;
import com.orange.demo.webadmin.interceptor.AuthenticationInterceptor; import com.orangeforms.webadmin.interceptor.AuthenticationInterceptor;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

View File

@@ -1,17 +1,17 @@
package com.orange.demo.webadmin.interceptor; package com.orangeforms.webadmin.interceptor;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.orange.demo.webadmin.config.ApplicationConfig; import com.orangeforms.webadmin.config.ApplicationConfig;
import com.orange.demo.webadmin.upms.model.SysPermWhitelist; import com.orangeforms.webadmin.upms.model.SysPermWhitelist;
import com.orange.demo.webadmin.upms.service.SysPermWhitelistService; import com.orangeforms.webadmin.upms.service.SysPermWhitelistService;
import com.orange.demo.webadmin.upms.service.SysPermService; import com.orangeforms.webadmin.upms.service.SysPermService;
import com.orange.demo.common.core.annotation.NoAuthInterface; import com.orangeforms.common.core.annotation.NoAuthInterface;
import com.orange.demo.common.core.constant.ErrorCodeEnum; import com.orangeforms.common.core.constant.ErrorCodeEnum;
import com.orange.demo.common.core.object.ResponseResult; import com.orangeforms.common.core.object.ResponseResult;
import com.orange.demo.common.core.object.TokenData; import com.orangeforms.common.core.object.TokenData;
import com.orange.demo.common.core.util.ApplicationContextHolder; import com.orangeforms.common.core.util.ApplicationContextHolder;
import com.orange.demo.common.core.util.JwtUtil; import com.orangeforms.common.core.util.JwtUtil;
import com.orange.demo.common.core.util.RedisKeyUtil; import com.orangeforms.common.core.util.RedisKeyUtil;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;

View File

@@ -1,23 +1,29 @@
package com.orange.demo.webadmin.upms.controller; package com.orangeforms.webadmin.upms.controller;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.serializer.SerializerFeature;
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 lombok.extern.slf4j.Slf4j;
import com.orange.demo.webadmin.config.ApplicationConfig; import com.orangeforms.webadmin.config.ApplicationConfig;
import com.orange.demo.webadmin.upms.service.*; import com.orangeforms.webadmin.upms.service.*;
import com.orange.demo.webadmin.upms.model.*; import com.orangeforms.webadmin.upms.model.*;
import com.orange.demo.webadmin.upms.model.constant.SysUserStatus; import com.orangeforms.webadmin.upms.model.constant.SysUserStatus;
import com.orange.demo.webadmin.upms.model.constant.SysUserType; import com.orangeforms.webadmin.upms.model.constant.SysUserType;
import com.orange.demo.common.core.annotation.NoAuthInterface; import com.orangeforms.common.core.annotation.NoAuthInterface;
import com.orange.demo.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.annotation.MyRequestBody;
import com.orange.demo.common.core.constant.ApplicationConstant; import com.orangeforms.common.core.constant.ApplicationConstant;
import com.orange.demo.common.core.constant.ErrorCodeEnum; import com.orangeforms.common.core.constant.ErrorCodeEnum;
import com.orange.demo.common.core.object.*; import com.orangeforms.common.core.object.*;
import com.orange.demo.common.core.util.*; import com.orangeforms.common.core.util.*;
import com.orange.demo.common.redis.cache.SessionCacheHelper; import com.orangeforms.common.redis.cache.SessionCacheHelper;
import com.orange.demo.common.log.annotation.OperationLog; import com.orangeforms.common.log.annotation.OperationLog;
import com.orange.demo.common.log.model.constant.SysOperationLogType; import com.orangeforms.common.log.model.constant.SysOperationLogType;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.redisson.api.RBucket; import org.redisson.api.RBucket;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +34,7 @@ import java.net.URLDecoder;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/** /**
* 登录接口控制器类 * 登录接口控制器类
@@ -35,6 +42,8 @@ import java.util.concurrent.TimeUnit;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@ApiSupport(order = 1)
@Api(tags = "用户登录接口")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/admin/upms/login") @RequestMapping("/admin/upms/login")
@@ -49,6 +58,8 @@ public class LoginController {
@Autowired @Autowired
private SysPermService sysPermService; private SysPermService sysPermService;
@Autowired @Autowired
private SysRoleService sysRoleService;
@Autowired
private SysDataPermService sysDataPermService; private SysDataPermService sysDataPermService;
@Autowired @Autowired
private ApplicationConfig appConfig; private ApplicationConfig appConfig;
@@ -66,6 +77,12 @@ public class LoginController {
* @param password 密码 * @param password 密码
* @return 应答结果对象其中包括JWT的Token数据以及菜单列表 * @return 应答结果对象其中包括JWT的Token数据以及菜单列表
*/ */
@ApiImplicitParams({
// 这里包含密码密文仅用于方便开发期间的接口测试集成测试和发布阶段需要将当前注解去掉
// 如果您重新生成了公钥和私钥请替换password的缺省值
@ApiImplicitParam(name = "loginName", defaultValue = "admin"),
@ApiImplicitParam(name = "password", defaultValue = "IP3ccke3GhH45iGHB5qP9p7iZw6xUyj28Ju10rnBiPKOI35sc%2BjI7%2FdsjOkHWMfUwGYGfz8ik31HC2Ruk%2Fhkd9f6RPULTHj7VpFdNdde2P9M4mQQnFBAiPM7VT9iW3RyCtPlJexQ3nAiA09OqG%2F0sIf1kcyveSrulxembARDbDo%3D")
})
@NoAuthInterface @NoAuthInterface
@OperationLog(type = SysOperationLogType.LOGIN, saveResponse = false) @OperationLog(type = SysOperationLogType.LOGIN, saveResponse = false)
@PostMapping("/doLogin") @PostMapping("/doLogin")
@@ -191,6 +208,11 @@ public class LoginController {
tokenData.setLoginIp(IpUtil.getRemoteIpAddress(ContextUtil.getHttpRequest())); tokenData.setLoginIp(IpUtil.getRemoteIpAddress(ContextUtil.getHttpRequest()));
tokenData.setLoginTime(new Date()); tokenData.setLoginTime(new Date());
tokenData.setDeviceType(deviceType); tokenData.setDeviceType(deviceType);
List<SysUserRole> userRoleList = sysRoleService.getSysUserRoleListByUserId(user.getUserId());
if (CollectionUtils.isNotEmpty(userRoleList)) {
Set<Long> userRoleIdSet = userRoleList.stream().map(SysUserRole::getRoleId).collect(Collectors.toSet());
tokenData.setRoleIds(StringUtils.join(userRoleIdSet, ","));
}
String sessionIdKey = RedisKeyUtil.makeSessionIdKey(sessionId); String sessionIdKey = RedisKeyUtil.makeSessionIdKey(sessionId);
String sessionData = JSON.toJSONString(tokenData, SerializerFeature.WriteNonStringValueAsString); String sessionData = JSON.toJSONString(tokenData, SerializerFeature.WriteNonStringValueAsString);
RBucket<String> bucket = redissonClient.getBucket(sessionIdKey); RBucket<String> bucket = redissonClient.getBucket(sessionIdKey);

View File

@@ -1,11 +1,12 @@
package com.orange.demo.webadmin.upms.controller; package com.orangeforms.webadmin.upms.controller;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.orange.demo.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.annotation.MyRequestBody;
import com.orange.demo.common.core.object.*; import com.orangeforms.common.core.object.*;
import com.orange.demo.common.core.util.RedisKeyUtil; import com.orangeforms.common.core.util.RedisKeyUtil;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RBucket; import org.redisson.api.RBucket;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
@@ -22,6 +23,7 @@ import java.util.*;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@Api(tags = "在线用户接口")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/admin/upms/loginUser") @RequestMapping("/admin/upms/loginUser")

View File

@@ -1,24 +1,26 @@
package com.orange.demo.webadmin.upms.controller; package com.orangeforms.webadmin.upms.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import com.github.pagehelper.page.PageMethod; import com.github.pagehelper.page.PageMethod;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import com.orange.demo.webadmin.upms.dto.SysDataPermDto; import com.orangeforms.webadmin.upms.dto.SysDataPermDto;
import com.orange.demo.webadmin.upms.dto.SysUserDto; import com.orangeforms.webadmin.upms.dto.SysUserDto;
import com.orange.demo.webadmin.upms.vo.SysDataPermVo; import com.orangeforms.webadmin.upms.vo.SysDataPermVo;
import com.orange.demo.webadmin.upms.vo.SysUserVo; import com.orangeforms.webadmin.upms.vo.SysUserVo;
import com.orange.demo.webadmin.upms.model.SysDataPerm; import com.orangeforms.webadmin.upms.model.SysDataPerm;
import com.orange.demo.webadmin.upms.model.SysUser; import com.orangeforms.webadmin.upms.model.SysUser;
import com.orange.demo.webadmin.upms.service.SysDataPermService; import com.orangeforms.webadmin.upms.service.SysDataPermService;
import com.orange.demo.webadmin.upms.service.SysUserService; import com.orangeforms.webadmin.upms.service.SysUserService;
import com.orange.demo.common.core.validator.UpdateGroup; import com.orangeforms.common.core.validator.UpdateGroup;
import com.orange.demo.common.core.constant.ErrorCodeEnum; import com.orangeforms.common.core.constant.ErrorCodeEnum;
import com.orange.demo.common.core.object.*; import com.orangeforms.common.core.object.*;
import com.orange.demo.common.core.util.*; import com.orangeforms.common.core.util.*;
import com.orange.demo.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.annotation.MyRequestBody;
import com.orange.demo.common.log.annotation.OperationLog; import com.orangeforms.common.log.annotation.OperationLog;
import com.orange.demo.common.log.model.constant.SysOperationLogType; import com.orangeforms.common.log.model.constant.SysOperationLogType;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -32,6 +34,7 @@ import java.util.stream.Collectors;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@Api(tags = "数据权限管理接口")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/admin/upms/sysDataPerm") @RequestMapping("/admin/upms/sysDataPerm")
@@ -49,6 +52,11 @@ public class SysDataPermController {
* @param deptIdListString 数据权限关联的部门Id列表多个之间逗号分隔 * @param deptIdListString 数据权限关联的部门Id列表多个之间逗号分隔
* @return 应答结果对象包含新增数据权限对象的主键Id * @return 应答结果对象包含新增数据权限对象的主键Id
*/ */
@ApiOperationSupport(ignoreParameters = {
"sysDataPermDto.dataPermId",
"sysDataPermDto.createTimeStart",
"sysDataPermDto.createTimeEnd",
"sysDataPermDto.searchString"})
@OperationLog(type = SysOperationLogType.ADD) @OperationLog(type = SysOperationLogType.ADD)
@PostMapping("/add") @PostMapping("/add")
public ResponseResult<Long> add( public ResponseResult<Long> add(
@@ -77,6 +85,10 @@ public class SysDataPermController {
* @param deptIdListString 数据权限关联的部门Id列表多个之间逗号分隔 * @param deptIdListString 数据权限关联的部门Id列表多个之间逗号分隔
* @return 应答结果对象 * @return 应答结果对象
*/ */
@ApiOperationSupport(ignoreParameters = {
"sysDataPermDto.createTimeStart",
"sysDataPermDto.createTimeEnd",
"sysDataPermDto.searchString"})
@OperationLog(type = SysOperationLogType.UPDATE) @OperationLog(type = SysOperationLogType.UPDATE)
@PostMapping("/update") @PostMapping("/update")
public ResponseResult<Void> update( public ResponseResult<Void> update(

View File

@@ -1,17 +1,19 @@
package com.orange.demo.webadmin.upms.controller; package com.orangeforms.webadmin.upms.controller;
import cn.jimmyshi.beanquery.BeanQuery; import cn.jimmyshi.beanquery.BeanQuery;
import com.orange.demo.common.log.annotation.OperationLog; import com.orangeforms.common.log.annotation.OperationLog;
import com.orange.demo.common.log.model.constant.SysOperationLogType; import com.orangeforms.common.log.model.constant.SysOperationLogType;
import com.github.pagehelper.page.PageMethod; import com.github.pagehelper.page.PageMethod;
import com.orange.demo.webadmin.upms.vo.*; import com.orangeforms.webadmin.upms.vo.*;
import com.orange.demo.webadmin.upms.dto.*; import com.orangeforms.webadmin.upms.dto.*;
import com.orange.demo.webadmin.upms.model.*; import com.orangeforms.webadmin.upms.model.*;
import com.orange.demo.webadmin.upms.service.*; import com.orangeforms.webadmin.upms.service.*;
import com.orange.demo.common.core.object.*; import com.orangeforms.common.core.object.*;
import com.orange.demo.common.core.util.*; import com.orangeforms.common.core.util.*;
import com.orange.demo.common.core.constant.*; import com.orangeforms.common.core.constant.*;
import com.orange.demo.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.annotation.MyRequestBody;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -25,6 +27,7 @@ import java.util.*;
* @author Jerry * @author Jerry
* @date 2020-09-24 * @date 2020-09-24
*/ */
@Api(tags = "部门管理管理接口")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/admin/upms/sysDept") @RequestMapping("/admin/upms/sysDept")
@@ -39,6 +42,7 @@ public class SysDeptController {
* @param sysDeptDto 新增对象 * @param sysDeptDto 新增对象
* @return 应答结果对象包含新增对象主键Id * @return 应答结果对象包含新增对象主键Id
*/ */
@ApiOperationSupport(ignoreParameters = {"sysDeptDto.deptId"})
@OperationLog(type = SysOperationLogType.ADD) @OperationLog(type = SysOperationLogType.ADD)
@PostMapping("/add") @PostMapping("/add")
public ResponseResult<Long> add(@MyRequestBody SysDeptDto sysDeptDto) { public ResponseResult<Long> add(@MyRequestBody SysDeptDto sysDeptDto) {

Some files were not shown because too many files have changed in this diff Show More