diff --git a/exam-api/Dockerfile b/exam-api/Dockerfile deleted file mode 100644 index f1ecf79..0000000 --- a/exam-api/Dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM frolvlad/alpine-oraclejdk8:slim -volume /tmp -COPY target/exam-api.jar app.jar -ENTRYPOINT ["java","-jar","/app.jar"] \ No newline at end of file diff --git a/exam-api/pom.xml b/exam-api/pom.xml index 682f89c..4dac198 100644 --- a/exam-api/pom.xml +++ b/exam-api/pom.xml @@ -33,6 +33,7 @@ + org.aspectj aspectjweaver diff --git a/exam-api/src/main/java/com/yx/exam/ExamApplication.java b/exam-api/src/main/java/com/yx/exam/ExamApplication.java index e083ecc..0316dc7 100644 --- a/exam-api/src/main/java/com/yx/exam/ExamApplication.java +++ b/exam-api/src/main/java/com/yx/exam/ExamApplication.java @@ -37,9 +37,9 @@ public class ExamApplication implements WebMvcConfigurer { log.info("\n----------------------------------------------------------\n\t" + "系统启动成功,访问路径如下:\n\t" + - "本地路径: \t\thttp://localhost:" + port + path + "/\n\t" + + "本地路径: \t\thttp://127.0.0.1:" + port + path + "/\n\t" + "网络地址: \thttp://" + ip + ":" + port + path + "/\n\t" + - //"API文档: \t\thttp://" + ip + ":" + port + path + "/doc.html\n" + + "API文档: \t\thttp://" + ip + ":" + port + path + "/doc.html\n" + "----------------------------------------------------------"); } diff --git a/exam-api/src/main/java/com/yx/exam/ability/upload/config/UploadConfig.java b/exam-api/src/main/java/com/yx/exam/ability/upload/config/UploadConfig.java deleted file mode 100644 index 19e3a66..0000000 --- a/exam-api/src/main/java/com/yx/exam/ability/upload/config/UploadConfig.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yx.exam.ability.upload.config; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - - -/** - * 文件上传配置 - */ -@Data -@Configuration -@ConfigurationProperties(prefix = "conf.upload") -public class UploadConfig { - - /** - * 访问路径 - */ - private String url; - - /** - * 物理目录 - */ - private String dir; - -} \ No newline at end of file diff --git a/exam-api/src/main/java/com/yx/exam/ability/upload/controller/UploadController.java b/exam-api/src/main/java/com/yx/exam/ability/upload/controller/UploadController.java deleted file mode 100644 index 83694c5..0000000 --- a/exam-api/src/main/java/com/yx/exam/ability/upload/controller/UploadController.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.yx.exam.ability.upload.controller; - - -import com.yx.exam.ability.Constant; -import com.yx.exam.ability.upload.dto.UploadReqDTO; -import com.yx.exam.ability.upload.dto.UploadRespDTO; -import com.yx.exam.ability.upload.service.UploadService; -import com.yx.exam.core.api.ApiRest; -import com.yx.exam.core.api.controller.BaseController; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.extern.log4j.Log4j2; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * 本地文件上传下载请求类 - * @author chenhaodong - */ -@Log4j2 -@Api(tags = {"文件上传"}) -@RestController -public class UploadController extends BaseController { - - @Autowired - private UploadService uploadService; - - /** - * 文件上传 - * @param reqDTO - * @return - */ - @PostMapping("/common/api/file/upload") - @ApiOperation(value = "文件上传", notes = "此接口较为特殊,参数都通过表单方式提交,而非JSON") - public ApiRest upload(@ModelAttribute UploadReqDTO reqDTO) { - // 上传并返回URL - UploadRespDTO respDTO = uploadService.upload(reqDTO); - return super.success(respDTO); - } - - /** - * 独立文件下载 - * @param request - * @param response - */ - @GetMapping(Constant.FILE_PREFIX+"**") - @ApiOperation(value = "文件下载", notes = "文件下载") - public void download(HttpServletRequest request, HttpServletResponse response) { - uploadService.download(request, response); - } -} diff --git a/exam-api/src/main/java/com/yx/exam/ability/upload/dto/UploadReqDTO.java b/exam-api/src/main/java/com/yx/exam/ability/upload/dto/UploadReqDTO.java deleted file mode 100644 index 9ddc3e1..0000000 --- a/exam-api/src/main/java/com/yx/exam/ability/upload/dto/UploadReqDTO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.yx.exam.ability.upload.dto; - - -import com.yx.exam.core.api.dto.BaseDTO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.web.multipart.MultipartFile; - -/** - * 文件上传请求类 - * @author chenhaodong - * @date 2019-12-26 17:54 - */ -@Data -@ApiModel(value="文件上传参数", description="文件上传参数") -public class UploadReqDTO extends BaseDTO { - - @ApiModelProperty(value = "上传文件内容", required=true) - private MultipartFile file; - -} diff --git a/exam-api/src/main/java/com/yx/exam/ability/upload/dto/UploadRespDTO.java b/exam-api/src/main/java/com/yx/exam/ability/upload/dto/UploadRespDTO.java deleted file mode 100644 index fd8a5ed..0000000 --- a/exam-api/src/main/java/com/yx/exam/ability/upload/dto/UploadRespDTO.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.yx.exam.ability.upload.dto; - -import com.yx.exam.core.api.dto.BaseDTO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 上传文件结果 - * @author chenhaodong - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@ApiModel(value="文件上传响应", description="文件上传响应") -public class UploadRespDTO extends BaseDTO { - - @ApiModelProperty(value = "上传后的完整的URL地址", required=true) - private String url; - -} diff --git a/exam-api/src/main/java/com/yx/exam/ability/upload/service/UploadService.java b/exam-api/src/main/java/com/yx/exam/ability/upload/service/UploadService.java deleted file mode 100644 index 5b922d6..0000000 --- a/exam-api/src/main/java/com/yx/exam/ability/upload/service/UploadService.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yx.exam.ability.upload.service; - -import com.yx.exam.ability.upload.dto.UploadReqDTO; -import com.yx.exam.ability.upload.dto.UploadRespDTO; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * 阿里云OSS业务类 - * @author chenhaodong - * @date 2019-07-12 16:45 - */ -public interface UploadService { - - /** - * 文件上传 - * @param reqDTO - * @return - */ - UploadRespDTO upload(UploadReqDTO reqDTO); - - /** - * 下载文件 - * @param request - * @param response - */ - void download(HttpServletRequest request, HttpServletResponse response); - -} diff --git a/exam-api/src/main/java/com/yx/exam/ability/upload/service/impl/UploadServiceImpl.java b/exam-api/src/main/java/com/yx/exam/ability/upload/service/impl/UploadServiceImpl.java deleted file mode 100644 index 8851417..0000000 --- a/exam-api/src/main/java/com/yx/exam/ability/upload/service/impl/UploadServiceImpl.java +++ /dev/null @@ -1,121 +0,0 @@ -package com.yx.exam.ability.upload.service.impl; - -import com.yx.exam.ability.Constant; -import com.yx.exam.ability.upload.config.UploadConfig; -import com.yx.exam.ability.upload.dto.UploadReqDTO; -import com.yx.exam.ability.upload.dto.UploadRespDTO; -import com.yx.exam.ability.upload.service.UploadService; -import com.yx.exam.ability.upload.utils.FileUtils; -import com.yx.exam.core.exception.ServiceException; -import lombok.extern.log4j.Log4j2; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.util.FileCopyUtils; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - - -/** - * 文件上传业务类 - * @author chenhaodong - * @date 2019-07-30 21:02 - */ -@Log4j2 -@Service -public class UploadServiceImpl implements UploadService { - - @Autowired - private UploadConfig conf; - - @Override - public UploadRespDTO upload(UploadReqDTO reqDTO) { - - - // 文件内容 - MultipartFile file = reqDTO.getFile(); - - // 上传文件夹 - String fileDir = conf.getDir(); - - // 真实物理地址 - String fullPath; - - try { - // 新文件 - String filePath = FileUtils.processPath(file); - // 文件保存地址 - fullPath = fileDir + filePath; - // 创建文件夹 - FileUtils.checkDir(fullPath); - // 上传文件 - FileCopyUtils.copy(file.getInputStream(), new FileOutputStream(fullPath)); - - return this.generateResult(filePath); - - } catch (IOException e) { - e.printStackTrace(); - throw new ServiceException("文件上传失败:"+e.getMessage()); - } - } - - - - @Override - public void download(HttpServletRequest request, HttpServletResponse response) { - - // 获取真实的文件路径 - String filePath = this.getRealPath(request.getRequestURI()); - - System.out.println("++++完整路径为:"+filePath); - - try { - FileUtils.writeRange(request, response, filePath); - } catch (IOException e) { - response.setStatus(404); - log.error("预览文件失败" + e.getMessage()); - } - } - - - /** - * 构造返回 - * @param fileName - * @return - */ - private UploadRespDTO generateResult(String fileName) { - - //获取加速域名 - String domain = conf.getUrl(); - - // 返回结果 - return new UploadRespDTO(domain + fileName); - } - - - /** - * 获取真实物理文件地址 - * @param uri - * @return - */ - public String getRealPath(String uri){ - - String regx = Constant.FILE_PREFIX+"(.*)"; - - // 查找全部变量 - Pattern pattern = Pattern.compile(regx); - Matcher m = pattern.matcher(uri); - if (m.find()) { - String str = m.group(1); - return conf.getDir() + str; - } - - return null; - } - -} diff --git a/exam-api/src/main/java/com/yx/exam/ability/upload/utils/FileUtils.java b/exam-api/src/main/java/com/yx/exam/ability/upload/utils/FileUtils.java deleted file mode 100644 index e3da8c7..0000000 --- a/exam-api/src/main/java/com/yx/exam/ability/upload/utils/FileUtils.java +++ /dev/null @@ -1,188 +0,0 @@ -package com.yx.exam.ability.upload.utils; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.yx.exam.core.utils.DateUtils; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.IOException; -import java.io.RandomAccessFile; -import java.util.Date; - -/** - * 文件工具类 - * @author chenhaodong - */ -public class FileUtils { - - /** - * 后缀分割符号 - */ - private static final String SUFFIX_SPLIT = "."; - - - /** - * 支持以断点的方式输出文件,提供文件在线预览和视频在线播放 - * @param request - * @param response - * @param filePath - * @throws IOException - */ - public static void writeRange(HttpServletRequest request, - HttpServletResponse response, String filePath) throws IOException { - - // 读取文件 - File file = new File(filePath); - - //只读模式 - RandomAccessFile randomFile = new RandomAccessFile(file, "r"); - long contentLength = randomFile.length(); - String range = request.getHeader("Range"); - int start = 0, end = 0; - if (range != null && range.startsWith("bytes=")) { - String[] values = range.split("=")[1].split("-"); - start = Integer.parseInt(values[0]); - if (values.length > 1) { - end = Integer.parseInt(values[1]); - } - } - int requestSize; - if (end != 0 && end > start) { - requestSize = end - start + 1; - } else { - requestSize = Integer.MAX_VALUE; - } - - byte[] buffer = new byte[128]; - response.setContentType(MediaUtils.getContentType(filePath)); - response.setHeader("Accept-Ranges", "bytes"); - response.setHeader("ETag", file.getName()); - response.setHeader("Last-Modified", new Date().toString()); - //第一次请求只返回content length来让客户端请求多次实际数据 - if (range == null) { - response.setHeader("Content-length", contentLength + ""); - } else { - //以后的多次以断点续传的方式来返回视频数据 - response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT); - long requestStart = 0, requestEnd = 0; - String[] ranges = range.split("="); - if (ranges.length > 1) { - String[] rangeData = ranges[1].split("-"); - requestStart = Integer.parseInt(rangeData[0]); - if (rangeData.length > 1) { - requestEnd = Integer.parseInt(rangeData[1]); - } - } - long length; - if (requestEnd > 0) { - length = requestEnd - requestStart + 1; - response.setHeader("Content-length", "" + length); - response.setHeader("Content-Range", "bytes " + requestStart + "-" + requestEnd + "/" + contentLength); - } else { - length = contentLength - requestStart; - response.setHeader("Content-length", "" + length); - response.setHeader("Content-Range", "bytes " + requestStart + "-" + (contentLength - 1) + "/" + contentLength); - } - } - ServletOutputStream out = response.getOutputStream(); - int needSize = requestSize; - randomFile.seek(start); - while (needSize > 0) { - int len = randomFile.read(buffer); - if (needSize < buffer.length) { - out.write(buffer, 0, needSize); - } else { - out.write(buffer, 0, len); - if (len < buffer.length) { - break; - } - } - needSize -= buffer.length; - } - randomFile.close(); - out.close(); - } - - - - - /** - * 重命名文件 - * @param fileName - * @return - */ - public static String renameFile(String fileName) { - - //没有后缀名不处理 - if (!fileName.contains(SUFFIX_SPLIT)) { - return fileName; - } - - //文件后缀 - String suffix = fileName.substring(fileName.lastIndexOf(".")); - - //以系统时间命名 - return IdWorker.getIdStr() + suffix; - - } - - - /** - * 处理新的文件路径,为上传文件预设目录,如:2021/01/01/xxx.jpg,要注意的是,前面没有斜杠 - * @param file 文件 - * @return - */ - public static String processPath(MultipartFile file){ - - // 创建OSSClient实例。 - String fileName = file.getOriginalFilename(); - - // 需要重命名 - fileName = renameFile(fileName); - - //获得上传的文件夹 - String dir = DateUtils.formatDate(new Date(), "yyyy/MM/dd/"); - - return new StringBuffer(dir).append(fileName).toString(); - - } - - /** - * 处理新的文件路径,为上传文件预设目录,如:2021/01/01/xxx.jpg,要注意的是,前面没有斜杠 - * @param fileName 文件 - * @return - */ - public static String processPath(String fileName){ - - // 需要重命名 - fileName = renameFile(fileName); - - //获得上传的文件夹 - String dir = DateUtils.formatDate(new Date(), "yyyy/MM/dd/"); - - return new StringBuffer(dir).append(fileName).toString(); - - } - - /** - * 检查文件夹是否存在,不存在则创建 - * @param fileName - * @return - */ - public static void checkDir(String fileName){ - int index = fileName.lastIndexOf("/"); - if(index == -1){ - return; - } - - File file = new File(fileName.substring(0,index)); - if(!file.exists()){ - file.mkdirs(); - } - } - - -} diff --git a/exam-api/src/main/java/com/yx/exam/ability/upload/utils/MediaUtils.java b/exam-api/src/main/java/com/yx/exam/ability/upload/utils/MediaUtils.java deleted file mode 100644 index a75da15..0000000 --- a/exam-api/src/main/java/com/yx/exam/ability/upload/utils/MediaUtils.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.yx.exam.ability.upload.utils; - -import org.apache.commons.lang3.StringUtils; - -import java.util.HashMap; -import java.util.Map; - -/** - * 媒体工具,判断媒体类型 - * @author chenhaodong - * @date 2019-11-14 16:21 - */ -public class MediaUtils { - - public static final Map MEDIA_MAP = new HashMap(){ - { - - //本来是pdf的 - put(".pdf", "application/pdf"); - - //视频 - put(".mp4", "video,video/mp4"); - - } - }; - - /** - * 获得文件类型 - * @param filePath - * @return - */ - public static String getContentType(String filePath){ - - if(!StringUtils.isBlank(filePath) - && filePath.indexOf(".")!=-1) { - - // 后缀转换成小写 - String suffix = filePath.substring(filePath.lastIndexOf(".")).toLowerCase(); - - if (MEDIA_MAP.containsKey(suffix)) { - return MEDIA_MAP.get(suffix); - } - } - - return "application/octet-stream"; - } -} diff --git a/exam-api/src/main/java/com/yx/exam/aspect/mybatis/QueryInterceptor.java b/exam-api/src/main/java/com/yx/exam/aspect/mybatis/QueryInterceptor.java index 47eeda0..711a16f 100644 --- a/exam-api/src/main/java/com/yx/exam/aspect/mybatis/QueryInterceptor.java +++ b/exam-api/src/main/java/com/yx/exam/aspect/mybatis/QueryInterceptor.java @@ -44,7 +44,10 @@ public class QueryInterceptor extends PaginationInterceptor implements Intercept public Object intercept(Invocation invocation) throws Throwable { StatementHandler statementHandler = (StatementHandler) invocation.getTarget(); + + //通过MetaObject优雅访问对象的属性,这里是访问statementHandler的属性 MetaObject metaObject = MetaObject.forObject(statementHandler, SystemMetaObject.DEFAULT_OBJECT_FACTORY, SystemMetaObject.DEFAULT_OBJECT_WRAPPER_FACTORY, new DefaultReflectorFactory()); + //先拦截到RoutingStatementHandler,里面有个StatementHandler类型的delegate变量,其实现类是BaseStatementHandler,然后就到BaseStatementHandler的成员变量mappedStatement MappedStatement mappedStatement = (MappedStatement) metaObject.getValue("delegate.mappedStatement"); //sql语句类型 diff --git a/exam-api/src/main/java/com/yx/exam/config/SwaggerConfig.java b/exam-api/src/main/java/com/yx/exam/config/SwaggerConfig.java index bb3303c..47073cb 100644 --- a/exam-api/src/main/java/com/yx/exam/config/SwaggerConfig.java +++ b/exam-api/src/main/java/com/yx/exam/config/SwaggerConfig.java @@ -34,7 +34,7 @@ public class SwaggerConfig { public Docket examApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) - .groupName("考试模块接口") + .groupName("系统模块接口") .select() .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) .paths(PathSelectors.ant("/exam/api/**")) @@ -45,9 +45,9 @@ public class SwaggerConfig { private ApiInfo apiInfo() { - return new ApiInfoBuilder().title("考试系统接口") - .description("考试系统接口") - .contact(new Contact("Van", "https://exam.yfhl.net", "18365918@qq.com")) + return new ApiInfoBuilder().title("系统接口") + .description("系统接口") + .contact(new Contact("Van", "https://exam.yfhl.net", "755141280@qq.com")) .version("1.0.0") .build(); } diff --git a/exam-api/src/main/java/com/yx/exam/core/enums/JoinType.java b/exam-api/src/main/java/com/yx/exam/core/enums/JoinType.java deleted file mode 100644 index c6fa1e4..0000000 --- a/exam-api/src/main/java/com/yx/exam/core/enums/JoinType.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yx.exam.core.enums; - -/** - * 组卷方式 - * @author chenhaodong - */ -public interface JoinType { - - - /** - * 题库组题 - */ - Integer REPO_JOIN = 1; -} diff --git a/exam-api/src/main/java/com/yx/exam/core/enums/OpenType.java b/exam-api/src/main/java/com/yx/exam/core/enums/OpenType.java deleted file mode 100644 index d2ee7f0..0000000 --- a/exam-api/src/main/java/com/yx/exam/core/enums/OpenType.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.yx.exam.core.enums; - -/** - * 开放方式 - * @author chenhaodong - */ -public interface OpenType { - - /** - * 完全开放 - */ - Integer OPEN = 1; - - /** - * 部门开放 - */ - Integer DEPT_OPEN = 2; -} diff --git a/exam-api/src/main/java/com/yx/exam/modules/Constant.java b/exam-api/src/main/java/com/yx/exam/modules/Constant.java index e600bce..718844c 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/Constant.java +++ b/exam-api/src/main/java/com/yx/exam/modules/Constant.java @@ -3,7 +3,7 @@ package com.yx.exam.modules; /** * 通用常量 - * @author bool + * @author chd */ public class Constant { diff --git a/exam-api/src/main/java/com/yx/exam/modules/config/controller/SysConfigController.java b/exam-api/src/main/java/com/yx/exam/modules/config/controller/SysConfigController.java index 44820c5..fa5b396 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/config/controller/SysConfigController.java +++ b/exam-api/src/main/java/com/yx/exam/modules/config/controller/SysConfigController.java @@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.RestController; * 通用配置控制器 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-04-17 09:12 */ @Api(tags={"通用配置"}) diff --git a/exam-api/src/main/java/com/yx/exam/modules/config/dto/SysConfigDTO.java b/exam-api/src/main/java/com/yx/exam/modules/config/dto/SysConfigDTO.java index bbafc70..3e51fc6 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/config/dto/SysConfigDTO.java +++ b/exam-api/src/main/java/com/yx/exam/modules/config/dto/SysConfigDTO.java @@ -11,7 +11,7 @@ import java.io.Serializable; * 通用配置请求类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-04-17 09:12 */ @Data diff --git a/exam-api/src/main/java/com/yx/exam/modules/config/entity/SysConfig.java b/exam-api/src/main/java/com/yx/exam/modules/config/entity/SysConfig.java index 37fcad4..7801840 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/config/entity/SysConfig.java +++ b/exam-api/src/main/java/com/yx/exam/modules/config/entity/SysConfig.java @@ -12,7 +12,7 @@ import lombok.Data; * 通用配置实体类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-04-17 09:12 */ @Data diff --git a/exam-api/src/main/java/com/yx/exam/modules/config/mapper/SysConfigMapper.java b/exam-api/src/main/java/com/yx/exam/modules/config/mapper/SysConfigMapper.java index cce3072..7a0c271 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/config/mapper/SysConfigMapper.java +++ b/exam-api/src/main/java/com/yx/exam/modules/config/mapper/SysConfigMapper.java @@ -8,7 +8,7 @@ import com.yx.exam.modules.config.entity.SysConfig; * 通用配置Mapper *

* -* @author 聪明笨狗 +* @author chd * @since 2020-04-17 09:12 */ public interface SysConfigMapper extends BaseMapper { diff --git a/exam-api/src/main/java/com/yx/exam/modules/config/service/SysConfigService.java b/exam-api/src/main/java/com/yx/exam/modules/config/service/SysConfigService.java index 656db75..14092de 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/config/service/SysConfigService.java +++ b/exam-api/src/main/java/com/yx/exam/modules/config/service/SysConfigService.java @@ -9,7 +9,7 @@ import com.yx.exam.modules.config.entity.SysConfig; * 通用配置业务类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-04-17 09:12 */ public interface SysConfigService extends IService { diff --git a/exam-api/src/main/java/com/yx/exam/modules/config/service/impl/SysConfigServiceImpl.java b/exam-api/src/main/java/com/yx/exam/modules/config/service/impl/SysConfigServiceImpl.java index c0917be..647e3e6 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/config/service/impl/SysConfigServiceImpl.java +++ b/exam-api/src/main/java/com/yx/exam/modules/config/service/impl/SysConfigServiceImpl.java @@ -14,7 +14,7 @@ import org.springframework.stereotype.Service; * 语言设置 服务实现类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-04-17 09:12 */ @Service diff --git a/exam-api/src/main/java/com/yx/exam/modules/depart/controller/SysDepartController.java b/exam-api/src/main/java/com/yx/exam/modules/depart/controller/SysDepartController.java index dd825fa..6a5317f 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/depart/controller/SysDepartController.java +++ b/exam-api/src/main/java/com/yx/exam/modules/depart/controller/SysDepartController.java @@ -29,7 +29,7 @@ import java.util.List; * 部门信息控制器 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-09-02 17:25 */ @Api(tags={"部门信息"}) diff --git a/exam-api/src/main/java/com/yx/exam/modules/depart/dto/SysDepartDTO.java b/exam-api/src/main/java/com/yx/exam/modules/depart/dto/SysDepartDTO.java index d8ba6a1..c47b523 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/depart/dto/SysDepartDTO.java +++ b/exam-api/src/main/java/com/yx/exam/modules/depart/dto/SysDepartDTO.java @@ -11,7 +11,7 @@ import java.io.Serializable; * 部门信息数据传输类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-09-02 17:25 */ @Data diff --git a/exam-api/src/main/java/com/yx/exam/modules/depart/dto/request/DepartSortReqDTO.java b/exam-api/src/main/java/com/yx/exam/modules/depart/dto/request/DepartSortReqDTO.java index 4574c0d..119b4d7 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/depart/dto/request/DepartSortReqDTO.java +++ b/exam-api/src/main/java/com/yx/exam/modules/depart/dto/request/DepartSortReqDTO.java @@ -11,7 +11,7 @@ import java.io.Serializable; * 部门排序请求类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-03-14 10:37 */ @Data diff --git a/exam-api/src/main/java/com/yx/exam/modules/depart/dto/response/SysDepartTreeDTO.java b/exam-api/src/main/java/com/yx/exam/modules/depart/dto/response/SysDepartTreeDTO.java index 55ebb25..5dcd464 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/depart/dto/response/SysDepartTreeDTO.java +++ b/exam-api/src/main/java/com/yx/exam/modules/depart/dto/response/SysDepartTreeDTO.java @@ -12,7 +12,7 @@ import java.util.List; * 部门树结构响应类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-09-02 17:25 */ @Data diff --git a/exam-api/src/main/java/com/yx/exam/modules/depart/entity/SysDepart.java b/exam-api/src/main/java/com/yx/exam/modules/depart/entity/SysDepart.java index ec9e7b1..9b56571 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/depart/entity/SysDepart.java +++ b/exam-api/src/main/java/com/yx/exam/modules/depart/entity/SysDepart.java @@ -12,7 +12,7 @@ import lombok.Data; * 部门信息实体类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-09-02 17:25 */ @Data diff --git a/exam-api/src/main/java/com/yx/exam/modules/depart/mapper/SysDepartMapper.java b/exam-api/src/main/java/com/yx/exam/modules/depart/mapper/SysDepartMapper.java index a2da99e..4fa2815 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/depart/mapper/SysDepartMapper.java +++ b/exam-api/src/main/java/com/yx/exam/modules/depart/mapper/SysDepartMapper.java @@ -13,7 +13,7 @@ import org.apache.ibatis.annotations.Param; * 部门信息Mapper *

* -* @author 聪明笨狗 +* @author chd * @since 2020-09-02 17:25 */ public interface SysDepartMapper extends BaseMapper { diff --git a/exam-api/src/main/java/com/yx/exam/modules/depart/service/SysDepartService.java b/exam-api/src/main/java/com/yx/exam/modules/depart/service/SysDepartService.java index 7f2bf9b..429d8f6 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/depart/service/SysDepartService.java +++ b/exam-api/src/main/java/com/yx/exam/modules/depart/service/SysDepartService.java @@ -14,7 +14,7 @@ import java.util.List; * 部门信息业务类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-09-02 17:25 */ public interface SysDepartService extends IService { diff --git a/exam-api/src/main/java/com/yx/exam/modules/depart/service/impl/SysDepartServiceImpl.java b/exam-api/src/main/java/com/yx/exam/modules/depart/service/impl/SysDepartServiceImpl.java index 7101b7e..24d8546 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/depart/service/impl/SysDepartServiceImpl.java +++ b/exam-api/src/main/java/com/yx/exam/modules/depart/service/impl/SysDepartServiceImpl.java @@ -25,7 +25,7 @@ import java.util.Map; * 部门信息业务实现类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-09-02 17:25 */ @Service diff --git a/exam-api/src/main/java/com/yx/exam/modules/dict/controller/SysDictDataController.java b/exam-api/src/main/java/com/yx/exam/modules/dict/controller/SysDictDataController.java index 05952fa..5c9478d 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/dict/controller/SysDictDataController.java +++ b/exam-api/src/main/java/com/yx/exam/modules/dict/controller/SysDictDataController.java @@ -25,7 +25,7 @@ import javax.annotation.Resource; * 码值数据表 前端控制器 *

* - * @author mawuhui + * @author chenhaodong * @since 2022-11-24 */ @RestController diff --git a/exam-api/src/main/java/com/yx/exam/modules/system/mapper/SysDictMapper.java b/exam-api/src/main/java/com/yx/exam/modules/system/mapper/SysDictMapper.java index 49d627b..791a021 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/system/mapper/SysDictMapper.java +++ b/exam-api/src/main/java/com/yx/exam/modules/system/mapper/SysDictMapper.java @@ -8,7 +8,7 @@ import org.apache.ibatis.annotations.Param; * 机主信息Mapper *

* -* @author 聪明笨狗 +* @author chd * @since 2020-08-22 13:46 */ @Mapper diff --git a/exam-api/src/main/java/com/yx/exam/modules/user/UserUtils.java b/exam-api/src/main/java/com/yx/exam/modules/user/UserUtils.java index e7c2c74..b4d25f1 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/user/UserUtils.java +++ b/exam-api/src/main/java/com/yx/exam/modules/user/UserUtils.java @@ -7,7 +7,7 @@ import org.apache.shiro.SecurityUtils; /** * 用户静态工具类 - * @author bool + * @author chd */ public class UserUtils { diff --git a/exam-api/src/main/java/com/yx/exam/modules/user/controller/SysRoleController.java b/exam-api/src/main/java/com/yx/exam/modules/user/controller/SysRoleController.java index 169be6a..60285e3 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/user/controller/SysRoleController.java +++ b/exam-api/src/main/java/com/yx/exam/modules/user/controller/SysRoleController.java @@ -24,7 +24,7 @@ import java.util.List; * 管理用户控制器 *

* - * @author 聪明笨狗 + * @author chd * @since 2020-04-13 16:57 */ @Api(tags = {"管理用户"}) diff --git a/exam-api/src/main/java/com/yx/exam/modules/user/controller/SysUserController.java b/exam-api/src/main/java/com/yx/exam/modules/user/controller/SysUserController.java index e0195a4..ba2ddf3 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/user/controller/SysUserController.java +++ b/exam-api/src/main/java/com/yx/exam/modules/user/controller/SysUserController.java @@ -26,7 +26,7 @@ import java.util.List; * 管理用户控制器 *

* - * @author 聪明笨狗 + * @author chd * @since 2020-04-13 16:57 */ @Api(tags = {"管理用户"}) @@ -50,11 +50,11 @@ public class SysUserController extends BaseController { } /** - * 用户登录 + * 用户登出 * @return */ @CrossOrigin - @ApiOperation(value = "用户登录") + @ApiOperation(value = "用户登出") @RequestMapping(value = "/logout", method = {RequestMethod.POST}) public ApiRest logout(HttpServletRequest request) { String token = request.getHeader("token"); @@ -152,7 +152,7 @@ public class SysUserController extends BaseController { * 保存或修改系统用户 * @return */ - @ApiOperation(value = "学员注册") + @ApiOperation(value = "用户注册") @RequestMapping(value = "/reg", method = {RequestMethod.POST}) public ApiRest reg(@RequestBody SysUserDTO reqDTO) { SysUserLoginDTO respDTO = baseService.reg(reqDTO); diff --git a/exam-api/src/main/java/com/yx/exam/modules/user/entity/SysUser.java b/exam-api/src/main/java/com/yx/exam/modules/user/entity/SysUser.java index 046b2fe..ea1ae26 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/user/entity/SysUser.java +++ b/exam-api/src/main/java/com/yx/exam/modules/user/entity/SysUser.java @@ -14,7 +14,7 @@ import java.util.Date; * 管理用户实体类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-04-13 16:57 */ @Data diff --git a/exam-api/src/main/java/com/yx/exam/modules/user/service/SysRoleService.java b/exam-api/src/main/java/com/yx/exam/modules/user/service/SysRoleService.java index d8d482f..e5b40f1 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/user/service/SysRoleService.java +++ b/exam-api/src/main/java/com/yx/exam/modules/user/service/SysRoleService.java @@ -11,7 +11,7 @@ import com.yx.exam.modules.user.entity.SysRole; * 角色业务类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-04-13 16:57 */ public interface SysRoleService extends IService { diff --git a/exam-api/src/main/java/com/yx/exam/modules/user/service/SysUserRoleService.java b/exam-api/src/main/java/com/yx/exam/modules/user/service/SysUserRoleService.java index e6d82f9..d92a386 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/user/service/SysUserRoleService.java +++ b/exam-api/src/main/java/com/yx/exam/modules/user/service/SysUserRoleService.java @@ -13,7 +13,7 @@ import java.util.List; * 用户角色业务类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-04-13 16:57 */ public interface SysUserRoleService extends IService { diff --git a/exam-api/src/main/java/com/yx/exam/modules/user/service/SysUserService.java b/exam-api/src/main/java/com/yx/exam/modules/user/service/SysUserService.java index 585f131..74a4d28 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/user/service/SysUserService.java +++ b/exam-api/src/main/java/com/yx/exam/modules/user/service/SysUserService.java @@ -15,7 +15,7 @@ import java.util.List; * 管理用户业务类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-04-13 16:57 */ public interface SysUserService extends IService { diff --git a/exam-api/src/main/java/com/yx/exam/modules/user/service/impl/SysUserRoleServiceImpl.java b/exam-api/src/main/java/com/yx/exam/modules/user/service/impl/SysUserRoleServiceImpl.java index 4b77c7a..813d1c0 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/user/service/impl/SysUserRoleServiceImpl.java +++ b/exam-api/src/main/java/com/yx/exam/modules/user/service/impl/SysUserRoleServiceImpl.java @@ -23,7 +23,7 @@ import java.util.List; * 语言设置 服务实现类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-04-13 16:57 */ @Service diff --git a/exam-api/src/main/java/com/yx/exam/modules/user/service/impl/SysUserServiceImpl.java b/exam-api/src/main/java/com/yx/exam/modules/user/service/impl/SysUserServiceImpl.java index 063faa2..46902d2 100644 --- a/exam-api/src/main/java/com/yx/exam/modules/user/service/impl/SysUserServiceImpl.java +++ b/exam-api/src/main/java/com/yx/exam/modules/user/service/impl/SysUserServiceImpl.java @@ -40,7 +40,7 @@ import java.util.List; * 语言设置 服务实现类 *

* -* @author 聪明笨狗 +* @author chd * @since 2020-04-13 16:57 */ @Service diff --git a/exam-api/src/main/resources/application-dev.yml b/exam-api/src/main/resources/application-dev.yml index c9155b1..b191e00 100644 --- a/exam-api/src/main/resources/application-dev.yml +++ b/exam-api/src/main/resources/application-dev.yml @@ -1,4 +1,4 @@ -# 开发环境配置文件 + # 开发环境配置文件 spring: # 数据库配置 datasource: diff --git a/exam-api/src/main/resources/application.yml b/exam-api/src/main/resources/application.yml index 839f049..8ac73bc 100644 --- a/exam-api/src/main/resources/application.yml +++ b/exam-api/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: application: - name: yf-exam-lite + name: chdbs profiles: active: dev main: diff --git a/exam-vue/package.json b/exam-vue/package.json index d7946a9..3c75142 100644 --- a/exam-vue/package.json +++ b/exam-vue/package.json @@ -1,5 +1,5 @@ { - "name": "yf-exam-lite", + "name": "chdbs", "version": "1.0.0", "description": "陈昊东毕设", "author": "haodongchen@aliyun.com", diff --git a/exam-vue/src/api/sys/tj/tongji.js b/exam-vue/src/api/sys/tj/tongji.js new file mode 100644 index 0000000..cfc073a --- /dev/null +++ b/exam-vue/src/api/sys/tj/tongji.js @@ -0,0 +1,6 @@ +import { post } from '@/utils/request' + +export function sjkctj() { + return post('/tongji/api/sjxxtj', {}) +} + diff --git a/exam-vue/src/main.js b/exam-vue/src/main.js index ee19697..66f7391 100644 --- a/exam-vue/src/main.js +++ b/exam-vue/src/main.js @@ -17,7 +17,6 @@ import './permission' // permission control import './utils/error-log' // error log import * as filters from './filters' - // Element UI Vue.use(Element, { size: Cookies.get('size') || 'medium' // set element-ui default size diff --git a/exam-vue/src/router/index.js b/exam-vue/src/router/index.js index 145e259..6801701 100644 --- a/exam-vue/src/router/index.js +++ b/exam-vue/src/router/index.js @@ -166,15 +166,6 @@ export const asyncRoutes = [ } }, - /*{ - path: 'bysxxgl', - component: () => import('@/views/sys/bysxxgl'), - name: 'SysBysxxgl', - meta: { - title: '毕业生信息管理', - icon: 'admin' - } - },*/ { path: 'bookgl', component: () => import('@/views/sys/bookgl'), @@ -228,8 +219,7 @@ export const asyncRoutes = [ title: '留言管理', icon: 'admin' } - } - + }, ] diff --git a/exam-vue/src/views/dashboard/index.vue b/exam-vue/src/views/dashboard/index.vue index cf704c0..651f7cc 100644 --- a/exam-vue/src/views/dashboard/index.vue +++ b/exam-vue/src/views/dashboard/index.vue @@ -31,7 +31,7 @@
权限控制:基于Shiro和JWT开发的权限控制功能。
基础功能:系统配置、用户管理、部门管理、角色管理等。
图书管理:图书的信息管理,借还流程的完善
-
人员权限:暂时设置管理员与教师和学生三个角色
+
人员权限:暂时设置管理员和学生两个角色
diff --git a/exam-vue/src/views/sys/jieshu/index.vue b/exam-vue/src/views/sys/jieshu/index.vue index 0c98745..f7d49c9 100644 --- a/exam-vue/src/views/sys/jieshu/index.vue +++ b/exam-vue/src/views/sys/jieshu/index.vue @@ -73,7 +73,7 @@