commit
c1d4c7ce21
98 changed files with 3096 additions and 0 deletions
-
2.gitattributes
-
33.gitignore
-
19.mvn/wrapper/maven-wrapper.properties
-
24common/common_util/pom.xml
-
80common/common_util/src/main/java/com/homilylink/common/base/result/R.java
-
65common/common_util/src/main/java/com/homilylink/common/base/result/ResultCodeEnum.java
-
7common/common_util/src/main/webapp/WEB-INF/web.xml
-
5common/common_util/src/main/webapp/index.jsp
-
45common/pom.xml
-
29common/service_base/pom.xml
-
28common/service_base/src/main/java/com/homilylink/assignment/base/config/MybatisPlusConfig.java
-
59common/service_base/src/main/java/com/homilylink/assignment/base/config/Swagger2Config.java
-
26common/service_base/src/main/java/com/homilylink/assignment/base/handler/CommonMetaObjectHandler.java
-
36common/service_base/src/main/java/com/homilylink/assignment/base/handler/GlobalExceptionHandler.java
-
7common/service_base/src/main/webapp/WEB-INF/web.xml
-
5common/service_base/src/main/webapp/index.jsp
-
259mvnw
-
149mvnw.cmd
-
193pom.xml
-
101service/pom.xml
-
24service/service_assignment/pom.xml
-
21service/service_assignment/src/main/java/com/homilylink/assignment/ServiceAssignmentApplication.java
-
21service/service_assignment/src/main/java/com/homilylink/assignment/controller/AnswersController.java
-
21service/service_assignment/src/main/java/com/homilylink/assignment/controller/ArticlesController.java
-
21service/service_assignment/src/main/java/com/homilylink/assignment/controller/AssignmentSubmissionsController.java
-
21service/service_assignment/src/main/java/com/homilylink/assignment/controller/CoursessController.java
-
21service/service_assignment/src/main/java/com/homilylink/assignment/controller/MemberInfoController.java
-
21service/service_assignment/src/main/java/com/homilylink/assignment/controller/OptionsController.java
-
21service/service_assignment/src/main/java/com/homilylink/assignment/controller/QuestionsController.java
-
30service/service_assignment/src/main/java/com/homilylink/assignment/controller/User.java
-
21service/service_assignment/src/main/java/com/homilylink/assignment/controller/UsersController.java
-
89service/service_assignment/src/main/java/com/homilylink/assignment/controller/admin/AssignmentController.java
-
41service/service_assignment/src/main/java/com/homilylink/assignment/controller/admin/LiveSessionsController.java
-
61service/service_assignment/src/main/java/com/homilylink/assignment/entity/Answers.java
-
49service/service_assignment/src/main/java/com/homilylink/assignment/entity/Articles.java
-
66service/service_assignment/src/main/java/com/homilylink/assignment/entity/Assignment.java
-
64service/service_assignment/src/main/java/com/homilylink/assignment/entity/AssignmentSubmissions.java
-
49service/service_assignment/src/main/java/com/homilylink/assignment/entity/Coursess.java
-
58service/service_assignment/src/main/java/com/homilylink/assignment/entity/LiveSessions.java
-
147service/service_assignment/src/main/java/com/homilylink/assignment/entity/MemberInfo.java
-
53service/service_assignment/src/main/java/com/homilylink/assignment/entity/Options.java
-
53service/service_assignment/src/main/java/com/homilylink/assignment/entity/Questions.java
-
55service/service_assignment/src/main/java/com/homilylink/assignment/entity/Users.java
-
52service/service_assignment/src/main/java/com/homilylink/assignment/entity/vo/AssignmentLiveVo.java
-
22service/service_assignment/src/main/java/com/homilylink/assignment/entity/vo/AssignmentVo.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/mapper/AnswersMapper.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/mapper/ArticlesMapper.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/mapper/AssignmentMapper.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/mapper/AssignmentSubmissionsMapper.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/mapper/CoursessMapper.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/mapper/LiveSessionsMapper.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/mapper/MemberInfoMapper.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/mapper/OptionsMapper.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/mapper/QuestionsMapper.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/mapper/UsersMapper.java
-
5service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/AnswersMapper.xml
-
5service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/ArticlesMapper.xml
-
5service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/AssignmentMapper.xml
-
5service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/AssignmentSubmissionsMapper.xml
-
5service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/CoursessMapper.xml
-
5service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/LiveSessionsMapper.xml
-
5service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/MemberInfoMapper.xml
-
5service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/OptionsMapper.xml
-
5service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/QuestionsMapper.xml
-
5service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/UsersMapper.xml
-
16service/service_assignment/src/main/java/com/homilylink/assignment/service/AnswersService.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/service/ArticlesService.java
-
19service/service_assignment/src/main/java/com/homilylink/assignment/service/AssignmentService.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/service/AssignmentSubmissionsService.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/service/CoursessService.java
-
20service/service_assignment/src/main/java/com/homilylink/assignment/service/LiveSessionsService.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/service/MemberInfoService.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/service/OptionsService.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/service/QuestionsService.java
-
16service/service_assignment/src/main/java/com/homilylink/assignment/service/UsersService.java
-
20service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/AnswersServiceImpl.java
-
20service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/ArticlesServiceImpl.java
-
33service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/AssignmentServiceImpl.java
-
20service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/AssignmentSubmissionsServiceImpl.java
-
20service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/CoursessServiceImpl.java
-
43service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/LiveSessionsServiceImpl.java
-
20service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/MemberInfoServiceImpl.java
-
20service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/OptionsServiceImpl.java
-
20service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/QuestionsServiceImpl.java
-
20service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/UsersServiceImpl.java
-
50service/service_assignment/src/main/resources/application.yml
-
5service/service_assignment/src/main/resources/mapper/AnswersMapper.xml
-
5service/service_assignment/src/main/resources/mapper/ArticlesMapper.xml
-
5service/service_assignment/src/main/resources/mapper/AssignmentMapper.xml
-
5service/service_assignment/src/main/resources/mapper/AssignmentSubmissionsMapper.xml
-
5service/service_assignment/src/main/resources/mapper/CoursessMapper.xml
-
5service/service_assignment/src/main/resources/mapper/LiveSessionsMapper.xml
-
5service/service_assignment/src/main/resources/mapper/OptionsMapper.xml
-
5service/service_assignment/src/main/resources/mapper/QuestionsMapper.xml
-
5service/service_assignment/src/main/resources/mapper/UsersMapper.xml
-
7service/service_assignment/src/main/webapp/WEB-INF/web.xml
-
5service/service_assignment/src/main/webapp/index.jsp
-
102service/service_assignment/src/test/java/com/homily/assignment/CodeGenerator.java
@ -0,0 +1,2 @@ |
|||
/mvnw text eol=lf |
|||
*.cmd text eol=crlf |
@ -0,0 +1,33 @@ |
|||
HELP.md |
|||
target/ |
|||
!.mvn/wrapper/maven-wrapper.jar |
|||
!**/src/main/**/target/ |
|||
!**/src/test/**/target/ |
|||
|
|||
### STS ### |
|||
.apt_generated |
|||
.classpath |
|||
.factorypath |
|||
.project |
|||
.settings |
|||
.springBeans |
|||
.sts4-cache |
|||
|
|||
### IntelliJ IDEA ### |
|||
.idea |
|||
*.iws |
|||
*.iml |
|||
*.ipr |
|||
|
|||
### NetBeans ### |
|||
/nbproject/private/ |
|||
/nbbuild/ |
|||
/dist/ |
|||
/nbdist/ |
|||
/.nb-gradle/ |
|||
build/ |
|||
!**/src/main/**/build/ |
|||
!**/src/test/**/build/ |
|||
|
|||
### VS Code ### |
|||
.vscode/ |
@ -0,0 +1,19 @@ |
|||
# Licensed to the Apache Software Foundation (ASF) under one |
|||
# or more contributor license agreements. See the NOTICE file |
|||
# distributed with this work for additional information |
|||
# regarding copyright ownership. The ASF licenses this file |
|||
# to you under the Apache License, Version 2.0 (the |
|||
# "License"); you may not use this file except in compliance |
|||
# with the License. You may obtain a copy of the License at |
|||
# |
|||
# http://www.apache.org/licenses/LICENSE-2.0 |
|||
# |
|||
# Unless required by applicable law or agreed to in writing, |
|||
# software distributed under the License is distributed on an |
|||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
|||
# KIND, either express or implied. See the License for the |
|||
# specific language governing permissions and limitations |
|||
# under the License. |
|||
wrapperVersion=3.3.2 |
|||
distributionType=only-script |
|||
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip |
@ -0,0 +1,24 @@ |
|||
<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/maven-v4_0_0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
<parent> |
|||
<groupId>com.homily</groupId> |
|||
<artifactId>common</artifactId> |
|||
<version>0.0.1-SNAPSHOT</version> |
|||
</parent> |
|||
<artifactId>common_util</artifactId> |
|||
<packaging>war</packaging> |
|||
<name>common_util Maven Webapp</name> |
|||
<url>http://maven.apache.org</url> |
|||
<dependencies> |
|||
<dependency> |
|||
<groupId>junit</groupId> |
|||
<artifactId>junit</artifactId> |
|||
<version>3.8.1</version> |
|||
<scope>test</scope> |
|||
</dependency> |
|||
</dependencies> |
|||
<build> |
|||
<finalName>common_util</finalName> |
|||
</build> |
|||
</project> |
@ -0,0 +1,80 @@ |
|||
package com.homilylink.common.base.result; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.HashMap; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* @author helen |
|||
* @since 2019/12/25 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "全局统一返回结果") |
|||
public class R { |
|||
|
|||
@ApiModelProperty(value = "是否成功") |
|||
private Boolean success; |
|||
|
|||
@ApiModelProperty(value = "返回码") |
|||
private Integer code; |
|||
|
|||
@ApiModelProperty(value = "返回消息") |
|||
private String message; |
|||
|
|||
@ApiModelProperty(value = "返回数据") |
|||
private Map<String, Object> data = new HashMap<String, Object>(); |
|||
|
|||
public R(){} |
|||
|
|||
public static R ok(){ |
|||
R r = new R(); |
|||
r.setSuccess(ResultCodeEnum.SUCCESS.getSuccess()); |
|||
r.setCode(ResultCodeEnum.SUCCESS.getCode()); |
|||
r.setMessage(ResultCodeEnum.SUCCESS.getMessage()); |
|||
return r; |
|||
} |
|||
|
|||
public static R error(){ |
|||
R r = new R(); |
|||
r.setSuccess(ResultCodeEnum.UNKNOWN_REASON.getSuccess()); |
|||
r.setCode(ResultCodeEnum.UNKNOWN_REASON.getCode()); |
|||
r.setMessage(ResultCodeEnum.UNKNOWN_REASON.getMessage()); |
|||
return r; |
|||
} |
|||
|
|||
public static R setResult(ResultCodeEnum resultCodeEnum){ |
|||
R r = new R(); |
|||
r.setSuccess(resultCodeEnum.getSuccess()); |
|||
r.setCode(resultCodeEnum.getCode()); |
|||
r.setMessage(resultCodeEnum.getMessage()); |
|||
return r; |
|||
} |
|||
|
|||
public R success(Boolean success){ |
|||
this.setSuccess(success); |
|||
return this; |
|||
} |
|||
|
|||
public R message(String message){ |
|||
this.setMessage(message); |
|||
return this; |
|||
} |
|||
|
|||
public R code(Integer code){ |
|||
this.setCode(code); |
|||
return this; |
|||
} |
|||
|
|||
public R data(String key, Object value){ |
|||
this.data.put(key, value); |
|||
return this; |
|||
} |
|||
|
|||
public R data(Map<String, Object> map){ |
|||
this.setData(map); |
|||
return this; |
|||
} |
|||
} |
@ -0,0 +1,65 @@ |
|||
package com.homilylink.common.base.result; |
|||
|
|||
import lombok.Getter; |
|||
import lombok.ToString; |
|||
|
|||
/** |
|||
* @author helen |
|||
* @since 2019/12/25 |
|||
*/ |
|||
@Getter |
|||
@ToString |
|||
public enum ResultCodeEnum { |
|||
|
|||
SUCCESS(true, 20000,"成功"), |
|||
UNKNOWN_REASON(false, 20001, "未知错误"), |
|||
|
|||
BAD_SQL_GRAMMAR(false, 21001, "sql语法错误"), |
|||
JSON_PARSE_ERROR(false, 21002, "json解析异常"), |
|||
PARAM_ERROR(false, 21003, "参数不正确"), |
|||
|
|||
FILE_UPLOAD_ERROR(false, 21004, "文件上传错误"), |
|||
FILE_DELETE_ERROR(false, 21005, "文件刪除错误"), |
|||
EXCEL_DATA_IMPORT_ERROR(false, 21006, "Excel数据导入错误"), |
|||
|
|||
VIDEO_UPLOAD_ALIYUN_ERROR(false, 22001, "视频上传至阿里云失败"), |
|||
VIDEO_UPLOAD_TOMCAT_ERROR(false, 22002, "视频上传至业务服务器失败"), |
|||
VIDEO_DELETE_ALIYUN_ERROR(false, 22003, "阿里云视频文件删除失败"), |
|||
FETCH_VIDEO_UPLOADAUTH_ERROR(false, 22004, "获取上传地址和凭证失败"), |
|||
REFRESH_VIDEO_UPLOADAUTH_ERROR(false, 22005, "刷新上传地址和凭证失败"), |
|||
FETCH_PLAYAUTH_ERROR(false, 22006, "获取播放凭证失败"), |
|||
|
|||
URL_ENCODE_ERROR(false, 23001, "URL编码失败"), |
|||
ILLEGAL_CALLBACK_REQUEST_ERROR(false, 23002, "非法回调请求"), |
|||
FETCH_ACCESSTOKEN_FAILD(false, 23003, "获取accessToken失败"), |
|||
FETCH_USERINFO_ERROR(false, 23004, "获取用户信息失败"), |
|||
LOGIN_ERROR(false, 23005, "登录失败"), |
|||
|
|||
COMMENT_EMPTY(false, 24006, "评论内容必须填写"), |
|||
|
|||
PAY_RUN(false, 25000, "支付中"), |
|||
PAY_UNIFIEDORDER_ERROR(false, 25001, "统一下单错误"), |
|||
PAY_ORDERQUERY_ERROR(false, 25002, "查询支付结果错误"), |
|||
|
|||
ORDER_EXIST_ERROR(false, 25003, "课程已购买"), |
|||
|
|||
GATEWAY_ERROR(false, 26000, "服务不能访问"), |
|||
|
|||
CODE_ERROR(false, 28000, "验证码错误"), |
|||
|
|||
LOGIN_AUTH(false, 28004, "需要登录"), |
|||
LOGIN_ACL(false, 28005, "没有权限"); |
|||
|
|||
|
|||
private Boolean success; |
|||
|
|||
private Integer code; |
|||
|
|||
private String message; |
|||
|
|||
ResultCodeEnum(Boolean success, Integer code, String message) { |
|||
this.success = success; |
|||
this.code = code; |
|||
this.message = message; |
|||
} |
|||
} |
@ -0,0 +1,7 @@ |
|||
<!DOCTYPE web-app PUBLIC |
|||
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" |
|||
"http://java.sun.com/dtd/web-app_2_3.dtd" > |
|||
|
|||
<web-app> |
|||
<display-name>Archetype Created Web Application</display-name> |
|||
</web-app> |
@ -0,0 +1,5 @@ |
|||
<html> |
|||
<body> |
|||
<h2>Hello World!</h2> |
|||
</body> |
|||
</html> |
@ -0,0 +1,45 @@ |
|||
<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/maven-v4_0_0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
<parent> |
|||
<groupId>com.homily</groupId> |
|||
<artifactId>homily_link</artifactId> |
|||
<version>0.0.1-SNAPSHOT</version> |
|||
</parent> |
|||
<artifactId>common</artifactId> |
|||
<packaging>pom</packaging> |
|||
<name>common Maven Webapp</name> |
|||
<url>http://maven.apache.org</url> |
|||
<modules> |
|||
<module>common_util</module> |
|||
<module>service_base</module> |
|||
</modules> |
|||
<dependencies> |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-web</artifactId> |
|||
</dependency> |
|||
<!-- mybatis-plus --> |
|||
<dependency> |
|||
<groupId>com.baomidou</groupId> |
|||
<artifactId>mybatis-plus-boot-starter</artifactId> |
|||
</dependency> |
|||
<!-- lombok用来简化实体类:需要安装lombok插件 --> |
|||
<dependency> |
|||
<groupId>org.projectlombok</groupId> |
|||
<artifactId>lombok</artifactId> |
|||
</dependency> |
|||
<!-- swagger --> |
|||
<dependency> |
|||
<groupId>io.springfox</groupId> |
|||
<artifactId>springfox-swagger2</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>io.springfox</groupId> |
|||
<artifactId>springfox-swagger-ui</artifactId> |
|||
</dependency> |
|||
</dependencies> |
|||
<build> |
|||
<finalName>common</finalName> |
|||
</build> |
|||
</project> |
@ -0,0 +1,29 @@ |
|||
<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/maven-v4_0_0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
<parent> |
|||
<groupId>com.homily</groupId> |
|||
<artifactId>common</artifactId> |
|||
<version>0.0.1-SNAPSHOT</version> |
|||
</parent> |
|||
<artifactId>service_base</artifactId> |
|||
<packaging>war</packaging> |
|||
<name>service_base Maven Webapp</name> |
|||
<url>http://maven.apache.org</url> |
|||
<dependencies> |
|||
<dependency> |
|||
<groupId>junit</groupId> |
|||
<artifactId>junit</artifactId> |
|||
<version>3.8.1</version> |
|||
<scope>test</scope> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.homily</groupId> |
|||
<artifactId>common_util</artifactId> |
|||
<version>0.0.1-SNAPSHOT</version> |
|||
</dependency> |
|||
</dependencies> |
|||
<build> |
|||
<finalName>service_base</finalName> |
|||
</build> |
|||
</project> |
@ -0,0 +1,28 @@ |
|||
package com.homilylink.assignment.base.config; |
|||
|
|||
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; |
|||
import org.mybatis.spring.annotation.MapperScan; |
|||
import org.springframework.context.annotation.Bean; |
|||
import org.springframework.context.annotation.Configuration; |
|||
import org.springframework.transaction.annotation.EnableTransactionManagement; |
|||
|
|||
/** |
|||
* @program: homily_link |
|||
* @ClassName MybatisPlusConfig |
|||
* @description: |
|||
* @author: 赵如慧 |
|||
* @create: 2025−04-23 10:44 |
|||
* @Version 1.0 |
|||
**/ |
|||
@EnableTransactionManagement |
|||
@Configuration |
|||
@MapperScan("com.homilylink.*.mapper") |
|||
public class MybatisPlusConfig { |
|||
/** |
|||
* 分页插件 |
|||
*/ |
|||
@Bean |
|||
public PaginationInterceptor paginationInterceptor(){ |
|||
return new PaginationInterceptor(); |
|||
} |
|||
} |
@ -0,0 +1,59 @@ |
|||
package com.homilylink.assignment.base.config; |
|||
|
|||
import com.google.common.base.Predicates; |
|||
import org.springframework.context.annotation.Bean; |
|||
import org.springframework.context.annotation.Configuration; |
|||
import springfox.documentation.builders.ApiInfoBuilder; |
|||
import springfox.documentation.builders.PathSelectors; |
|||
import springfox.documentation.service.ApiInfo; |
|||
import springfox.documentation.service.Contact; |
|||
import springfox.documentation.spi.DocumentationType; |
|||
import springfox.documentation.spring.web.plugins.Docket; |
|||
import springfox.documentation.swagger2.annotations.EnableSwagger2; |
|||
|
|||
import javax.print.Doc; |
|||
|
|||
/** |
|||
* @program: homily_link |
|||
* @ClassName Swagger2Config |
|||
* @description: |
|||
* @author: 赵如慧 |
|||
* @create: 2025−04-23 13:20 |
|||
* @Version 1.0 |
|||
**/ |
|||
@Configuration |
|||
@EnableSwagger2 |
|||
public class Swagger2Config { |
|||
@Bean |
|||
public Docket webApiConfig(){ |
|||
return new Docket(DocumentationType.SWAGGER_2) |
|||
.groupName("webApi") |
|||
.apiInfo(webApiInfo()) |
|||
.select() |
|||
.paths(Predicates.and(PathSelectors.regex("/api/.*"))) |
|||
.build(); |
|||
} |
|||
@Bean |
|||
public Docket adminApiConfig(){ |
|||
return new Docket(DocumentationType.SWAGGER_2) |
|||
.groupName("adminApi") |
|||
.apiInfo(adminApiInfo()) |
|||
.select() |
|||
.paths(Predicates.and(PathSelectors.regex("/admin/.*"))) |
|||
.build(); |
|||
} |
|||
private ApiInfo webApiInfo(){ |
|||
return new ApiInfoBuilder().title("网站的API文档") |
|||
.description("本文档描述了作业的api接口的定义") |
|||
.version("1.0") |
|||
.contact(new Contact("zhaoruhui","http://www.baidu.com","national_zrh@163.com")) |
|||
.build(); |
|||
} |
|||
private ApiInfo adminApiInfo(){ |
|||
return new ApiInfoBuilder().title("网站的API文档") |
|||
.description("本文档描述了作业的后台管理接口的定义") |
|||
.version("1.0") |
|||
.contact(new Contact("zhaoruhui","http://www.baidu.com","national_zrh@163.com")) |
|||
.build(); |
|||
} |
|||
} |
@ -0,0 +1,26 @@ |
|||
package com.homilylink.assignment.base.handler; |
|||
|
|||
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; |
|||
import org.apache.ibatis.reflection.MetaObject; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @author helen |
|||
* @since 2020/4/1 |
|||
*/ |
|||
@Component |
|||
public class CommonMetaObjectHandler implements MetaObjectHandler { |
|||
|
|||
@Override |
|||
public void insertFill(MetaObject metaObject) { |
|||
this.setFieldValByName("createdAt", new Date(), metaObject); |
|||
this.setFieldValByName("updatedAt", new Date(), metaObject); |
|||
} |
|||
|
|||
@Override |
|||
public void updateFill(MetaObject metaObject) { |
|||
this.setFieldValByName("updatedAt", new Date(), metaObject); |
|||
} |
|||
} |
@ -0,0 +1,36 @@ |
|||
package com.homilylink.assignment.base.handler; |
|||
import com.homilylink.common.base.result.R; |
|||
import com.homilylink.common.base.result.ResultCodeEnum; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.http.converter.HttpMessageNotReadableException; |
|||
import org.springframework.jdbc.BadSqlGrammarException; |
|||
import org.springframework.web.bind.annotation.ControllerAdvice; |
|||
import org.springframework.web.bind.annotation.ExceptionHandler; |
|||
import org.springframework.web.bind.annotation.ResponseBody; |
|||
|
|||
/** |
|||
* @author helen |
|||
* @since 2020/4/1 |
|||
*/ |
|||
@ControllerAdvice |
|||
@Slf4j |
|||
public class GlobalExceptionHandler { |
|||
@ExceptionHandler(Exception.class) |
|||
@ResponseBody |
|||
public R error(Exception e){ |
|||
e.printStackTrace(); |
|||
return R.error(); |
|||
} |
|||
@ExceptionHandler(BadSqlGrammarException.class) |
|||
@ResponseBody |
|||
public R error(BadSqlGrammarException e){ |
|||
e.printStackTrace(); |
|||
return R.setResult(ResultCodeEnum.BAD_SQL_GRAMMAR); |
|||
} |
|||
@ExceptionHandler(HttpMessageNotReadableException.class) |
|||
@ResponseBody |
|||
public R error(HttpMessageNotReadableException e){ |
|||
e.printStackTrace(); |
|||
return R.setResult(ResultCodeEnum.JSON_PARSE_ERROR); |
|||
} |
|||
} |
@ -0,0 +1,7 @@ |
|||
<!DOCTYPE web-app PUBLIC |
|||
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" |
|||
"http://java.sun.com/dtd/web-app_2_3.dtd" > |
|||
|
|||
<web-app> |
|||
<display-name>Archetype Created Web Application</display-name> |
|||
</web-app> |
@ -0,0 +1,5 @@ |
|||
<html> |
|||
<body> |
|||
<h2>Hello World!</h2> |
|||
</body> |
|||
</html> |
@ -0,0 +1,259 @@ |
|||
#!/bin/sh |
|||
# ---------------------------------------------------------------------------- |
|||
# Licensed to the Apache Software Foundation (ASF) under one |
|||
# or more contributor license agreements. See the NOTICE file |
|||
# distributed with this work for additional information |
|||
# regarding copyright ownership. The ASF licenses this file |
|||
# to you under the Apache License, Version 2.0 (the |
|||
# "License"); you may not use this file except in compliance |
|||
# with the License. You may obtain a copy of the License at |
|||
# |
|||
# http://www.apache.org/licenses/LICENSE-2.0 |
|||
# |
|||
# Unless required by applicable law or agreed to in writing, |
|||
# software distributed under the License is distributed on an |
|||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
|||
# KIND, either express or implied. See the License for the |
|||
# specific language governing permissions and limitations |
|||
# under the License. |
|||
# ---------------------------------------------------------------------------- |
|||
|
|||
# ---------------------------------------------------------------------------- |
|||
# Apache Maven Wrapper startup batch script, version 3.3.2 |
|||
# |
|||
# Optional ENV vars |
|||
# ----------------- |
|||
# JAVA_HOME - location of a JDK home dir, required when download maven via java source |
|||
# MVNW_REPOURL - repo url base for downloading maven distribution |
|||
# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven |
|||
# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output |
|||
# ---------------------------------------------------------------------------- |
|||
|
|||
set -euf |
|||
[ "${MVNW_VERBOSE-}" != debug ] || set -x |
|||
|
|||
# OS specific support. |
|||
native_path() { printf %s\\n "$1"; } |
|||
case "$(uname)" in |
|||
CYGWIN* | MINGW*) |
|||
[ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" |
|||
native_path() { cygpath --path --windows "$1"; } |
|||
;; |
|||
esac |
|||
|
|||
# set JAVACMD and JAVACCMD |
|||
set_java_home() { |
|||
# For Cygwin and MinGW, ensure paths are in Unix format before anything is touched |
|||
if [ -n "${JAVA_HOME-}" ]; then |
|||
if [ -x "$JAVA_HOME/jre/sh/java" ]; then |
|||
# IBM's JDK on AIX uses strange locations for the executables |
|||
JAVACMD="$JAVA_HOME/jre/sh/java" |
|||
JAVACCMD="$JAVA_HOME/jre/sh/javac" |
|||
else |
|||
JAVACMD="$JAVA_HOME/bin/java" |
|||
JAVACCMD="$JAVA_HOME/bin/javac" |
|||
|
|||
if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then |
|||
echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 |
|||
echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 |
|||
return 1 |
|||
fi |
|||
fi |
|||
else |
|||
JAVACMD="$( |
|||
'set' +e |
|||
'unset' -f command 2>/dev/null |
|||
'command' -v java |
|||
)" || : |
|||
JAVACCMD="$( |
|||
'set' +e |
|||
'unset' -f command 2>/dev/null |
|||
'command' -v javac |
|||
)" || : |
|||
|
|||
if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then |
|||
echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 |
|||
return 1 |
|||
fi |
|||
fi |
|||
} |
|||
|
|||
# hash string like Java String::hashCode |
|||
hash_string() { |
|||
str="${1:-}" h=0 |
|||
while [ -n "$str" ]; do |
|||
char="${str%"${str#?}"}" |
|||
h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) |
|||
str="${str#?}" |
|||
done |
|||
printf %x\\n $h |
|||
} |
|||
|
|||
verbose() { :; } |
|||
[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } |
|||
|
|||
die() { |
|||
printf %s\\n "$1" >&2 |
|||
exit 1 |
|||
} |
|||
|
|||
trim() { |
|||
# MWRAPPER-139: |
|||
# Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. |
|||
# Needed for removing poorly interpreted newline sequences when running in more |
|||
# exotic environments such as mingw bash on Windows. |
|||
printf "%s" "${1}" | tr -d '[:space:]' |
|||
} |
|||
|
|||
# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties |
|||
while IFS="=" read -r key value; do |
|||
case "${key-}" in |
|||
distributionUrl) distributionUrl=$(trim "${value-}") ;; |
|||
distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; |
|||
esac |
|||
done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" |
|||
[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" |
|||
|
|||
case "${distributionUrl##*/}" in |
|||
maven-mvnd-*bin.*) |
|||
MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ |
|||
case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in |
|||
*AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; |
|||
:Darwin*x86_64) distributionPlatform=darwin-amd64 ;; |
|||
:Darwin*arm64) distributionPlatform=darwin-aarch64 ;; |
|||
:Linux*x86_64*) distributionPlatform=linux-amd64 ;; |
|||
*) |
|||
echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 |
|||
distributionPlatform=linux-amd64 |
|||
;; |
|||
esac |
|||
distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" |
|||
;; |
|||
maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; |
|||
*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; |
|||
esac |
|||
|
|||
# apply MVNW_REPOURL and calculate MAVEN_HOME |
|||
# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-<version>,maven-mvnd-<version>-<platform>}/<hash> |
|||
[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" |
|||
distributionUrlName="${distributionUrl##*/}" |
|||
distributionUrlNameMain="${distributionUrlName%.*}" |
|||
distributionUrlNameMain="${distributionUrlNameMain%-bin}" |
|||
MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" |
|||
MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" |
|||
|
|||
exec_maven() { |
|||
unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : |
|||
exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" |
|||
} |
|||
|
|||
if [ -d "$MAVEN_HOME" ]; then |
|||
verbose "found existing MAVEN_HOME at $MAVEN_HOME" |
|||
exec_maven "$@" |
|||
fi |
|||
|
|||
case "${distributionUrl-}" in |
|||
*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; |
|||
*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; |
|||
esac |
|||
|
|||
# prepare tmp dir |
|||
if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then |
|||
clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } |
|||
trap clean HUP INT TERM EXIT |
|||
else |
|||
die "cannot create temp dir" |
|||
fi |
|||
|
|||
mkdir -p -- "${MAVEN_HOME%/*}" |
|||
|
|||
# Download and Install Apache Maven |
|||
verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." |
|||
verbose "Downloading from: $distributionUrl" |
|||
verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" |
|||
|
|||
# select .zip or .tar.gz |
|||
if ! command -v unzip >/dev/null; then |
|||
distributionUrl="${distributionUrl%.zip}.tar.gz" |
|||
distributionUrlName="${distributionUrl##*/}" |
|||
fi |
|||
|
|||
# verbose opt |
|||
__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' |
|||
[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v |
|||
|
|||
# normalize http auth |
|||
case "${MVNW_PASSWORD:+has-password}" in |
|||
'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; |
|||
has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; |
|||
esac |
|||
|
|||
if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then |
|||
verbose "Found wget ... using wget" |
|||
wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" |
|||
elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then |
|||
verbose "Found curl ... using curl" |
|||
curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" |
|||
elif set_java_home; then |
|||
verbose "Falling back to use Java to download" |
|||
javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" |
|||
targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" |
|||
cat >"$javaSource" <<-END |
|||
public class Downloader extends java.net.Authenticator |
|||
{ |
|||
protected java.net.PasswordAuthentication getPasswordAuthentication() |
|||
{ |
|||
return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); |
|||
} |
|||
public static void main( String[] args ) throws Exception |
|||
{ |
|||
setDefault( new Downloader() ); |
|||
java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); |
|||
} |
|||
} |
|||
END |
|||
# For Cygwin/MinGW, switch paths to Windows format before running javac and java |
|||
verbose " - Compiling Downloader.java ..." |
|||
"$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" |
|||
verbose " - Running Downloader.java ..." |
|||
"$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" |
|||
fi |
|||
|
|||
# If specified, validate the SHA-256 sum of the Maven distribution zip file |
|||
if [ -n "${distributionSha256Sum-}" ]; then |
|||
distributionSha256Result=false |
|||
if [ "$MVN_CMD" = mvnd.sh ]; then |
|||
echo "Checksum validation is not supported for maven-mvnd." >&2 |
|||
echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 |
|||
exit 1 |
|||
elif command -v sha256sum >/dev/null; then |
|||
if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then |
|||
distributionSha256Result=true |
|||
fi |
|||
elif command -v shasum >/dev/null; then |
|||
if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then |
|||
distributionSha256Result=true |
|||
fi |
|||
else |
|||
echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 |
|||
echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 |
|||
exit 1 |
|||
fi |
|||
if [ $distributionSha256Result = false ]; then |
|||
echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 |
|||
echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 |
|||
exit 1 |
|||
fi |
|||
fi |
|||
|
|||
# unzip and move |
|||
if command -v unzip >/dev/null; then |
|||
unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" |
|||
else |
|||
tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" |
|||
fi |
|||
printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" |
|||
mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" |
|||
|
|||
clean || : |
|||
exec_maven "$@" |
@ -0,0 +1,149 @@ |
|||
<# : batch portion |
|||
@REM ---------------------------------------------------------------------------- |
|||
@REM Licensed to the Apache Software Foundation (ASF) under one |
|||
@REM or more contributor license agreements. See the NOTICE file |
|||
@REM distributed with this work for additional information |
|||
@REM regarding copyright ownership. The ASF licenses this file |
|||
@REM to you under the Apache License, Version 2.0 (the |
|||
@REM "License"); you may not use this file except in compliance |
|||
@REM with the License. You may obtain a copy of the License at |
|||
@REM |
|||
@REM http://www.apache.org/licenses/LICENSE-2.0 |
|||
@REM |
|||
@REM Unless required by applicable law or agreed to in writing, |
|||
@REM software distributed under the License is distributed on an |
|||
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
|||
@REM KIND, either express or implied. See the License for the |
|||
@REM specific language governing permissions and limitations |
|||
@REM under the License. |
|||
@REM ---------------------------------------------------------------------------- |
|||
|
|||
@REM ---------------------------------------------------------------------------- |
|||
@REM Apache Maven Wrapper startup batch script, version 3.3.2 |
|||
@REM |
|||
@REM Optional ENV vars |
|||
@REM MVNW_REPOURL - repo url base for downloading maven distribution |
|||
@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven |
|||
@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output |
|||
@REM ---------------------------------------------------------------------------- |
|||
|
|||
@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) |
|||
@SET __MVNW_CMD__= |
|||
@SET __MVNW_ERROR__= |
|||
@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% |
|||
@SET PSModulePath= |
|||
@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( |
|||
IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) |
|||
) |
|||
@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% |
|||
@SET __MVNW_PSMODULEP_SAVE= |
|||
@SET __MVNW_ARG0_NAME__= |
|||
@SET MVNW_USERNAME= |
|||
@SET MVNW_PASSWORD= |
|||
@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) |
|||
@echo Cannot start maven from wrapper >&2 && exit /b 1 |
|||
@GOTO :EOF |
|||
: end batch / begin powershell #> |
|||
|
|||
$ErrorActionPreference = "Stop" |
|||
if ($env:MVNW_VERBOSE -eq "true") { |
|||
$VerbosePreference = "Continue" |
|||
} |
|||
|
|||
# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties |
|||
$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl |
|||
if (!$distributionUrl) { |
|||
Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" |
|||
} |
|||
|
|||
switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { |
|||
"maven-mvnd-*" { |
|||
$USE_MVND = $true |
|||
$distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" |
|||
$MVN_CMD = "mvnd.cmd" |
|||
break |
|||
} |
|||
default { |
|||
$USE_MVND = $false |
|||
$MVN_CMD = $script -replace '^mvnw','mvn' |
|||
break |
|||
} |
|||
} |
|||
|
|||
# apply MVNW_REPOURL and calculate MAVEN_HOME |
|||
# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-<version>,maven-mvnd-<version>-<platform>}/<hash> |
|||
if ($env:MVNW_REPOURL) { |
|||
$MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } |
|||
$distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" |
|||
} |
|||
$distributionUrlName = $distributionUrl -replace '^.*/','' |
|||
$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' |
|||
$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" |
|||
if ($env:MAVEN_USER_HOME) { |
|||
$MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" |
|||
} |
|||
$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' |
|||
$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" |
|||
|
|||
if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { |
|||
Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" |
|||
Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" |
|||
exit $? |
|||
} |
|||
|
|||
if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { |
|||
Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" |
|||
} |
|||
|
|||
# prepare tmp dir |
|||
$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile |
|||
$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" |
|||
$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null |
|||
trap { |
|||
if ($TMP_DOWNLOAD_DIR.Exists) { |
|||
try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } |
|||
catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } |
|||
} |
|||
} |
|||
|
|||
New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null |
|||
|
|||
# Download and Install Apache Maven |
|||
Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." |
|||
Write-Verbose "Downloading from: $distributionUrl" |
|||
Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" |
|||
|
|||
$webclient = New-Object System.Net.WebClient |
|||
if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { |
|||
$webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) |
|||
} |
|||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 |
|||
$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null |
|||
|
|||
# If specified, validate the SHA-256 sum of the Maven distribution zip file |
|||
$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum |
|||
if ($distributionSha256Sum) { |
|||
if ($USE_MVND) { |
|||
Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." |
|||
} |
|||
Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash |
|||
if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { |
|||
Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." |
|||
} |
|||
} |
|||
|
|||
# unzip and move |
|||
Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null |
|||
Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null |
|||
try { |
|||
Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null |
|||
} catch { |
|||
if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { |
|||
Write-Error "fail to move MAVEN_HOME" |
|||
} |
|||
} finally { |
|||
try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } |
|||
catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } |
|||
} |
|||
|
|||
Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" |
@ -0,0 +1,193 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
<parent> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-parent</artifactId> |
|||
<version>2.2.1.RELEASE</version> |
|||
<relativePath/> <!-- lookup parent from repository --> |
|||
</parent> |
|||
<groupId>com.homily</groupId> |
|||
<artifactId>homily_link</artifactId> |
|||
<version>0.0.1-SNAPSHOT</version> |
|||
<packaging>pom</packaging> |
|||
<name>homily_link</name> |
|||
<description>homily_link</description> |
|||
<modules> |
|||
<module>common</module> |
|||
<module>service</module> |
|||
</modules> |
|||
|
|||
<properties> |
|||
<java.version>1.8</java.version> |
|||
<mybatis-plus.version>3.3.1</mybatis-plus.version> |
|||
<velocity.version>2.0</velocity.version> |
|||
<swagger.version>2.7.0</swagger.version> |
|||
<aliyun.oss.version>2.8.3</aliyun.oss.version> |
|||
<jodatime.version>2.10.1</jodatime.version> |
|||
<commons-fileupload.version>1.3.1</commons-fileupload.version> |
|||
<commons-io.version>2.6</commons-io.version> |
|||
<commons-lang.version>3.9</commons-lang.version> |
|||
<httpclient.version>4.5.1</httpclient.version> |
|||
<jwt.version>0.7.0</jwt.version> |
|||
<aliyun-java-sdk-core.version>4.3.3</aliyun-java-sdk-core.version> |
|||
<aliyun-sdk-oss.version>3.1.0</aliyun-sdk-oss.version> |
|||
<aliyun-java-sdk-vod.version>2.15.2</aliyun-java-sdk-vod.version> |
|||
<aliyun-java-vod-upload.version>1.4.11</aliyun-java-vod-upload.version> |
|||
<aliyun-sdk-vod-upload.version>1.4.11</aliyun-sdk-vod-upload.version> |
|||
<fastjson.version>1.2.28</fastjson.version> |
|||
<gson.version>2.8.2</gson.version> |
|||
<json.version>20170516</json.version> |
|||
<commons-dbutils.version>1.7</commons-dbutils.version> |
|||
<canal.client.version>1.1.0</canal.client.version> |
|||
<docker.image.prefix>zx</docker.image.prefix> |
|||
<cloud-alibaba.version>0.2.2.RELEASE</cloud-alibaba.version> |
|||
</properties> |
|||
<dependencyManagement> |
|||
<dependencies> |
|||
<!-- Spring Cloud --> |
|||
<dependency> |
|||
<groupId>org.springframework.cloud</groupId> |
|||
<artifactId>spring-cloud-dependencies</artifactId> |
|||
<version>Hoxton.RELEASE</version> |
|||
<type>pom</type> |
|||
<scope>import</scope> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework.cloud</groupId> |
|||
<artifactId>spring-cloud-alibaba-dependencies</artifactId> |
|||
<version>${cloud-alibaba.version}</version> |
|||
<type>pom</type> |
|||
<scope>import</scope> |
|||
</dependency> |
|||
<!-- mybatis-plus 持久层 --> |
|||
<dependency> |
|||
<groupId>com.baomidou</groupId> |
|||
<artifactId>mybatis-plus-boot-starter</artifactId> |
|||
<version>${mybatis-plus.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.baomidou</groupId> |
|||
<artifactId>mybatis-plus-generator</artifactId> |
|||
<version>${mybatis-plus.version}</version> |
|||
</dependency> |
|||
<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 --> |
|||
<dependency> |
|||
<groupId>org.apache.velocity</groupId> |
|||
<artifactId>velocity-engine-core</artifactId> |
|||
<version>${velocity.version}</version> |
|||
</dependency> |
|||
<!-- swagger --> |
|||
<dependency> |
|||
<groupId>io.springfox</groupId> |
|||
<artifactId>springfox-swagger2</artifactId> |
|||
<version>${swagger.version}</version> |
|||
</dependency> |
|||
<!-- swagger ui --> |
|||
<dependency> |
|||
<groupId>io.springfox</groupId> |
|||
<artifactId>springfox-swagger-ui</artifactId> |
|||
<version>${swagger.version}</version> |
|||
</dependency> |
|||
<!-- aliyunOSS --> |
|||
<dependency> |
|||
<groupId>com.aliyun.oss</groupId> |
|||
<artifactId>aliyun-sdk-oss</artifactId> |
|||
<version>${aliyun.oss.version}</version> |
|||
</dependency> |
|||
<!-- 日期时间工具 --> |
|||
<dependency> |
|||
<groupId>joda-time</groupId> |
|||
<artifactId>joda-time</artifactId> |
|||
<version>${jodatime.version}</version> |
|||
</dependency> |
|||
<!-- 文件上传 --> |
|||
<dependency> |
|||
<groupId>commons-fileupload</groupId> |
|||
<artifactId>commons-fileupload</artifactId> |
|||
<version>${commons-fileupload.version}</version> |
|||
</dependency> |
|||
<!-- commons-io --> |
|||
<dependency> |
|||
<groupId>commons-io</groupId> |
|||
<artifactId>commons-io</artifactId> |
|||
<version>${commons-io.version}</version> |
|||
</dependency> |
|||
<!-- commons-lang3 --> |
|||
<dependency> |
|||
<groupId>org.apache.commons</groupId> |
|||
<artifactId>commons-lang3</artifactId> |
|||
<version>${commons-lang.version}</version> |
|||
</dependency> |
|||
<!-- httpclient --> |
|||
<dependency> |
|||
<groupId>org.apache.httpcomponents</groupId> |
|||
<artifactId>httpclient</artifactId> |
|||
<version>${httpclient.version}</version> |
|||
</dependency> |
|||
<!-- JWT --> |
|||
<dependency> |
|||
<groupId>io.jsonwebtoken</groupId> |
|||
<artifactId>jjwt</artifactId> |
|||
<version>${jwt.version}</version> |
|||
</dependency> |
|||
<!-- aliyun --> |
|||
<dependency> |
|||
<groupId>com.aliyun</groupId> |
|||
<artifactId>aliyun-java-sdk-core</artifactId> |
|||
<version>${aliyun-java-sdk-core.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.aliyun.oss</groupId> |
|||
<artifactId>aliyun-sdk-oss</artifactId> |
|||
<version>${aliyun-sdk-oss.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.aliyun</groupId> |
|||
<artifactId>aliyun-java-sdk-vod</artifactId> |
|||
<version>${aliyun-java-sdk-vod.version}</version> |
|||
</dependency> |
|||
<!-- <dependency> --> |
|||
<!-- <groupId>com.aliyun</groupId> --> |
|||
<!-- <artifactId>aliyun-sdk-vod-upload</artifactId> --> |
|||
<!-- <version>${aliyun-sdk-vod-upload.version}</version> --> |
|||
<!-- </dependency> --> |
|||
<!-- json --> |
|||
<dependency> |
|||
<groupId>com.alibaba</groupId> |
|||
<artifactId>fastjson</artifactId> |
|||
<version>${fastjson.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.json</groupId> |
|||
<artifactId>json</artifactId> |
|||
<version>${json.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.google.code.gson</groupId> |
|||
<artifactId>gson</artifactId> |
|||
<version>${gson.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>commons-dbutils</groupId> |
|||
<artifactId>commons-dbutils</artifactId> |
|||
<version>${commons-dbutils.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.alibaba.otter</groupId> |
|||
<artifactId>canal.client</artifactId> |
|||
<version>${canal.client.version}</version> |
|||
</dependency> |
|||
</dependencies> |
|||
</dependencyManagement> |
|||
<build> |
|||
<plugins> |
|||
<plugin> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-maven-plugin</artifactId> |
|||
</plugin> |
|||
</plugins> |
|||
</build> |
|||
|
|||
</project> |
@ -0,0 +1,101 @@ |
|||
<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/maven-v4_0_0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
<parent> |
|||
<groupId>com.homily</groupId> |
|||
<artifactId>homily_link</artifactId> |
|||
<version>0.0.1-SNAPSHOT</version> |
|||
</parent> |
|||
<artifactId>service</artifactId> |
|||
<packaging>pom</packaging> |
|||
<name>service Maven Webapp</name> |
|||
<url>http://maven.apache.org</url> |
|||
<modules> |
|||
<module>service_assignment</module> |
|||
</modules> |
|||
<dependencies> |
|||
<dependency> |
|||
<groupId>com.homily</groupId> |
|||
<artifactId>service_base</artifactId> |
|||
<version>0.0.1-SNAPSHOT</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-web</artifactId> |
|||
</dependency> |
|||
<!-- mybatis-plus --> |
|||
<dependency> |
|||
<groupId>com.baomidou</groupId> |
|||
<artifactId>mybatis-plus-boot-starter</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.baomidou</groupId> |
|||
<artifactId>mybatis-plus-generator</artifactId> |
|||
</dependency> |
|||
<!-- mysql --> |
|||
<dependency> |
|||
<groupId>mysql</groupId> |
|||
<artifactId>mysql-connector-java</artifactId> |
|||
</dependency> |
|||
<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 --> |
|||
<dependency> |
|||
<groupId>org.apache.velocity</groupId> |
|||
<artifactId>velocity-engine-core</artifactId> |
|||
</dependency> |
|||
<!-- swagger --> |
|||
<dependency> |
|||
<groupId>io.springfox</groupId> |
|||
<artifactId>springfox-swagger2</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>io.springfox</groupId> |
|||
<artifactId>springfox-swagger-ui</artifactId> |
|||
</dependency> |
|||
<!-- lombok用来简化实体类:需要安装lombok插件 --> |
|||
<dependency> |
|||
<groupId>org.projectlombok</groupId> |
|||
<artifactId>lombok</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>commons-fileupload</groupId> |
|||
<artifactId>commons-fileupload</artifactId> |
|||
</dependency> |
|||
<!-- httpclient --> |
|||
<dependency> |
|||
<groupId>org.apache.httpcomponents</groupId> |
|||
<artifactId>httpclient</artifactId> |
|||
</dependency> |
|||
<!-- commons-io --> |
|||
<dependency> |
|||
<groupId>commons-io</groupId> |
|||
<artifactId>commons-io</artifactId> |
|||
</dependency> |
|||
<!-- json --> |
|||
<dependency> |
|||
<groupId>com.alibaba</groupId> |
|||
<artifactId>fastjson</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.json</groupId> |
|||
<artifactId>json</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.google.code.gson</groupId> |
|||
<artifactId>gson</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-test</artifactId> |
|||
<scope>test</scope> |
|||
<exclusions> |
|||
<exclusion> |
|||
<groupId>org.junit.vintage</groupId> |
|||
<artifactId>junit-vintage-engine</artifactId> |
|||
</exclusion> |
|||
</exclusions> |
|||
</dependency> |
|||
</dependencies> |
|||
<build> |
|||
<finalName>service</finalName> |
|||
</build> |
|||
</project> |
@ -0,0 +1,24 @@ |
|||
<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/maven-v4_0_0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
<parent> |
|||
<groupId>com.homily</groupId> |
|||
<artifactId>service</artifactId> |
|||
<version>0.0.1-SNAPSHOT</version> |
|||
</parent> |
|||
<artifactId>service_assignment</artifactId> |
|||
<packaging>war</packaging> |
|||
<name>service_assignment Maven Webapp</name> |
|||
<url>http://maven.apache.org</url> |
|||
<dependencies> |
|||
<dependency> |
|||
<groupId>junit</groupId> |
|||
<artifactId>junit</artifactId> |
|||
<version>3.8.1</version> |
|||
<scope>test</scope> |
|||
</dependency> |
|||
</dependencies> |
|||
<build> |
|||
<finalName>service_assignment</finalName> |
|||
</build> |
|||
</project> |
@ -0,0 +1,21 @@ |
|||
package com.homilylink.assignment; |
|||
|
|||
import org.springframework.boot.SpringApplication; |
|||
import org.springframework.boot.autoconfigure.SpringBootApplication; |
|||
import org.springframework.context.annotation.ComponentScan; |
|||
|
|||
/** |
|||
* @program: homily_link |
|||
* @ClassName ServiceAssignmentApplication |
|||
* @description: |
|||
* @author: 赵如慧 |
|||
* @create: 2025−04-26 10:04 |
|||
* @Version 1.0 |
|||
**/ |
|||
@SpringBootApplication |
|||
@ComponentScan("com.homilylink") |
|||
public class ServiceAssignmentApplication { |
|||
public static void main(String[] args) { |
|||
SpringApplication.run(ServiceAssignmentApplication.class,args); |
|||
} |
|||
} |
@ -0,0 +1,21 @@ |
|||
package com.homilylink.assignment.controller; |
|||
|
|||
|
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
/** |
|||
* <p> |
|||
* 前端控制器 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("/answers") |
|||
public class AnswersController { |
|||
|
|||
} |
|||
|
@ -0,0 +1,21 @@ |
|||
package com.homilylink.assignment.controller; |
|||
|
|||
|
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
/** |
|||
* <p> |
|||
* 前端控制器 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("/articles") |
|||
public class ArticlesController { |
|||
|
|||
} |
|||
|
@ -0,0 +1,21 @@ |
|||
package com.homilylink.assignment.controller; |
|||
|
|||
|
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
/** |
|||
* <p> |
|||
* 前端控制器 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("/assignment-submissions") |
|||
public class AssignmentSubmissionsController { |
|||
|
|||
} |
|||
|
@ -0,0 +1,21 @@ |
|||
package com.homilylink.assignment.controller; |
|||
|
|||
|
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
/** |
|||
* <p> |
|||
* 前端控制器 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("/coursess") |
|||
public class CoursessController { |
|||
|
|||
} |
|||
|
@ -0,0 +1,21 @@ |
|||
package com.homilylink.assignment.controller; |
|||
|
|||
|
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
/** |
|||
* <p> |
|||
* 前端控制器 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("/member-info") |
|||
public class MemberInfoController { |
|||
|
|||
} |
|||
|
@ -0,0 +1,21 @@ |
|||
package com.homilylink.assignment.controller; |
|||
|
|||
|
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
/** |
|||
* <p> |
|||
* 前端控制器 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("/options") |
|||
public class OptionsController { |
|||
|
|||
} |
|||
|
@ -0,0 +1,21 @@ |
|||
package com.homilylink.assignment.controller; |
|||
|
|||
|
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
/** |
|||
* <p> |
|||
* 前端控制器 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("/questions") |
|||
public class QuestionsController { |
|||
|
|||
} |
|||
|
@ -0,0 +1,30 @@ |
|||
package com.homilylink.assignment.controller; |
|||
|
|||
import com.homilylink.common.base.result.R; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
/** |
|||
* @program: homily_link |
|||
* @ClassName User |
|||
* @description: |
|||
* @author: 赵如慧 |
|||
* @create: 2025−04-26 10:08 |
|||
* @Version 1.0 |
|||
**/ |
|||
@CrossOrigin |
|||
@RestController |
|||
@RequestMapping("/user") |
|||
public class User { |
|||
@PostMapping("login") |
|||
public R login(){ |
|||
return R.ok().data("token","admin"); |
|||
} |
|||
@PostMapping("logout") |
|||
public R logout(){ |
|||
return R.ok(); |
|||
} |
|||
@GetMapping("info") |
|||
public R info(){ |
|||
return R.ok().data("name","admin").data("roles","[admin]").data("avatar","https://img-s.msn.cn/tenant/amp/entityid/AA1nPWQO?w=16&h=16&q=100&m=6&f=png&u=t"); |
|||
} |
|||
} |
@ -0,0 +1,21 @@ |
|||
package com.homilylink.assignment.controller; |
|||
|
|||
|
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
/** |
|||
* <p> |
|||
* 前端控制器 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("/users") |
|||
public class UsersController { |
|||
|
|||
} |
|||
|
@ -0,0 +1,89 @@ |
|||
package com.homilylink.assignment.controller.admin; |
|||
|
|||
|
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|||
import com.homilylink.assignment.entity.Assignment; |
|||
import com.homilylink.assignment.entity.LiveSessions; |
|||
import com.homilylink.assignment.entity.vo.AssignmentLiveVo; |
|||
import com.homilylink.assignment.service.AssignmentService; |
|||
import com.homilylink.assignment.service.LiveSessionsService; |
|||
import com.homilylink.common.base.result.R; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import io.swagger.annotations.ApiParam; |
|||
import org.springframework.beans.BeanUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* <p> |
|||
* 前端控制器 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@CrossOrigin |
|||
@RestController |
|||
@RequestMapping("/admin/assignment/assignment") |
|||
public class AssignmentController { |
|||
@Autowired |
|||
private AssignmentService assignmentService; |
|||
@Autowired |
|||
private LiveSessionsService liveSessionsService; |
|||
@PostMapping("list") |
|||
public R list(){ |
|||
List<Assignment> list = assignmentService.list(); |
|||
return R.ok().data("items",list); |
|||
} |
|||
@ApiOperation("课程分页列表") |
|||
@PostMapping("list/{page}/{limit}") |
|||
public R listPage(@ApiParam(value = "当前页码",required = true) @PathVariable Long page, |
|||
@ApiParam(value = "每页记录数",required = true) @PathVariable Long limit |
|||
){ |
|||
Page<Assignment> pageParam = new Page<>(page,limit); |
|||
IPage<Assignment> pageModel = assignmentService.selectPage(pageParam,null); |
|||
long total = pageModel.getTotal(); |
|||
List<Assignment> recordss = pageModel.getRecords(); |
|||
List<AssignmentLiveVo> records = new ArrayList<>(); |
|||
for (int i = 0;i < recordss.size();i++){ |
|||
AssignmentLiveVo assignmentLiveVo = new AssignmentLiveVo(); |
|||
LiveSessions live = liveSessionsService.getById(recordss.get(i).getLiveId()); |
|||
// BeanUtils.copyProperties(assignmentLiveVo,recordss.get(i)); |
|||
assignmentLiveVo.setId(recordss.get(i).getId()); |
|||
assignmentLiveVo.setName(recordss.get(i).getName()); |
|||
assignmentLiveVo.setContent(recordss.get(i).getContent()); |
|||
assignmentLiveVo.setCourseId(recordss.get(i).getCourseId()); |
|||
assignmentLiveVo.setArticleId(recordss.get(i).getArticleId()); |
|||
assignmentLiveVo.setLiveId(recordss.get(i).getLiveId()); |
|||
assignmentLiveVo.setCount(recordss.get(i).getCount()); |
|||
assignmentLiveVo.setStartDate(recordss.get(i).getStartDate()); |
|||
assignmentLiveVo.setEndDate(recordss.get(i).getEndDate()); |
|||
assignmentLiveVo.setCreatedAt(recordss.get(i).getCreatedAt()); |
|||
assignmentLiveVo.setStatus(recordss.get(i).getStatus()); |
|||
assignmentLiveVo.setPublishTime(recordss.get(i).getPublishTime()); |
|||
assignmentLiveVo.setUpdatedAt(recordss.get(i).getUpdatedAt()); |
|||
assignmentLiveVo.setTitle(live.getTitle()); |
|||
records.add(assignmentLiveVo); |
|||
} |
|||
System.out.println("-----------------------"+records); |
|||
return R.ok().data("total",total).data("rows",records); |
|||
} |
|||
@ApiOperation("新增作业") |
|||
@PostMapping("save") |
|||
public R save(@ApiParam(value = "作业对象",required = true) @RequestBody Assignment assignment){ |
|||
boolean result = assignmentService.save(assignment); |
|||
if (result){ |
|||
return R.ok().message("保存成功"); |
|||
}else{ |
|||
return R.error().message("保存失败"); |
|||
} |
|||
} |
|||
} |
|||
|
@ -0,0 +1,41 @@ |
|||
package com.homilylink.assignment.controller.admin; |
|||
|
|||
|
|||
import com.homilylink.assignment.entity.Assignment; |
|||
import com.homilylink.assignment.entity.LiveSessions; |
|||
import com.homilylink.assignment.service.AssignmentService; |
|||
import com.homilylink.assignment.service.LiveSessionsService; |
|||
import com.homilylink.common.base.result.R; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.CrossOrigin; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* <p> |
|||
* 前端控制器 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@CrossOrigin |
|||
@RestController |
|||
@RequestMapping("/admin/assignment/livesessions") |
|||
public class LiveSessionsController { |
|||
@Autowired |
|||
private AssignmentService assignmentService; |
|||
@Autowired |
|||
private LiveSessionsService liveSessionsService; |
|||
@PostMapping("live") |
|||
public R live(){ |
|||
List<LiveSessions> list = liveSessionsService.selectLive(); |
|||
return R.ok().data("items",list); |
|||
} |
|||
} |
|||
|
@ -0,0 +1,61 @@ |
|||
package com.homilylink.assignment.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import java.util.Date; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import java.io.Serializable; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import lombok.experimental.Accessors; |
|||
|
|||
/** |
|||
* <p> |
|||
* |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = false) |
|||
@Accessors(chain = true) |
|||
@TableName("z_answers") |
|||
@ApiModel(value="Answers对象", description="") |
|||
public class Answers implements Serializable { |
|||
|
|||
private static final long serialVersionUID=1L; |
|||
|
|||
@TableId(value = "id", type = IdType.AUTO) |
|||
private Integer id; |
|||
|
|||
@ApiModelProperty(value = "提交ID") |
|||
private Integer submissionId; |
|||
|
|||
@ApiModelProperty(value = "题目ID") |
|||
private Integer questionId; |
|||
|
|||
@ApiModelProperty(value = "答案内容(简答题)") |
|||
private String answerContent; |
|||
|
|||
@ApiModelProperty(value = "选择的选项ID(选择题)") |
|||
private Integer optionId; |
|||
|
|||
@ApiModelProperty(value = "得分") |
|||
private Integer score; |
|||
|
|||
@ApiModelProperty(value = "评语") |
|||
private String feedback; |
|||
|
|||
@TableField(fill = FieldFill.INSERT) |
|||
private Date createdAt; |
|||
|
|||
@TableField(fill = FieldFill.INSERT_UPDATE) |
|||
private Date updatedAt; |
|||
|
|||
|
|||
} |
@ -0,0 +1,49 @@ |
|||
package com.homilylink.assignment.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import java.util.Date; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import java.io.Serializable; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import lombok.experimental.Accessors; |
|||
|
|||
/** |
|||
* <p> |
|||
* |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = false) |
|||
@Accessors(chain = true) |
|||
@TableName("z_articles") |
|||
@ApiModel(value="Articles对象", description="") |
|||
public class Articles implements Serializable { |
|||
|
|||
private static final long serialVersionUID=1L; |
|||
|
|||
@TableId(value = "id", type = IdType.AUTO) |
|||
private Integer id; |
|||
|
|||
@ApiModelProperty(value = "文章标题") |
|||
private String title; |
|||
|
|||
@ApiModelProperty(value = "文章内容") |
|||
private String content; |
|||
|
|||
@TableField(fill = FieldFill.INSERT) |
|||
private Date createdAt; |
|||
|
|||
@TableField(fill = FieldFill.INSERT_UPDATE) |
|||
private Date updatedAt; |
|||
|
|||
|
|||
} |
@ -0,0 +1,66 @@ |
|||
package com.homilylink.assignment.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import java.util.Date; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import java.io.Serializable; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import lombok.experimental.Accessors; |
|||
|
|||
/** |
|||
* <p> |
|||
* |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = false) |
|||
@Accessors(chain = true) |
|||
@TableName("z_assignment") |
|||
@ApiModel(value="Assignment对象", description="") |
|||
public class Assignment implements Serializable { |
|||
|
|||
private static final long serialVersionUID=1L; |
|||
|
|||
@ApiModelProperty(value = "作者id") |
|||
@TableId(value = "id", type = IdType.AUTO) |
|||
private Integer id; |
|||
|
|||
private String name; |
|||
|
|||
private String content; |
|||
|
|||
private Integer courseId; |
|||
|
|||
private Integer articleId; |
|||
|
|||
private Integer liveId; |
|||
|
|||
private Integer count; |
|||
@JsonFormat(pattern = "yyyy-MM-dd") |
|||
private Date startDate; |
|||
@JsonFormat(pattern = "yyyy-MM-dd") |
|||
private Date endDate; |
|||
|
|||
@TableField(fill = FieldFill.INSERT) |
|||
private Date createdAt; |
|||
|
|||
private String status; |
|||
|
|||
private Date publishTime; |
|||
|
|||
@TableField(fill = FieldFill.INSERT_UPDATE) |
|||
private Date updatedAt; |
|||
|
|||
|
|||
} |
@ -0,0 +1,64 @@ |
|||
package com.homilylink.assignment.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import java.util.Date; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import java.io.Serializable; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import lombok.experimental.Accessors; |
|||
|
|||
/** |
|||
* <p> |
|||
* |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = false) |
|||
@Accessors(chain = true) |
|||
@TableName("z_assignment_submissions") |
|||
@ApiModel(value="AssignmentSubmissions对象", description="") |
|||
public class AssignmentSubmissions implements Serializable { |
|||
|
|||
private static final long serialVersionUID=1L; |
|||
|
|||
@TableId(value = "id", type = IdType.AUTO) |
|||
private Integer id; |
|||
|
|||
@ApiModelProperty(value = "作业ID") |
|||
private Integer assignmentId; |
|||
|
|||
@ApiModelProperty(value = "用户ID") |
|||
private Integer userId; |
|||
|
|||
@ApiModelProperty(value = "帮账号") |
|||
private String accountNumber; |
|||
|
|||
@ApiModelProperty(value = "市场/地区") |
|||
private String market; |
|||
|
|||
@ApiModelProperty(value = "提交时间") |
|||
private Date submitTime; |
|||
|
|||
@ApiModelProperty(value = "提交状态") |
|||
private String status; |
|||
|
|||
@ApiModelProperty(value = "总得分") |
|||
private Integer totalScore; |
|||
|
|||
@TableField(fill = FieldFill.INSERT) |
|||
private Date createdAt; |
|||
|
|||
@TableField(fill = FieldFill.INSERT_UPDATE) |
|||
private Date updatedAt; |
|||
|
|||
|
|||
} |
@ -0,0 +1,49 @@ |
|||
package com.homilylink.assignment.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import java.util.Date; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import java.io.Serializable; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import lombok.experimental.Accessors; |
|||
|
|||
/** |
|||
* <p> |
|||
* |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = false) |
|||
@Accessors(chain = true) |
|||
@TableName("z_coursess") |
|||
@ApiModel(value="Coursess对象", description="") |
|||
public class Coursess implements Serializable { |
|||
|
|||
private static final long serialVersionUID=1L; |
|||
|
|||
@TableId(value = "id", type = IdType.AUTO) |
|||
private Integer id; |
|||
|
|||
@ApiModelProperty(value = "课程名称") |
|||
private String name; |
|||
|
|||
@ApiModelProperty(value = "课程描述") |
|||
private String description; |
|||
|
|||
@TableField(fill = FieldFill.INSERT) |
|||
private Date createdAt; |
|||
|
|||
@TableField(fill = FieldFill.INSERT_UPDATE) |
|||
private Date updatedAt; |
|||
|
|||
|
|||
} |
@ -0,0 +1,58 @@ |
|||
package com.homilylink.assignment.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import java.util.Date; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import java.io.Serializable; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import lombok.experimental.Accessors; |
|||
|
|||
/** |
|||
* <p> |
|||
* |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = false) |
|||
@Accessors(chain = true) |
|||
@TableName("z_live_sessions") |
|||
@ApiModel(value="LiveSessions对象", description="") |
|||
public class LiveSessions implements Serializable { |
|||
|
|||
private static final long serialVersionUID=1L; |
|||
|
|||
@TableId(value = "id", type = IdType.AUTO) |
|||
private Integer id; |
|||
|
|||
@ApiModelProperty(value = "直播标题") |
|||
private String title; |
|||
|
|||
@ApiModelProperty(value = "直播开始时间") |
|||
private Date startTime; |
|||
|
|||
@ApiModelProperty(value = "直播结束时间") |
|||
private Date endTime; |
|||
|
|||
@ApiModelProperty(value = "关联课程ID") |
|||
private Integer courseId; |
|||
|
|||
@ApiModelProperty(value = "收款账号") |
|||
private String paymentAccount; |
|||
|
|||
@TableField(fill = FieldFill.INSERT) |
|||
private Date createdAt; |
|||
|
|||
@TableField(fill = FieldFill.INSERT_UPDATE) |
|||
private Date updatedAt; |
|||
|
|||
|
|||
} |
@ -0,0 +1,147 @@ |
|||
package com.homilylink.assignment.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import java.util.Date; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import java.io.Serializable; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import lombok.experimental.Accessors; |
|||
|
|||
/** |
|||
* <p> |
|||
* |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = false) |
|||
@Accessors(chain = true) |
|||
@ApiModel(value="MemberInfo对象", description="") |
|||
public class MemberInfo implements Serializable { |
|||
|
|||
private static final long serialVersionUID=1L; |
|||
|
|||
@TableId(value = "id", type = IdType.AUTO) |
|||
private Integer id; |
|||
|
|||
private Integer jwcode; |
|||
|
|||
private String name; |
|||
|
|||
private String avatar; |
|||
|
|||
@ApiModelProperty(value = "0:未知,1:男,2:女") |
|||
private Boolean sex; |
|||
|
|||
@ApiModelProperty(value = "部门(大)") |
|||
@TableField("deptId") |
|||
private String deptId; |
|||
|
|||
@ApiModelProperty(value = "部门名") |
|||
@TableField("deptName") |
|||
private String deptName; |
|||
|
|||
@ApiModelProperty(value = "门店(小)") |
|||
@TableField("shopId") |
|||
private String shopId; |
|||
|
|||
@ApiModelProperty(value = "门店名") |
|||
@TableField("shopName") |
|||
private String shopName; |
|||
|
|||
private Date membershipTime; |
|||
|
|||
@ApiModelProperty(value = "0:不进行新网员学习,1:正在进行新网员学习,2:已进行学习") |
|||
private Boolean learningStatus; |
|||
|
|||
@ApiModelProperty(value = "0 已解锁 1 未解锁") |
|||
private Integer liveLock; |
|||
|
|||
@ApiModelProperty(value = "等级") |
|||
private Integer level; |
|||
|
|||
private Boolean clubRecommendation; |
|||
|
|||
@ApiModelProperty(value = "是否退化礼物 0 未兑换 1 已兑换") |
|||
private Boolean giftExchange; |
|||
|
|||
@ApiModelProperty(value = "签名") |
|||
private String qianming; |
|||
|
|||
@TableField(fill = FieldFill.INSERT) |
|||
private Date createdAt; |
|||
|
|||
@TableField(fill = FieldFill.INSERT_UPDATE) |
|||
private Date updatedAt; |
|||
|
|||
@ApiModelProperty(value = "黑卡会员 0 不是 1是") |
|||
private Integer blackCard; |
|||
|
|||
@ApiModelProperty(value = "是否为博股会员 0 不是 1 是") |
|||
private Integer boguMember; |
|||
|
|||
@ApiModelProperty(value = "号主账号") |
|||
private String accountOwner; |
|||
|
|||
@ApiModelProperty(value = "号主姓名") |
|||
private String accountOwnerText; |
|||
|
|||
@ApiModelProperty(value = "用户身份(1: 网员 2:非网)") |
|||
private Integer userRole; |
|||
|
|||
private String widget; |
|||
|
|||
private Integer learningLevel; |
|||
|
|||
private String learningIcon; |
|||
|
|||
private String learningMedal; |
|||
|
|||
@ApiModelProperty(value = "0 无认证 1 红V 2 蓝V 3 黄V") |
|||
private Integer userIdentity; |
|||
|
|||
@ApiModelProperty(value = "用户身份头衔") |
|||
private String userIdentityTitle; |
|||
|
|||
@ApiModelProperty(value = "0不是黑名单1是黑名单") |
|||
private Integer isBlacklist; |
|||
|
|||
@ApiModelProperty(value = "1:讲师") |
|||
private Integer isLecturer; |
|||
|
|||
@ApiModelProperty(value = "手机号") |
|||
private String mobile; |
|||
|
|||
private Boolean herdsman; |
|||
|
|||
private Boolean shenqiangshou; |
|||
|
|||
private Boolean huanqiu; |
|||
|
|||
@ApiModelProperty(value = "用户市场归属") |
|||
private String locMarket; |
|||
|
|||
@ApiModelProperty(value = "粉丝") |
|||
private Integer fensi; |
|||
|
|||
@ApiModelProperty(value = "1员工") |
|||
private Integer employee; |
|||
|
|||
@ApiModelProperty(value = "心愿池勋章") |
|||
private String medal; |
|||
|
|||
@ApiModelProperty(value = "0") |
|||
private Integer vip; |
|||
|
|||
@ApiModelProperty(value = "账号注册时间") |
|||
private Integer createTime; |
|||
|
|||
|
|||
} |
@ -0,0 +1,53 @@ |
|||
package com.homilylink.assignment.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import java.util.Date; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import java.io.Serializable; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import lombok.experimental.Accessors; |
|||
|
|||
/** |
|||
* <p> |
|||
* |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = false) |
|||
@Accessors(chain = true) |
|||
@TableName("z_options") |
|||
@ApiModel(value="Options对象", description="") |
|||
public class Options implements Serializable { |
|||
|
|||
private static final long serialVersionUID=1L; |
|||
|
|||
@TableId(value = "id", type = IdType.AUTO) |
|||
private Integer id; |
|||
|
|||
@ApiModelProperty(value = "所属题目ID") |
|||
private Integer questionId; |
|||
|
|||
@ApiModelProperty(value = "选项内容") |
|||
private String content; |
|||
|
|||
@ApiModelProperty(value = "是否为正确选项") |
|||
@TableField("is_correct") |
|||
private Boolean correct; |
|||
|
|||
@ApiModelProperty(value = "选项排序") |
|||
private Integer sortOrder; |
|||
|
|||
@TableField(fill = FieldFill.INSERT) |
|||
private Date createdAt; |
|||
|
|||
|
|||
} |
@ -0,0 +1,53 @@ |
|||
package com.homilylink.assignment.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import java.util.Date; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import java.io.Serializable; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import lombok.experimental.Accessors; |
|||
|
|||
/** |
|||
* <p> |
|||
* |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = false) |
|||
@Accessors(chain = true) |
|||
@TableName("z_questions") |
|||
@ApiModel(value="Questions对象", description="") |
|||
public class Questions implements Serializable { |
|||
|
|||
private static final long serialVersionUID=1L; |
|||
|
|||
@TableId(value = "id", type = IdType.ASSIGN_ID) |
|||
private Integer id; |
|||
|
|||
private Integer assignmentId; |
|||
|
|||
private String questionType; |
|||
|
|||
private String content; |
|||
|
|||
private Integer score; |
|||
|
|||
private Integer sortOrder; |
|||
|
|||
@TableField(fill = FieldFill.INSERT) |
|||
private Date createdAt; |
|||
|
|||
@TableField(fill = FieldFill.INSERT_UPDATE) |
|||
private Date updatedAt; |
|||
|
|||
|
|||
} |
@ -0,0 +1,55 @@ |
|||
package com.homilylink.assignment.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import java.util.Date; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import java.io.Serializable; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import lombok.experimental.Accessors; |
|||
|
|||
/** |
|||
* <p> |
|||
* |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = false) |
|||
@Accessors(chain = true) |
|||
@TableName("z_users") |
|||
@ApiModel(value="Users对象", description="") |
|||
public class Users implements Serializable { |
|||
|
|||
private static final long serialVersionUID=1L; |
|||
|
|||
@TableId(value = "id", type = IdType.AUTO) |
|||
private Integer id; |
|||
|
|||
@ApiModelProperty(value = "姓名") |
|||
private String name; |
|||
|
|||
@ApiModelProperty(value = "帮账号") |
|||
private String accountNumber; |
|||
|
|||
@ApiModelProperty(value = "邮箱") |
|||
private String email; |
|||
|
|||
@ApiModelProperty(value = "市场/地区") |
|||
private String market; |
|||
|
|||
@TableField(fill = FieldFill.INSERT) |
|||
private Date createdAt; |
|||
|
|||
@TableField(fill = FieldFill.INSERT_UPDATE) |
|||
private Date updatedAt; |
|||
|
|||
|
|||
} |
@ -0,0 +1,52 @@ |
|||
package com.homilylink.assignment.entity.vo; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.*; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @program: homily_link |
|||
* @ClassName AssignmentLiveController |
|||
* @description: |
|||
* @author: 赵如慧 |
|||
* @create: 2025−04-26 15:30 |
|||
* @Version 1.0 |
|||
**/ |
|||
@Data |
|||
public class AssignmentLiveVo { |
|||
private static final long serialVersionUID=1L; |
|||
|
|||
@ApiModelProperty(value = "作者id") |
|||
@TableId(value = "id", type = IdType.AUTO) |
|||
private Integer id; |
|||
|
|||
private String name; |
|||
|
|||
private String content; |
|||
|
|||
private Integer courseId; |
|||
|
|||
private Integer articleId; |
|||
|
|||
private Integer liveId; |
|||
|
|||
private Integer count; |
|||
|
|||
private Date startDate; |
|||
|
|||
private Date endDate; |
|||
|
|||
@TableField(fill = FieldFill.INSERT) |
|||
private Date createdAt; |
|||
|
|||
private String status; |
|||
|
|||
private Date publishTime; |
|||
|
|||
@TableField(fill = FieldFill.INSERT_UPDATE) |
|||
private Date updatedAt; |
|||
@ApiModelProperty(value = "直播标题") |
|||
private String title; |
|||
} |
@ -0,0 +1,22 @@ |
|||
package com.homilylink.assignment.entity.vo; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
|
|||
/** |
|||
* @program: homily_link |
|||
* @ClassName AssignmentVo |
|||
* @description: |
|||
* @author: 赵如慧 |
|||
* @create: 2025−04-26 11:16 |
|||
* @Version 1.0 |
|||
**/ |
|||
public class AssignmentVo { |
|||
|
|||
@ApiModelProperty(value = "帮账号") |
|||
private String accountNumber; |
|||
@ApiModelProperty(value = "姓名") |
|||
private String name; |
|||
@ApiModelProperty(value = "用户市场归属") |
|||
private String locMarket; |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.mapper; |
|||
|
|||
import com.homilylink.assignment.entity.Answers; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
|
|||
/** |
|||
* <p> |
|||
* Mapper 接口 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface AnswersMapper extends BaseMapper<Answers> { |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.mapper; |
|||
|
|||
import com.homilylink.assignment.entity.Articles; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
|
|||
/** |
|||
* <p> |
|||
* Mapper 接口 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface ArticlesMapper extends BaseMapper<Articles> { |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.mapper; |
|||
|
|||
import com.homilylink.assignment.entity.Assignment; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
|
|||
/** |
|||
* <p> |
|||
* Mapper 接口 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface AssignmentMapper extends BaseMapper<Assignment> { |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.mapper; |
|||
|
|||
import com.homilylink.assignment.entity.AssignmentSubmissions; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
|
|||
/** |
|||
* <p> |
|||
* Mapper 接口 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface AssignmentSubmissionsMapper extends BaseMapper<AssignmentSubmissions> { |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.mapper; |
|||
|
|||
import com.homilylink.assignment.entity.Coursess; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
|
|||
/** |
|||
* <p> |
|||
* Mapper 接口 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface CoursessMapper extends BaseMapper<Coursess> { |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.mapper; |
|||
|
|||
import com.homilylink.assignment.entity.LiveSessions; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
|
|||
/** |
|||
* <p> |
|||
* Mapper 接口 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface LiveSessionsMapper extends BaseMapper<LiveSessions> { |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.mapper; |
|||
|
|||
import com.homilylink.assignment.entity.MemberInfo; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
|
|||
/** |
|||
* <p> |
|||
* Mapper 接口 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface MemberInfoMapper extends BaseMapper<MemberInfo> { |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.mapper; |
|||
|
|||
import com.homilylink.assignment.entity.Options; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
|
|||
/** |
|||
* <p> |
|||
* Mapper 接口 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface OptionsMapper extends BaseMapper<Options> { |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.mapper; |
|||
|
|||
import com.homilylink.assignment.entity.Questions; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
|
|||
/** |
|||
* <p> |
|||
* Mapper 接口 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface QuestionsMapper extends BaseMapper<Questions> { |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.mapper; |
|||
|
|||
import com.homilylink.assignment.entity.Users; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
|
|||
/** |
|||
* <p> |
|||
* Mapper 接口 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface UsersMapper extends BaseMapper<Users> { |
|||
|
|||
} |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.AnswersMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.ArticlesMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.AssignmentMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.AssignmentSubmissionsMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.CoursessMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.LiveSessionsMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.MemberInfoMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.OptionsMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.QuestionsMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.UsersMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.service; |
|||
|
|||
import com.homilylink.assignment.entity.Answers; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface AnswersService extends IService<Answers> { |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.service; |
|||
|
|||
import com.homilylink.assignment.entity.Articles; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface ArticlesService extends IService<Articles> { |
|||
|
|||
} |
@ -0,0 +1,19 @@ |
|||
package com.homilylink.assignment.service; |
|||
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|||
import com.homilylink.assignment.entity.Assignment; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface AssignmentService extends IService<Assignment> { |
|||
|
|||
IPage<Assignment> selectPage(Page<Assignment> pageParam, Object o); |
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.service; |
|||
|
|||
import com.homilylink.assignment.entity.AssignmentSubmissions; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface AssignmentSubmissionsService extends IService<AssignmentSubmissions> { |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.service; |
|||
|
|||
import com.homilylink.assignment.entity.Coursess; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface CoursessService extends IService<Coursess> { |
|||
|
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.homilylink.assignment.service; |
|||
|
|||
import com.homilylink.assignment.entity.LiveSessions; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface LiveSessionsService extends IService<LiveSessions> { |
|||
|
|||
List<LiveSessions> selectLive(); |
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.service; |
|||
|
|||
import com.homilylink.assignment.entity.MemberInfo; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface MemberInfoService extends IService<MemberInfo> { |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.service; |
|||
|
|||
import com.homilylink.assignment.entity.Options; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface OptionsService extends IService<Options> { |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.service; |
|||
|
|||
import com.homilylink.assignment.entity.Questions; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface QuestionsService extends IService<Questions> { |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.homilylink.assignment.service; |
|||
|
|||
import com.homilylink.assignment.entity.Users; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
public interface UsersService extends IService<Users> { |
|||
|
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.homilylink.assignment.service.impl; |
|||
|
|||
import com.homilylink.assignment.entity.Answers; |
|||
import com.homilylink.assignment.mapper.AnswersMapper; |
|||
import com.homilylink.assignment.service.AnswersService; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务实现类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Service |
|||
public class AnswersServiceImpl extends ServiceImpl<AnswersMapper, Answers> implements AnswersService { |
|||
|
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.homilylink.assignment.service.impl; |
|||
|
|||
import com.homilylink.assignment.entity.Articles; |
|||
import com.homilylink.assignment.mapper.ArticlesMapper; |
|||
import com.homilylink.assignment.service.ArticlesService; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务实现类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Service |
|||
public class ArticlesServiceImpl extends ServiceImpl<ArticlesMapper, Articles> implements ArticlesService { |
|||
|
|||
} |
@ -0,0 +1,33 @@ |
|||
package com.homilylink.assignment.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|||
import com.homilylink.assignment.entity.Assignment; |
|||
import com.homilylink.assignment.mapper.AssignmentMapper; |
|||
import com.homilylink.assignment.service.AssignmentService; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务实现类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Service |
|||
public class AssignmentServiceImpl extends ServiceImpl<AssignmentMapper, Assignment> implements AssignmentService { |
|||
@Override |
|||
public IPage<Assignment> selectPage(Page<Assignment> pageParam, Object o) { |
|||
//显示分页查询列表 |
|||
/** |
|||
* 1.排序 |
|||
* 2.查询 |
|||
*/ |
|||
QueryWrapper<Assignment> queryWrapper = new QueryWrapper<>(); |
|||
queryWrapper.orderByDesc("publish_time"); |
|||
return baseMapper.selectPage(pageParam,queryWrapper); |
|||
} |
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.homilylink.assignment.service.impl; |
|||
|
|||
import com.homilylink.assignment.entity.AssignmentSubmissions; |
|||
import com.homilylink.assignment.mapper.AssignmentSubmissionsMapper; |
|||
import com.homilylink.assignment.service.AssignmentSubmissionsService; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务实现类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Service |
|||
public class AssignmentSubmissionsServiceImpl extends ServiceImpl<AssignmentSubmissionsMapper, AssignmentSubmissions> implements AssignmentSubmissionsService { |
|||
|
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.homilylink.assignment.service.impl; |
|||
|
|||
import com.homilylink.assignment.entity.Coursess; |
|||
import com.homilylink.assignment.mapper.CoursessMapper; |
|||
import com.homilylink.assignment.service.CoursessService; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务实现类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Service |
|||
public class CoursessServiceImpl extends ServiceImpl<CoursessMapper, Coursess> implements CoursessService { |
|||
|
|||
} |
@ -0,0 +1,43 @@ |
|||
package com.homilylink.assignment.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.homilylink.assignment.entity.LiveSessions; |
|||
import com.homilylink.assignment.mapper.LiveSessionsMapper; |
|||
import com.homilylink.assignment.service.LiveSessionsService; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.time.LocalDate; |
|||
import java.time.LocalDateTime; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务实现类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Service |
|||
public class LiveSessionsServiceImpl extends ServiceImpl<LiveSessionsMapper, LiveSessions> implements LiveSessionsService { |
|||
@Autowired |
|||
private LiveSessionsMapper liveSessionsMapper; |
|||
@Override |
|||
public List<LiveSessions> selectLive() { |
|||
LocalDateTime now = LocalDateTime.now(); |
|||
LocalDateTime plusDays = now.plusDays(7L); |
|||
LocalDateTime minusDays = now.minusDays(1L); |
|||
QueryWrapper queryWrapper = new QueryWrapper(); |
|||
queryWrapper.ge("created_at",minusDays); |
|||
queryWrapper.le("created_at",plusDays); |
|||
List list = baseMapper.selectList(queryWrapper); |
|||
System.out.println("------------------"+list); |
|||
return list; |
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,20 @@ |
|||
package com.homilylink.assignment.service.impl; |
|||
|
|||
import com.homilylink.assignment.entity.MemberInfo; |
|||
import com.homilylink.assignment.mapper.MemberInfoMapper; |
|||
import com.homilylink.assignment.service.MemberInfoService; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务实现类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Service |
|||
public class MemberInfoServiceImpl extends ServiceImpl<MemberInfoMapper, MemberInfo> implements MemberInfoService { |
|||
|
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.homilylink.assignment.service.impl; |
|||
|
|||
import com.homilylink.assignment.entity.Options; |
|||
import com.homilylink.assignment.mapper.OptionsMapper; |
|||
import com.homilylink.assignment.service.OptionsService; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务实现类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Service |
|||
public class OptionsServiceImpl extends ServiceImpl<OptionsMapper, Options> implements OptionsService { |
|||
|
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.homilylink.assignment.service.impl; |
|||
|
|||
import com.homilylink.assignment.entity.Questions; |
|||
import com.homilylink.assignment.mapper.QuestionsMapper; |
|||
import com.homilylink.assignment.service.QuestionsService; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务实现类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Service |
|||
public class QuestionsServiceImpl extends ServiceImpl<QuestionsMapper, Questions> implements QuestionsService { |
|||
|
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.homilylink.assignment.service.impl; |
|||
|
|||
import com.homilylink.assignment.entity.Users; |
|||
import com.homilylink.assignment.mapper.UsersMapper; |
|||
import com.homilylink.assignment.service.UsersService; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* <p> |
|||
* 服务实现类 |
|||
* </p> |
|||
* |
|||
* @author zhaoruhui |
|||
* @since 2025-04-26 |
|||
*/ |
|||
@Service |
|||
public class UsersServiceImpl extends ServiceImpl<UsersMapper, Users> implements UsersService { |
|||
|
|||
} |
@ -0,0 +1,50 @@ |
|||
server: |
|||
port: 8110 # 服务端口 |
|||
tomcat: |
|||
max-threads: 10 |
|||
spring: |
|||
profiles: |
|||
active: dev # 环境设置 |
|||
application: |
|||
name: service-assignment # 服务名 |
|||
datasource: # mysql数据库连接 |
|||
driver-class-name: com.mysql.cj.jdbc.Driver |
|||
url: jdbc:mysql://rm-8vbe7b69y78ivbv47do.rwlb.zhangbei.rds.aliyuncs.com:3306/homilylink?serverTimezone=GMT%2B8 |
|||
username: shixi |
|||
password: kJr0CcF8P1yrPFEF1V |
|||
#spring: |
|||
jackson: #返回json的全局时间格式 |
|||
date-format: yyyy-MM-dd HH:mm:ss |
|||
time-zone: GMT+8 |
|||
# cloud: |
|||
# nacos: |
|||
# discovery: |
|||
# server-addr: localhost:8848 |
|||
# sentinel: |
|||
# transport: |
|||
# port: 8081 |
|||
# dashboard: localhost:8080 |
|||
# redis: |
|||
# host: localhost |
|||
# port: 6379 |
|||
# database: 0 |
|||
# password: #默认为空 |
|||
# lettuce: |
|||
# pool: |
|||
# max-active: 20 #最大连接数,负值表示没有限制 ,默认8 |
|||
# max-wait: -1 #最大阻塞等待时间,负值表示没有限制,默认-1 |
|||
# max-idle: 8 #最大空闲连接,默认8 |
|||
# min-idle: 0 #最小空闲连接,默认0 |
|||
#mybatis日志 |
|||
mybatis-plus: |
|||
configuration: |
|||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl |
|||
# mapper-locations: classpath:com/cloud/service/edu/mapper/xml/*.xml |
|||
#ribbon: |
|||
# MaxAutoRetries: 1 |
|||
# MaxAutoRetriesNextServer: 2 |
|||
# ConnectTimeout: 5000 #连接建立的时间 |
|||
# ReadTimeout: 10000 #处理请求的超时时间,默认为1s |
|||
#feign: |
|||
# sentinel: |
|||
# enabled: true |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.AnswersMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.ArticlesMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.AssignmentMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.AssignmentSubmissionsMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.CoursessMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.LiveSessionsMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.OptionsMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.QuestionsMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,5 @@ |
|||
<?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"> |
|||
<mapper namespace="com.homilylink.assignment.mapper.UsersMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,7 @@ |
|||
<!DOCTYPE web-app PUBLIC |
|||
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" |
|||
"http://java.sun.com/dtd/web-app_2_3.dtd" > |
|||
|
|||
<web-app> |
|||
<display-name>Archetype Created Web Application</display-name> |
|||
</web-app> |
@ -0,0 +1,5 @@ |
|||
<html> |
|||
<body> |
|||
<h2>Hello World!</h2> |
|||
</body> |
|||
</html> |
@ -0,0 +1,102 @@ |
|||
package com.homily.assignment; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.DbType; |
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import com.baomidou.mybatisplus.generator.AutoGenerator; |
|||
import com.baomidou.mybatisplus.generator.config.DataSourceConfig; |
|||
import com.baomidou.mybatisplus.generator.config.GlobalConfig; |
|||
import com.baomidou.mybatisplus.generator.config.PackageConfig; |
|||
import com.baomidou.mybatisplus.generator.config.StrategyConfig; |
|||
import com.baomidou.mybatisplus.generator.config.po.TableFill; |
|||
import com.baomidou.mybatisplus.generator.config.rules.DateType; |
|||
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; |
|||
import org.junit.jupiter.api.Test; |
|||
|
|||
import java.util.ArrayList; |
|||
|
|||
/** |
|||
* @author helen |
|||
* @since 2020/4/1 |
|||
*/ |
|||
public class CodeGenerator { |
|||
|
|||
@Test |
|||
public void genCode() { |
|||
|
|||
// String prefix = |
|||
String prefix = "homilylink"; |
|||
//String moduleName = "assignment"; |
|||
|
|||
// 1、创建代码生成器 |
|||
AutoGenerator mpg = new AutoGenerator(); |
|||
|
|||
// 2、全局配置 |
|||
GlobalConfig gc = new GlobalConfig(); |
|||
String projectPath = System.getProperty("user.dir"); |
|||
gc.setOutputDir(projectPath + "/src/main/java"); |
|||
gc.setAuthor("zhaoruhui"); |
|||
gc.setOpen(false); //生成后是否打开资源管理器 |
|||
gc.setFileOverride(false); //重新生成时文件是否覆盖 |
|||
gc.setServiceName("%sService"); //去掉Service接口的首字母I |
|||
gc.setIdType(IdType.ASSIGN_ID); //主键策略 |
|||
gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型 |
|||
gc.setSwagger2(true);//开启Swagger2模式 |
|||
mpg.setGlobalConfig(gc); |
|||
|
|||
// 3、数据源配置 |
|||
DataSourceConfig dsc = new DataSourceConfig(); |
|||
// dsc.setUrl("jdbc:mysql://39.101.133.168:3306/" + prefix + "?serverTimezone=GMT%2B8"); |
|||
dsc.setUrl("jdbc:mysql://rm-8vbe7b69y78ivbv47do.rwlb.zhangbei.rds.aliyuncs.com:3306/" + prefix + "?serverTimezone=GMT%2B8"); |
|||
dsc.setDriverName("com.mysql.cj.jdbc.Driver"); |
|||
// dsc.setUsername("cms"); |
|||
dsc.setUsername("shixi"); |
|||
// dsc.setPassword("AF42R3ib6YkFaemm"); |
|||
dsc.setPassword("kJr0CcF8P1yrPFEF1V"); |
|||
dsc.setDbType(DbType.MYSQL); |
|||
mpg.setDataSource(dsc); |
|||
|
|||
// 4、包配置 |
|||
PackageConfig pc = new PackageConfig(); |
|||
// pc.setModuleName(moduleName); //模块名 |
|||
pc.setParent("com.homilylink.assignment"); |
|||
pc.setController("controller"); |
|||
pc.setEntity("entity"); |
|||
pc.setService("service"); |
|||
pc.setMapper("mapper"); |
|||
mpg.setPackageInfo(pc); |
|||
|
|||
// 5、策略配置 |
|||
StrategyConfig strategy = new StrategyConfig(); |
|||
strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略 |
|||
// strategy.setInclude("member_info"); // 生成所有以t_开头的表 |
|||
strategy.setInclude("z_answers","z_articles","z_assignment","z_assignment_submissions","z_coursess","z_live_sessions","z_options","z_questions","z_users"); // 生成所有以t_开头的表 |
|||
strategy.setTablePrefix("z" + "_");//设置表前缀不生成 |
|||
// |
|||
strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略 |
|||
strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作 |
|||
|
|||
strategy.setLogicDeleteFieldName("is_deleted");//逻辑删除字段名 |
|||
strategy.setEntityBooleanColumnRemoveIsPrefix(true);//去掉布尔值的is_前缀 |
|||
|
|||
//自动填充 |
|||
TableFill createdAt = new TableFill("created_at", FieldFill.INSERT); |
|||
TableFill updatedAt = new TableFill("updated_at", FieldFill.INSERT_UPDATE); |
|||
ArrayList<TableFill> tableFills = new ArrayList<>(); |
|||
tableFills.add(createdAt); |
|||
tableFills.add(updatedAt); |
|||
strategy.setTableFillList(tableFills); |
|||
|
|||
strategy.setRestControllerStyle(true); //restful api风格控制器 |
|||
strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符 |
|||
mpg.setStrategy(strategy); |
|||
|
|||
//设置BaseEntity |
|||
// strategy.setSuperEntityClass("com.homilylink.assignment.service.base.model.BaseEntity"); |
|||
// 填写BaseEntity中的公共字段 |
|||
// strategy.setSuperEntityColumns("id", "created_at", "updated_at"); |
|||
|
|||
// 6、执行 |
|||
mpg.execute(); |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue