commit c1d4c7ce212529b032e3ad66e63d5c2c6db7fffe
Author: zrh <19546585313@163.com>
Date: Mon Apr 28 11:35:04 2025 +0800
作业第一版
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..3b41682
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+/mvnw text eol=lf
+*.cmd text eol=crlf
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..549e00a
--- /dev/null
+++ b/.gitignore
@@ -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/
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
new file mode 100644
index 0000000..d58dfb7
--- /dev/null
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -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
diff --git a/common/common_util/pom.xml b/common/common_util/pom.xml
new file mode 100644
index 0000000..f5aa462
--- /dev/null
+++ b/common/common_util/pom.xml
@@ -0,0 +1,24 @@
+
+ 4.0.0
+
+ com.homily
+ common
+ 0.0.1-SNAPSHOT
+
+ common_util
+ war
+ common_util Maven Webapp
+ http://maven.apache.org
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
+ common_util
+
+
diff --git a/common/common_util/src/main/java/com/homilylink/common/base/result/R.java b/common/common_util/src/main/java/com/homilylink/common/base/result/R.java
new file mode 100644
index 0000000..4345209
--- /dev/null
+++ b/common/common_util/src/main/java/com/homilylink/common/base/result/R.java
@@ -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 data = new HashMap();
+
+ 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 map){
+ this.setData(map);
+ return this;
+ }
+}
diff --git a/common/common_util/src/main/java/com/homilylink/common/base/result/ResultCodeEnum.java b/common/common_util/src/main/java/com/homilylink/common/base/result/ResultCodeEnum.java
new file mode 100644
index 0000000..5710e4d
--- /dev/null
+++ b/common/common_util/src/main/java/com/homilylink/common/base/result/ResultCodeEnum.java
@@ -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;
+ }
+}
diff --git a/common/common_util/src/main/webapp/WEB-INF/web.xml b/common/common_util/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..9f88c1f
--- /dev/null
+++ b/common/common_util/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,7 @@
+
+
+
+ Archetype Created Web Application
+
diff --git a/common/common_util/src/main/webapp/index.jsp b/common/common_util/src/main/webapp/index.jsp
new file mode 100644
index 0000000..c38169b
--- /dev/null
+++ b/common/common_util/src/main/webapp/index.jsp
@@ -0,0 +1,5 @@
+
+
+Hello World!
+
+
diff --git a/common/pom.xml b/common/pom.xml
new file mode 100644
index 0000000..81d5782
--- /dev/null
+++ b/common/pom.xml
@@ -0,0 +1,45 @@
+
+ 4.0.0
+
+ com.homily
+ homily_link
+ 0.0.1-SNAPSHOT
+
+ common
+ pom
+ common Maven Webapp
+ http://maven.apache.org
+
+ common_util
+ service_base
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+
+
+
+ org.projectlombok
+ lombok
+
+
+
+ io.springfox
+ springfox-swagger2
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+ common
+
+
diff --git a/common/service_base/pom.xml b/common/service_base/pom.xml
new file mode 100644
index 0000000..7da2ed8
--- /dev/null
+++ b/common/service_base/pom.xml
@@ -0,0 +1,29 @@
+
+ 4.0.0
+
+ com.homily
+ common
+ 0.0.1-SNAPSHOT
+
+ service_base
+ war
+ service_base Maven Webapp
+ http://maven.apache.org
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+ com.homily
+ common_util
+ 0.0.1-SNAPSHOT
+
+
+
+ service_base
+
+
diff --git a/common/service_base/src/main/java/com/homilylink/assignment/base/config/MybatisPlusConfig.java b/common/service_base/src/main/java/com/homilylink/assignment/base/config/MybatisPlusConfig.java
new file mode 100644
index 0000000..6f196e6
--- /dev/null
+++ b/common/service_base/src/main/java/com/homilylink/assignment/base/config/MybatisPlusConfig.java
@@ -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();
+ }
+}
diff --git a/common/service_base/src/main/java/com/homilylink/assignment/base/config/Swagger2Config.java b/common/service_base/src/main/java/com/homilylink/assignment/base/config/Swagger2Config.java
new file mode 100644
index 0000000..ea0bb49
--- /dev/null
+++ b/common/service_base/src/main/java/com/homilylink/assignment/base/config/Swagger2Config.java
@@ -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();
+ }
+}
diff --git a/common/service_base/src/main/java/com/homilylink/assignment/base/handler/CommonMetaObjectHandler.java b/common/service_base/src/main/java/com/homilylink/assignment/base/handler/CommonMetaObjectHandler.java
new file mode 100644
index 0000000..82179a9
--- /dev/null
+++ b/common/service_base/src/main/java/com/homilylink/assignment/base/handler/CommonMetaObjectHandler.java
@@ -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);
+ }
+}
\ No newline at end of file
diff --git a/common/service_base/src/main/java/com/homilylink/assignment/base/handler/GlobalExceptionHandler.java b/common/service_base/src/main/java/com/homilylink/assignment/base/handler/GlobalExceptionHandler.java
new file mode 100644
index 0000000..439ba7a
--- /dev/null
+++ b/common/service_base/src/main/java/com/homilylink/assignment/base/handler/GlobalExceptionHandler.java
@@ -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);
+ }
+}
diff --git a/common/service_base/src/main/webapp/WEB-INF/web.xml b/common/service_base/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..9f88c1f
--- /dev/null
+++ b/common/service_base/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,7 @@
+
+
+
+ Archetype Created Web Application
+
diff --git a/common/service_base/src/main/webapp/index.jsp b/common/service_base/src/main/webapp/index.jsp
new file mode 100644
index 0000000..c38169b
--- /dev/null
+++ b/common/service_base/src/main/webapp/index.jsp
@@ -0,0 +1,5 @@
+
+
+Hello World!
+
+
diff --git a/mvnw b/mvnw
new file mode 100644
index 0000000..19529dd
--- /dev/null
+++ b/mvnw
@@ -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-,maven-mvnd--}/
+[ -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 "$@"
diff --git a/mvnw.cmd b/mvnw.cmd
new file mode 100644
index 0000000..249bdf3
--- /dev/null
+++ b/mvnw.cmd
@@ -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-,maven-mvnd--}/
+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"
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..8c3b380
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,193 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.2.1.RELEASE
+
+
+ com.homily
+ homily_link
+ 0.0.1-SNAPSHOT
+ pom
+ homily_link
+ homily_link
+
+ common
+ service
+
+
+
+ 1.8
+ 3.3.1
+ 2.0
+ 2.7.0
+ 2.8.3
+ 2.10.1
+ 1.3.1
+ 2.6
+ 3.9
+ 4.5.1
+ 0.7.0
+ 4.3.3
+ 3.1.0
+ 2.15.2
+ 1.4.11
+ 1.4.11
+ 1.2.28
+ 2.8.2
+ 20170516
+ 1.7
+ 1.1.0
+ zx
+ 0.2.2.RELEASE
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ Hoxton.RELEASE
+ pom
+ import
+
+
+ org.springframework.cloud
+ spring-cloud-alibaba-dependencies
+ ${cloud-alibaba.version}
+ pom
+ import
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ ${mybatis-plus.version}
+
+
+ com.baomidou
+ mybatis-plus-generator
+ ${mybatis-plus.version}
+
+
+
+ org.apache.velocity
+ velocity-engine-core
+ ${velocity.version}
+
+
+
+ io.springfox
+ springfox-swagger2
+ ${swagger.version}
+
+
+
+ io.springfox
+ springfox-swagger-ui
+ ${swagger.version}
+
+
+
+ com.aliyun.oss
+ aliyun-sdk-oss
+ ${aliyun.oss.version}
+
+
+
+ joda-time
+ joda-time
+ ${jodatime.version}
+
+
+
+ commons-fileupload
+ commons-fileupload
+ ${commons-fileupload.version}
+
+
+
+ commons-io
+ commons-io
+ ${commons-io.version}
+
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang.version}
+
+
+
+ org.apache.httpcomponents
+ httpclient
+ ${httpclient.version}
+
+
+
+ io.jsonwebtoken
+ jjwt
+ ${jwt.version}
+
+
+
+ com.aliyun
+ aliyun-java-sdk-core
+ ${aliyun-java-sdk-core.version}
+
+
+ com.aliyun.oss
+ aliyun-sdk-oss
+ ${aliyun-sdk-oss.version}
+
+
+ com.aliyun
+ aliyun-java-sdk-vod
+ ${aliyun-java-sdk-vod.version}
+
+
+
+
+
+
+
+
+ com.alibaba
+ fastjson
+ ${fastjson.version}
+
+
+ org.json
+ json
+ ${json.version}
+
+
+ com.google.code.gson
+ gson
+ ${gson.version}
+
+
+ commons-dbutils
+ commons-dbutils
+ ${commons-dbutils.version}
+
+
+ com.alibaba.otter
+ canal.client
+ ${canal.client.version}
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/service/pom.xml b/service/pom.xml
new file mode 100644
index 0000000..c1696ba
--- /dev/null
+++ b/service/pom.xml
@@ -0,0 +1,101 @@
+
+ 4.0.0
+
+ com.homily
+ homily_link
+ 0.0.1-SNAPSHOT
+
+ service
+ pom
+ service Maven Webapp
+ http://maven.apache.org
+
+ service_assignment
+
+
+
+ com.homily
+ service_base
+ 0.0.1-SNAPSHOT
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+
+
+ com.baomidou
+ mybatis-plus-generator
+
+
+
+ mysql
+ mysql-connector-java
+
+
+
+ org.apache.velocity
+ velocity-engine-core
+
+
+
+ io.springfox
+ springfox-swagger2
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+ org.projectlombok
+ lombok
+
+
+ commons-fileupload
+ commons-fileupload
+
+
+
+ org.apache.httpcomponents
+ httpclient
+
+
+
+ commons-io
+ commons-io
+
+
+
+ com.alibaba
+ fastjson
+
+
+ org.json
+ json
+
+
+ com.google.code.gson
+ gson
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+
+
+
+
+
+ service
+
+
diff --git a/service/service_assignment/pom.xml b/service/service_assignment/pom.xml
new file mode 100644
index 0000000..b1a8a72
--- /dev/null
+++ b/service/service_assignment/pom.xml
@@ -0,0 +1,24 @@
+
+ 4.0.0
+
+ com.homily
+ service
+ 0.0.1-SNAPSHOT
+
+ service_assignment
+ war
+ service_assignment Maven Webapp
+ http://maven.apache.org
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
+ service_assignment
+
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/ServiceAssignmentApplication.java b/service/service_assignment/src/main/java/com/homilylink/assignment/ServiceAssignmentApplication.java
new file mode 100644
index 0000000..0dc0736
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/ServiceAssignmentApplication.java
@@ -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);
+ }
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/controller/AnswersController.java b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/AnswersController.java
new file mode 100644
index 0000000..017816a
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/AnswersController.java
@@ -0,0 +1,21 @@
+package com.homilylink.assignment.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@RestController
+@RequestMapping("/answers")
+public class AnswersController {
+
+}
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/controller/ArticlesController.java b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/ArticlesController.java
new file mode 100644
index 0000000..51d6420
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/ArticlesController.java
@@ -0,0 +1,21 @@
+package com.homilylink.assignment.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@RestController
+@RequestMapping("/articles")
+public class ArticlesController {
+
+}
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/controller/AssignmentSubmissionsController.java b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/AssignmentSubmissionsController.java
new file mode 100644
index 0000000..4d7e808
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/AssignmentSubmissionsController.java
@@ -0,0 +1,21 @@
+package com.homilylink.assignment.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@RestController
+@RequestMapping("/assignment-submissions")
+public class AssignmentSubmissionsController {
+
+}
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/controller/CoursessController.java b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/CoursessController.java
new file mode 100644
index 0000000..70bdef0
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/CoursessController.java
@@ -0,0 +1,21 @@
+package com.homilylink.assignment.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@RestController
+@RequestMapping("/coursess")
+public class CoursessController {
+
+}
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/controller/MemberInfoController.java b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/MemberInfoController.java
new file mode 100644
index 0000000..bd0fdf0
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/MemberInfoController.java
@@ -0,0 +1,21 @@
+package com.homilylink.assignment.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@RestController
+@RequestMapping("/member-info")
+public class MemberInfoController {
+
+}
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/controller/OptionsController.java b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/OptionsController.java
new file mode 100644
index 0000000..4dd6d45
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/OptionsController.java
@@ -0,0 +1,21 @@
+package com.homilylink.assignment.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@RestController
+@RequestMapping("/options")
+public class OptionsController {
+
+}
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/controller/QuestionsController.java b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/QuestionsController.java
new file mode 100644
index 0000000..dfe68da
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/QuestionsController.java
@@ -0,0 +1,21 @@
+package com.homilylink.assignment.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@RestController
+@RequestMapping("/questions")
+public class QuestionsController {
+
+}
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/controller/User.java b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/User.java
new file mode 100644
index 0000000..1010fcd
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/User.java
@@ -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");
+ }
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/controller/UsersController.java b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/UsersController.java
new file mode 100644
index 0000000..a47245c
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/UsersController.java
@@ -0,0 +1,21 @@
+package com.homilylink.assignment.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@RestController
+@RequestMapping("/users")
+public class UsersController {
+
+}
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/controller/admin/AssignmentController.java b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/admin/AssignmentController.java
new file mode 100644
index 0000000..288169e
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/admin/AssignmentController.java
@@ -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;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @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 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 pageParam = new Page<>(page,limit);
+ IPage pageModel = assignmentService.selectPage(pageParam,null);
+ long total = pageModel.getTotal();
+ List recordss = pageModel.getRecords();
+ List 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("保存失败");
+ }
+ }
+}
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/controller/admin/LiveSessionsController.java b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/admin/LiveSessionsController.java
new file mode 100644
index 0000000..93f3e1e
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/controller/admin/LiveSessionsController.java
@@ -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;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @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 list = liveSessionsService.selectLive();
+ return R.ok().data("items",list);
+ }
+}
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Answers.java b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Answers.java
new file mode 100644
index 0000000..5c2783e
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Answers.java
@@ -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;
+
+/**
+ *
+ *
+ *
+ *
+ * @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;
+
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Articles.java b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Articles.java
new file mode 100644
index 0000000..254257e
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Articles.java
@@ -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;
+
+/**
+ *
+ *
+ *
+ *
+ * @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;
+
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Assignment.java b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Assignment.java
new file mode 100644
index 0000000..72de7c3
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Assignment.java
@@ -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;
+
+/**
+ *
+ *
+ *
+ *
+ * @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;
+
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/entity/AssignmentSubmissions.java b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/AssignmentSubmissions.java
new file mode 100644
index 0000000..7a54098
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/AssignmentSubmissions.java
@@ -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;
+
+/**
+ *
+ *
+ *
+ *
+ * @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;
+
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Coursess.java b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Coursess.java
new file mode 100644
index 0000000..9c77df1
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Coursess.java
@@ -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;
+
+/**
+ *
+ *
+ *
+ *
+ * @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;
+
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/entity/LiveSessions.java b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/LiveSessions.java
new file mode 100644
index 0000000..5063af1
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/LiveSessions.java
@@ -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;
+
+/**
+ *
+ *
+ *
+ *
+ * @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;
+
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/entity/MemberInfo.java b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/MemberInfo.java
new file mode 100644
index 0000000..8e9945e
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/MemberInfo.java
@@ -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;
+
+/**
+ *
+ *
+ *
+ *
+ * @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;
+
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Options.java b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Options.java
new file mode 100644
index 0000000..f7ed9da
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Options.java
@@ -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;
+
+/**
+ *
+ *
+ *
+ *
+ * @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;
+
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Questions.java b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Questions.java
new file mode 100644
index 0000000..09d6fd4
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Questions.java
@@ -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;
+
+/**
+ *
+ *
+ *
+ *
+ * @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;
+
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Users.java b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Users.java
new file mode 100644
index 0000000..71116de
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/Users.java
@@ -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;
+
+/**
+ *
+ *
+ *
+ *
+ * @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;
+
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/entity/vo/AssignmentLiveVo.java b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/vo/AssignmentLiveVo.java
new file mode 100644
index 0000000..d9b49b8
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/vo/AssignmentLiveVo.java
@@ -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;
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/entity/vo/AssignmentVo.java b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/vo/AssignmentVo.java
new file mode 100644
index 0000000..31ae05f
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/entity/vo/AssignmentVo.java
@@ -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;
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/AnswersMapper.java b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/AnswersMapper.java
new file mode 100644
index 0000000..9e909d3
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/AnswersMapper.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.mapper;
+
+import com.homilylink.assignment.entity.Answers;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface AnswersMapper extends BaseMapper {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/ArticlesMapper.java b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/ArticlesMapper.java
new file mode 100644
index 0000000..484df4b
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/ArticlesMapper.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.mapper;
+
+import com.homilylink.assignment.entity.Articles;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface ArticlesMapper extends BaseMapper {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/AssignmentMapper.java b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/AssignmentMapper.java
new file mode 100644
index 0000000..105edc0
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/AssignmentMapper.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.mapper;
+
+import com.homilylink.assignment.entity.Assignment;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface AssignmentMapper extends BaseMapper {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/AssignmentSubmissionsMapper.java b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/AssignmentSubmissionsMapper.java
new file mode 100644
index 0000000..69b8206
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/AssignmentSubmissionsMapper.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.mapper;
+
+import com.homilylink.assignment.entity.AssignmentSubmissions;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface AssignmentSubmissionsMapper extends BaseMapper {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/CoursessMapper.java b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/CoursessMapper.java
new file mode 100644
index 0000000..47f1253
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/CoursessMapper.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.mapper;
+
+import com.homilylink.assignment.entity.Coursess;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface CoursessMapper extends BaseMapper {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/LiveSessionsMapper.java b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/LiveSessionsMapper.java
new file mode 100644
index 0000000..64b74ee
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/LiveSessionsMapper.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.mapper;
+
+import com.homilylink.assignment.entity.LiveSessions;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface LiveSessionsMapper extends BaseMapper {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/MemberInfoMapper.java b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/MemberInfoMapper.java
new file mode 100644
index 0000000..f27d3ad
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/MemberInfoMapper.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.mapper;
+
+import com.homilylink.assignment.entity.MemberInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface MemberInfoMapper extends BaseMapper {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/OptionsMapper.java b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/OptionsMapper.java
new file mode 100644
index 0000000..cada03f
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/OptionsMapper.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.mapper;
+
+import com.homilylink.assignment.entity.Options;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface OptionsMapper extends BaseMapper {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/QuestionsMapper.java b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/QuestionsMapper.java
new file mode 100644
index 0000000..557cab8
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/QuestionsMapper.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.mapper;
+
+import com.homilylink.assignment.entity.Questions;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface QuestionsMapper extends BaseMapper {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/UsersMapper.java b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/UsersMapper.java
new file mode 100644
index 0000000..54520c2
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/UsersMapper.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.mapper;
+
+import com.homilylink.assignment.entity.Users;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface UsersMapper extends BaseMapper {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/AnswersMapper.xml b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/AnswersMapper.xml
new file mode 100644
index 0000000..5639dfa
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/AnswersMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/ArticlesMapper.xml b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/ArticlesMapper.xml
new file mode 100644
index 0000000..3855b3f
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/ArticlesMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/AssignmentMapper.xml b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/AssignmentMapper.xml
new file mode 100644
index 0000000..dc4ac69
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/AssignmentMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/AssignmentSubmissionsMapper.xml b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/AssignmentSubmissionsMapper.xml
new file mode 100644
index 0000000..bd064ca
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/AssignmentSubmissionsMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/CoursessMapper.xml b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/CoursessMapper.xml
new file mode 100644
index 0000000..dcd1493
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/CoursessMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/LiveSessionsMapper.xml b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/LiveSessionsMapper.xml
new file mode 100644
index 0000000..6c2eaeb
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/LiveSessionsMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/MemberInfoMapper.xml b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/MemberInfoMapper.xml
new file mode 100644
index 0000000..8cd3290
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/MemberInfoMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/OptionsMapper.xml b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/OptionsMapper.xml
new file mode 100644
index 0000000..6d2c259
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/OptionsMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/QuestionsMapper.xml b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/QuestionsMapper.xml
new file mode 100644
index 0000000..6cd9374
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/QuestionsMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/UsersMapper.xml b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/UsersMapper.xml
new file mode 100644
index 0000000..0a869c3
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/mapper/xml/UsersMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/AnswersService.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/AnswersService.java
new file mode 100644
index 0000000..a6d2f6b
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/AnswersService.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.service;
+
+import com.homilylink.assignment.entity.Answers;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface AnswersService extends IService {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/ArticlesService.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/ArticlesService.java
new file mode 100644
index 0000000..11dae23
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/ArticlesService.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.service;
+
+import com.homilylink.assignment.entity.Articles;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface ArticlesService extends IService {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/AssignmentService.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/AssignmentService.java
new file mode 100644
index 0000000..788239e
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/AssignmentService.java
@@ -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;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface AssignmentService extends IService {
+
+ IPage selectPage(Page pageParam, Object o);
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/AssignmentSubmissionsService.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/AssignmentSubmissionsService.java
new file mode 100644
index 0000000..95068a7
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/AssignmentSubmissionsService.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.service;
+
+import com.homilylink.assignment.entity.AssignmentSubmissions;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface AssignmentSubmissionsService extends IService {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/CoursessService.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/CoursessService.java
new file mode 100644
index 0000000..af08ea2
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/CoursessService.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.service;
+
+import com.homilylink.assignment.entity.Coursess;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface CoursessService extends IService {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/LiveSessionsService.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/LiveSessionsService.java
new file mode 100644
index 0000000..7137a6d
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/LiveSessionsService.java
@@ -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;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface LiveSessionsService extends IService {
+
+ List selectLive();
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/MemberInfoService.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/MemberInfoService.java
new file mode 100644
index 0000000..408fe74
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/MemberInfoService.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.service;
+
+import com.homilylink.assignment.entity.MemberInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface MemberInfoService extends IService {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/OptionsService.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/OptionsService.java
new file mode 100644
index 0000000..4b994fe
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/OptionsService.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.service;
+
+import com.homilylink.assignment.entity.Options;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface OptionsService extends IService {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/QuestionsService.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/QuestionsService.java
new file mode 100644
index 0000000..e37b16f
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/QuestionsService.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.service;
+
+import com.homilylink.assignment.entity.Questions;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface QuestionsService extends IService {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/UsersService.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/UsersService.java
new file mode 100644
index 0000000..ef8c2f6
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/UsersService.java
@@ -0,0 +1,16 @@
+package com.homilylink.assignment.service;
+
+import com.homilylink.assignment.entity.Users;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+public interface UsersService extends IService {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/AnswersServiceImpl.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/AnswersServiceImpl.java
new file mode 100644
index 0000000..372de3f
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/AnswersServiceImpl.java
@@ -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;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@Service
+public class AnswersServiceImpl extends ServiceImpl implements AnswersService {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/ArticlesServiceImpl.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/ArticlesServiceImpl.java
new file mode 100644
index 0000000..0125397
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/ArticlesServiceImpl.java
@@ -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;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@Service
+public class ArticlesServiceImpl extends ServiceImpl implements ArticlesService {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/AssignmentServiceImpl.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/AssignmentServiceImpl.java
new file mode 100644
index 0000000..22063e5
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/AssignmentServiceImpl.java
@@ -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;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@Service
+public class AssignmentServiceImpl extends ServiceImpl implements AssignmentService {
+ @Override
+ public IPage selectPage(Page pageParam, Object o) {
+ //显示分页查询列表
+ /**
+ * 1.排序
+ * 2.查询
+ */
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.orderByDesc("publish_time");
+ return baseMapper.selectPage(pageParam,queryWrapper);
+ }
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/AssignmentSubmissionsServiceImpl.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/AssignmentSubmissionsServiceImpl.java
new file mode 100644
index 0000000..657c4b0
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/AssignmentSubmissionsServiceImpl.java
@@ -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;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@Service
+public class AssignmentSubmissionsServiceImpl extends ServiceImpl implements AssignmentSubmissionsService {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/CoursessServiceImpl.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/CoursessServiceImpl.java
new file mode 100644
index 0000000..c9ad889
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/CoursessServiceImpl.java
@@ -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;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@Service
+public class CoursessServiceImpl extends ServiceImpl implements CoursessService {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/LiveSessionsServiceImpl.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/LiveSessionsServiceImpl.java
new file mode 100644
index 0000000..8fb7e86
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/LiveSessionsServiceImpl.java
@@ -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;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@Service
+public class LiveSessionsServiceImpl extends ServiceImpl implements LiveSessionsService {
+ @Autowired
+ private LiveSessionsMapper liveSessionsMapper;
+ @Override
+ public List 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;
+ }
+}
+
+
+
+
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/MemberInfoServiceImpl.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/MemberInfoServiceImpl.java
new file mode 100644
index 0000000..2d942da
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/MemberInfoServiceImpl.java
@@ -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;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@Service
+public class MemberInfoServiceImpl extends ServiceImpl implements MemberInfoService {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/OptionsServiceImpl.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/OptionsServiceImpl.java
new file mode 100644
index 0000000..85b7758
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/OptionsServiceImpl.java
@@ -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;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@Service
+public class OptionsServiceImpl extends ServiceImpl implements OptionsService {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/QuestionsServiceImpl.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/QuestionsServiceImpl.java
new file mode 100644
index 0000000..3a20eae
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/QuestionsServiceImpl.java
@@ -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;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@Service
+public class QuestionsServiceImpl extends ServiceImpl implements QuestionsService {
+
+}
diff --git a/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/UsersServiceImpl.java b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/UsersServiceImpl.java
new file mode 100644
index 0000000..6062e96
--- /dev/null
+++ b/service/service_assignment/src/main/java/com/homilylink/assignment/service/impl/UsersServiceImpl.java
@@ -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;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author zhaoruhui
+ * @since 2025-04-26
+ */
+@Service
+public class UsersServiceImpl extends ServiceImpl implements UsersService {
+
+}
diff --git a/service/service_assignment/src/main/resources/application.yml b/service/service_assignment/src/main/resources/application.yml
new file mode 100644
index 0000000..0e34300
--- /dev/null
+++ b/service/service_assignment/src/main/resources/application.yml
@@ -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
\ No newline at end of file
diff --git a/service/service_assignment/src/main/resources/mapper/AnswersMapper.xml b/service/service_assignment/src/main/resources/mapper/AnswersMapper.xml
new file mode 100644
index 0000000..5639dfa
--- /dev/null
+++ b/service/service_assignment/src/main/resources/mapper/AnswersMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/resources/mapper/ArticlesMapper.xml b/service/service_assignment/src/main/resources/mapper/ArticlesMapper.xml
new file mode 100644
index 0000000..3855b3f
--- /dev/null
+++ b/service/service_assignment/src/main/resources/mapper/ArticlesMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/resources/mapper/AssignmentMapper.xml b/service/service_assignment/src/main/resources/mapper/AssignmentMapper.xml
new file mode 100644
index 0000000..dc4ac69
--- /dev/null
+++ b/service/service_assignment/src/main/resources/mapper/AssignmentMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/resources/mapper/AssignmentSubmissionsMapper.xml b/service/service_assignment/src/main/resources/mapper/AssignmentSubmissionsMapper.xml
new file mode 100644
index 0000000..bd064ca
--- /dev/null
+++ b/service/service_assignment/src/main/resources/mapper/AssignmentSubmissionsMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/resources/mapper/CoursessMapper.xml b/service/service_assignment/src/main/resources/mapper/CoursessMapper.xml
new file mode 100644
index 0000000..dcd1493
--- /dev/null
+++ b/service/service_assignment/src/main/resources/mapper/CoursessMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/resources/mapper/LiveSessionsMapper.xml b/service/service_assignment/src/main/resources/mapper/LiveSessionsMapper.xml
new file mode 100644
index 0000000..6c2eaeb
--- /dev/null
+++ b/service/service_assignment/src/main/resources/mapper/LiveSessionsMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/resources/mapper/OptionsMapper.xml b/service/service_assignment/src/main/resources/mapper/OptionsMapper.xml
new file mode 100644
index 0000000..6d2c259
--- /dev/null
+++ b/service/service_assignment/src/main/resources/mapper/OptionsMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/resources/mapper/QuestionsMapper.xml b/service/service_assignment/src/main/resources/mapper/QuestionsMapper.xml
new file mode 100644
index 0000000..6cd9374
--- /dev/null
+++ b/service/service_assignment/src/main/resources/mapper/QuestionsMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/resources/mapper/UsersMapper.xml b/service/service_assignment/src/main/resources/mapper/UsersMapper.xml
new file mode 100644
index 0000000..0a869c3
--- /dev/null
+++ b/service/service_assignment/src/main/resources/mapper/UsersMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service_assignment/src/main/webapp/WEB-INF/web.xml b/service/service_assignment/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..9f88c1f
--- /dev/null
+++ b/service/service_assignment/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,7 @@
+
+
+
+ Archetype Created Web Application
+
diff --git a/service/service_assignment/src/main/webapp/index.jsp b/service/service_assignment/src/main/webapp/index.jsp
new file mode 100644
index 0000000..c38169b
--- /dev/null
+++ b/service/service_assignment/src/main/webapp/index.jsp
@@ -0,0 +1,5 @@
+
+
+Hello World!
+
+
diff --git a/service/service_assignment/src/test/java/com/homily/assignment/CodeGenerator.java b/service/service_assignment/src/test/java/com/homily/assignment/CodeGenerator.java
new file mode 100644
index 0000000..2fc4155
--- /dev/null
+++ b/service/service_assignment/src/test/java/com/homily/assignment/CodeGenerator.java
@@ -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 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();
+ }
+}