瀏覽代碼

Merge branch 'master' into cuidi

wuheng 1 年之前
父節點
當前提交
aab9bb15aa
共有 100 個文件被更改,包括 2656 次插入249 次删除
  1. 9 0
      common/pom.xml
  2. 73 0
      common/src/main/java/com/koobietech/eas/common/constant/ArchiveFileType.java
  3. 59 0
      common/src/main/java/com/koobietech/eas/common/constant/FileType.java
  4. 33 1
      common/src/main/java/com/koobietech/eas/common/constant/Gender.java
  5. 70 0
      common/src/main/java/com/koobietech/eas/common/constant/UniversityCodeUtils.java
  6. 15 0
      common/src/main/java/com/koobietech/eas/common/pojo/ArchiveNumberInfo.java
  7. 0 1
      common/src/main/java/com/koobietech/eas/common/pojo/JwtUserDto.java
  8. 17 0
      common/src/main/java/com/koobietech/eas/common/pojo/StudentNumberInfo.java
  9. 20 0
      common/src/main/java/com/koobietech/eas/common/utils/DateUtils.java
  10. 420 3
      common/src/main/java/com/koobietech/eas/common/utils/FileManager.java
  11. 3 3
      common/src/main/java/com/koobietech/eas/common/utils/JwtManager.java
  12. 28 1
      common/src/main/java/com/koobietech/eas/common/utils/PasswordManager.java
  13. 89 0
      common/src/main/java/com/koobietech/eas/common/utils/SecurityUtils.java
  14. 178 0
      common/src/main/java/com/koobietech/eas/common/utils/StudentArchiveGenerator.java
  15. 14 1
      common/src/test/java/com/koobietech/eas/common/utils/PasswordManagerTest.java
  16. 19 0
      controller/pom.xml
  17. 4 11
      controller/src/main/java/com/koobietech/eas/config/ExceptionAdvice.java
  18. 1 2
      controller/src/main/java/com/koobietech/eas/controller/AdminLoginController.java
  19. 80 0
      controller/src/main/java/com/koobietech/eas/controller/EasArcTlsAttendanceController.java
  20. 108 0
      controller/src/main/java/com/koobietech/eas/controller/EasArcTlsScoresController.java
  21. 41 0
      controller/src/main/java/com/koobietech/eas/controller/EasArchiveFileDownload.java
  22. 12 8
      controller/src/main/java/com/koobietech/eas/controller/EasStuProfileController.java
  23. 二進制
      controller/src/main/resources/Temp/StuRegistTemp.docx
  24. 二進制
      controller/src/main/resources/Temp/kun1.jpeg
  25. 二進制
      controller/src/main/resources/Temp/~$uRegistTemp.docx
  26. 3 1
      controller/src/main/resources/application-dev.yaml
  27. 3 1
      controller/src/main/resources/application-local.yaml
  28. 32 0
      controller/src/main/resources/application-wheng.yaml
  29. 3 1
      controller/src/main/resources/application.yaml
  30. 1 1
      controller/src/main/resources/logback.xml
  31. 二進制
      controller/src/main/resources/temp/StuRegistTemp.docx
  32. 二進制
      controller/src/main/resources/temp/kun.jpeg
  33. 20 19
      controller/src/test/java/com/koobietech/eas/controller/ControllerApplicationTests.java
  34. 4 0
      dao/pom.xml
  35. 1 1
      dao/src/main/java/com/koobietech/eas/dao/constant/UserType.java
  36. 19 0
      dao/src/main/java/com/koobietech/eas/dao/dto/ArchivesDto.java
  37. 0 12
      dao/src/main/java/com/koobietech/eas/dao/dto/TestDto.java
  38. 1 1
      dao/src/main/java/com/koobietech/eas/dao/login/pojo/Department.java
  39. 1 1
      dao/src/main/java/com/koobietech/eas/dao/login/pojo/Permission.java
  40. 6 2
      dao/src/main/java/com/koobietech/eas/dao/login/pojo/UserDetail.java
  41. 6 3
      dao/src/main/java/com/koobietech/eas/dao/mapper/AdminLoginMapper.java
  42. 1 1
      dao/src/main/java/com/koobietech/eas/dao/pojo/AdminPojo.java
  43. 43 0
      dao/src/main/java/com/koobietech/eas/dao/pojo/EasArcTlsAttendancePojo.java
  44. 41 0
      dao/src/main/java/com/koobietech/eas/dao/pojo/EasArcTlsScoresPojo.java
  45. 6 6
      dao/src/main/resources/com/koobietech/eas/dao/mapper/AdminLoginMapper.xml
  46. 8 0
      mbg/src/main/java/com/koobietech/eas/mbg/CommentGenerator.java
  47. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasArcArchivesMapper.java
  48. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasArcArctypeMapper.java
  49. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasArcTlsAttendanceMapper.java
  50. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasArcTlsScoresMapper.java
  51. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasArcTlsStudentsMapper.java
  52. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasEduCategoryMapper.java
  53. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasEduClaRelationMapper.java
  54. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasEduClassMapper.java
  55. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasEduClassroomMapper.java
  56. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasEduCltRelationMapper.java
  57. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasEduScheduleMapper.java
  58. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasEduSubjectsMapper.java
  59. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysDepRelationMapper.java
  60. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysDepartmentMapper.java
  61. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysLogsMapper.java
  62. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysPermissionMapper.java
  63. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysPesRelationMapper.java
  64. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysStudentMapper.java
  65. 32 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysUniversityMapper.java
  66. 1 0
      mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysUserinfoMapper.java
  67. 16 11
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcArchives.java
  68. 34 24
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcArchivesExample.java
  69. 8 5
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcArctype.java
  70. 24 3
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcTlsAttendance.java
  71. 70 0
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcTlsAttendanceExample.java
  72. 6 2
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcTlsScores.java
  73. 32 15
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcTlsStudents.java
  74. 70 0
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcTlsStudentsExample.java
  75. 6 3
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduCategory.java
  76. 3 0
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduClaRelation.java
  77. 5 2
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduClass.java
  78. 8 5
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduClassroom.java
  79. 3 0
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduCltRelation.java
  80. 6 1
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduSchedule.java
  81. 9 6
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduSubjects.java
  82. 10 20
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduSubjectsExample.java
  83. 2 0
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysDepRelation.java
  84. 9 6
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysDepartment.java
  85. 6 4
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysLogs.java
  86. 6 3
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysPermission.java
  87. 2 0
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysPesRelation.java
  88. 28 7
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysStudent.java
  89. 70 0
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysStudentExample.java
  90. 54 0
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysUniversity.java
  91. 339 0
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysUniversityExample.java
  92. 10 7
      mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysUserinfo.java
  93. 14 14
      mbg/src/main/resources/com/koobietech/eas/mbg/mapper/EasArcArchivesMapper.xml
  94. 23 8
      mbg/src/main/resources/com/koobietech/eas/mbg/mapper/EasArcTlsAttendanceMapper.xml
  95. 20 5
      mbg/src/main/resources/com/koobietech/eas/mbg/mapper/EasArcTlsStudentsMapper.xml
  96. 7 7
      mbg/src/main/resources/com/koobietech/eas/mbg/mapper/EasEduSubjectsMapper.xml
  97. 22 7
      mbg/src/main/resources/com/koobietech/eas/mbg/mapper/EasSysStudentMapper.xml
  98. 164 0
      mbg/src/main/resources/com/koobietech/eas/mbg/mapper/EasSysUniversityMapper.xml
  99. 9 1
      mbg/src/main/resources/generatorConfig.xml
  100. 18 2
      pom.xml

+ 9 - 0
common/pom.xml

@@ -38,6 +38,15 @@
             <groupId>name.remal.tools.test</groupId>
             <artifactId>junit4</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.koobietech.eas</groupId>
+            <artifactId>dao</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.security</groupId>
+            <artifactId>spring-security-core</artifactId>
+        </dependency>
     </dependencies>
 
     <repositories>

+ 73 - 0
common/src/main/java/com/koobietech/eas/common/constant/ArchiveFileType.java

@@ -0,0 +1,73 @@
+package com.koobietech.eas.common.constant;
+
+
+public enum ArchiveFileType {
+    //OFFICE 文件
+    DOC(".doc", 11, "application/msword"),
+    XLS(".xls", 12, "application/vnd.ms-excel"),
+    PPT(".ppt", 13, "application/vnd.ms-powerpoint"),
+    XLSX(".xlsx", 14, "application/vnd.openxmlformats-office, document.spreadsheetml.sheet"),
+    DOCX(".docx", 15, "application/vnd.openxmlformats-office, document.wordprocessingml.document"),
+    PDF(".pdf", 16, "application/pdf"),
+    //文本文件
+    TXT(".txt", 21, "text/plain"),
+    HTML(".html", 22, "text/html"),
+    CSS(".css", 23, "text/css"),
+    JS(".js", 24, "application/x-javascript"),
+    //媒体文件
+    JPG(".jpg", 31, "image/jpeg"),
+    JPEG(".jpeg", 36, "image/jpeg"),
+    GIF(".gif", 32, "image/gif"),
+    MP4(".mp4", 33, "video/mp4"),
+    MP3(".mp3", 34, "audio/mp3"),
+    PNG(".png", 35, "image/png"),
+    //压缩文件
+    GZ(".gz", 41, "application/x-gzip"),
+    ZIP(".zip", 42, "application/zip"),
+    RAR(".rar", 43, "application/x-rar-compressed"),
+    //其他文件
+    FILE(".file", 51, "application/octet-stream");
+
+    private final String suffix;
+    private final int value;
+    private final String contentType;
+
+    ArchiveFileType(String suffix, int value, String contentType) {
+        this.suffix = suffix;
+        this.value = value;
+        this.contentType = contentType;
+    }
+
+    public static String getSuffix(int fileTypeCode) {
+        for (FileType fileType : FileType.values()) {
+            if (fileType.getValue() == fileTypeCode) {
+                return fileType.getSuffix();
+            }
+        }
+        return null;
+    }
+
+    public String getSuffix() {
+        return suffix;
+    }
+
+    public static String getContentType(String suffix) {
+        //根据后缀名获取文件类型
+        for (ArchiveFileType fileType : ArchiveFileType.values()) {
+            if (fileType.getSuffix().equalsIgnoreCase(suffix)) {
+                return fileType.getContentType();
+            }
+        }
+        return null;
+    }
+
+    public String getContentType() {
+        return contentType;
+    }
+
+
+    public int getValue() {
+        return value;
+    }
+}
+

+ 59 - 0
common/src/main/java/com/koobietech/eas/common/constant/FileType.java

@@ -0,0 +1,59 @@
+package com.koobietech.eas.common.constant;
+
+/**
+ * @author lc
+ */
+
+public enum FileType {
+    //OFFICE 文件
+    DOC(".doc", 11),
+    XLS(".xls", 12),
+    PPT(".ppt", 13),
+    XLSX(".xlsx", 14),
+    DOCX(".docx", 15),
+    PDF(".pdf", 16),
+    //文本文件
+    TXT(".txt", 21),
+    HTML(".html", 22),
+    CSS(".css", 23),
+    JS(".js", 24),
+    //媒体文件
+    JPG(".jpg", 31),
+    JPEG(".jpeg", 36),
+    GIF(".gif", 32),
+    MP4(".mp4", 33),
+    MP3(".mp3", 34),
+    PNG(".png", 35),
+    //压缩文件
+    GZ(".gz", 41),
+    ZIP(".zip", 42),
+    RAR(".rar", 43),
+    //其他文件
+    FILE(".file", 51);
+
+    private String suffix;
+    private int value;
+
+    FileType(String suffix, int value) {
+        this.suffix = suffix;
+        this.value = value;
+    }
+
+    public static String getSuffix(int fileTypeCode) {
+        for (FileType fileType : FileType.values()) {
+            if (fileType.getValue() == fileTypeCode) {
+                return fileType.getSuffix();
+            }
+        }
+        return null;
+    }
+
+    public String getSuffix() {
+        return suffix;
+    }
+
+    public int getValue() {
+        return value;
+    }
+
+}

+ 33 - 1
common/src/main/java/com/koobietech/eas/common/constant/Gender.java

@@ -1,5 +1,37 @@
 package com.koobietech.eas.common.constant;
 
 public enum Gender {
-    MALE, FEMALE
+    MALE("男", "M" ), FEMALE("女", "F");
+
+
+
+    private String key;
+
+    private String value;
+
+    public static String getkeyByString(String key){
+        return Gender.FEMALE.getKey().equals(key) ? Gender.FEMALE.getValue() : Gender.MALE.getValue();
+    }
+
+    Gender(String value, String key) {
+        this.key = key;
+        this.value = value;
+    }
+
+    public String getKey() {
+        return key;
+    }
+
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
 }

+ 70 - 0
common/src/main/java/com/koobietech/eas/common/constant/UniversityCodeUtils.java

@@ -0,0 +1,70 @@
+package com.koobietech.eas.common.constant;
+
+/**
+ * @author lc
+ */
+
+public enum UniversityCodeUtils {
+    //学校编码
+    c10212(10212, "黑龙江大学"),
+    c10213(10213, "哈尔滨工业大学"),
+    c10214(10214, "哈尔滨理工大学"),
+    c10215(10215, "哈尔滨工程大学"),
+    c10218(10218, "黑龙江科技大学"),
+    c10222(10222, "东北石油大学 "),
+    c10230(10230, "佳木斯大学"),
+    c10233(10233, "黑龙江八一农垦大学"),
+    c10234(10234, "东北农业大学"),
+    c10235(10235, "东北林业大学"),
+    c10236(10236, "哈尔滨医科大学"),
+    c10240(10240, "黑龙江中医药大学"),
+    c10241(10241, "牡丹江医学院"),
+    c10243(10243, "齐齐哈尔医学院"),
+    c10244(10244, "牡丹江师范学院"),
+    c10245(10245, "哈尔滨师范大学"),
+    c10246(10246, "齐齐哈尔大学"),
+    c10247(10247, "黑龙江工程学院"),
+    c10248(10248, "哈尔滨商业大学"),
+    c10255(10255, "哈尔滨金融学院"),
+    c10278(10278, "哈尔滨体育学院"),
+    c10859(10859, "哈尔滨音乐学院"),
+    c10865(10865, "黑龙江东方学院"),
+    c13722(13722, "黑龙江外国语学院"),
+    c13731(13731, "哈尔滨信息工程学院");
+
+    private int code;
+    private String name;
+
+    UniversityCodeUtils(int code, String name) {
+        this.code = code;
+        this.name = name;
+    }
+
+    public int getCode() {
+        return code;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public static String getName(int code) {
+        for (UniversityCodeUtils universityCodeUtils : UniversityCodeUtils.values()) {
+            if (universityCodeUtils.getCode() == code) {
+                return universityCodeUtils.getName();
+            }
+        }
+        return null;
+    }
+
+    public static int getCode(String name) {
+        for (UniversityCodeUtils universityCodeUtils : UniversityCodeUtils.values()) {
+            if (universityCodeUtils.getName().equals(name)) {
+                return universityCodeUtils.getCode();
+            }
+        }
+        return -1;
+    }
+}
+
+

+ 15 - 0
common/src/main/java/com/koobietech/eas/common/pojo/ArchiveNumberInfo.java

@@ -0,0 +1,15 @@
+package com.koobietech.eas.common.pojo;
+
+import lombok.Data;
+
+/**
+ * @author lc
+ */
+@Data
+public class ArchiveNumberInfo {
+    int studentId;
+    String studentCode;
+    long createTime;
+    int fileTypeCode;
+    String fileSuffix;
+}

+ 0 - 1
common/src/main/java/com/koobietech/eas/common/pojo/JwtUserDto.java

@@ -1,6 +1,5 @@
 package com.koobietech.eas.common.pojo;
 
-import com.koobietech.eas.common.constant.UserType;
 import lombok.Data;
 
 @Data

+ 17 - 0
common/src/main/java/com/koobietech/eas/common/pojo/StudentNumberInfo.java

@@ -0,0 +1,17 @@
+package com.koobietech.eas.common.pojo;
+
+import lombok.Data;
+
+/**
+ * @author lc
+ */
+@Data
+public class StudentNumberInfo {
+    private String studentNum;
+    private Long studentId;
+    private int studentAge;
+    private String studentGender;
+    private String graduationDate;
+    private String schoolName;
+    private int schoolCode;
+}

+ 20 - 0
common/src/main/java/com/koobietech/eas/common/utils/DateUtils.java

@@ -0,0 +1,20 @@
+package com.koobietech.eas.common.utils;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+public class DateUtils {
+    public static String convertToYearMonthDay(Date date) {
+        SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd");
+        return outputFormat.format(date);
+    }
+
+    public static Date convertToYearMonthDayToDate(Date date) {
+        SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd");
+        try {
+            return outputFormat.parse(outputFormat.format(date));
+        } catch (ParseException e) {}
+        return null;
+    }
+}

+ 420 - 3
common/src/main/java/com/koobietech/eas/common/utils/FileManager.java

@@ -1,7 +1,424 @@
 package com.koobietech.eas.common.utils;
 
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
+import org.springframework.stereotype.Component;
+
+import java.io.*;
+import java.nio.channels.FileChannel;
+import java.nio.file.*;
+import java.text.DecimalFormat;
+import java.util.Objects;
+
+@Component
 public class FileManager {
-//    public boolean saveDocument(XWPFDocument document, String savePath){
-//
-//    }
+
+    String separator = File.separator ;
+
+    /**********************************
+     * 文件夹 操作 工具类
+     ***********************************/
+
+    /**
+     * 获取文件夹大小
+     */
+    public Double getFolderSize(String sizePath) {
+        Double size = 0.0;
+        Path folderPath = Paths.get(sizePath);
+        DirectoryStream<Path> stream = null;
+        try {
+            stream = Files.newDirectoryStream(folderPath);
+            for (Path path : stream) {
+                if (Files.isRegularFile(path)) {
+                    size += Files.size(path);
+                } else if (Files.isDirectory(path)) {
+                    size += getFolderSize(path.toFile().getAbsolutePath());
+                }
+            }
+        } catch (IOException e) {}finally {
+            try {
+                if (Objects.nonNull(stream))
+                    stream.close();
+            } catch (IOException e) {}
+        }
+        if ( size > 0  ) {
+            size = size / 1024 / 1024 ;
+            DecimalFormat df = new DecimalFormat("#.####");
+            String result = df.format(size);
+            return Double.valueOf(result);
+        } else {
+            return  0.0;
+        }
+    }
+
+    /**
+     * 移动文件夹
+     * @param oldPath 源文件夹路径
+     * @param newPath 目标文件夹路径
+     */
+    public boolean moveFolder(String oldPath, String newPath) {
+        boolean result = true;
+        File sourceFolder = new File(oldPath);
+        //把源文件转移到目标文件夹下
+        File targetFolder = new File(newPath, sourceFolder.getName());
+        if (!sourceFolder.exists() || sourceFolder.isFile()) {
+            return false;
+        }
+        if (sourceFolder.isDirectory()) {
+            if (!targetFolder.exists()) {
+                result = targetFolder.mkdir();
+            }
+            File[] files = sourceFolder.listFiles();
+            if (files != null) {
+                for (File file : files) {
+                    if ( file.isFile() ) {
+                        FileChannel sourceChannel = null;
+                        FileInputStream fileInputStream = null;
+                        FileOutputStream fileOutputStream = null;
+                        FileChannel destChannel = null;
+                        try {
+                            fileInputStream = new FileInputStream(file);
+                            fileOutputStream = new FileOutputStream(new File(targetFolder.getPath(), file.getName()));
+                            sourceChannel = fileInputStream.getChannel();
+                            destChannel = fileOutputStream.getChannel();
+                            destChannel.transferFrom(sourceChannel, 0, sourceChannel.size());
+                            sourceChannel.close();
+                            result = file.delete();
+                        } catch (IOException e) {
+                            result = false;
+                        }finally {
+                            try {
+                                if (Objects.nonNull(sourceChannel)) {
+                                    sourceChannel.close();
+                                }
+                                if (Objects.nonNull(destChannel)) {
+                                    destChannel.close();
+                                }
+                                if (Objects.nonNull(fileInputStream)) {
+                                    fileInputStream.close();
+                                }
+                                if (Objects.nonNull(fileOutputStream)) {
+                                    fileOutputStream.close();
+                                }
+                            } catch (IOException e) {
+                                result = false;
+                            }
+                        }
+                    } else {
+                        moveFolder(file.getPath(), new File(targetFolder.getPath(), file.getName()).getPath());
+                    }
+                }
+            }
+            result = sourceFolder.delete();
+        }
+        return result;
+    }
+
+    /**
+     * 复制文件夹
+     * @param oldPath
+     * @param newPath
+     * @return
+     */
+    public boolean copyFolder(String oldPath, String newPath, Boolean replaceFile) {
+        File sourceFolder = new File(oldPath);
+        File destFolder = new File(newPath);
+        if (sourceFolder.isFile()) {
+            return false;
+        }
+        if (!sourceFolder.exists()) {
+            return false;
+        }
+        if (!destFolder.exists()) {
+            destFolder.mkdir();
+        }
+        File[] files = sourceFolder.listFiles();
+        if (files != null) {
+            for (File file : files) {
+                if (file.isFile()) {
+                    copyFile(file.getPath(), new File(newPath, file.getName()).getPath(), replaceFile);
+                } else if (file.isDirectory()) {
+                    copyFolder(file.getPath(), new File(newPath + separator + file.getName()).getPath(), replaceFile);
+                }
+            }
+        }
+        return true;
+    }
+
+    /**
+     * 创建文件夹
+     * @param path
+     * @return
+     */
+    public boolean createPath(String path){
+        File file = new File(path);
+        if (!file.exists()){
+            file.mkdirs();
+        }
+        return true;
+    }
+
+    /**
+     * 判断文件夹是否存在
+     * @param folderPath
+     * @return
+     */
+    public boolean isFolderExists(String folderPath){
+        return isFileExists(folderPath);
+    }
+
+    /**
+     * 删除文件夹
+     * @param folderPath
+     * @return
+     */
+    public boolean deleteFolder(String folderPath){
+        boolean ret = true;
+        File fileFolder = new File(folderPath);
+        if ( fileFolder != null && fileFolder.exists() ){
+            if ( fileFolder.isDirectory() ){
+                File[] files = fileFolder.listFiles();
+                for (File file : files) {
+                    if ( file.isDirectory() ){
+                        ret = deleteFolder(file.getAbsolutePath());
+                    } else {
+                        ret = file.delete();
+                    }
+                }
+            }
+            ret = fileFolder.delete();
+        }
+        return ret;
+    }
+
+
+    /**********************************
+     * Document 操作 工具类
+     ***********************************/
+
+    /**
+     * 保存 Document 文档
+     * @param document
+     * @param savePath
+     * @return
+     */
+    public boolean saveDocument(XWPFDocument document, String savePath){
+        boolean ret = true;
+        FileOutputStream fileOutputStream = null;
+        try {
+            fileOutputStream = new FileOutputStream(savePath);
+            document.write(fileOutputStream);
+        } catch (IOException e) {
+            ret = false;
+        } finally {
+            try {
+                if (Objects.nonNull(fileOutputStream)) {
+                    fileOutputStream.close();
+                }
+                if (Objects.nonNull(document)) {
+                    document.close();
+                }
+            } catch (IOException e) {}
+        }
+        return ret;
+    }
+
+    /**
+     * 保存 Document 文档
+     * @param document
+     * @param savePath
+     * @param fileName
+     * @return
+     */
+    public boolean saveDocument(XWPFDocument document, String savePath, String fileName){
+        return saveDocument(document, savePath + separator + fileName);
+    }
+
+    /**********************************
+     * 文件 操作 工具类
+     ***********************************/
+
+    /**
+     * 判断文件是否可读
+     * @param filePath
+     * @return
+     */
+    public boolean isFileCanRead(String filePath){
+        File file = new File(filePath);
+        return file.canRead();
+    }
+
+    /**
+     * 判断文件是否可写
+     * @param filePath
+     * @return
+     */
+    public boolean isFileCanWrite(String filePath){
+        File file = new File(filePath);
+        return file.canWrite();
+    }
+
+    /**
+     * 判断文件是否存在
+     * @param filePath
+     * @return
+     */
+    public boolean isFileExists(String filePath){
+        File file = new File(filePath);
+        return file.exists();
+    }
+
+    /**
+     * 保存 文件
+     * @param stream
+     * @param savePath
+     * @param fileName
+     * @return
+     */
+    public boolean saveFile(InputStream  stream, String savePath, String fileName) {
+        return saveFile(stream, savePath + separator + fileName);
+    }
+
+    /**
+     * 保存 文件
+     * @param stream
+     * @param savePath
+     * @return
+     */
+    public boolean saveFile(InputStream stream, String savePath){
+        FileOutputStream fileOutputStream = null;
+        try {
+            fileOutputStream = new FileOutputStream(savePath);
+            int bytesRead;
+            byte[] buffer = new byte[1024];
+            while ((bytesRead = stream.read(buffer)) != -1){
+                fileOutputStream.write(bytesRead);
+            }
+        } catch (IOException e) {
+            return  false;
+        } finally {
+            try {
+                if (Objects.nonNull(fileOutputStream))
+                fileOutputStream.close();
+            }catch (IOException e){}
+        }
+        return true;
+    }
+
+    /**
+     * 删除文件
+     * @param filePath
+     * @return
+     */
+    public boolean deleteFile(String filePath){
+        File file = new File(filePath);
+        return file.delete();
+    }
+
+    /**
+     * 复制文件
+     * @param srcFile 源文件路径
+     * @param destFile 目标文件路径
+     * @return
+     */
+    public boolean copyFile(String srcFile, String destFile, Boolean replaceFile){
+        Path srcFilePath = Paths.get(srcFile);
+        Path destFilePath = Paths.get(destFile);
+        try {
+            if (replaceFile) {
+                Files.copy(srcFilePath, destFilePath, StandardCopyOption.REPLACE_EXISTING);
+            } else {
+                Files.copy(srcFilePath, destFilePath, StandardCopyOption.COPY_ATTRIBUTES);
+            }
+        } catch (IOException e) {
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * 移动文件
+     * @param srcFilePath 源文件路径
+     * @param destFilePath 目标文件路径
+     * @return
+     */
+    public boolean moveFile(String srcFilePath, String destFilePath, Boolean replaceFile){
+        Path srcFile = Paths.get(srcFilePath);
+        Path destFile = Paths.get(destFilePath);
+        try {
+            if (replaceFile) {
+                Files.move(srcFile, destFile, StandardCopyOption.REPLACE_EXISTING);
+            } else {
+                Files.move(srcFile, destFile, StandardCopyOption.COPY_ATTRIBUTES);
+            }
+        } catch (IOException e) {
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * 获取文件大小
+     * @param filePath 文件路径
+     * @return
+     */
+    public Double getFileSize(String filePath) {
+        Double size = 0.0;
+        Path folderPath = Paths.get(filePath);
+        if (Files.isRegularFile(folderPath)) {
+            try {
+                size += Files.size(folderPath);
+            } catch (IOException e) {}
+        }
+        if ( size > 0.0  ) {
+            size = size / 1024 / 1024 ;
+            DecimalFormat df = new DecimalFormat("#.####");
+            String result = df.format(size);
+            return Double.valueOf(result);
+        } else {
+            return  0.0;
+        }
+    }
+
+    /**
+     * 获取文件流  注意关闭文件流
+     * @param filePath
+     * @return
+     */
+    public FileInputStream getArchiveFile(String filePath) {
+        FileInputStream fileOutputStream = null;
+        try {
+            fileOutputStream = new FileInputStream(filePath);
+        } catch (FileNotFoundException e) {}
+        return fileOutputStream;
+    }
+
+    /**
+     * 保存表格文件为档案
+     * @param workbook
+     * @param savePath
+     * @return
+     */
+    public boolean saveWorkbook(Workbook workbook, String savePath) {
+        FileOutputStream fileOutputStream = null;
+        boolean result = true;
+        try {
+            fileOutputStream = new FileOutputStream(savePath);
+            workbook.write(fileOutputStream);
+        } catch (IOException e) {
+            result = false;
+        } finally {
+            if (Objects.nonNull(fileOutputStream)) {
+                try {
+                    fileOutputStream.close();
+                } catch (IOException e) { result = false; }
+            }
+            if (Objects.nonNull(workbook)) {
+                try {
+                    workbook.close();
+                } catch (IOException e) {result = false; }
+            }
+        }
+        return result;
+    }
 }

+ 3 - 3
common/src/main/java/com/koobietech/eas/common/utils/JwtManager.java

@@ -5,7 +5,7 @@ import com.auth0.jwt.algorithms.Algorithm;
 import com.auth0.jwt.exceptions.JWTVerificationException;
 import com.auth0.jwt.interfaces.DecodedJWT;
 import com.auth0.jwt.interfaces.JWTVerifier;
-import com.koobietech.eas.common.constant.UserType;
+import com.koobietech.eas.dao.constant.UserType;
 import com.koobietech.eas.common.exception.EasException;
 import com.koobietech.eas.common.pojo.JwtUserDto;
 import org.springframework.beans.factory.annotation.Value;
@@ -29,7 +29,7 @@ public class JwtManager {
      */
     public String createJwt(JwtUserDto userDto){
         Calendar calendar = Calendar.getInstance();
-        calendar.add(calendar.DATE, expires);
+        calendar.add(Calendar.DATE, expires);
         String sign = JWT.create()
                 .withClaim("user", userDto.getUsername())
                 .withClaim("id", userDto.getId())
@@ -46,7 +46,7 @@ public class JwtManager {
      */
     public String createJwt(JwtUserDto userDto, Integer expires){
         Calendar calendar = Calendar.getInstance();
-        calendar.add(calendar.DATE, expires);
+        calendar.add(Calendar.DATE, expires);
         String sign = JWT.create()
                 .withClaim("user", userDto.getUsername())
                 .withClaim("id", userDto.getId())

+ 28 - 1
common/src/main/java/com/koobietech/eas/common/utils/PasswordManager.java

@@ -7,8 +7,14 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 
+import javax.crypto.Cipher;
+import javax.crypto.spec.SecretKeySpec;
 import java.nio.charset.StandardCharsets;
+import java.util.Base64;
 
+/**
+ * @author lc
+ */
 @Component
 public class PasswordManager {
 
@@ -30,6 +36,27 @@ public class PasswordManager {
         return decryptPassword;
     }
 
+    public String archiveEncryptPassword(String data) {
+        SecureUtil.disableBouncyCastle();
+        AES aes = new AES(passwordSignKey.getBytes(StandardCharsets.UTF_8));
+        String encryptStr;
+        try {
+            encryptStr = aes.encryptHex(data);
+        } catch (Exception e) {
+            throw new EasException("AES加密错误", e);
+        }
+        return encryptStr;
+    }
 
-
+    public String archiveDecryptPassword(String encryptedData) {
+        SecureUtil.disableBouncyCastle();
+        AES aes = new AES(passwordSignKey.getBytes(StandardCharsets.UTF_8));
+        String decryptedStr;
+        try {
+            decryptedStr = aes.decryptStr(encryptedData);
+        } catch (Exception e) {
+            throw new EasException("AES解密错误", e);
+        }
+        return decryptedStr;
+    }
 }

+ 89 - 0
common/src/main/java/com/koobietech/eas/common/utils/SecurityUtils.java

@@ -0,0 +1,89 @@
+package com.koobietech.eas.common.utils;
+
+import com.koobietech.eas.dao.constant.UserType;
+import com.koobietech.eas.dao.login.pojo.UserDetail;
+import org.springframework.security.core.context.SecurityContextHolder;
+
+import java.util.Objects;
+
+/**
+ * @author lc
+ */
+public class SecurityUtils {
+
+    /**
+     * 取登录名
+     * @return
+     */
+    public static String getLoginUserName() {
+        UserDetail principal = getPrincipal();
+        if (Objects.nonNull(principal)) {
+            return principal.getUsername();
+        }
+        return "anonymousUser";
+    }
+
+    /**
+     * 取用户ID
+     * @return
+     */
+    public static Long getLoginUid() {
+        UserDetail principal = getPrincipal();
+        if (Objects.nonNull(principal)) {
+            if ( !isStudentUser() ) {
+                return principal.getId();
+            }
+        }
+        return 0L;
+    }
+
+    /**
+     * 判断是否是学员
+     * @return
+     */
+    public static boolean isStudentUser() {
+        boolean isStudent = false;
+        UserDetail principal = getPrincipal();
+        if (Objects.nonNull(principal)) {
+            if ( principal.getUserType().equals(UserType.MEMBER) ) {
+                isStudent = true;
+            }
+        }
+        return isStudent;
+    }
+
+    /**
+     * 取学员登录ID
+     * @return
+     */
+    public static Long getLoginSid() {
+        UserDetail principal = getPrincipal();
+        if (Objects.nonNull(principal)) {
+            if ( isStudentUser() ) {
+                return principal.getId();
+            }
+        }
+        return 0L;
+    }
+
+    /**
+     * 是否登录
+     * @return
+     */
+    public static boolean isLogged() {
+        UserDetail principal = getPrincipal();
+        return Objects.nonNull(principal);
+    }
+
+    private static UserDetail getPrincipal() {
+        Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+        if (Objects.nonNull(principal)) {
+            if (principal instanceof UserDetail) {
+                return (UserDetail) principal;
+            } else {
+                return null;
+            }
+        }
+        return null;
+    }
+}

+ 178 - 0
common/src/main/java/com/koobietech/eas/common/utils/StudentArchiveGenerator.java

@@ -0,0 +1,178 @@
+package com.koobietech.eas.common.utils;
+
+import com.koobietech.eas.common.constant.FileType;
+import com.koobietech.eas.common.constant.UniversityCodeUtils;
+import com.koobietech.eas.common.pojo.ArchiveNumberInfo;
+import com.koobietech.eas.common.pojo.StudentNumberInfo;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.Period;
+import java.time.format.DateTimeFormatter;
+import java.util.Locale;
+import java.util.UUID;
+
+/**
+ * @author lc
+ */
+public class StudentArchiveGenerator {
+
+    private static final String ARCHIVE_CODE_PREFIX = "SA";
+    private static final int ARCHIVE_CODE_LENGTH = 25;
+
+    private static final String STUDENT_CODE_PEREFIX = "ST";
+    private static final int STUDENT_CODE_LENGTH = 25;
+    private static final int STUDENT_NUM_LENGTH = 8;
+
+    /**
+     * 生成文件档案编号
+     * @param generateStudentCode
+     * @param fileTypeCode
+     * @return SA911X3B98723081544551720
+     */
+    public static String generateArchiveCode(String generateStudentCode, String fileTypeCode) {
+        String studentNum = generateStudentCode.substring(2, STUDENT_NUM_LENGTH + 3);
+        String nowDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHhmmss", Locale.CHINA));
+        String archiveCode = ARCHIVE_CODE_PREFIX + studentNum + nowDate + fileTypeCode;
+        if (archiveCode.length() < ARCHIVE_CODE_LENGTH) {
+            archiveCode += UUID.randomUUID().toString()
+                    .substring(0, ARCHIVE_CODE_LENGTH - archiveCode.length());
+        }
+        return archiveCode;
+    }
+
+    /**
+     *解析档案编号信息
+     *
+     * @param archiveNumber
+     * @return
+     */
+    public static ArchiveNumberInfo parseArchiveNumber(String archiveNumber) {
+        ArchiveNumberInfo archiveInfo = new ArchiveNumberInfo();
+        String studentCode = archiveNumber.substring(2, STUDENT_NUM_LENGTH + 3);
+        String studentId = studentCode.split("X")[0];
+        String createTime = archiveNumber.substring(STUDENT_NUM_LENGTH + 3, STUDENT_NUM_LENGTH + 15);
+        String fileTypeCode = archiveNumber.substring(ARCHIVE_CODE_LENGTH - 2);
+        archiveInfo.setStudentId(Integer.parseInt(studentId));
+        archiveInfo.setStudentCode(studentCode);
+        archiveInfo.setCreateTime(Long.parseLong(createTime));
+        archiveInfo.setFileTypeCode(Integer.parseInt(fileTypeCode));
+        archiveInfo.setFileSuffix(FileType.getSuffix(Integer.parseInt(fileTypeCode)));
+        return archiveInfo;
+    }
+
+
+
+    /**
+     * 生成学生档案编码
+     * @param studentNumber
+     * @param studentCardId
+     * @param schoolName
+     * @param enrollmentDate
+     * @return  ST911X3B98736M20251021273
+     */
+    public static String generateStudentCode(String studentNumber, String studentCardId, String schoolName, String enrollmentDate) {
+        LocalDate localDateEnrollmentDate = LocalDate.of(Integer.parseInt(enrollmentDate), 1, 1);
+        String studentAge = String.valueOf(getStudentAge(studentCardId));
+        String studentNum = getStudentNum(studentNumber);
+        // 取性别代码的首字母
+        String studentGender = getStudentGender(studentCardId).substring(0, 1);
+        String graduationDate = String.valueOf(getStudentGraduationDate(localDateEnrollmentDate).getYear());
+
+        String studentCode = STUDENT_CODE_PEREFIX + studentNum + studentAge +
+                studentGender + graduationDate + schoolName;
+
+        // 如果生成的档案编码长度不足,用UUID填充
+        if (studentCode.length() < STUDENT_CODE_LENGTH) {
+            studentCode += UUID.randomUUID().toString()
+                    .substring(0, STUDENT_CODE_LENGTH - studentCode.length());
+        }
+        return studentCode;
+    }
+
+    /**
+     * 解析学生档案编号信息
+     *
+     * @param studentNumber 学生档案编号
+     * @return 学生档案编号信息
+     */
+    public static StudentNumberInfo parseStudentNumber(String studentNumber) {
+        if (studentNumber == null) {
+            return null;
+        }
+        String studentNum = studentNumber.substring(2, STUDENT_NUM_LENGTH + 3);
+        String studentId = studentNum.split("X")[0];
+        String studentAge = studentNumber.substring(STUDENT_NUM_LENGTH + 3, STUDENT_NUM_LENGTH + 5);
+        String studentGender = studentNumber.substring(STUDENT_NUM_LENGTH + 5, STUDENT_NUM_LENGTH + 6);
+        String graduationDate = studentNumber.substring(STUDENT_NUM_LENGTH + 6, STUDENT_NUM_LENGTH + 10);
+        String schoolCode = studentNumber.substring(STUDENT_NUM_LENGTH + 10, STUDENT_NUM_LENGTH + 15);
+        StudentNumberInfo info = new StudentNumberInfo();
+        info.setStudentNum(studentNum);
+        info.setStudentId(Long.valueOf(studentId));
+        info.setStudentAge(Integer.parseInt(studentAge));
+        info.setStudentGender(studentGender);
+        info.setGraduationDate(graduationDate);
+        info.setSchoolName(UniversityCodeUtils.getName(Integer.parseInt(schoolCode)));
+        info.setSchoolCode(Integer.parseInt(schoolCode));
+        return info;
+    }
+
+    /**
+     * 获取学生编号,自动补齐
+     * @param studentNumber
+     * @return
+     */
+    private static String getStudentNum(String studentNumber) {
+        if (studentNumber.length() < STUDENT_NUM_LENGTH) {
+            studentNumber = studentNumber + "X" +
+                    (UUID.randomUUID().toString().replace("-", "").replace("X", ""))
+                    .toUpperCase(Locale.ROOT).substring(0, STUDENT_NUM_LENGTH - studentNumber.length());
+        }
+        return studentNumber;
+    }
+
+    /**
+     * 获取学生年龄
+     * @param studentCardId
+     * @return
+     */
+    private static int getStudentAge(String studentCardId) {
+        LocalDate currentDate = LocalDate.now();
+        LocalDate birthDateWithDate = extractBirthDate(studentCardId);
+        Period period = Period.between(birthDateWithDate, currentDate);
+        return period.getYears();
+    }
+
+    /**
+     * 获取学生性别
+     * @param studentCardId
+     * @return
+     */
+    private static String getStudentGender(String studentCardId) {
+        // 根据身份证号获取性别,这里只取身份证号的倒数第二位判断性别,假设性别代码为奇数表示男性,偶数表示女性
+        int genderCode = Integer.parseInt(studentCardId.substring(16, 17));
+        return genderCode % 2 == 0 ? "F" : "M";
+    }
+
+    /**
+     * 获取学生毕业日期
+     * @param enrollmentDate
+     * @return
+     */
+    private static LocalDate getStudentGraduationDate(LocalDate enrollmentDate) {
+        // 假设毕业时间为入学时间的四年后
+        return enrollmentDate.plusYears(4);
+    }
+
+    /**
+     * 提取身份证号码的出生日期部分
+     * @param idCard
+     * @return
+     */
+    private static LocalDate extractBirthDate(String idCard) {
+        // 提取身份证号码中的出生日期部分
+        String birthdate = idCard.substring(6, 14);
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
+        return LocalDate.parse(birthdate, formatter);
+    }
+}

+ 14 - 1
common/src/test/java/com/koobietech/eas/common/utils/PasswordManagerTest.java

@@ -8,8 +8,21 @@ class PasswordManagerTest {
     public static void main(String[] args) {
 
 
+        //ST911X3B98736M20251021273
+//        System.out.println(StudentArchiveGenerator.generateStudentCode(
+//                "911", "232126198703194770", "10212", "2021"
+//        ));
 
-    }
+ //       System.out.println(StudentArchiveGenerator.parseStudentNumber("ST911X3B98736M20251021273"));
+
+   //     System.out.println(StudentArchiveGenerator.parseArchiveNumber("SA911X3B98723081544551711"));
+
+        //SA911X3B98723081544551720
+//        System.out.println(StudentArchiveGenerator.generateArchiveCode(
+//                "ST911X3B98736M20251021273", "20"
+//        ));
 
 
+    }
+
 }

+ 19 - 0
controller/pom.xml

@@ -14,6 +14,10 @@
     </parent>
 
     <dependencies>
+        <dependency>
+            <groupId>xerces</groupId>
+            <artifactId>xercesImpl</artifactId>
+        </dependency>
         <dependency>
             <groupId>com.anji-plus</groupId>
             <artifactId>spring-boot-starter-captcha</artifactId>
@@ -77,6 +81,21 @@
     </dependencyManagement>
 
     <build>
+<!--        <resources>-->
+<!--            <resource>-->
+<!--                <directory>src/main/resources</directory>-->
+<!--                <filtering>true</filtering>-->
+<!--                <includes>-->
+<!--                    <include>**/*.png</include>-->
+<!--                    <include>**/*.jpeg</include>-->
+<!--                    <include>**/*.xml</include>-->
+<!--                    <include>**/*.docx</include>-->
+<!--                    <include>**/*.xlsx</include>-->
+<!--                    <include>**/*.yaml</include>-->
+<!--                    <include>**/*.properties</include>-->
+<!--                </includes>-->
+<!--            </resource>-->
+<!--        </resources>-->
         <plugins>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>

+ 4 - 11
controller/src/main/java/com/koobietech/eas/config/ExceptionAdvice.java

@@ -11,7 +11,6 @@ import org.springframework.web.bind.annotation.ResponseStatus;
 import org.springframework.web.bind.annotation.RestControllerAdvice;
 
 @RestControllerAdvice
-
 public class ExceptionAdvice {
 
     private static final Logger logger = LoggerFactory.getLogger(ExceptionAdvice.class);
@@ -21,14 +20,11 @@ public class ExceptionAdvice {
     @ExceptionHandler(Exception.class)
     public JsonResult exceptionHandler(Exception e){
         StackTraceElement[] stackTrace = e.getStackTrace();
-        e.printStackTrace();
-        logger.error("运行异常提醒:");
-        logger.error(e.getMessage());
-        logger.error("异常堆栈信息:");
+        logger.error("<<<<<<<<<<<<<");
         for (StackTraceElement element : stackTrace) {
             logger.error(element.toString());
         }
-        logger.error("-------------");
+        logger.error(">>>>>>>>>>>>>>");
         return JsonResult.fail(e.getMessage(), 500);
     }
 
@@ -37,14 +33,11 @@ public class ExceptionAdvice {
     @ExceptionHandler(EasException.class)
     public JsonResult exceptionHandler(EasException e){
         StackTraceElement[] stackTrace = e.getStackTrace();
-        e.printStackTrace();
-        logger.error("运行异常提醒:");
-        logger.error(e.getMessage());
-        logger.error("异常堆栈信息:");
+        logger.error("||||||||||||||||");
         for (StackTraceElement element : stackTrace) {
             logger.error(element.toString());
         }
-        logger.error("-------------");
+        logger.error("&&&&&&&&&&&&&&&&&");
         return JsonResult.fail(e.getMessage(), e.getCode());
     }
 }

+ 1 - 2
controller/src/main/java/com/koobietech/eas/controller/AdminLoginController.java

@@ -1,13 +1,12 @@
 package com.koobietech.eas.controller;
 
 
-import com.anji.captcha.model.common.RepCodeEnum;
 import com.anji.captcha.model.common.ResponseModel;
 import com.anji.captcha.model.vo.CaptchaVO;
 import com.anji.captcha.service.CaptchaService;
 import com.koobietech.eas.common.exception.EasException;
 import com.koobietech.eas.common.result.JsonResult;
-import com.koobietech.eas.dao.Pojo.AdminPojo;
+import com.koobietech.eas.dao.pojo.AdminPojo;
 import com.koobietech.eas.dao.dto.LoginToken;
 import com.koobietech.eas.service.AdminLoginService;
 import io.swagger.v3.oas.annotations.Operation;

+ 80 - 0
controller/src/main/java/com/koobietech/eas/controller/EasArcTlsAttendanceController.java

@@ -0,0 +1,80 @@
+package com.koobietech.eas.controller;
+
+import com.github.pagehelper.PageHelper;
+import com.koobietech.eas.common.result.JsonPageResult;
+import com.koobietech.eas.common.result.JsonResult;
+import com.koobietech.eas.common.result.PageData;
+import com.koobietech.eas.mbg.model.EasArcTlsAttendance;
+import com.koobietech.eas.mbg.model.EasEduClassroom;
+import com.koobietech.eas.service.EasArcTlsAttendanceService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+@Tag(name = "签到模块")
+@RestController
+@RequestMapping("/attendance")
+public class EasArcTlsAttendanceController {
+
+    @Resource
+    private EasArcTlsAttendanceService easArcTlsAttendanceService;
+
+    @GetMapping("/getStudentList")
+    @Operation(summary = "获取学生列表", description = "签到的时候会根据课表ID来获取学生列表(scheduleId)")
+    public JsonResult getStudentList(@RequestParam Long scheduleId) {
+        return JsonResult.data(easArcTlsAttendanceService.getStudentList(scheduleId));
+    }
+
+    @PostMapping("/query")
+    @Operation(summary = "查询签到记录", description = "前端构造查询条件,可以都为空,根据参数查询签到表信息(调用了分页组件)")
+    public JsonPageResult query(@RequestBody EasArcTlsAttendance attendance,
+                                @RequestParam Integer pageNum, @RequestParam Integer pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        PageData ret = easArcTlsAttendanceService.query(attendance);
+        return JsonPageResult.data(ret);
+    }
+
+    @PostMapping("/add")
+    @Operation(summary = "添加签到记录", description = "用于添加签到信息")
+    public JsonResult add(@RequestBody EasArcTlsAttendance attendance) {
+        //增加的时候,加一个判断,如果已经存在,就转到更新方法(“/update”)
+        boolean isExist = easArcTlsAttendanceService.isExist(attendance);
+
+        if (isExist) {
+            System.out.println("!!!!!已经存在,转到更新方法");
+            return update(attendance);
+        }else{
+            System.out.println("!!!!!不存在,正在执行添加方法");
+            boolean isAdded = easArcTlsAttendanceService.add(attendance);
+            if (isAdded) {
+                return JsonResult.ok("添加签到记录成功");
+            }
+            return JsonResult.fail("添加签到记录失败");
+        }
+    }
+
+
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除签到记录", description = "删除签到记录数据根据时间和学员student_number")
+    public JsonResult delete(@RequestBody EasArcTlsAttendance attendance) {
+        Boolean ret = easArcTlsAttendanceService.delete(attendance);
+        if (ret) {
+            return JsonResult.ok("删除签到记录成功");
+        }
+        return JsonResult.fail("删除签到记录失败");
+    }
+
+
+    @PutMapping("/update")
+    @Operation(summary = "更新签到记录", description = "更新签到记录")
+    public JsonResult update(@RequestBody EasArcTlsAttendance attendance) {
+        Boolean ret = easArcTlsAttendanceService.update(attendance);
+        if (ret) {
+            return JsonResult.ok("更新签到记录成功");
+        }
+        return JsonResult.fail("更新签到记录失败");
+    }
+}

+ 108 - 0
controller/src/main/java/com/koobietech/eas/controller/EasArcTlsScoresController.java

@@ -0,0 +1,108 @@
+package com.koobietech.eas.controller;
+
+import cn.hutool.db.Page;
+import com.github.pagehelper.PageHelper;
+import com.koobietech.eas.common.result.JsonPageResult;
+import com.koobietech.eas.common.result.JsonResult;
+import com.koobietech.eas.common.result.PageData;
+import com.koobietech.eas.mbg.model.EasArcTlsScores;
+import com.koobietech.eas.service.EasArcTlsScoresService;
+import io.swagger.v3.core.util.Json;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+import java.util.Objects;
+
+@RestController
+@Tag(name = "成绩控制器")
+public class EasArcTlsScoresController {
+
+    @Resource
+    EasArcTlsScoresService easArcTlsScoresService;
+
+    /**
+     * 添加学生成绩信息
+     * @param easArcTlsScores
+     * @return
+     */
+    @PostMapping(value = "/addStudentScore")
+    @Operation(summary = "添加学生成绩信息",description = "用于添加学生成绩信息")
+    public JsonResult addStudentScore(@RequestBody EasArcTlsScores easArcTlsScores) {
+        int i = easArcTlsScoresService.addStudentScore(easArcTlsScores);
+        System.out.println(i);
+        return JsonResult.ok("添加成功!");
+    }
+
+    /**
+     * 修改学生成绩信息
+     * @param easArcTlsScores
+     * @return
+     */
+    @PutMapping(value = "/updateStudentScore")
+    @Operation(summary = "修改学生成绩信息",description = "用于修改学生成绩信息")
+    public JsonResult updateStudentScore(@RequestBody EasArcTlsScores easArcTlsScores) {
+        int i = easArcTlsScoresService.updateStudentScore(easArcTlsScores);
+        if (i > 0){
+            return JsonResult.ok();
+        }else {
+            return JsonResult.fail();
+        }
+    }
+
+    /**
+     * 查询所有学生成绩信息
+     * @return
+     */
+    @GetMapping(value = "/selectAllStudentScores")
+    @Operation(summary = "查询所有学生的成绩信息",description = "用于查询所有学生的成绩信息")
+    public JsonResult selectAllStudentScores() {
+        List<EasArcTlsScores> easArcTlsScores = easArcTlsScoresService.selectAllStudentScores();
+        return JsonResult.data(easArcTlsScores);
+    }
+
+    /**
+     * 条件查询学生成绩信息
+     * @param easArcTlsScores
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @PostMapping(value = "/selectScoreByExample")
+    @Operation(summary = "条件查询学生成绩信息",description = "用于条件查询学生成绩信息")
+    public JsonPageResult selectScoreByExample(@RequestBody EasArcTlsScores easArcTlsScores,
+                                               @RequestParam Integer pageNum,@RequestParam Integer pageSize){
+        PageHelper.startPage(pageNum,pageSize);
+        PageData pageData = easArcTlsScoresService.selectScoreByExample(easArcTlsScores);
+        return JsonPageResult.data(pageData);
+    }
+
+    @PostMapping(value = "/importExcelScores")
+    @Operation(summary = "Excel导入学生成绩信息",description = "用于Excel导入学生成绩信息")
+    public JsonResult importExcelScores(MultipartFile excelFile) {
+        InputStream inputStream = null;
+        Boolean aBoolean;
+        try {
+            inputStream = excelFile.getInputStream();
+            aBoolean = easArcTlsScoresService.importExcelScores(inputStream);
+        } catch (IOException e) {
+            aBoolean = false;
+        } finally {
+            try {
+                if (Objects.nonNull(inputStream) ) {
+                    inputStream.close();
+                }
+            } catch (IOException e) {}
+        }
+        if (aBoolean == true){
+            return JsonResult.ok();
+        }else {
+            return JsonResult.fail();
+        }
+    }
+}

+ 41 - 0
controller/src/main/java/com/koobietech/eas/controller/EasArchiveFileDownload.java

@@ -0,0 +1,41 @@
+package com.koobietech.eas.controller;
+
+import com.koobietech.eas.common.result.JsonResult;
+import com.koobietech.eas.service.EasArchiveFileDownloadService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+
+@Tag(name = "下载文件模块")
+@RestController
+public class EasArchiveFileDownload {
+
+    @Resource
+    EasArchiveFileDownloadService easArchiveFileDownloadService;
+
+    @GetMapping("/getArchiveFile")
+    @Operation(summary = "获取下载token", description = "前端传入archiveId,后端返回下载token")
+    public JsonResult getFile(Integer archiveId) {
+
+        String archiveToken = easArchiveFileDownloadService.getArchiveToken(archiveId);
+
+        return JsonResult.data(archiveToken);
+    }
+
+    @GetMapping("/getFileByToken")
+    @Operation(summary = "获取文件流", description = "前端把token传入请求头,后端返回文件流")
+    public void getFileByToken(@RequestParam String archiveToken, HttpServletResponse response) {
+
+        //加if判断,如果返回的是false,说明token已经过期,返回null
+        easArchiveFileDownloadService.downloadFileByToken(archiveToken, response);
+    }
+
+
+
+
+}

+ 12 - 8
controller/src/main/java/com/koobietech/eas/controller/EasStuProfileController.java

@@ -4,24 +4,28 @@ package com.koobietech.eas.controller;
 import com.koobietech.eas.common.result.JsonResult;
 import com.koobietech.eas.mbg.model.EasArcTlsStudents;
 import com.koobietech.eas.service.EasStuProfileService;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.io.FileNotFoundException;
 
+@Tag(name = "学生档案下载模块")
 @RestController
 public class EasStuProfileController {
 
     @Resource
     private EasStuProfileService easStuProfileService;
 
-    @RequestMapping("/StuProfileDownload")
-    public JsonResult StuProfileDownload(@RequestBody  EasArcTlsStudents easArcTlsStudents) throws FileNotFoundException {
-
-        return easStuProfileService.StuProfileDownload(easArcTlsStudents);
+    @PostMapping("/StuProfileDownload")
+    @Operation(summary = "保存学生档案为word文档到本地或者服务器中", description = "根据学生档案信息和管理员ID保存学生档案为word文档到本地或者服务器中,注意manager_id要传在url中")
+    public JsonResult StuProfileDownload(@RequestBody EasArcTlsStudents easArcTlsStudents, @RequestParam Integer manager_id) throws FileNotFoundException {
+        //StuProfileDownload返回值是boolean,这里用JsonResult包装一下 加上if判断
+        if (easStuProfileService.StuProfileDownload(easArcTlsStudents, manager_id)) {
+            return JsonResult.ok("下载成功");
+        }
+        return JsonResult.fail("下载失败");
     }
 
-
 }

二進制
controller/src/main/resources/Temp/StuRegistTemp.docx


二進制
controller/src/main/resources/Temp/kun1.jpeg


二進制
controller/src/main/resources/Temp/~$uRegistTemp.docx


+ 3 - 1
controller/src/main/resources/application-dev.yaml

@@ -27,4 +27,6 @@ knife4j:
     language: zh_cn
 logging:
   level:
-    com.koobietech.eas.*: TRACE
+    com.koobietech.eas.*: TRACE
+project:
+  path: ${user.home}/archivesFiles

+ 3 - 1
controller/src/main/resources/application-local.yaml

@@ -1,5 +1,5 @@
 server:
-  port: 8081
+  port: 8080
 spring:
   datasource:
     url: jdbc:mysql://127.0.0.1:3306/eas?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=true&tinyInt1isBit=false
@@ -28,3 +28,5 @@ knife4j:
 logging:
   level:
     com.koobietech.eas.*: TRACE
+project:
+  path: ${user.home}/archivesFiles

+ 32 - 0
controller/src/main/resources/application-wheng.yaml

@@ -0,0 +1,32 @@
+server:
+  port: 8080
+spring:
+  datasource:
+    url: jdbc:mysql://127.0.0.1:13306/eas?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=true&tinyInt1isBit=false
+    username: root
+    password: 0JZBdtlYoiOepddh
+    driver-class-name: com.mysql.cj.jdbc.Driver
+  redis:
+    host: localhost
+    database: 8
+    password:
+    port: 26379
+  security:
+    user:
+      name: admin
+      password: 123456
+springdoc:
+  version: v0.0.1
+  api-docs:
+    enabled: true
+  swagger-ui:
+    enabled: true
+knife4j:
+  enable: true
+  setting:
+    language: zh_cn
+logging:
+  level:
+    com.koobietech.eas.*: TRACE
+project:
+  path: ${user.home}/archivesFiles

+ 3 - 1
controller/src/main/resources/application.yaml

@@ -32,7 +32,7 @@ security:
       - /**
 eas:
   jwt-secret-key: 123456
-  jwt-expires-date: 1
+  jwt-expires-date: 2
   password-sign-key: eas-key-password
 aj:
   captcha:
@@ -51,3 +51,5 @@ aj:
     req-get-minute-limit: 30
     req-check-minute-limit: 60
     req-verify-minute-limit: 60
+project:
+  path: ${user.home}/archivesFiles

+ 1 - 1
controller/src/main/resources/logback.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
-    <property name="log.path" value="./" />
+    <property name="log.path" value="./logs" />
     <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
         <encoder>

二進制
controller/src/main/resources/temp/StuRegistTemp.docx


二進制
controller/src/main/resources/temp/kun.jpeg


+ 20 - 19
controller/src/test/java/com/koobietech/eas/controller/ControllerApplicationTests.java

@@ -1,33 +1,35 @@
 package com.koobietech.eas.controller;
 
-import cn.afterturn.easypoi.excel.ExcelExportUtil;
-import cn.afterturn.easypoi.excel.entity.ExportParams;
-import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
-import cn.afterturn.easypoi.handler.inter.IWriter;
-import com.koobietech.eas.common.constant.UserType;
-import com.koobietech.eas.common.pojo.JwtUserDto;
-import com.koobietech.eas.common.service.RedisService;
-import com.koobietech.eas.common.utils.JwtManager;
-import com.koobietech.eas.common.utils.PasswordManager;
-import com.koobietech.eas.mbg.model.EasSysLogs;
-import org.apache.poi.ss.usermodel.Workbook;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.test.context.SpringBootTest;
 
-import javax.annotation.Resource;
-import java.io.*;
-import java.util.*;
-
 
 @SpringBootTest
 class ControllerApplicationTests {
 
+    @Value("${project.path}")
+    String archivesSavePath;
+
     @Test
-    void contextLoads() throws IOException {
+    void test() {
+
+        System.out.println(
+                archivesSavePath
+        );
+
+//        System.out.println(StudentArchiveGenerator.generateStudentCode(
+//                "2211",
+//                "232126198703194770", "12016", "2020"
+//        ));
+//        System.out.println(
+//                StudentArchiveGenerator.generateArchiveCode(
+//                        "ST2211XE6EE36M202412016",
+//                        "20"
+//                )
+//        );
+    }
 
-        InputStream wordStream = this.getClass().getClassLoader().getResourceAsStream("\\temp\\StuRegistTemp.docx");
-        System.out.println( wordStream );
 
 //        List<Map> list = new ArrayList<>();
 //        Workbook workbook = null;
@@ -62,6 +64,5 @@ class ControllerApplicationTests {
 //        fos.close();
 
 
-    }
 
 }

+ 4 - 0
dao/pom.xml

@@ -8,6 +8,10 @@
     <description>dao</description>
 
     <dependencies>
+        <dependency>
+            <groupId>cn.afterturn</groupId>
+            <artifactId>easypoi-wps</artifactId>
+        </dependency>
         <dependency>
             <groupId>com.github.xiaoymin</groupId>
             <artifactId>knife4j-openapi3-spring-boot-starter</artifactId>

+ 1 - 1
common/src/main/java/com/koobietech/eas/common/constant/UserType.java → dao/src/main/java/com/koobietech/eas/dao/constant/UserType.java

@@ -1,4 +1,4 @@
-package com.koobietech.eas.common.constant;
+package com.koobietech.eas.dao.constant;
 
 public enum UserType {
     TEACHER, MEMBER, ADMIN

+ 19 - 0
dao/src/main/java/com/koobietech/eas/dao/dto/ArchivesDto.java

@@ -0,0 +1,19 @@
+package com.koobietech.eas.dao.dto;
+
+import lombok.Data;
+
+@Data
+public class ArchivesDto {
+    private String archiveCode;
+    private String path;
+    private boolean status;
+
+    private String fileType;
+
+    public ArchivesDto(String path, boolean status, String archiveCode, String fileType) {
+        this.archiveCode = archiveCode;
+        this.path = path;
+        this.status = status;
+        this.fileType = fileType;
+    }
+}

+ 0 - 12
dao/src/main/java/com/koobietech/eas/dao/dto/TestDto.java

@@ -1,12 +0,0 @@
-package com.koobietech.eas.dao.dto;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-@Data
-public class TestDto {
-    @Schema(description = "学员ID")
-    int id;
-    @Schema(description = "学员名字")
-    String name;
-}

+ 1 - 1
dao/src/main/java/com/koobietech/eas/dao/adminLoginPojo/Department.java → dao/src/main/java/com/koobietech/eas/dao/login/pojo/Department.java

@@ -1,4 +1,4 @@
-package com.koobietech.eas.dao.adminLoginPojo;
+package com.koobietech.eas.dao.login.pojo;
 
 import lombok.Data;
 import java.util.Date;

+ 1 - 1
dao/src/main/java/com/koobietech/eas/dao/adminLoginPojo/Permission.java → dao/src/main/java/com/koobietech/eas/dao/login/pojo/Permission.java

@@ -1,4 +1,4 @@
-package com.koobietech.eas.dao.adminLoginPojo;
+package com.koobietech.eas.dao.login.pojo;
 
 import lombok.Data;
 import java.util.Date;

+ 6 - 2
dao/src/main/java/com/koobietech/eas/dao/adminLoginPojo/UserDetail.java → dao/src/main/java/com/koobietech/eas/dao/login/pojo/UserDetail.java

@@ -1,15 +1,19 @@
-package com.koobietech.eas.dao.adminLoginPojo;
+package com.koobietech.eas.dao.login.pojo;
 
+import com.koobietech.eas.dao.constant.UserType;
 import lombok.Data;
 
 import java.util.List;
-
+/**
+ * @author lc
+ */
 @Data
 public class UserDetail {
     private Long id;
     private String username;
     private String phone;
     private String email;
+    private UserType userType;
     private List<Permission> permissions;
     private List<Department> departments;
 

+ 6 - 3
dao/src/main/java/com/koobietech/eas/dao/mapper/AdminLoginMapper.java

@@ -1,11 +1,14 @@
 package com.koobietech.eas.dao.mapper;
 
-import com.koobietech.eas.dao.adminLoginPojo.Department;
-import com.koobietech.eas.dao.adminLoginPojo.Permission;
-import com.koobietech.eas.dao.adminLoginPojo.UserDetail;
+import com.koobietech.eas.dao.login.pojo.Department;
+import com.koobietech.eas.dao.login.pojo.Permission;
+import com.koobietech.eas.dao.login.pojo.UserDetail;
 
 import java.util.List;
 
+/**
+ * @author lc
+ */
 public interface AdminLoginMapper {
     List<Permission> getUserPermissionsById(Long adminId);
 

+ 1 - 1
dao/src/main/java/com/koobietech/eas/dao/Pojo/AdminPojo.java → dao/src/main/java/com/koobietech/eas/dao/pojo/AdminPojo.java

@@ -1,4 +1,4 @@
-package com.koobietech.eas.dao.Pojo;
+package com.koobietech.eas.dao.pojo;
 
 import lombok.Data;
 

+ 43 - 0
dao/src/main/java/com/koobietech/eas/dao/pojo/EasArcTlsAttendancePojo.java

@@ -0,0 +1,43 @@
+package com.koobietech.eas.dao.pojo;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author lc
+ */
+@Data
+public class EasArcTlsAttendancePojo implements Serializable {
+
+    @Excel(name = "签到日期")
+    private Date checkinDate;
+
+    @Excel(name = "学员档案号")
+    private String studentNumber;
+
+    //a表示正常出勤, b表示迟到、早退, c表示旷课, d表示请假, e表示无效
+    @Excel(name = "上午出勤状态")
+    private String morning;
+
+    //a表示正常出勤,   b表示迟到、早退, c 表示旷课, d 表示请假, e表示无效"
+    @Excel(name = "下午出勤状态")
+    private String afternoon;
+
+    @Excel(name = "学员姓名")
+    private String studentName;
+
+    @Excel(name = "类别" )
+    private Integer category;
+
+    @Excel(name = "科目" )
+    private Integer subject;
+
+    @Excel(name = "创建时间" )
+    private Date createTime;
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 41 - 0
dao/src/main/java/com/koobietech/eas/dao/pojo/EasArcTlsScoresPojo.java

@@ -0,0 +1,41 @@
+package com.koobietech.eas.dao.pojo;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class EasArcTlsScoresPojo implements Serializable {
+    @Excel(name = "学员档案")
+    private String studentNumber;
+
+    @Excel(name = "类目ID" )
+    private Integer categoryId;
+
+    @Excel(name = "科目ID" )
+    private Integer subjectId;
+
+    @Excel(name = "考试时间" )
+    private Date testDate;
+
+    @Excel(name = "分数")
+    private BigDecimal score;
+
+    @Excel(name = "通过率")
+    private BigDecimal passRate;
+
+    @Excel(name = "及格率")
+    private BigDecimal excelRate;
+
+    @Excel(name = "创建时间", format = "yyyy-MM-dd")
+    private Date createTime;
+
+    @Excel(name = "考试备注信息")
+    private String comment;
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 6 - 6
dao/src/main/resources/com/koobietech/eas/dao/mapper/AdminLoginMapper.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.koobietech.eas.dao.mapper.AdminLoginMapper">
-    <resultMap id="permissionResultMap" type="com.koobietech.eas.dao.adminLoginPojo.Permission">
+    <resultMap id="permissionResultMap" type="com.koobietech.eas.dao.login.pojo.Permission">
         <!-- 映射查询结果到实体类属性 -->
         <id column="id" property="id"/>
         <result column="name" property="name"/>
@@ -12,7 +12,7 @@
         <result column="description" property="description"/>
     </resultMap>
 
-    <resultMap id="departmentResultMap" type="com.koobietech.eas.dao.adminLoginPojo.Department">
+    <resultMap id="departmentResultMap" type="com.koobietech.eas.dao.login.pojo.Department">
         <!-- 映射查询结果到实体类属性 -->
         <id column="id" property="id"/>
         <result column="depname" property="depname"/>
@@ -25,7 +25,7 @@
         <result column="create_uid" property="createUid"/>
     </resultMap>
 
-    <resultMap id="userDetailResultMap" type="com.koobietech.eas.dao.adminLoginPojo.UserDetail">
+    <resultMap id="userDetailResultMap" type="com.koobietech.eas.dao.login.pojo.UserDetail">
         <!-- 映射查询结果到实体类属性 -->
         <result column="id" property="id"/>
         <result column="username" property="username"/>
@@ -67,18 +67,18 @@
 
 
 
-<!--    <resultMap id="userDetailResultMap" type="com.koobietech.eas.dao.adminLoginPojo.UserDetail">-->
+<!--    <resultMap id="userDetailResultMap" type="UserDetail">-->
 <!--        &lt;!&ndash; 映射查询结果到实体类属性 &ndash;&gt;-->
 <!--        <result column="id" property="id" />-->
 <!--        <result column="username" property="username" />-->
 <!--        <result column="phone" property="phone" />-->
 <!--        <result column="email" property="email" />-->
-<!--        <collection property="departments" ofType="com.koobietech.eas.dao.adminLoginPojo.Department">-->
+<!--        <collection property="departments" ofType="Department">-->
 <!--            <id column="dep_id" property="id" />-->
 <!--            <result column="depname" property="depname" />-->
 <!--            &lt;!&ndash; 其他部门属性的映射 &ndash;&gt;-->
 <!--        </collection>-->
-<!--        <collection property="permissions" ofType="com.koobietech.eas.dao.adminLoginPojo.Permission">-->
+<!--        <collection property="permissions" ofType="Permission">-->
 <!--            <id column="per_id" property="id" />-->
 <!--            <result column="name" property="name" />-->
 <!--            &lt;!&ndash; 其他权限属性的映射 &ndash;&gt;-->

+ 8 - 0
mbg/src/main/java/com/koobietech/eas/mbg/CommentGenerator.java

@@ -18,6 +18,8 @@ public class CommentGenerator extends DefaultCommentGenerator {
     private static final String EXAMPLE_SUFFIX="Example";
     private static final String API_MODEL_PROPERTY_FULL_CLASS_NAME="io.swagger.v3.oas.annotations.media.Schema";
 
+    private static final String API_DATE_TIME_FORMAT="com.fasterxml.jackson.annotation.JsonFormat";
+
     /**
      * 设置用户配置的参数
      */
@@ -43,6 +45,11 @@ public class CommentGenerator extends DefaultCommentGenerator {
             }
             //给model的字段添加swagger注解
             field.addJavaDocLine("@Schema(description = \""+remarks+"\")");
+            //如果字段是时间类型 则加JsonFormat注解
+            System.out.println("字段类型:"+field.getType().getFullyQualifiedName());
+            if("java.util.Date".equals(field.getType().getFullyQualifiedName())){
+                field.addJavaDocLine("@JsonFormat(pattern = \"yyyy-MM-dd HH:mm\", timezone = \"GMT+8\")");
+            }
         }
     }
 
@@ -67,6 +74,7 @@ public class CommentGenerator extends DefaultCommentGenerator {
         //只在model中添加swagger注解类的导入
         if(!compilationUnit.getType().getFullyQualifiedName().contains(EXAMPLE_SUFFIX)){
             compilationUnit.addImportedType(new FullyQualifiedJavaType(API_MODEL_PROPERTY_FULL_CLASS_NAME));
+            compilationUnit.addImportedType(new FullyQualifiedJavaType(API_DATE_TIME_FORMAT));
         }
     }
 }

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasArcArchivesMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasArcArchives;
 import com.koobietech.eas.mbg.model.EasArcArchivesExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasArcArctypeMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasArcArctype;
 import com.koobietech.eas.mbg.model.EasArcArctypeExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasArcTlsAttendanceMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasArcTlsAttendance;
 import com.koobietech.eas.mbg.model.EasArcTlsAttendanceExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasArcTlsScoresMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasArcTlsScores;
 import com.koobietech.eas.mbg.model.EasArcTlsScoresExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasArcTlsStudentsMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasArcTlsStudents;
 import com.koobietech.eas.mbg.model.EasArcTlsStudentsExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasEduCategoryMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasEduCategory;
 import com.koobietech.eas.mbg.model.EasEduCategoryExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasEduClaRelationMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasEduClaRelation;
 import com.koobietech.eas.mbg.model.EasEduClaRelationExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasEduClassMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasEduClass;
 import com.koobietech.eas.mbg.model.EasEduClassExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasEduClassroomMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasEduClassroom;
 import com.koobietech.eas.mbg.model.EasEduClassroomExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasEduCltRelationMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasEduCltRelation;
 import com.koobietech.eas.mbg.model.EasEduCltRelationExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasEduScheduleMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasEduSchedule;
 import com.koobietech.eas.mbg.model.EasEduScheduleExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasEduSubjectsMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasEduSubjects;
 import com.koobietech.eas.mbg.model.EasEduSubjectsExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysDepRelationMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasSysDepRelation;
 import com.koobietech.eas.mbg.model.EasSysDepRelationExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysDepartmentMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasSysDepartment;
 import com.koobietech.eas.mbg.model.EasSysDepartmentExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysLogsMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasSysLogs;
 import com.koobietech.eas.mbg.model.EasSysLogsExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysPermissionMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasSysPermission;
 import com.koobietech.eas.mbg.model.EasSysPermissionExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysPesRelationMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasSysPesRelation;
 import com.koobietech.eas.mbg.model.EasSysPesRelationExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysStudentMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasSysStudent;
 import com.koobietech.eas.mbg.model.EasSysStudentExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 32 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysUniversityMapper.java

@@ -0,0 +1,32 @@
+package com.koobietech.eas.mbg.mapper;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.koobietech.eas.mbg.model.EasSysUniversity;
+import com.koobietech.eas.mbg.model.EasSysUniversityExample;
+import io.swagger.v3.oas.annotations.media.Schema;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface EasSysUniversityMapper {
+    long countByExample(EasSysUniversityExample example);
+
+    int deleteByExample(EasSysUniversityExample example);
+
+    int deleteByPrimaryKey(String universityCode);
+
+    int insert(EasSysUniversity record);
+
+    int insertSelective(EasSysUniversity record);
+
+    List<EasSysUniversity> selectByExample(EasSysUniversityExample example);
+
+    EasSysUniversity selectByPrimaryKey(String universityCode);
+
+    int updateByExampleSelective(@Param("record") EasSysUniversity record, @Param("example") EasSysUniversityExample example);
+
+    int updateByExample(@Param("record") EasSysUniversity record, @Param("example") EasSysUniversityExample example);
+
+    int updateByPrimaryKeySelective(EasSysUniversity record);
+
+    int updateByPrimaryKey(EasSysUniversity record);
+}

+ 1 - 0
mbg/src/main/java/com/koobietech/eas/mbg/mapper/EasSysUserinfoMapper.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.mapper;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.koobietech.eas.mbg.model.EasSysUserinfo;
 import com.koobietech.eas.mbg.model.EasSysUserinfoExample;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 16 - 11
mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcArchives.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -32,12 +33,12 @@ public class EasArcArchives implements Serializable {
     private String filePath;
 
     /**
-     * 文件类型Id
+     * 文件类型
      *
      * @mbg.generated
      */
-    @Schema(description = "文件类型Id")
-    private Integer arctypeId;
+    @Schema(description = "文件类型")
+    private String arctype;
 
     /**
      * 创建时间
@@ -45,6 +46,7 @@ public class EasArcArchives implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -53,6 +55,7 @@ public class EasArcArchives implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     /**
@@ -61,6 +64,7 @@ public class EasArcArchives implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "档案有效期截至时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date validityTime;
 
     /**
@@ -77,6 +81,7 @@ public class EasArcArchives implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "档案创建时间, 用于文件归档用")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createDate;
 
     /**
@@ -102,7 +107,7 @@ public class EasArcArchives implements Serializable {
     }
 
     public void setArchiveNumber(String archiveNumber) {
-        this.archiveNumber = archiveNumber;
+        this.archiveNumber = archiveNumber == null ? null : archiveNumber.trim();
     }
 
     public String getStudentNumber() {
@@ -110,7 +115,7 @@ public class EasArcArchives implements Serializable {
     }
 
     public void setStudentNumber(String studentNumber) {
-        this.studentNumber = studentNumber;
+        this.studentNumber = studentNumber == null ? null : studentNumber.trim();
     }
 
     public String getFilePath() {
@@ -118,15 +123,15 @@ public class EasArcArchives implements Serializable {
     }
 
     public void setFilePath(String filePath) {
-        this.filePath = filePath;
+        this.filePath = filePath == null ? null : filePath.trim();
     }
 
-    public Integer getArctypeId() {
-        return arctypeId;
+    public String getArctype() {
+        return arctype;
     }
 
-    public void setArctypeId(Integer arctypeId) {
-        this.arctypeId = arctypeId;
+    public void setArctype(String arctype) {
+        this.arctype = arctype == null ? null : arctype.trim();
     }
 
     public Date getCreateTime() {
@@ -187,7 +192,7 @@ public class EasArcArchives implements Serializable {
         sb.append(", archiveNumber=").append(archiveNumber);
         sb.append(", studentNumber=").append(studentNumber);
         sb.append(", filePath=").append(filePath);
-        sb.append(", arctypeId=").append(arctypeId);
+        sb.append(", arctype=").append(arctype);
         sb.append(", createTime=").append(createTime);
         sb.append(", modifyTime=").append(modifyTime);
         sb.append(", validityTime=").append(validityTime);

+ 34 - 24
mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcArchivesExample.java

@@ -402,63 +402,73 @@ public class EasArcArchivesExample {
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdIsNull() {
-            addCriterion("arctype_id is null");
+        public Criteria andArctypeIsNull() {
+            addCriterion("arctype is null");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdIsNotNull() {
-            addCriterion("arctype_id is not null");
+        public Criteria andArctypeIsNotNull() {
+            addCriterion("arctype is not null");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdEqualTo(Integer value) {
-            addCriterion("arctype_id =", value, "arctypeId");
+        public Criteria andArctypeEqualTo(String value) {
+            addCriterion("arctype =", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdNotEqualTo(Integer value) {
-            addCriterion("arctype_id <>", value, "arctypeId");
+        public Criteria andArctypeNotEqualTo(String value) {
+            addCriterion("arctype <>", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdGreaterThan(Integer value) {
-            addCriterion("arctype_id >", value, "arctypeId");
+        public Criteria andArctypeGreaterThan(String value) {
+            addCriterion("arctype >", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdGreaterThanOrEqualTo(Integer value) {
-            addCriterion("arctype_id >=", value, "arctypeId");
+        public Criteria andArctypeGreaterThanOrEqualTo(String value) {
+            addCriterion("arctype >=", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdLessThan(Integer value) {
-            addCriterion("arctype_id <", value, "arctypeId");
+        public Criteria andArctypeLessThan(String value) {
+            addCriterion("arctype <", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdLessThanOrEqualTo(Integer value) {
-            addCriterion("arctype_id <=", value, "arctypeId");
+        public Criteria andArctypeLessThanOrEqualTo(String value) {
+            addCriterion("arctype <=", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdIn(List<Integer> values) {
-            addCriterion("arctype_id in", values, "arctypeId");
+        public Criteria andArctypeLike(String value) {
+            addCriterion("arctype like", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdNotIn(List<Integer> values) {
-            addCriterion("arctype_id not in", values, "arctypeId");
+        public Criteria andArctypeNotLike(String value) {
+            addCriterion("arctype not like", value, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdBetween(Integer value1, Integer value2) {
-            addCriterion("arctype_id between", value1, value2, "arctypeId");
+        public Criteria andArctypeIn(List<String> values) {
+            addCriterion("arctype in", values, "arctype");
             return (Criteria) this;
         }
 
-        public Criteria andArctypeIdNotBetween(Integer value1, Integer value2) {
-            addCriterion("arctype_id not between", value1, value2, "arctypeId");
+        public Criteria andArctypeNotIn(List<String> values) {
+            addCriterion("arctype not in", values, "arctype");
+            return (Criteria) this;
+        }
+
+        public Criteria andArctypeBetween(String value1, String value2) {
+            addCriterion("arctype between", value1, value2, "arctype");
+            return (Criteria) this;
+        }
+
+        public Criteria andArctypeNotBetween(String value1, String value2) {
+            addCriterion("arctype not between", value1, value2, "arctype");
             return (Criteria) this;
         }
 

+ 8 - 5
mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcArctype.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -53,6 +54,7 @@ public class EasArcArctype implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -61,6 +63,7 @@ public class EasArcArctype implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     /**
@@ -86,7 +89,7 @@ public class EasArcArctype implements Serializable {
     }
 
     public void setName(String name) {
-        this.name = name;
+        this.name = name == null ? null : name.trim();
     }
 
     public String getIsViews() {
@@ -94,7 +97,7 @@ public class EasArcArctype implements Serializable {
     }
 
     public void setIsViews(String isViews) {
-        this.isViews = isViews;
+        this.isViews = isViews == null ? null : isViews.trim();
     }
 
     public String getTemplate() {
@@ -102,7 +105,7 @@ public class EasArcArctype implements Serializable {
     }
 
     public void setTemplate(String template) {
-        this.template = template;
+        this.template = template == null ? null : template.trim();
     }
 
     public String getBackup() {
@@ -110,7 +113,7 @@ public class EasArcArctype implements Serializable {
     }
 
     public void setBackup(String backup) {
-        this.backup = backup;
+        this.backup = backup == null ? null : backup.trim();
     }
 
     public String getSuffix() {
@@ -118,7 +121,7 @@ public class EasArcArctype implements Serializable {
     }
 
     public void setSuffix(String suffix) {
-        this.suffix = suffix;
+        this.suffix = suffix == null ? null : suffix.trim();
     }
 
     public Date getCreateTime() {

+ 24 - 3
mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcTlsAttendance.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -13,6 +14,7 @@ public class EasArcTlsAttendance implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "签到日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date checkinDate;
 
     /**
@@ -47,6 +49,14 @@ public class EasArcTlsAttendance implements Serializable {
     @Schema(description = "a  表示正常出勤,   b  表示迟到、早退, c  表示旷课, d  表示请假, e表示无效")
     private String afternoon;
 
+    /**
+     * 学员姓名
+     *
+     * @mbg.generated
+     */
+    @Schema(description = "学员姓名")
+    private String studentName;
+
     /**
      * 学生档案号
      *
@@ -69,6 +79,7 @@ public class EasArcTlsAttendance implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -77,6 +88,7 @@ public class EasArcTlsAttendance implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     private static final long serialVersionUID = 1L;
@@ -118,7 +130,7 @@ public class EasArcTlsAttendance implements Serializable {
     }
 
     public void setMorning(String morning) {
-        this.morning = morning;
+        this.morning = morning == null ? null : morning.trim();
     }
 
     public String getAfternoon() {
@@ -126,7 +138,15 @@ public class EasArcTlsAttendance implements Serializable {
     }
 
     public void setAfternoon(String afternoon) {
-        this.afternoon = afternoon;
+        this.afternoon = afternoon == null ? null : afternoon.trim();
+    }
+
+    public String getStudentName() {
+        return studentName;
+    }
+
+    public void setStudentName(String studentName) {
+        this.studentName = studentName == null ? null : studentName.trim();
     }
 
     public String getStudentNumber() {
@@ -134,7 +154,7 @@ public class EasArcTlsAttendance implements Serializable {
     }
 
     public void setStudentNumber(String studentNumber) {
-        this.studentNumber = studentNumber;
+        this.studentNumber = studentNumber == null ? null : studentNumber.trim();
     }
 
     public Integer getCreateUid() {
@@ -173,6 +193,7 @@ public class EasArcTlsAttendance implements Serializable {
         sb.append(", month=").append(month);
         sb.append(", morning=").append(morning);
         sb.append(", afternoon=").append(afternoon);
+        sb.append(", studentName=").append(studentName);
         sb.append(", studentNumber=").append(studentNumber);
         sb.append(", createUid=").append(createUid);
         sb.append(", createTime=").append(createTime);

+ 70 - 0
mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcTlsAttendanceExample.java

@@ -512,6 +512,76 @@ public class EasArcTlsAttendanceExample {
             return (Criteria) this;
         }
 
+        public Criteria andStudentNameIsNull() {
+            addCriterion("student_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentNameIsNotNull() {
+            addCriterion("student_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentNameEqualTo(String value) {
+            addCriterion("student_name =", value, "studentName");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentNameNotEqualTo(String value) {
+            addCriterion("student_name <>", value, "studentName");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentNameGreaterThan(String value) {
+            addCriterion("student_name >", value, "studentName");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentNameGreaterThanOrEqualTo(String value) {
+            addCriterion("student_name >=", value, "studentName");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentNameLessThan(String value) {
+            addCriterion("student_name <", value, "studentName");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentNameLessThanOrEqualTo(String value) {
+            addCriterion("student_name <=", value, "studentName");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentNameLike(String value) {
+            addCriterion("student_name like", value, "studentName");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentNameNotLike(String value) {
+            addCriterion("student_name not like", value, "studentName");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentNameIn(List<String> values) {
+            addCriterion("student_name in", values, "studentName");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentNameNotIn(List<String> values) {
+            addCriterion("student_name not in", values, "studentName");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentNameBetween(String value1, String value2) {
+            addCriterion("student_name between", value1, value2, "studentName");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentNameNotBetween(String value1, String value2) {
+            addCriterion("student_name not between", value1, value2, "studentName");
+            return (Criteria) this;
+        }
+
         public Criteria andStudentNumberIsNull() {
             addCriterion("student_number is null");
             return (Criteria) this;

+ 6 - 2
mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcTlsScores.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -44,6 +45,7 @@ public class EasArcTlsScores implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "考试时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date testDate;
 
     /**
@@ -76,6 +78,7 @@ public class EasArcTlsScores implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -84,6 +87,7 @@ public class EasArcTlsScores implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     /**
@@ -117,7 +121,7 @@ public class EasArcTlsScores implements Serializable {
     }
 
     public void setStudentNumber(String studentNumber) {
-        this.studentNumber = studentNumber;
+        this.studentNumber = studentNumber == null ? null : studentNumber.trim();
     }
 
     public Integer getCategoryId() {
@@ -197,7 +201,7 @@ public class EasArcTlsScores implements Serializable {
     }
 
     public void setComment(String comment) {
-        this.comment = comment;
+        this.comment = comment == null ? null : comment.trim();
     }
 
     @Override

+ 32 - 15
mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcTlsStudents.java

@@ -2,8 +2,6 @@ package com.koobietech.eas.mbg.model;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
-import org.springframework.format.annotation.DateTimeFormat;
-
 import java.io.Serializable;
 import java.util.Date;
 
@@ -54,7 +52,7 @@ public class EasArcTlsStudents implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "学生出生日期")
-    @JsonFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date birthdate;
 
     /**
@@ -87,7 +85,7 @@ public class EasArcTlsStudents implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "学生入学进入培训班日期")
-    @JsonFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date enrollmentDate;
 
     /**
@@ -96,7 +94,7 @@ public class EasArcTlsStudents implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "学生在培训班毕业日期")
-    @JsonFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date graduationDate;
 
     /**
@@ -137,6 +135,7 @@ public class EasArcTlsStudents implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -145,6 +144,7 @@ public class EasArcTlsStudents implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     /**
@@ -171,6 +171,14 @@ public class EasArcTlsStudents implements Serializable {
     @Schema(description = "创建用户ID")
     private Integer createUid;
 
+    /**
+     * 学生身份证号
+     *
+     * @mbg.generated
+     */
+    @Schema(description = "学生身份证号")
+    private String studentIdnumber;
+
     private static final long serialVersionUID = 1L;
 
     public Integer getId() {
@@ -186,7 +194,7 @@ public class EasArcTlsStudents implements Serializable {
     }
 
     public void setArchiveNumber(String archiveNumber) {
-        this.archiveNumber = archiveNumber;
+        this.archiveNumber = archiveNumber == null ? null : archiveNumber.trim();
     }
 
     public String getStudentNumber() {
@@ -194,7 +202,7 @@ public class EasArcTlsStudents implements Serializable {
     }
 
     public void setStudentNumber(String studentNumber) {
-        this.studentNumber = studentNumber;
+        this.studentNumber = studentNumber == null ? null : studentNumber.trim();
     }
 
     public String getStudentName() {
@@ -202,7 +210,7 @@ public class EasArcTlsStudents implements Serializable {
     }
 
     public void setStudentName(String studentName) {
-        this.studentName = studentName;
+        this.studentName = studentName == null ? null : studentName.trim();
     }
 
     public String getGender() {
@@ -210,7 +218,7 @@ public class EasArcTlsStudents implements Serializable {
     }
 
     public void setGender(String gender) {
-        this.gender = gender;
+        this.gender = gender == null ? null : gender.trim();
     }
 
     public Date getBirthdate() {
@@ -226,7 +234,7 @@ public class EasArcTlsStudents implements Serializable {
     }
 
     public void setAddress(String address) {
-        this.address = address;
+        this.address = address == null ? null : address.trim();
     }
 
     public String getPhone() {
@@ -234,7 +242,7 @@ public class EasArcTlsStudents implements Serializable {
     }
 
     public void setPhone(String phone) {
-        this.phone = phone;
+        this.phone = phone == null ? null : phone.trim();
     }
 
     public String getEmail() {
@@ -242,7 +250,7 @@ public class EasArcTlsStudents implements Serializable {
     }
 
     public void setEmail(String email) {
-        this.email = email;
+        this.email = email == null ? null : email.trim();
     }
 
     public Date getEnrollmentDate() {
@@ -274,7 +282,7 @@ public class EasArcTlsStudents implements Serializable {
     }
 
     public void setMajor(String major) {
-        this.major = major;
+        this.major = major == null ? null : major.trim();
     }
 
     public String getMinor() {
@@ -282,7 +290,7 @@ public class EasArcTlsStudents implements Serializable {
     }
 
     public void setMinor(String minor) {
-        this.minor = minor;
+        this.minor = minor == null ? null : minor.trim();
     }
 
     public String getUniversity() {
@@ -290,7 +298,7 @@ public class EasArcTlsStudents implements Serializable {
     }
 
     public void setUniversity(String university) {
-        this.university = university;
+        this.university = university == null ? null : university.trim();
     }
 
     public Date getCreateTime() {
@@ -333,6 +341,14 @@ public class EasArcTlsStudents implements Serializable {
         this.createUid = createUid;
     }
 
+    public String getStudentIdnumber() {
+        return studentIdnumber;
+    }
+
+    public void setStudentIdnumber(String studentIdnumber) {
+        this.studentIdnumber = studentIdnumber == null ? null : studentIdnumber.trim();
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -359,6 +375,7 @@ public class EasArcTlsStudents implements Serializable {
         sb.append(", admissionsId=").append(admissionsId);
         sb.append(", managerId=").append(managerId);
         sb.append(", createUid=").append(createUid);
+        sb.append(", studentIdnumber=").append(studentIdnumber);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 70 - 0
mbg/src/main/java/com/koobietech/eas/mbg/model/EasArcTlsStudentsExample.java

@@ -1431,6 +1431,76 @@ public class EasArcTlsStudentsExample {
             addCriterion("create_uid not between", value1, value2, "createUid");
             return (Criteria) this;
         }
+
+        public Criteria andStudentIdnumberIsNull() {
+            addCriterion("student_idnumber is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberIsNotNull() {
+            addCriterion("student_idnumber is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberEqualTo(String value) {
+            addCriterion("student_idnumber =", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberNotEqualTo(String value) {
+            addCriterion("student_idnumber <>", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberGreaterThan(String value) {
+            addCriterion("student_idnumber >", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberGreaterThanOrEqualTo(String value) {
+            addCriterion("student_idnumber >=", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberLessThan(String value) {
+            addCriterion("student_idnumber <", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberLessThanOrEqualTo(String value) {
+            addCriterion("student_idnumber <=", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberLike(String value) {
+            addCriterion("student_idnumber like", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberNotLike(String value) {
+            addCriterion("student_idnumber not like", value, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberIn(List<String> values) {
+            addCriterion("student_idnumber in", values, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberNotIn(List<String> values) {
+            addCriterion("student_idnumber not in", values, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberBetween(String value1, String value2) {
+            addCriterion("student_idnumber between", value1, value2, "studentIdnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andStudentIdnumberNotBetween(String value1, String value2) {
+            addCriterion("student_idnumber not between", value1, value2, "studentIdnumber");
+            return (Criteria) this;
+        }
     }
 
     public static class Criteria extends GeneratedCriteria {

+ 6 - 3
mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduCategory.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -29,6 +30,7 @@ public class EasEduCategory implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -37,6 +39,7 @@ public class EasEduCategory implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     /**
@@ -70,7 +73,7 @@ public class EasEduCategory implements Serializable {
     }
 
     public void setName(String name) {
-        this.name = name;
+        this.name = name == null ? null : name.trim();
     }
 
     public String getDescription() {
@@ -78,7 +81,7 @@ public class EasEduCategory implements Serializable {
     }
 
     public void setDescription(String description) {
-        this.description = description;
+        this.description = description == null ? null : description.trim();
     }
 
     public Date getCreateTime() {
@@ -110,7 +113,7 @@ public class EasEduCategory implements Serializable {
     }
 
     public void setDisabled(String disabled) {
-        this.disabled = disabled;
+        this.disabled = disabled == null ? null : disabled.trim();
     }
 
     @Override

+ 3 - 0
mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduClaRelation.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -45,6 +46,7 @@ public class EasEduClaRelation implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -53,6 +55,7 @@ public class EasEduClaRelation implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     /**

+ 5 - 2
mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduClass.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -43,6 +44,7 @@ public class EasEduClass implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -51,6 +53,7 @@ public class EasEduClass implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     /**
@@ -84,7 +87,7 @@ public class EasEduClass implements Serializable {
     }
 
     public void setName(String name) {
-        this.name = name;
+        this.name = name == null ? null : name.trim();
     }
 
     public Integer getManageId() {
@@ -132,7 +135,7 @@ public class EasEduClass implements Serializable {
     }
 
     public void setDisabled(String disabled) {
-        this.disabled = disabled;
+        this.disabled = disabled == null ? null : disabled.trim();
     }
 
     @Override

+ 8 - 5
mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduClassroom.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -77,6 +78,7 @@ public class EasEduClassroom implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -85,6 +87,7 @@ public class EasEduClassroom implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     /**
@@ -110,7 +113,7 @@ public class EasEduClassroom implements Serializable {
     }
 
     public void setName(String name) {
-        this.name = name;
+        this.name = name == null ? null : name.trim();
     }
 
     public Integer getManagerId() {
@@ -126,7 +129,7 @@ public class EasEduClassroom implements Serializable {
     }
 
     public void setAddress(String address) {
-        this.address = address;
+        this.address = address == null ? null : address.trim();
     }
 
     public String getManager() {
@@ -134,7 +137,7 @@ public class EasEduClassroom implements Serializable {
     }
 
     public void setManager(String manager) {
-        this.manager = manager;
+        this.manager = manager == null ? null : manager.trim();
     }
 
     public Integer getFloor() {
@@ -158,7 +161,7 @@ public class EasEduClassroom implements Serializable {
     }
 
     public void setComment(String comment) {
-        this.comment = comment;
+        this.comment = comment == null ? null : comment.trim();
     }
 
     public String getDisabled() {
@@ -166,7 +169,7 @@ public class EasEduClassroom implements Serializable {
     }
 
     public void setDisabled(String disabled) {
-        this.disabled = disabled;
+        this.disabled = disabled == null ? null : disabled.trim();
     }
 
     public Date getCreateTime() {

+ 3 - 0
mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduCltRelation.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -29,6 +30,7 @@ public class EasEduCltRelation implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -37,6 +39,7 @@ public class EasEduCltRelation implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     /**

+ 6 - 1
mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduSchedule.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -21,6 +22,7 @@ public class EasEduSchedule implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "起始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date startTime;
 
     /**
@@ -29,6 +31,7 @@ public class EasEduSchedule implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date endTime;
 
     /**
@@ -85,6 +88,7 @@ public class EasEduSchedule implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -93,6 +97,7 @@ public class EasEduSchedule implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     /**
@@ -222,7 +227,7 @@ public class EasEduSchedule implements Serializable {
     }
 
     public void setDisabled(String disabled) {
-        this.disabled = disabled;
+        this.disabled = disabled == null ? null : disabled.trim();
     }
 
     @Override

+ 9 - 6
mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduSubjects.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -29,7 +30,7 @@ public class EasEduSubjects implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "学科分类")
-    private String categoryId;
+    private Integer categoryId;
 
     /**
      * 创建时间
@@ -37,6 +38,7 @@ public class EasEduSubjects implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -45,6 +47,7 @@ public class EasEduSubjects implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     /**
@@ -78,7 +81,7 @@ public class EasEduSubjects implements Serializable {
     }
 
     public void setName(String name) {
-        this.name = name;
+        this.name = name == null ? null : name.trim();
     }
 
     public String getDescription() {
@@ -86,14 +89,14 @@ public class EasEduSubjects implements Serializable {
     }
 
     public void setDescription(String description) {
-        this.description = description;
+        this.description = description == null ? null : description.trim();
     }
 
-    public String getCategoryId() {
+    public Integer getCategoryId() {
         return categoryId;
     }
 
-    public void setCategoryId(String categoryId) {
+    public void setCategoryId(Integer categoryId) {
         this.categoryId = categoryId;
     }
 
@@ -126,7 +129,7 @@ public class EasEduSubjects implements Serializable {
     }
 
     public void setDisabled(String disabled) {
-        this.disabled = disabled;
+        this.disabled = disabled == null ? null : disabled.trim();
     }
 
     @Override

+ 10 - 20
mbg/src/main/java/com/koobietech/eas/mbg/model/EasEduSubjectsExample.java

@@ -315,62 +315,52 @@ public class EasEduSubjectsExample {
             return (Criteria) this;
         }
 
-        public Criteria andCategoryIdEqualTo(String value) {
+        public Criteria andCategoryIdEqualTo(Integer value) {
             addCriterion("category_id =", value, "categoryId");
             return (Criteria) this;
         }
 
-        public Criteria andCategoryIdNotEqualTo(String value) {
+        public Criteria andCategoryIdNotEqualTo(Integer value) {
             addCriterion("category_id <>", value, "categoryId");
             return (Criteria) this;
         }
 
-        public Criteria andCategoryIdGreaterThan(String value) {
+        public Criteria andCategoryIdGreaterThan(Integer value) {
             addCriterion("category_id >", value, "categoryId");
             return (Criteria) this;
         }
 
-        public Criteria andCategoryIdGreaterThanOrEqualTo(String value) {
+        public Criteria andCategoryIdGreaterThanOrEqualTo(Integer value) {
             addCriterion("category_id >=", value, "categoryId");
             return (Criteria) this;
         }
 
-        public Criteria andCategoryIdLessThan(String value) {
+        public Criteria andCategoryIdLessThan(Integer value) {
             addCriterion("category_id <", value, "categoryId");
             return (Criteria) this;
         }
 
-        public Criteria andCategoryIdLessThanOrEqualTo(String value) {
+        public Criteria andCategoryIdLessThanOrEqualTo(Integer value) {
             addCriterion("category_id <=", value, "categoryId");
             return (Criteria) this;
         }
 
-        public Criteria andCategoryIdLike(String value) {
-            addCriterion("category_id like", value, "categoryId");
-            return (Criteria) this;
-        }
-
-        public Criteria andCategoryIdNotLike(String value) {
-            addCriterion("category_id not like", value, "categoryId");
-            return (Criteria) this;
-        }
-
-        public Criteria andCategoryIdIn(List<String> values) {
+        public Criteria andCategoryIdIn(List<Integer> values) {
             addCriterion("category_id in", values, "categoryId");
             return (Criteria) this;
         }
 
-        public Criteria andCategoryIdNotIn(List<String> values) {
+        public Criteria andCategoryIdNotIn(List<Integer> values) {
             addCriterion("category_id not in", values, "categoryId");
             return (Criteria) this;
         }
 
-        public Criteria andCategoryIdBetween(String value1, String value2) {
+        public Criteria andCategoryIdBetween(Integer value1, Integer value2) {
             addCriterion("category_id between", value1, value2, "categoryId");
             return (Criteria) this;
         }
 
-        public Criteria andCategoryIdNotBetween(String value1, String value2) {
+        public Criteria andCategoryIdNotBetween(Integer value1, Integer value2) {
             addCriterion("category_id not between", value1, value2, "categoryId");
             return (Criteria) this;
         }

+ 2 - 0
mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysDepRelation.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -43,6 +44,7 @@ public class EasSysDepRelation implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**

+ 9 - 6
mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysDepartment.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -53,6 +54,7 @@ public class EasSysDepartment implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -61,6 +63,7 @@ public class EasSysDepartment implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     /**
@@ -94,7 +97,7 @@ public class EasSysDepartment implements Serializable {
     }
 
     public void setDepname(String depname) {
-        this.depname = depname;
+        this.depname = depname == null ? null : depname.trim();
     }
 
     public String getAddress() {
@@ -102,7 +105,7 @@ public class EasSysDepartment implements Serializable {
     }
 
     public void setAddress(String address) {
-        this.address = address;
+        this.address = address == null ? null : address.trim();
     }
 
     public String getPhone() {
@@ -110,7 +113,7 @@ public class EasSysDepartment implements Serializable {
     }
 
     public void setPhone(String phone) {
-        this.phone = phone;
+        this.phone = phone == null ? null : phone.trim();
     }
 
     public String getEmail() {
@@ -118,7 +121,7 @@ public class EasSysDepartment implements Serializable {
     }
 
     public void setEmail(String email) {
-        this.email = email;
+        this.email = email == null ? null : email.trim();
     }
 
     public String getManager() {
@@ -126,7 +129,7 @@ public class EasSysDepartment implements Serializable {
     }
 
     public void setManager(String manager) {
-        this.manager = manager;
+        this.manager = manager == null ? null : manager.trim();
     }
 
     public Date getCreateTime() {
@@ -158,7 +161,7 @@ public class EasSysDepartment implements Serializable {
     }
 
     public void setDisabled(String disabled) {
-        this.disabled = disabled;
+        this.disabled = disabled == null ? null : disabled.trim();
     }
 
     @Override

+ 6 - 4
mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysLogs.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -19,6 +20,7 @@ public class EasSysLogs implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "记录日志的时间戳")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date timestamp;
 
     /**
@@ -76,7 +78,7 @@ public class EasSysLogs implements Serializable {
     }
 
     public void setLevel(String level) {
-        this.level = level;
+        this.level = level == null ? null : level.trim();
     }
 
     public String getLogger() {
@@ -84,7 +86,7 @@ public class EasSysLogs implements Serializable {
     }
 
     public void setLogger(String logger) {
-        this.logger = logger;
+        this.logger = logger == null ? null : logger.trim();
     }
 
     public String getMessage() {
@@ -92,7 +94,7 @@ public class EasSysLogs implements Serializable {
     }
 
     public void setMessage(String message) {
-        this.message = message;
+        this.message = message == null ? null : message.trim();
     }
 
     public String getException() {
@@ -100,7 +102,7 @@ public class EasSysLogs implements Serializable {
     }
 
     public void setException(String exception) {
-        this.exception = exception;
+        this.exception = exception == null ? null : exception.trim();
     }
 
     @Override

+ 6 - 3
mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysPermission.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -43,6 +44,7 @@ public class EasSysPermission implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -51,6 +53,7 @@ public class EasSysPermission implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     /**
@@ -84,7 +87,7 @@ public class EasSysPermission implements Serializable {
     }
 
     public void setName(String name) {
-        this.name = name;
+        this.name = name == null ? null : name.trim();
     }
 
     public String getDescription() {
@@ -92,7 +95,7 @@ public class EasSysPermission implements Serializable {
     }
 
     public void setDescription(String description) {
-        this.description = description;
+        this.description = description == null ? null : description.trim();
     }
 
     public Byte getIsActive() {
@@ -132,7 +135,7 @@ public class EasSysPermission implements Serializable {
     }
 
     public void setDisabled(String disabled) {
-        this.disabled = disabled;
+        this.disabled = disabled == null ? null : disabled.trim();
     }
 
     @Override

+ 2 - 0
mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysPesRelation.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -35,6 +36,7 @@ public class EasSysPesRelation implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**

+ 28 - 7
mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysStudent.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -53,6 +54,7 @@ public class EasSysStudent implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "学生入学日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date enrollmentDate;
 
     /**
@@ -63,12 +65,21 @@ public class EasSysStudent implements Serializable {
     @Schema(description = "学生密码")
     private String passwd;
 
+    /**
+     * 学员头像
+     *
+     * @mbg.generated
+     */
+    @Schema(description = "学员头像")
+    private String avatar;
+
     /**
      * 创建时间
      *
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -77,6 +88,7 @@ public class EasSysStudent implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     /**
@@ -126,7 +138,7 @@ public class EasSysStudent implements Serializable {
     }
 
     public void setStudentNumber(String studentNumber) {
-        this.studentNumber = studentNumber;
+        this.studentNumber = studentNumber == null ? null : studentNumber.trim();
     }
 
     public String getStudentName() {
@@ -134,7 +146,7 @@ public class EasSysStudent implements Serializable {
     }
 
     public void setStudentName(String studentName) {
-        this.studentName = studentName;
+        this.studentName = studentName == null ? null : studentName.trim();
     }
 
     public String getGender() {
@@ -142,7 +154,7 @@ public class EasSysStudent implements Serializable {
     }
 
     public void setGender(String gender) {
-        this.gender = gender;
+        this.gender = gender == null ? null : gender.trim();
     }
 
     public String getPhone() {
@@ -150,7 +162,7 @@ public class EasSysStudent implements Serializable {
     }
 
     public void setPhone(String phone) {
-        this.phone = phone;
+        this.phone = phone == null ? null : phone.trim();
     }
 
     public String getEmail() {
@@ -158,7 +170,7 @@ public class EasSysStudent implements Serializable {
     }
 
     public void setEmail(String email) {
-        this.email = email;
+        this.email = email == null ? null : email.trim();
     }
 
     public Date getEnrollmentDate() {
@@ -174,7 +186,15 @@ public class EasSysStudent implements Serializable {
     }
 
     public void setPasswd(String passwd) {
-        this.passwd = passwd;
+        this.passwd = passwd == null ? null : passwd.trim();
+    }
+
+    public String getAvatar() {
+        return avatar;
+    }
+
+    public void setAvatar(String avatar) {
+        this.avatar = avatar == null ? null : avatar.trim();
     }
 
     public Date getCreateTime() {
@@ -222,7 +242,7 @@ public class EasSysStudent implements Serializable {
     }
 
     public void setDisabled(String disabled) {
-        this.disabled = disabled;
+        this.disabled = disabled == null ? null : disabled.trim();
     }
 
     @Override
@@ -239,6 +259,7 @@ public class EasSysStudent implements Serializable {
         sb.append(", email=").append(email);
         sb.append(", enrollmentDate=").append(enrollmentDate);
         sb.append(", passwd=").append(passwd);
+        sb.append(", avatar=").append(avatar);
         sb.append(", createTime=").append(createTime);
         sb.append(", modifyTime=").append(modifyTime);
         sb.append(", admissionsId=").append(admissionsId);

+ 70 - 0
mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysStudentExample.java

@@ -672,6 +672,76 @@ public class EasSysStudentExample {
             return (Criteria) this;
         }
 
+        public Criteria andAvatarIsNull() {
+            addCriterion("avatar is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAvatarIsNotNull() {
+            addCriterion("avatar is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAvatarEqualTo(String value) {
+            addCriterion("avatar =", value, "avatar");
+            return (Criteria) this;
+        }
+
+        public Criteria andAvatarNotEqualTo(String value) {
+            addCriterion("avatar <>", value, "avatar");
+            return (Criteria) this;
+        }
+
+        public Criteria andAvatarGreaterThan(String value) {
+            addCriterion("avatar >", value, "avatar");
+            return (Criteria) this;
+        }
+
+        public Criteria andAvatarGreaterThanOrEqualTo(String value) {
+            addCriterion("avatar >=", value, "avatar");
+            return (Criteria) this;
+        }
+
+        public Criteria andAvatarLessThan(String value) {
+            addCriterion("avatar <", value, "avatar");
+            return (Criteria) this;
+        }
+
+        public Criteria andAvatarLessThanOrEqualTo(String value) {
+            addCriterion("avatar <=", value, "avatar");
+            return (Criteria) this;
+        }
+
+        public Criteria andAvatarLike(String value) {
+            addCriterion("avatar like", value, "avatar");
+            return (Criteria) this;
+        }
+
+        public Criteria andAvatarNotLike(String value) {
+            addCriterion("avatar not like", value, "avatar");
+            return (Criteria) this;
+        }
+
+        public Criteria andAvatarIn(List<String> values) {
+            addCriterion("avatar in", values, "avatar");
+            return (Criteria) this;
+        }
+
+        public Criteria andAvatarNotIn(List<String> values) {
+            addCriterion("avatar not in", values, "avatar");
+            return (Criteria) this;
+        }
+
+        public Criteria andAvatarBetween(String value1, String value2) {
+            addCriterion("avatar between", value1, value2, "avatar");
+            return (Criteria) this;
+        }
+
+        public Criteria andAvatarNotBetween(String value1, String value2) {
+            addCriterion("avatar not between", value1, value2, "avatar");
+            return (Criteria) this;
+        }
+
         public Criteria andCreateTimeIsNull() {
             addCriterion("create_time is null");
             return (Criteria) this;

+ 54 - 0
mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysUniversity.java

@@ -0,0 +1,54 @@
+package com.koobietech.eas.mbg.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import java.io.Serializable;
+
+public class EasSysUniversity implements Serializable {
+    /**
+     * 大学编码
+     *
+     * @mbg.generated
+     */
+    @Schema(description = "大学编码")
+    private String universityCode;
+
+    /**
+     * 学校名
+     *
+     * @mbg.generated
+     */
+    @Schema(description = "学校名")
+    private String universityTitle;
+
+    private static final long serialVersionUID = 1L;
+
+    public String getUniversityCode() {
+        return universityCode;
+    }
+
+    public void setUniversityCode(String universityCode) {
+        this.universityCode = universityCode == null ? null : universityCode.trim();
+    }
+
+    public String getUniversityTitle() {
+        return universityTitle;
+    }
+
+    public void setUniversityTitle(String universityTitle) {
+        this.universityTitle = universityTitle == null ? null : universityTitle.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", universityCode=").append(universityCode);
+        sb.append(", universityTitle=").append(universityTitle);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 339 - 0
mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysUniversityExample.java

@@ -0,0 +1,339 @@
+package com.koobietech.eas.mbg.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class EasSysUniversityExample {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public EasSysUniversityExample() {
+        oredCriteria = new ArrayList<>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andUniversityCodeIsNull() {
+            addCriterion("university_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityCodeIsNotNull() {
+            addCriterion("university_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityCodeEqualTo(String value) {
+            addCriterion("university_code =", value, "universityCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityCodeNotEqualTo(String value) {
+            addCriterion("university_code <>", value, "universityCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityCodeGreaterThan(String value) {
+            addCriterion("university_code >", value, "universityCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("university_code >=", value, "universityCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityCodeLessThan(String value) {
+            addCriterion("university_code <", value, "universityCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityCodeLessThanOrEqualTo(String value) {
+            addCriterion("university_code <=", value, "universityCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityCodeLike(String value) {
+            addCriterion("university_code like", value, "universityCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityCodeNotLike(String value) {
+            addCriterion("university_code not like", value, "universityCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityCodeIn(List<String> values) {
+            addCriterion("university_code in", values, "universityCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityCodeNotIn(List<String> values) {
+            addCriterion("university_code not in", values, "universityCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityCodeBetween(String value1, String value2) {
+            addCriterion("university_code between", value1, value2, "universityCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityCodeNotBetween(String value1, String value2) {
+            addCriterion("university_code not between", value1, value2, "universityCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityTitleIsNull() {
+            addCriterion("university_title is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityTitleIsNotNull() {
+            addCriterion("university_title is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityTitleEqualTo(String value) {
+            addCriterion("university_title =", value, "universityTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityTitleNotEqualTo(String value) {
+            addCriterion("university_title <>", value, "universityTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityTitleGreaterThan(String value) {
+            addCriterion("university_title >", value, "universityTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityTitleGreaterThanOrEqualTo(String value) {
+            addCriterion("university_title >=", value, "universityTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityTitleLessThan(String value) {
+            addCriterion("university_title <", value, "universityTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityTitleLessThanOrEqualTo(String value) {
+            addCriterion("university_title <=", value, "universityTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityTitleLike(String value) {
+            addCriterion("university_title like", value, "universityTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityTitleNotLike(String value) {
+            addCriterion("university_title not like", value, "universityTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityTitleIn(List<String> values) {
+            addCriterion("university_title in", values, "universityTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityTitleNotIn(List<String> values) {
+            addCriterion("university_title not in", values, "universityTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityTitleBetween(String value1, String value2) {
+            addCriterion("university_title between", value1, value2, "universityTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andUniversityTitleNotBetween(String value1, String value2) {
+            addCriterion("university_title not between", value1, value2, "universityTitle");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 10 - 7
mbg/src/main/java/com/koobietech/eas/mbg/model/EasSysUserinfo.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.mbg.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import java.io.Serializable;
 import java.util.Date;
@@ -67,6 +68,7 @@ public class EasSysUserinfo implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -75,6 +77,7 @@ public class EasSysUserinfo implements Serializable {
      * @mbg.generated
      */
     @Schema(description = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date modifyTime;
 
     /**
@@ -108,7 +111,7 @@ public class EasSysUserinfo implements Serializable {
     }
 
     public void setUsername(String username) {
-        this.username = username;
+        this.username = username == null ? null : username.trim();
     }
 
     public String getPasswd() {
@@ -116,7 +119,7 @@ public class EasSysUserinfo implements Serializable {
     }
 
     public void setPasswd(String passwd) {
-        this.passwd = passwd;
+        this.passwd = passwd == null ? null : passwd.trim();
     }
 
     public String getEmail() {
@@ -124,7 +127,7 @@ public class EasSysUserinfo implements Serializable {
     }
 
     public void setEmail(String email) {
-        this.email = email;
+        this.email = email == null ? null : email.trim();
     }
 
     public String getRelname() {
@@ -132,7 +135,7 @@ public class EasSysUserinfo implements Serializable {
     }
 
     public void setRelname(String relname) {
-        this.relname = relname;
+        this.relname = relname == null ? null : relname.trim();
     }
 
     public String getPhone() {
@@ -140,7 +143,7 @@ public class EasSysUserinfo implements Serializable {
     }
 
     public void setPhone(String phone) {
-        this.phone = phone;
+        this.phone = phone == null ? null : phone.trim();
     }
 
     public String getAddress() {
@@ -148,7 +151,7 @@ public class EasSysUserinfo implements Serializable {
     }
 
     public void setAddress(String address) {
-        this.address = address;
+        this.address = address == null ? null : address.trim();
     }
 
     public Date getCreateTime() {
@@ -180,7 +183,7 @@ public class EasSysUserinfo implements Serializable {
     }
 
     public void setDisabled(String disabled) {
-        this.disabled = disabled;
+        this.disabled = disabled == null ? null : disabled.trim();
     }
 
     @Override

+ 14 - 14
mbg/src/main/resources/com/koobietech/eas/mbg/mapper/EasArcArchivesMapper.xml

@@ -6,7 +6,7 @@
     <result column="archive_number" jdbcType="VARCHAR" property="archiveNumber" />
     <result column="student_number" jdbcType="VARCHAR" property="studentNumber" />
     <result column="file_path" jdbcType="VARCHAR" property="filePath" />
-    <result column="arctype_id" jdbcType="INTEGER" property="arctypeId" />
+    <result column="arctype" jdbcType="VARCHAR" property="arctype" />
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
     <result column="modify_time" jdbcType="TIMESTAMP" property="modifyTime" />
     <result column="validity_time" jdbcType="TIMESTAMP" property="validityTime" />
@@ -73,7 +73,7 @@
     </where>
   </sql>
   <sql id="Base_Column_List">
-    id, archive_number, student_number, file_path, arctype_id, create_time, modify_time, 
+    id, archive_number, student_number, file_path, arctype, create_time, modify_time, 
     validity_time, manager_id, create_date, create_uid
   </sql>
   <select id="selectByExample" parameterType="com.koobietech.eas.mbg.model.EasArcArchivesExample" resultMap="BaseResultMap">
@@ -111,11 +111,11 @@
       SELECT LAST_INSERT_ID()
     </selectKey>
     insert into eas_arc_archives (archive_number, student_number, file_path, 
-      arctype_id, create_time, modify_time, 
+      arctype, create_time, modify_time, 
       validity_time, manager_id, create_date, 
       create_uid)
     values (#{archiveNumber,jdbcType=VARCHAR}, #{studentNumber,jdbcType=VARCHAR}, #{filePath,jdbcType=VARCHAR}, 
-      #{arctypeId,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{modifyTime,jdbcType=TIMESTAMP}, 
+      #{arctype,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{modifyTime,jdbcType=TIMESTAMP}, 
       #{validityTime,jdbcType=TIMESTAMP}, #{managerId,jdbcType=INTEGER}, #{createDate,jdbcType=DATE}, 
       #{createUid,jdbcType=INTEGER})
   </insert>
@@ -134,8 +134,8 @@
       <if test="filePath != null">
         file_path,
       </if>
-      <if test="arctypeId != null">
-        arctype_id,
+      <if test="arctype != null">
+        arctype,
       </if>
       <if test="createTime != null">
         create_time,
@@ -166,8 +166,8 @@
       <if test="filePath != null">
         #{filePath,jdbcType=VARCHAR},
       </if>
-      <if test="arctypeId != null">
-        #{arctypeId,jdbcType=INTEGER},
+      <if test="arctype != null">
+        #{arctype,jdbcType=VARCHAR},
       </if>
       <if test="createTime != null">
         #{createTime,jdbcType=TIMESTAMP},
@@ -210,8 +210,8 @@
       <if test="record.filePath != null">
         file_path = #{record.filePath,jdbcType=VARCHAR},
       </if>
-      <if test="record.arctypeId != null">
-        arctype_id = #{record.arctypeId,jdbcType=INTEGER},
+      <if test="record.arctype != null">
+        arctype = #{record.arctype,jdbcType=VARCHAR},
       </if>
       <if test="record.createTime != null">
         create_time = #{record.createTime,jdbcType=TIMESTAMP},
@@ -242,7 +242,7 @@
       archive_number = #{record.archiveNumber,jdbcType=VARCHAR},
       student_number = #{record.studentNumber,jdbcType=VARCHAR},
       file_path = #{record.filePath,jdbcType=VARCHAR},
-      arctype_id = #{record.arctypeId,jdbcType=INTEGER},
+      arctype = #{record.arctype,jdbcType=VARCHAR},
       create_time = #{record.createTime,jdbcType=TIMESTAMP},
       modify_time = #{record.modifyTime,jdbcType=TIMESTAMP},
       validity_time = #{record.validityTime,jdbcType=TIMESTAMP},
@@ -265,8 +265,8 @@
       <if test="filePath != null">
         file_path = #{filePath,jdbcType=VARCHAR},
       </if>
-      <if test="arctypeId != null">
-        arctype_id = #{arctypeId,jdbcType=INTEGER},
+      <if test="arctype != null">
+        arctype = #{arctype,jdbcType=VARCHAR},
       </if>
       <if test="createTime != null">
         create_time = #{createTime,jdbcType=TIMESTAMP},
@@ -294,7 +294,7 @@
     set archive_number = #{archiveNumber,jdbcType=VARCHAR},
       student_number = #{studentNumber,jdbcType=VARCHAR},
       file_path = #{filePath,jdbcType=VARCHAR},
-      arctype_id = #{arctypeId,jdbcType=INTEGER},
+      arctype = #{arctype,jdbcType=VARCHAR},
       create_time = #{createTime,jdbcType=TIMESTAMP},
       modify_time = #{modifyTime,jdbcType=TIMESTAMP},
       validity_time = #{validityTime,jdbcType=TIMESTAMP},

+ 23 - 8
mbg/src/main/resources/com/koobietech/eas/mbg/mapper/EasArcTlsAttendanceMapper.xml

@@ -8,6 +8,7 @@
     <result column="month" jdbcType="INTEGER" property="month" />
     <result column="morning" jdbcType="CHAR" property="morning" />
     <result column="afternoon" jdbcType="CHAR" property="afternoon" />
+    <result column="student_name" jdbcType="VARCHAR" property="studentName" />
     <result column="student_number" jdbcType="VARCHAR" property="studentNumber" />
     <result column="create_uid" jdbcType="INTEGER" property="createUid" />
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
@@ -72,8 +73,8 @@
     </where>
   </sql>
   <sql id="Base_Column_List">
-    id, checkin_date, schedule_id, month, morning, afternoon, student_number, create_uid, 
-    create_time, modify_time
+    id, checkin_date, schedule_id, month, morning, afternoon, student_name, student_number, 
+    create_uid, create_time, modify_time
   </sql>
   <select id="selectByExample" parameterType="com.koobietech.eas.mbg.model.EasArcTlsAttendanceExample" resultMap="BaseResultMap">
     select
@@ -110,13 +111,13 @@
       SELECT LAST_INSERT_ID()
     </selectKey>
     insert into eas_arc_tls_attendance (checkin_date, schedule_id, month, 
-      morning, afternoon, student_number, 
-      create_uid, create_time, modify_time
-      )
+      morning, afternoon, student_name, 
+      student_number, create_uid, create_time, 
+      modify_time)
     values (#{checkinDate,jdbcType=DATE}, #{scheduleId,jdbcType=INTEGER}, #{month,jdbcType=INTEGER}, 
-      #{morning,jdbcType=CHAR}, #{afternoon,jdbcType=CHAR}, #{studentNumber,jdbcType=VARCHAR}, 
-      #{createUid,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{modifyTime,jdbcType=TIMESTAMP}
-      )
+      #{morning,jdbcType=CHAR}, #{afternoon,jdbcType=CHAR}, #{studentName,jdbcType=VARCHAR}, 
+      #{studentNumber,jdbcType=VARCHAR}, #{createUid,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, 
+      #{modifyTime,jdbcType=TIMESTAMP})
   </insert>
   <insert id="insertSelective" parameterType="com.koobietech.eas.mbg.model.EasArcTlsAttendance">
     <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
@@ -139,6 +140,9 @@
       <if test="afternoon != null">
         afternoon,
       </if>
+      <if test="studentName != null">
+        student_name,
+      </if>
       <if test="studentNumber != null">
         student_number,
       </if>
@@ -168,6 +172,9 @@
       <if test="afternoon != null">
         #{afternoon,jdbcType=CHAR},
       </if>
+      <if test="studentName != null">
+        #{studentName,jdbcType=VARCHAR},
+      </if>
       <if test="studentNumber != null">
         #{studentNumber,jdbcType=VARCHAR},
       </if>
@@ -209,6 +216,9 @@
       <if test="record.afternoon != null">
         afternoon = #{record.afternoon,jdbcType=CHAR},
       </if>
+      <if test="record.studentName != null">
+        student_name = #{record.studentName,jdbcType=VARCHAR},
+      </if>
       <if test="record.studentNumber != null">
         student_number = #{record.studentNumber,jdbcType=VARCHAR},
       </if>
@@ -234,6 +244,7 @@
       month = #{record.month,jdbcType=INTEGER},
       morning = #{record.morning,jdbcType=CHAR},
       afternoon = #{record.afternoon,jdbcType=CHAR},
+      student_name = #{record.studentName,jdbcType=VARCHAR},
       student_number = #{record.studentNumber,jdbcType=VARCHAR},
       create_uid = #{record.createUid,jdbcType=INTEGER},
       create_time = #{record.createTime,jdbcType=TIMESTAMP},
@@ -260,6 +271,9 @@
       <if test="afternoon != null">
         afternoon = #{afternoon,jdbcType=CHAR},
       </if>
+      <if test="studentName != null">
+        student_name = #{studentName,jdbcType=VARCHAR},
+      </if>
       <if test="studentNumber != null">
         student_number = #{studentNumber,jdbcType=VARCHAR},
       </if>
@@ -282,6 +296,7 @@
       month = #{month,jdbcType=INTEGER},
       morning = #{morning,jdbcType=CHAR},
       afternoon = #{afternoon,jdbcType=CHAR},
+      student_name = #{studentName,jdbcType=VARCHAR},
       student_number = #{studentNumber,jdbcType=VARCHAR},
       create_uid = #{createUid,jdbcType=INTEGER},
       create_time = #{createTime,jdbcType=TIMESTAMP},

+ 20 - 5
mbg/src/main/resources/com/koobietech/eas/mbg/mapper/EasArcTlsStudentsMapper.xml

@@ -22,6 +22,7 @@
     <result column="admissions_id" jdbcType="INTEGER" property="admissionsId" />
     <result column="manager_id" jdbcType="INTEGER" property="managerId" />
     <result column="create_uid" jdbcType="INTEGER" property="createUid" />
+    <result column="student_idnumber" jdbcType="VARCHAR" property="studentIdnumber" />
   </resultMap>
   <sql id="Example_Where_Clause">
     <where>
@@ -84,7 +85,7 @@
   <sql id="Base_Column_List">
     id, archive_number, student_number, student_name, gender, birthdate, address, phone, 
     email, enrollment_date, graduation_date, grade, major, minor, university, create_time, 
-    modify_time, admissions_id, manager_id, create_uid
+    modify_time, admissions_id, manager_id, create_uid, student_idnumber
   </sql>
   <select id="selectByExample" parameterType="com.koobietech.eas.mbg.model.EasArcTlsStudentsExample" resultMap="BaseResultMap">
     select
@@ -126,14 +127,14 @@
       graduation_date, grade, major, 
       minor, university, create_time, 
       modify_time, admissions_id, manager_id, 
-      create_uid)
+      create_uid, student_idnumber)
     values (#{archiveNumber,jdbcType=VARCHAR}, #{studentNumber,jdbcType=VARCHAR}, #{studentName,jdbcType=VARCHAR}, 
       #{gender,jdbcType=CHAR}, #{birthdate,jdbcType=DATE}, #{address,jdbcType=VARCHAR}, 
       #{phone,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{enrollmentDate,jdbcType=DATE}, 
       #{graduationDate,jdbcType=DATE}, #{grade,jdbcType=INTEGER}, #{major,jdbcType=VARCHAR}, 
       #{minor,jdbcType=VARCHAR}, #{university,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, 
       #{modifyTime,jdbcType=TIMESTAMP}, #{admissionsId,jdbcType=INTEGER}, #{managerId,jdbcType=INTEGER}, 
-      #{createUid,jdbcType=INTEGER})
+      #{createUid,jdbcType=INTEGER}, #{studentIdnumber,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.koobietech.eas.mbg.model.EasArcTlsStudents">
     <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
@@ -198,6 +199,9 @@
       <if test="createUid != null">
         create_uid,
       </if>
+      <if test="studentIdnumber != null">
+        student_idnumber,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="archiveNumber != null">
@@ -257,6 +261,9 @@
       <if test="createUid != null">
         #{createUid,jdbcType=INTEGER},
       </if>
+      <if test="studentIdnumber != null">
+        #{studentIdnumber,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <select id="countByExample" parameterType="com.koobietech.eas.mbg.model.EasArcTlsStudentsExample" resultType="java.lang.Long">
@@ -328,6 +335,9 @@
       <if test="record.createUid != null">
         create_uid = #{record.createUid,jdbcType=INTEGER},
       </if>
+      <if test="record.studentIdnumber != null">
+        student_idnumber = #{record.studentIdnumber,jdbcType=VARCHAR},
+      </if>
     </set>
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
@@ -354,7 +364,8 @@
       modify_time = #{record.modifyTime,jdbcType=TIMESTAMP},
       admissions_id = #{record.admissionsId,jdbcType=INTEGER},
       manager_id = #{record.managerId,jdbcType=INTEGER},
-      create_uid = #{record.createUid,jdbcType=INTEGER}
+      create_uid = #{record.createUid,jdbcType=INTEGER},
+      student_idnumber = #{record.studentIdnumber,jdbcType=VARCHAR}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -419,6 +430,9 @@
       <if test="createUid != null">
         create_uid = #{createUid,jdbcType=INTEGER},
       </if>
+      <if test="studentIdnumber != null">
+        student_idnumber = #{studentIdnumber,jdbcType=VARCHAR},
+      </if>
     </set>
     where id = #{id,jdbcType=INTEGER}
   </update>
@@ -442,7 +456,8 @@
       modify_time = #{modifyTime,jdbcType=TIMESTAMP},
       admissions_id = #{admissionsId,jdbcType=INTEGER},
       manager_id = #{managerId,jdbcType=INTEGER},
-      create_uid = #{createUid,jdbcType=INTEGER}
+      create_uid = #{createUid,jdbcType=INTEGER},
+      student_idnumber = #{studentIdnumber,jdbcType=VARCHAR}
     where id = #{id,jdbcType=INTEGER}
   </update>
 </mapper>

+ 7 - 7
mbg/src/main/resources/com/koobietech/eas/mbg/mapper/EasEduSubjectsMapper.xml

@@ -5,7 +5,7 @@
     <id column="id" jdbcType="INTEGER" property="id" />
     <result column="name" jdbcType="VARCHAR" property="name" />
     <result column="description" jdbcType="VARCHAR" property="description" />
-    <result column="category_id" jdbcType="VARCHAR" property="categoryId" />
+    <result column="category_id" jdbcType="INTEGER" property="categoryId" />
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
     <result column="modify_time" jdbcType="TIMESTAMP" property="modifyTime" />
     <result column="create_uid" jdbcType="INTEGER" property="createUid" />
@@ -109,7 +109,7 @@
     insert into eas_edu_subjects (name, description, category_id, 
       create_time, modify_time, create_uid, 
       disabled)
-    values (#{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{categoryId,jdbcType=VARCHAR}, 
+    values (#{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{categoryId,jdbcType=INTEGER}, 
       #{createTime,jdbcType=TIMESTAMP}, #{modifyTime,jdbcType=TIMESTAMP}, #{createUid,jdbcType=INTEGER}, 
       #{disabled,jdbcType=CHAR})
   </insert>
@@ -149,7 +149,7 @@
         #{description,jdbcType=VARCHAR},
       </if>
       <if test="categoryId != null">
-        #{categoryId,jdbcType=VARCHAR},
+        #{categoryId,jdbcType=INTEGER},
       </if>
       <if test="createTime != null">
         #{createTime,jdbcType=TIMESTAMP},
@@ -184,7 +184,7 @@
         description = #{record.description,jdbcType=VARCHAR},
       </if>
       <if test="record.categoryId != null">
-        category_id = #{record.categoryId,jdbcType=VARCHAR},
+        category_id = #{record.categoryId,jdbcType=INTEGER},
       </if>
       <if test="record.createTime != null">
         create_time = #{record.createTime,jdbcType=TIMESTAMP},
@@ -208,7 +208,7 @@
     set id = #{record.id,jdbcType=INTEGER},
       name = #{record.name,jdbcType=VARCHAR},
       description = #{record.description,jdbcType=VARCHAR},
-      category_id = #{record.categoryId,jdbcType=VARCHAR},
+      category_id = #{record.categoryId,jdbcType=INTEGER},
       create_time = #{record.createTime,jdbcType=TIMESTAMP},
       modify_time = #{record.modifyTime,jdbcType=TIMESTAMP},
       create_uid = #{record.createUid,jdbcType=INTEGER},
@@ -227,7 +227,7 @@
         description = #{description,jdbcType=VARCHAR},
       </if>
       <if test="categoryId != null">
-        category_id = #{categoryId,jdbcType=VARCHAR},
+        category_id = #{categoryId,jdbcType=INTEGER},
       </if>
       <if test="createTime != null">
         create_time = #{createTime,jdbcType=TIMESTAMP},
@@ -248,7 +248,7 @@
     update eas_edu_subjects
     set name = #{name,jdbcType=VARCHAR},
       description = #{description,jdbcType=VARCHAR},
-      category_id = #{categoryId,jdbcType=VARCHAR},
+      category_id = #{categoryId,jdbcType=INTEGER},
       create_time = #{createTime,jdbcType=TIMESTAMP},
       modify_time = #{modifyTime,jdbcType=TIMESTAMP},
       create_uid = #{createUid,jdbcType=INTEGER},

+ 22 - 7
mbg/src/main/resources/com/koobietech/eas/mbg/mapper/EasSysStudentMapper.xml

@@ -10,6 +10,7 @@
     <result column="email" jdbcType="VARCHAR" property="email" />
     <result column="enrollment_date" jdbcType="DATE" property="enrollmentDate" />
     <result column="passwd" jdbcType="VARCHAR" property="passwd" />
+    <result column="avatar" jdbcType="VARCHAR" property="avatar" />
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
     <result column="modify_time" jdbcType="TIMESTAMP" property="modifyTime" />
     <result column="admissions_id" jdbcType="INTEGER" property="admissionsId" />
@@ -77,7 +78,7 @@
   </sql>
   <sql id="Base_Column_List">
     id, student_number, student_name, gender, phone, email, enrollment_date, passwd, 
-    create_time, modify_time, admissions_id, manager_id, create_uid, disabled
+    avatar, create_time, modify_time, admissions_id, manager_id, create_uid, disabled
   </sql>
   <select id="selectByExample" parameterType="com.koobietech.eas.mbg.model.EasSysStudentExample" resultMap="BaseResultMap">
     select
@@ -115,14 +116,14 @@
     </selectKey>
     insert into eas_sys_student (student_number, student_name, gender, 
       phone, email, enrollment_date, 
-      passwd, create_time, modify_time, 
-      admissions_id, manager_id, create_uid, 
-      disabled)
+      passwd, avatar, create_time, 
+      modify_time, admissions_id, manager_id, 
+      create_uid, disabled)
     values (#{studentNumber,jdbcType=VARCHAR}, #{studentName,jdbcType=VARCHAR}, #{gender,jdbcType=CHAR}, 
       #{phone,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{enrollmentDate,jdbcType=DATE}, 
-      #{passwd,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{modifyTime,jdbcType=TIMESTAMP}, 
-      #{admissionsId,jdbcType=INTEGER}, #{managerId,jdbcType=INTEGER}, #{createUid,jdbcType=INTEGER}, 
-      #{disabled,jdbcType=CHAR})
+      #{passwd,jdbcType=VARCHAR}, #{avatar,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, 
+      #{modifyTime,jdbcType=TIMESTAMP}, #{admissionsId,jdbcType=INTEGER}, #{managerId,jdbcType=INTEGER}, 
+      #{createUid,jdbcType=INTEGER}, #{disabled,jdbcType=CHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.koobietech.eas.mbg.model.EasSysStudent">
     <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
@@ -151,6 +152,9 @@
       <if test="passwd != null">
         passwd,
       </if>
+      <if test="avatar != null">
+        avatar,
+      </if>
       <if test="createTime != null">
         create_time,
       </if>
@@ -192,6 +196,9 @@
       <if test="passwd != null">
         #{passwd,jdbcType=VARCHAR},
       </if>
+      <if test="avatar != null">
+        #{avatar,jdbcType=VARCHAR},
+      </if>
       <if test="createTime != null">
         #{createTime,jdbcType=TIMESTAMP},
       </if>
@@ -245,6 +252,9 @@
       <if test="record.passwd != null">
         passwd = #{record.passwd,jdbcType=VARCHAR},
       </if>
+      <if test="record.avatar != null">
+        avatar = #{record.avatar,jdbcType=VARCHAR},
+      </if>
       <if test="record.createTime != null">
         create_time = #{record.createTime,jdbcType=TIMESTAMP},
       </if>
@@ -278,6 +288,7 @@
       email = #{record.email,jdbcType=VARCHAR},
       enrollment_date = #{record.enrollmentDate,jdbcType=DATE},
       passwd = #{record.passwd,jdbcType=VARCHAR},
+      avatar = #{record.avatar,jdbcType=VARCHAR},
       create_time = #{record.createTime,jdbcType=TIMESTAMP},
       modify_time = #{record.modifyTime,jdbcType=TIMESTAMP},
       admissions_id = #{record.admissionsId,jdbcType=INTEGER},
@@ -312,6 +323,9 @@
       <if test="passwd != null">
         passwd = #{passwd,jdbcType=VARCHAR},
       </if>
+      <if test="avatar != null">
+        avatar = #{avatar,jdbcType=VARCHAR},
+      </if>
       <if test="createTime != null">
         create_time = #{createTime,jdbcType=TIMESTAMP},
       </if>
@@ -342,6 +356,7 @@
       email = #{email,jdbcType=VARCHAR},
       enrollment_date = #{enrollmentDate,jdbcType=DATE},
       passwd = #{passwd,jdbcType=VARCHAR},
+      avatar = #{avatar,jdbcType=VARCHAR},
       create_time = #{createTime,jdbcType=TIMESTAMP},
       modify_time = #{modifyTime,jdbcType=TIMESTAMP},
       admissions_id = #{admissionsId,jdbcType=INTEGER},

+ 164 - 0
mbg/src/main/resources/com/koobietech/eas/mbg/mapper/EasSysUniversityMapper.xml

@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.koobietech.eas.mbg.mapper.EasSysUniversityMapper">
+  <resultMap id="BaseResultMap" type="com.koobietech.eas.mbg.model.EasSysUniversity">
+    <id column="university_code" jdbcType="VARCHAR" property="universityCode" />
+    <result column="university_title" jdbcType="VARCHAR" property="universityTitle" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    university_code, university_title
+  </sql>
+  <select id="selectByExample" parameterType="com.koobietech.eas.mbg.model.EasSysUniversityExample" resultMap="BaseResultMap">
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from eas_sys_university
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from eas_sys_university
+    where university_code = #{universityCode,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    delete from eas_sys_university
+    where university_code = #{universityCode,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.koobietech.eas.mbg.model.EasSysUniversityExample">
+    delete from eas_sys_university
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.koobietech.eas.mbg.model.EasSysUniversity">
+    insert into eas_sys_university (university_code, university_title)
+    values (#{universityCode,jdbcType=VARCHAR}, #{universityTitle,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.koobietech.eas.mbg.model.EasSysUniversity">
+    insert into eas_sys_university
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="universityCode != null">
+        university_code,
+      </if>
+      <if test="universityTitle != null">
+        university_title,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="universityCode != null">
+        #{universityCode,jdbcType=VARCHAR},
+      </if>
+      <if test="universityTitle != null">
+        #{universityTitle,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.koobietech.eas.mbg.model.EasSysUniversityExample" resultType="java.lang.Long">
+    select count(*) from eas_sys_university
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    update eas_sys_university
+    <set>
+      <if test="record.universityCode != null">
+        university_code = #{record.universityCode,jdbcType=VARCHAR},
+      </if>
+      <if test="record.universityTitle != null">
+        university_title = #{record.universityTitle,jdbcType=VARCHAR},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    update eas_sys_university
+    set university_code = #{record.universityCode,jdbcType=VARCHAR},
+      university_title = #{record.universityTitle,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.koobietech.eas.mbg.model.EasSysUniversity">
+    update eas_sys_university
+    <set>
+      <if test="universityTitle != null">
+        university_title = #{universityTitle,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where university_code = #{universityCode,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.koobietech.eas.mbg.model.EasSysUniversity">
+    update eas_sys_university
+    set university_title = #{universityTitle,jdbcType=VARCHAR}
+    where university_code = #{universityCode,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 9 - 1
mbg/src/main/resources/generatorConfig.xml

@@ -27,6 +27,10 @@
             <property name="suppressDate" value="true"/>
             <!-- 是否添加数据库内的注释 true:是 : false:否 -->
             <property name="addRemarkComments" value="true"/>
+            <!-- 生成注释的作者 -->
+            <property name="author" value="koobietech"/>
+            <!-- 生成注释的日期格式 -->
+            <property name="dateFormat" value="yyyy-MM-dd HH:mm:ss"/>
         </commentGenerator>
 
         <jdbcConnection driverClass="${jdbc.driverClass}"
@@ -36,7 +40,11 @@
             <property name="nullCatalogMeansCurrent" value="true" />
         </jdbcConnection>
 
-        <javaModelGenerator targetPackage="com.koobietech.eas.mbg.model" targetProject="mbg/src/main/java"/>
+        <javaModelGenerator targetPackage="com.koobietech.eas.mbg.model" targetProject="mbg/src/main/java">
+            <property name="dateType" value="java.util.Date"/>
+            <property name="datetimeType" value="java.util.DateTime"/>
+            <property name="trimStrings" value="true"/>
+        </javaModelGenerator>
 
         <sqlMapGenerator targetPackage="com.koobietech.eas.mbg.mapper" targetProject="mbg/src/main/resources"/>
 

+ 18 - 2
pom.xml

@@ -33,13 +33,30 @@
         <javax.servlet-api.version>4.0.1</javax.servlet-api.version>
         <spring-data-redis.version>2.7.3</spring-data-redis.version>
         <knife4j.version>4.1.0</knife4j.version>
-        <easypoi.version>4.3.0</easypoi.version>
+        <easypoi.version>4.4.0</easypoi.version>
         <pagehelper.starter.version>1.3.1</pagehelper.starter.version>
         <maven.compiler.plugin.version>3.8.1</maven.compiler.plugin.version>
         <captcha.version>1.3.0</captcha.version>
+        <xerces.version>2.9.1</xerces.version>
+        <security.version>5.7.5</security.version>
     </properties>
     <dependencyManagement>
         <dependencies>
+            <dependency>
+                <groupId>org.springframework.security</groupId>
+                <artifactId>spring-security-core</artifactId>
+                <version>${security.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>xerces</groupId>
+                <artifactId>xercesImpl</artifactId>
+                <version>${xerces.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>cn.afterturn</groupId>
+                <artifactId>easypoi-wps</artifactId>
+                <version>${easypoi.version}</version>
+            </dependency>
             <dependency>
                 <groupId>com.anji-plus</groupId>
                 <artifactId>spring-boot-starter-captcha</artifactId>
@@ -133,7 +150,6 @@
         <module>mbg</module>
         <module>service</module>
         <module>security</module>
-        <module>upload</module>
     </modules>
 
     <repositories>

部分文件因文件數量過多而無法顯示