夏文涛 2 năm trước cách đây
mục cha
commit
49b2fe0a39
92 tập tin đã thay đổi với 5354 bổ sung538 xóa
  1. 466 342
      .idea/workspace.xml
  2. 7 0
      src/main/java/com/template/api/SmartAttendanceControllerAPI.java
  3. 6 0
      src/main/java/com/template/api/SmartClassControllerAPI.java
  4. 5 2
      src/main/java/com/template/api/SmartDepartmentControllerAPI.java
  5. 6 0
      src/main/java/com/template/api/SmartGradeControllerAPI.java
  6. 4 0
      src/main/java/com/template/api/SmartIdentityControllerAPI.java
  7. 16 7
      src/main/java/com/template/api/SmartUserControllerAPI.java
  8. 1 1
      src/main/java/com/template/api/SmartVisitorControllerAPI.java
  9. 85 0
      src/main/java/com/template/common/utils/AesTestOne.java
  10. 1 0
      src/main/java/com/template/common/utils/RequestUtils.java
  11. 11 0
      src/main/java/com/template/common/utils/TimeExchange.java
  12. 46 0
      src/main/java/com/template/common/utils/imageUtils.java
  13. 27 0
      src/main/java/com/template/config/ControlConfig.java
  14. 0 4
      src/main/java/com/template/config/ParkConfig.java
  15. 3 4
      src/main/java/com/template/controller/ScheduleController.java
  16. 44 2
      src/main/java/com/template/controller/SmartAttendanceController.java
  17. 160 3
      src/main/java/com/template/controller/SmartClassController.java
  18. 92 4
      src/main/java/com/template/controller/SmartDepartmentController.java
  19. 78 0
      src/main/java/com/template/controller/SmartGradeController.java
  20. 22 4
      src/main/java/com/template/controller/SmartIdentityController.java
  21. 13 6
      src/main/java/com/template/controller/SmartScoreController.java
  22. 420 31
      src/main/java/com/template/controller/SmartUserController.java
  23. 5 10
      src/main/java/com/template/controller/SmartVisitorController.java
  24. 16 13
      src/main/java/com/template/core/JwtAuthenticationInterceptor.java
  25. 3 0
      src/main/java/com/template/model/pojo/SmartClass.java
  26. 3 0
      src/main/java/com/template/model/pojo/SmartDepartment.java
  27. 11 1
      src/main/java/com/template/model/pojo/SmartGrade.java
  28. 3 0
      src/main/java/com/template/model/pojo/SmartSchool.java
  29. 13 1
      src/main/java/com/template/model/pojo/SmartUser.java
  30. 36 0
      src/main/java/com/template/model/request/insertSmartClassRequest.java
  31. 30 0
      src/main/java/com/template/model/request/insertSmartGradeRequest.java
  32. 12 12
      src/main/java/com/template/model/request/insertSmartUserRequest.java
  33. 1 1
      src/main/java/com/template/model/request/updateSmartUserRequest.java
  34. 20 0
      src/main/java/com/template/model/request/useridsRequest.java
  35. 1 3
      src/main/java/com/template/model/pojo/AttendanceRuleListSchoolAttendRuleParam.java
  36. 1 3
      src/main/java/com/template/model/pojo/AttendanceRuleListSchoolAttendRuleRequest.java
  37. 1 1
      src/main/java/com/template/model/pojo/AttendanceRuleListSchoolAttendRuleResult.java
  38. 1 3
      src/main/java/com/template/model/pojo/AttendanceServiceListAttendClassRecordsParam.java
  39. 1 3
      src/main/java/com/template/model/pojo/AttendanceServiceListAttendClassRecordsRequest.java
  40. 1 1
      src/main/java/com/template/model/pojo/AttendanceServiceListAttendClassRecordsResult.java
  41. 336 0
      src/main/java/com/template/model/seewo/ClassServiceBatchSaveClassParam.java
  42. 33 0
      src/main/java/com/template/model/seewo/ClassServiceBatchSaveClassRequest.java
  43. 262 0
      src/main/java/com/template/model/seewo/ClassServiceBatchSaveClassResult.java
  44. 1 3
      src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidParam.java
  45. 1 3
      src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidRequest.java
  46. 1 1
      src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidResult.java
  47. 1 1
      src/main/java/com/template/model/pojo/OrgClassOpenSeewoUcOpenV1ClassFullParam.java
  48. 1 3
      src/main/java/com/template/model/pojo/OrgClassOpenSeewoUcOpenV1ClassFullRequest.java
  49. 1 1
      src/main/java/com/template/model/pojo/OrgClassOpenSeewoUcOpenV1ClassFullResult.java
  50. 282 0
      src/main/java/com/template/model/seewo/ParentServiceBatchSaveOrUpdateParentsParam.java
  51. 35 0
      src/main/java/com/template/model/seewo/ParentServiceBatchSaveOrUpdateParentsRequest.java
  52. 66 0
      src/main/java/com/template/model/seewo/ParentServiceBatchSaveOrUpdateParentsResult.java
  53. 210 0
      src/main/java/com/template/model/seewo/PersonalLeaveListSchoolPeriodRecordsParam.java
  54. 33 0
      src/main/java/com/template/model/seewo/PersonalLeaveListSchoolPeriodRecordsRequest.java
  55. 302 0
      src/main/java/com/template/model/seewo/PersonalLeaveListSchoolPeriodRecordsResult.java
  56. 283 0
      src/main/java/com/template/model/seewo/StudentLeaveStudentLeaveRequestHandlerParam.java
  57. 33 0
      src/main/java/com/template/model/seewo/StudentLeaveStudentLeaveRequestHandlerRequest.java
  58. 178 0
      src/main/java/com/template/model/seewo/StudentLeaveStudentLeaveRequestHandlerResult.java
  59. 318 0
      src/main/java/com/template/model/seewo/StudentServiceBatchSaveClassStudentsParam.java
  60. 35 0
      src/main/java/com/template/model/seewo/StudentServiceBatchSaveClassStudentsRequest.java
  61. 206 0
      src/main/java/com/template/model/seewo/StudentServiceBatchSaveClassStudentsResult.java
  62. 267 0
      src/main/java/com/template/model/seewo/TeacherServiceBatchSaveOrUpdateTeacherParam.java
  63. 35 0
      src/main/java/com/template/model/seewo/TeacherServiceBatchSaveOrUpdateTeacherRequest.java
  64. 154 0
      src/main/java/com/template/model/seewo/TeacherServiceBatchSaveOrUpdateTeacherResult.java
  65. 16 0
      src/main/java/com/template/model/vo/BsClassNoVo.java
  66. 26 0
      src/main/java/com/template/model/vo/BsClassVo.java
  67. 17 0
      src/main/java/com/template/model/vo/BsDepartmentNoVo.java
  68. 26 0
      src/main/java/com/template/model/vo/BsDepartmentVo.java
  69. 16 0
      src/main/java/com/template/model/vo/BsGradeNoVo.java
  70. 26 0
      src/main/java/com/template/model/vo/BsGradeVo.java
  71. 19 0
      src/main/java/com/template/model/vo/BsStaffNoVo.java
  72. 26 0
      src/main/java/com/template/model/vo/BsStaffVo.java
  73. 16 0
      src/main/java/com/template/model/vo/BsStudentNoVo.java
  74. 26 0
      src/main/java/com/template/model/vo/BsStudentVo.java
  75. 27 0
      src/main/java/com/template/model/vo/GradeListVo.java
  76. 1 1
      src/main/java/com/template/model/vo/GradeVo.java
  77. 32 0
      src/main/java/com/template/model/vo/ParentOfStudentsVo.java
  78. 5 0
      src/main/java/com/template/model/vo/ScorePageVo.java
  79. 17 2
      src/main/java/com/template/model/vo/ScoreVo.java
  80. 7 0
      src/main/java/com/template/services/SmartClassService.java
  81. 8 0
      src/main/java/com/template/services/SmartGradeService.java
  82. 9 0
      src/main/java/com/template/services/SmartUserService.java
  83. 26 0
      src/main/java/com/template/services/impl/SmartClassServiceImpl.java
  84. 35 0
      src/main/java/com/template/services/impl/SmartGradeServiceImpl.java
  85. 37 1
      src/main/java/com/template/services/impl/SmartUserServiceImpl.java
  86. 6 1
      src/main/resources/application-dev.yml
  87. 25 4
      src/main/resources/mapper/template/SmartUserMapper.xml
  88. 6 1
      target/classes/application-dev.yml
  89. 25 4
      target/classes/mapper/template/SmartUserMapper.xml
  90. 94 38
      target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  91. 34 12
      target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  92. BIN
      target/mybatis_plus-0.0.1-SNAPSHOT.jar.original

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 466 - 342
.idea/workspace.xml


+ 7 - 0
src/main/java/com/template/api/SmartAttendanceControllerAPI.java

@@ -32,4 +32,11 @@ public interface SmartAttendanceControllerAPI {
     @GetMapping(value = "/deleteSmartAttendanceById")
     @ApiOperation(value = "根据ID删除指定考勤", notes = "根据ID删除指定考勤", httpMethod = "GET")
     CommonResult deleteSmartAttendanceById(@RequestParam int id);
+
+    /**
+     * 获取请假记录数据
+     */
+    @GetMapping(value = "/queryLeaveRecords")
+    @ApiOperation(value = "获取请假记录数据", notes = "获取请假记录数据", httpMethod = "GET")
+    CommonResult queryLeaveRecords();
 }

+ 6 - 0
src/main/java/com/template/api/SmartClassControllerAPI.java

@@ -1,6 +1,7 @@
 package com.template.api;
 
 import com.template.model.pojo.SmartClass;
+import com.template.model.request.insertSmartClassRequest;
 import com.template.model.result.CommonResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -8,6 +9,7 @@ import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+
 /**
  * @Author: binguo
  * @Date: 2023/3/30 星期四 17:28
@@ -36,4 +38,8 @@ public interface SmartClassControllerAPI {
     @GetMapping(value = "/querySmartClasss")
     @ApiOperation(value = "班级集合列表数据", notes = "班级集合列表数据", httpMethod = "GET")
     CommonResult querySmartClasss();
+
+    @PostMapping(value = "/insertSmartClassToBaisheng")
+    @ApiOperation(value = "将班级数据添加到百胜系统", notes = "将班级数据添加到百胜系统", httpMethod = "POST")
+    CommonResult insertSmartClassToBaisheng(@Validated @RequestBody insertSmartClassRequest iscr, BindingResult bindingResult) throws Exception;
 }

+ 5 - 2
src/main/java/com/template/api/SmartDepartmentControllerAPI.java

@@ -1,5 +1,6 @@
 package com.template.api;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
 import com.template.model.pojo.SmartDepartment;
 import com.template.model.request.insertDepartmentRequest;
 import com.template.model.request.updateDepartmentRequest;
@@ -10,6 +11,8 @@ import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.UnsupportedEncodingException;
+
 /**
  * @Author: binguo
  * @Date: 2023/3/30 星期四 17:28
@@ -21,11 +24,11 @@ import org.springframework.web.bind.annotation.*;
 public interface SmartDepartmentControllerAPI {
     @PostMapping(value = "/insertSmartDepartment")
     @ApiOperation(value = "添加部门", notes = "添加部门数据", httpMethod = "POST")
-    CommonResult insertSmartDepartment(@Validated @RequestBody insertDepartmentRequest smartApply, BindingResult bindingResult);
+    CommonResult insertSmartDepartment(@Validated @RequestBody insertDepartmentRequest smartApply, BindingResult bindingResult) throws Exception;
 
     @PostMapping(value = "/updateSmartDepartmentById")
     @ApiOperation(value = "编辑部门数据", notes = "编辑部门数据", httpMethod = "POST")
-    CommonResult updateSmartDepartmentById(@Validated @RequestBody updateDepartmentRequest udr, BindingResult bindingResult);
+    CommonResult updateSmartDepartmentById(@Validated @RequestBody updateDepartmentRequest udr, BindingResult bindingResult) throws Exception;
 
     @GetMapping(value = "/queryPageSmartDepartment")
     @ApiOperation(value = "部门分页数据", notes = "部门分页数据", httpMethod = "GET")

+ 6 - 0
src/main/java/com/template/api/SmartGradeControllerAPI.java

@@ -1,6 +1,7 @@
 package com.template.api;
 
 import com.template.model.pojo.SmartGrade;
+import com.template.model.request.insertSmartGradeRequest;
 import com.template.model.result.CommonResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -36,4 +37,9 @@ public interface SmartGradeControllerAPI {
     @GetMapping(value = "/querySmartGrades")
     @ApiOperation(value = "年级集合列表数据", notes = "年级集合列表数据", httpMethod = "GET")
     CommonResult querySmartGrades();
+
+    @PostMapping(value = "/insertSmartGradeToBaisheng")
+    @ApiOperation(value = "将年级数据添加到百胜系统", notes = "将年级数据添加到百胜系统", httpMethod = "POST")
+    CommonResult insertSmartGradeToBaisheng(@Validated @RequestBody insertSmartGradeRequest isgr, BindingResult bindingResult) throws Exception;
+
 }

+ 4 - 0
src/main/java/com/template/api/SmartIdentityControllerAPI.java

@@ -34,4 +34,8 @@ public interface SmartIdentityControllerAPI {
     @GetMapping(value = "/deleteSmartIdentityById")
     @ApiOperation(value = "根据ID删除指定身份", notes = "根据ID删除指定身份", httpMethod = "GET")
     CommonResult deleteSmartIdentityById(@RequestParam int id);
+
+    @GetMapping(value = "/querySmartIdentitys")
+    @ApiOperation(value = "获取身份集合", notes = "获取身份集合", httpMethod = "GET")
+    CommonResult querySmartIdentitys();
 }

+ 16 - 7
src/main/java/com/template/api/SmartUserControllerAPI.java

@@ -3,6 +3,7 @@ package com.template.api;
 import com.template.model.request.changeDepartmentRequest;
 import com.template.model.request.insertSmartUserRequest;
 import com.template.model.request.updateSmartUserRequest;
+import com.template.model.request.useridsRequest;
 import com.template.model.result.CommonResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -26,9 +27,9 @@ public interface SmartUserControllerAPI {
     /**
      * 注销账号
       */
-    @GetMapping(value = "logoffAccount")
-    @ApiOperation(value = "注销账号", notes = "注销账号", httpMethod = "GET")
-    CommonResult logoffAccount(@RequestParam int id);
+    @PostMapping(value = "logoffAccount")
+    @ApiOperation(value = "注销账号", notes = "注销账号", httpMethod = "POST")
+    CommonResult logoffAccount(@Validated @RequestBody useridsRequest ur, BindingResult bindingResult);
 
     /**
      * 移动多个用户到其他部门
@@ -58,7 +59,7 @@ public interface SmartUserControllerAPI {
 
     @PostMapping(value = "/insertSmartUser")
     @ApiOperation(value = "添加用户", notes = "添加用户数据", httpMethod = "POST")
-    CommonResult insertSmartUser(@Validated @RequestBody insertSmartUserRequest isur, BindingResult bindingResult);
+    CommonResult insertSmartUser(@Validated @RequestBody insertSmartUserRequest isur, BindingResult bindingResult) throws Exception;
 
     @PostMapping(value = "/updateSmartUserById")
     @ApiOperation(value = "编辑用户数据", notes = "编辑用户数据", httpMethod = "POST")
@@ -75,9 +76,9 @@ public interface SmartUserControllerAPI {
     @ApiOperation(value = "导出用户数据", notes = "导出用户数据", httpMethod = "GET")
     void smartUserExport(HttpServletResponse response, Integer departmentId, String name);
 
-    @GetMapping(value = "/deleteSmartUserById")
-    @ApiOperation(value = "根据ID删除指定用户", notes = "根据ID删除指定用户", httpMethod = "GET")
-    CommonResult deleteSmartUserById(@RequestParam int id);
+    @PostMapping(value = "/deleteSmartUserById")
+    @ApiOperation(value = "根据ID删除指定用户", notes = "根据ID删除指定用户", httpMethod = "POST")
+    CommonResult deleteSmartUserById(@Validated @RequestBody useridsRequest ur, BindingResult bindingResult);
 
     /**
      * 学生家长预约信息填写界面获取受访学生列表
@@ -93,4 +94,12 @@ public interface SmartUserControllerAPI {
     @GetMapping(value = "/downloadUserExcel")
     @ApiOperation(value = "导出人员Excel模板", notes = "导出人员Excel模板", httpMethod = "GET")
     CommonResult downloadUserExcel();
+
+    /**
+     * 导出人员模板
+     * @return
+     */
+    @GetMapping(value = "/queryStudents")
+    @ApiOperation(value = "根据用户ID查询学生", notes = "根据用户ID查询学生", httpMethod = "GET")
+    CommonResult queryStudents(@RequestParam int userId);
 }

+ 1 - 1
src/main/java/com/template/api/SmartVisitorControllerAPI.java

@@ -63,7 +63,7 @@ public interface SmartVisitorControllerAPI {
      */
     @GetMapping(value = "/appointmentPageRecord")
     @ApiOperation(value = "当前用户的预约记录", notes = "当前用户的预约记录", httpMethod = "GET")
-    CommonResult appointmentPageRecord(@RequestParam int currentPage, @RequestParam int pageCount, @RequestParam int userId, @RequestParam int type);
+    CommonResult appointmentPageRecord(@RequestParam int currentPage, @RequestParam int pageCount, Integer userId, @RequestParam int type);
 
     /**
      * 访客记录审核

+ 85 - 0
src/main/java/com/template/common/utils/AesTestOne.java

@@ -0,0 +1,85 @@
+package com.template.common.utils;
+
+import org.apache.commons.codec.binary.Base64;
+
+import javax.crypto.Cipher;
+import javax.crypto.spec.IvParameterSpec;
+import javax.crypto.spec.SecretKeySpec;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+
+/**
+ * @Author: binguo
+ * @Date: 2024/1/5 星期五 14:26
+ * @Description: com.template.common.utils
+ * @Version: 1.0
+ */
+public class AesTestOne {
+    /**
+     * AES 对称加密(RSA非对称加密)
+     * CBC 有向量 (ECB 无向量)
+     * PKCS5Padding 填充模式(NoPadding 无填充)
+     */
+    private static final String ALG_AES_CBC_PKCS5 = "AES/CBC/PKCS5Padding";
+
+    private static final String ALGORITHM = "AES";
+
+    private static final Charset UTF8 = StandardCharsets.UTF_8;
+
+    private static String aesKey = "fe0d767a2a394d1b81ccda6fc0ce5ecc";  // 指定好的秘钥,非Base64和16进制
+
+    private static String aesIv = "activevector4api";   // 偏移量
+
+    private static SecretKeySpec skeySpec;
+
+    private static IvParameterSpec iv;
+
+    /**
+     * 解密方法
+     * @param cipherStr Base64编码的加密字符串
+     * @return 解密后的字符串(UTF8编码)
+     * @throws Exception 异常
+     */
+    public static String decrypt(String cipherStr) throws Exception{
+        // step 1 获得一个密码器
+        Cipher cipher = Cipher.getInstance(ALG_AES_CBC_PKCS5);
+        // step 2 初始化密码器,指定是加密还是解密(Cipher.DECRYPT_MODE 解密; Cipher.ENCRYPT_MODE 加密)
+        // 加密时使用的盐来够造秘钥对象
+        skeySpec = new SecretKeySpec(aesKey.getBytes(),ALGORITHM);
+        // 加密时使用的向量,16位字符串
+        iv = new IvParameterSpec(aesIv.getBytes());
+        cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
+        // 对加密报文进行base64解码
+        byte[] encrypted1 = Base64.decodeBase64(cipherStr);
+        // 解密后的报文数组
+        byte[] original = cipher.doFinal(encrypted1);
+        // 输出utf8编码的字符串,输出字符串需要指定编码格式
+        return new String(original, UTF8);
+    }
+
+    /**
+     * 加密
+     * @param plainText 明文
+     * @return Base64编码的密文
+     * @throws Exception  加密异常
+     */
+    public static String encrypt(String plainText) throws Exception{
+        Cipher cipher = Cipher.getInstance(ALG_AES_CBC_PKCS5);
+        skeySpec = new SecretKeySpec(aesKey.getBytes(),ALGORITHM);
+        iv = new IvParameterSpec(aesIv.getBytes());
+        cipher.init(Cipher.ENCRYPT_MODE, skeySpec,iv);
+        // 这里的编码格式需要与解密编码一致
+        byte [] encryptText = cipher.doFinal(plainText.getBytes(UTF8));
+        return Base64.encodeBase64String(encryptText);
+    }
+
+    public static void main(String[] args) throws Exception {
+        // URL解码
+        String decodedUrl = URLDecoder.decode("yfne4dmrwStWwdbUqM3uWpiNWt%2bk3s90G3fTihUUyEtAUHCElrbZBKT%2fxprt4DLf", "UTF-8");
+        System.out.println(decodedUrl);
+        String sds = decrypt(decodedUrl);
+        System.out.println(sds);
+    }
+}

+ 1 - 0
src/main/java/com/template/common/utils/RequestUtils.java

@@ -75,6 +75,7 @@ public class RequestUtils {
      * @return
      */
     public static String httpPost(String url, String param){
+        String dummyData = param.replace("%", "").replace(",", "").replace(" ", "+").replace("/","");
         PrintWriter out = null;
         BufferedReader in = null;
         String result = "";

+ 11 - 0
src/main/java/com/template/common/utils/TimeExchange.java

@@ -142,6 +142,17 @@ public class TimeExchange {
     }
 
     /**
+     * 获取当前时间戳
+     * @return
+     */
+    public static String DateNowTimeStamo(){
+        Date date = new Date();//获取当前的日期
+        SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmssSSS");//设置日期格式
+        String str = df.format(date);//获取String类型的时间
+        return str;
+    }
+
+    /**
      * Date类型转换为10位时间戳
      *
      * @param time

+ 46 - 0
src/main/java/com/template/common/utils/imageUtils.java

@@ -0,0 +1,46 @@
+package com.template.common.utils;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.Base64;
+
+/**
+ * @Author: binguo
+ * @Date: 2024/1/9 星期二 15:17
+ * @Description: com.template.common.utils
+ * @Version: 1.0
+ */
+public class imageUtils {
+
+    public static String getBase64Url(String imagePath){
+        ByteArrayOutputStream outPut = new ByteArrayOutputStream();
+        byte[] data = new byte[1024];
+        try {
+            // 创建URL
+            URL url = new URL(imagePath);
+            // 创建链接
+            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+            conn.setRequestMethod("GET");
+            conn.setConnectTimeout(10 * 1000);
+
+            if(conn.getResponseCode() != 200) {
+                return "fail";//连接失败/链接失效/图片不存在
+            }
+            InputStream inStream = conn.getInputStream();
+            int len = -1;
+            while ((len = inStream.read(data)) != -1) {
+                outPut.write(data, 0, len);
+            }
+            inStream.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        // 对字节数组Base64编码
+        byte[] encode = Base64.getEncoder().encode(outPut.toByteArray());
+        String res = new String(encode);
+        return res;
+    }
+}

+ 27 - 0
src/main/java/com/template/config/ControlConfig.java

@@ -0,0 +1,27 @@
+package com.template.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@Component
+@ConfigurationProperties(prefix = "accesscontrol")
+@Data
+public class ControlConfig {
+
+    /**
+     * APP ID
+     */
+    private String appId;
+
+    /**
+     * APP SECRET
+     */
+    private String appSecret;
+
+    /**
+     * 百胜学校编号
+     */
+    private String schoolCode;
+}
+

+ 0 - 4
src/main/java/com/template/config/ParkConfig.java

@@ -24,9 +24,5 @@ public class ParkConfig {
      */
     private String appSecret;
 
-    /**
-     * url
-     */
-    private String url;
 }
 

+ 3 - 4
src/main/java/com/template/controller/ScheduleController.java

@@ -4,12 +4,11 @@ import com.seewo.open.sdk.DefaultSeewoClient;
 import com.seewo.open.sdk.SeewoClient;
 import com.seewo.open.sdk.auth.Account;
 import com.template.common.utils.TimeExchange;
-import com.template.config.ParkConfig;
 import com.template.config.ScheduleConfig;
 import com.template.config.SeewoConfig;
-import com.template.model.pojo.AttendanceServiceListAttendClassRecordsParam;
-import com.template.model.pojo.AttendanceServiceListAttendClassRecordsRequest;
-import com.template.model.pojo.AttendanceServiceListAttendClassRecordsResult;
+import com.template.model.seewo.AttendanceServiceListAttendClassRecordsParam;
+import com.template.model.seewo.AttendanceServiceListAttendClassRecordsRequest;
+import com.template.model.seewo.AttendanceServiceListAttendClassRecordsResult;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;

+ 44 - 2
src/main/java/com/template/controller/SmartAttendanceController.java

@@ -1,14 +1,22 @@
 package com.template.controller;
 
 
+import com.seewo.open.sdk.DefaultSeewoClient;
+import com.seewo.open.sdk.SeewoClient;
+import com.seewo.open.sdk.auth.Account;
 import com.template.api.SmartAttendanceControllerAPI;
-import com.template.model.pojo.SmartAttendance;
+import com.template.config.SeewoConfig;
+import com.template.model.pojo.*;
 import com.template.model.result.CommonResult;
+import com.template.model.seewo.PersonalLeaveListSchoolPeriodRecordsParam;
+import com.template.model.seewo.PersonalLeaveListSchoolPeriodRecordsRequest;
+import com.template.model.seewo.PersonalLeaveListSchoolPeriodRecordsResult;
 import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  * 楼栋表 前端控制器
@@ -20,6 +28,9 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 public class SmartAttendanceController implements SmartAttendanceControllerAPI {
 
+    @Resource
+    private SeewoConfig seewoConfig;
+
     @Override
     public CommonResult insertSmartAttendance(SmartAttendance smartApply, BindingResult bindingResult) {
         return null;
@@ -39,5 +50,36 @@ public class SmartAttendanceController implements SmartAttendanceControllerAPI {
     public CommonResult deleteSmartAttendanceById(int id) {
         return null;
     }
+
+    @Override
+    public CommonResult queryLeaveRecords() {
+        //初始化客户端
+        SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
+        PersonalLeaveListSchoolPeriodRecordsParam param = new PersonalLeaveListSchoolPeriodRecordsParam();
+        //请求体,MimeType为 application/json
+        PersonalLeaveListSchoolPeriodRecordsParam.RequestBody requestBody = PersonalLeaveListSchoolPeriodRecordsParam.RequestBody.builder()
+                .build();
+        param.setRequestBody(requestBody);
+        //query
+        PersonalLeaveListSchoolPeriodRecordsParam.Query query = PersonalLeaveListSchoolPeriodRecordsParam.Query.builder()
+                .schoolUid(seewoConfig.getSchoolId())//学校ID
+                .startDate("2024-01-05")//开始日期
+                .endDate("2024-01-05")//结束日期
+                .page(1)//当前页
+                .pageSize(20)//分页条数
+                .appId(seewoConfig.getAppId())
+                .build();
+        requestBody.setQuery(query);
+        param.setRequestBody(requestBody);
+        PersonalLeaveListSchoolPeriodRecordsRequest request = new PersonalLeaveListSchoolPeriodRecordsRequest(param);
+        System.out.println("入参:" +request);
+        //如果想要调用沙箱环境,请通过设置 request 对象的 serverUrl 属性,如:
+        //request.setServerUrl("https://openapi.test.seewo.com")
+        //执行请求,如果想获取到com.seewo.open.sdk.HttpResponse对象,请调用 seewoClient.execute 方法
+        PersonalLeaveListSchoolPeriodRecordsResult result = seewoClient.invoke(request);
+        System.out.println("出参:" +result);
+
+        return CommonResult.ok("操作成功");
+    }
 }
 

+ 160 - 3
src/main/java/com/template/controller/SmartClassController.java

@@ -1,21 +1,38 @@
 package com.template.controller;
 
 
+import com.alibaba.fastjson.JSONObject;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.seewo.open.sdk.DefaultSeewoClient;
+import com.seewo.open.sdk.SeewoClient;
+import com.seewo.open.sdk.auth.Account;
 import com.template.api.SmartClassControllerAPI;
-import com.template.model.pojo.SmartClass;
-import com.template.model.pojo.SmartGrade;
+import com.template.common.utils.*;
+import com.template.config.ControlConfig;
+import com.template.config.SeewoConfig;
+import com.template.model.pojo.*;
+import com.template.model.request.insertSmartClassRequest;
 import com.template.model.result.CommonResult;
-import com.template.model.vo.SemesterVo;
+import com.template.model.seewo.ClassServiceBatchSaveClassParam;
+import com.template.model.seewo.ClassServiceBatchSaveClassRequest;
+import com.template.model.seewo.ClassServiceBatchSaveClassResult;
+import com.template.model.vo.*;
 import com.template.services.SmartClassService;
 import com.template.services.SmartGradeService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.List;
 
+import static com.template.common.utils.AesTestOne.decrypt;
+
 /**
  * <p>
  * 楼栋表 前端控制器
@@ -27,8 +44,14 @@ import java.util.List;
 @RestController
 public class SmartClassController implements SmartClassControllerAPI {
 
+    @Resource
+    private SeewoConfig seewoConfig;
+    @Resource
+    private ControlConfig controlConfig;
     @Autowired
     private SmartClassService smartClassService;
+    @Autowired
+    private SmartGradeService smartGradeService;
 
     @Override
     public CommonResult insertSmartClass(SmartClass smartApply, BindingResult bindingResult) {
@@ -62,5 +85,139 @@ public class SmartClassController implements SmartClassControllerAPI {
         }
         return CommonResult.ok(result);
     }
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class})
+    public CommonResult insertSmartClassToBaisheng(insertSmartClassRequest iscr, BindingResult bindingResult) throws Exception {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
+        }
+
+        //先查找年级编号对应的年级数据是否存在
+        SmartGrade grade = smartGradeService.querySmartGradeByBaisheng(iscr.getGradeNo());
+        if (grade == null) {
+            return CommonResult.fail("添加班级前,请先添加对应年级数据");
+        }
+
+        //判断重复性
+        int existCount = smartClassService.existSmartClass(iscr.getClassName(), grade.getId());
+        if (existCount > 0) {
+            return CommonResult.fail("该班级数据已在系统中存在,请勿重复添加");
+        }
+
+        String appId = controlConfig.getAppId();
+        String schoolno = controlConfig.getSchoolCode();
+        String timestamp = TimeExchange.DateNowTimeStamo();
+        String className = iscr.getClassName();
+        String gradeNo = iscr.getGradeNo();
+        String appSecret = controlConfig.getAppSecret();
+        String url = "http://schoolopenapi.szymzh.com/openapi/classtab/create";
+
+        JSONObject jsonobject = new JSONObject();
+        jsonobject.put("appid", appId);
+        String str = "{\"grade_no\":\"" + gradeNo + "\",\"classtab_name\":\"" + className + "\"}";
+        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str), "UTF-8");
+        jsonobject.put("data", aesStr);
+        jsonobject.put("schoolno", schoolno);
+        jsonobject.put("timestamp", timestamp);
+
+        String md5Str = "appid=" + appId + "&data={\"grade_no\":\"" + gradeNo + "\",\"classtab_name\":\"" + className + "\"}" + "&schoolno=" + schoolno + "&timestamp=" + timestamp + "&key=" + appSecret;
+        String sign = CommonUtil.MD5(md5Str);
+        //sign签名
+        jsonobject.put("sign", sign);
+
+        //返回的结果中 code为1表示成功
+        String result = RequestUtils.httpPost(url, jsonobject.toJSONString());
+
+        if (result.contains("添加成功")) {
+            //将数据加入希沃系统中
+            //初始化客户端
+            SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
+            ClassServiceBatchSaveClassParam param = new ClassServiceBatchSaveClassParam();
+            //请求体,MimeType为 application/json
+            ClassServiceBatchSaveClassParam.JSONRequestBody requestBody = ClassServiceBatchSaveClassParam.JSONRequestBody.builder()
+                    .build();
+            param.setRequestBody(requestBody);
+            //查询条件
+            ClassServiceBatchSaveClassParam.ClassSaveQuery query = ClassServiceBatchSaveClassParam.ClassSaveQuery.builder()
+                    .appId(seewoConfig.getAppId())
+                    .schoolUid(seewoConfig.getSchoolId())
+                    .build();
+            requestBody.setQuery(query);
+            //班级信息列表
+            ClassServiceBatchSaveClassParam.ClassInfo classList = ClassServiceBatchSaveClassParam.ClassInfo.builder()
+                    .stageCode("CodeSchoolStage_1")
+                    .clazz(iscr.getClassNo())
+                    .nickName(iscr.getClassName())
+                    .grade(grade.getGradeNo())
+                    .gradeYear(2024)
+                    .build();
+            query.setClassList(java.util.Collections.singletonList(classList));
+            param.setRequestBody(requestBody);
+            ClassServiceBatchSaveClassRequest request = new ClassServiceBatchSaveClassRequest(param);
+            System.out.println("入参:" + request);
+            //如果想要调用沙箱环境,请通过设置 request 对象的 serverUrl 属性,如:
+            // request.setServerUrl("https://openapi.test.seewo.com")
+            //执行请求,如果想获取到com.seewo.open.sdk.HttpResponse对象,请调用 seewoClient.execute 方法
+            ClassServiceBatchSaveClassResult xwResult = seewoClient.invoke(request);
+            System.out.println("出参:" + xwResult);
+
+            if(xwResult == null){
+                return CommonResult.fail("希沃班级数据新增失败!");
+            }
+
+            if(!xwResult.getResponseBody().getCode().equals("000000")){
+                return CommonResult.fail(xwResult.getResponseBody().getMessage());
+            }
+
+            //希沃添加年级和班级数据是:存在就覆盖 不存在就新增
+            //要拿到希沃的年级Uid和班级Uid
+            String gradeUid = xwResult.getResponseBody().getData().get(0).getGradeUid();
+            String classUid = xwResult.getResponseBody().getData().get(0).getUid();
+
+            ObjectMapper objectMapper = new ObjectMapper();
+            BsClassVo classVo = objectMapper.readValue(result, BsClassVo.class);
+
+            // URL解码
+            String decodedUrl = URLDecoder.decode(classVo.getData(), "UTF-8");
+
+            BsClassNoVo classNo = objectMapper.readValue(decrypt(decodedUrl), BsClassNoVo.class);
+
+            if(classNo == null){
+                return CommonResult.fail("百胜班级编号为空,新增失败");
+            }
+
+            SmartClass smartClass = new SmartClass();
+            smartClass.setGradeId(grade.getId());
+            smartClass.setClassUid(classUid);
+            smartClass.setName(iscr.getClassName());
+            smartClass.setClassNo(iscr.getClassNo());
+            smartClass.setBsClassNo(classNo.getClasstab_no());
+
+            grade.setGradeUid(gradeUid);
+
+            try{
+                 int insertClass = smartClassService.insertSmartClass(smartClass);
+                 if(insertClass <= 0){
+                     throw new Exception("新增失败");
+                 }
+
+                 int updateGrade = smartGradeService.updateSmartGrade(grade);
+                 if(updateGrade <= 0){
+                     throw new Exception("新增失败");
+                 }
+
+            }catch (Exception e){
+                throw new Exception("新增失败");
+            }
+
+            return CommonResult.ok("新增成功");
+
+        }
+
+        return CommonResult.fail("操作失败");
+
+    }
 }
 

+ 92 - 4
src/main/java/com/template/controller/SmartDepartmentController.java

@@ -1,25 +1,35 @@
 package com.template.controller;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.template.api.SmartDepartmentControllerAPI;
-import com.template.common.utils.paramUtils;
+import com.template.common.utils.*;
+import com.template.config.ControlConfig;
 import com.template.model.pojo.SmartDepartment;
 import com.template.model.request.insertDepartmentRequest;
 import com.template.model.request.updateDepartmentRequest;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
-import com.template.model.vo.DepartmentTreeVo;
+import com.template.model.vo.*;
 import com.template.services.SmartDepartmentService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.BindingResult;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import static com.template.common.utils.AesTestOne.decrypt;
+
 /**
  * <p>
  * 前端控制器
@@ -31,6 +41,9 @@ import java.util.stream.Collectors;
 @RestController
 public class SmartDepartmentController implements SmartDepartmentControllerAPI {
 
+    @Resource
+    private ControlConfig controlConfig;
+
     @Autowired
     private SmartDepartmentService smartDepartmentService;
 
@@ -42,7 +55,7 @@ public class SmartDepartmentController implements SmartDepartmentControllerAPI {
      * @return
      */
     @Override
-    public CommonResult insertSmartDepartment(insertDepartmentRequest smartDepartment, BindingResult bindingResult) {
+    public CommonResult insertSmartDepartment(insertDepartmentRequest smartDepartment, BindingResult bindingResult) throws Exception {
         if (bindingResult.hasErrors()) {
             String st = paramUtils.getParamError(bindingResult);
             return CommonResult.fail(st);
@@ -59,6 +72,41 @@ public class SmartDepartmentController implements SmartDepartmentControllerAPI {
         sd.setParentId(smartDepartment.getParentId());
         sd.setName(smartDepartment.getName());
 
+        //region 百胜添加教师数据
+        String appId = controlConfig.getAppId();
+        String schoolno = controlConfig.getSchoolCode();
+        String timestamp = TimeExchange.DateNowTimeStamo();
+        String appSecret = controlConfig.getAppSecret();
+        String url = "http://schoolopenapi.szymzh.com/openapi/department/create";
+
+        JSONObject jsonobject = new JSONObject();
+        jsonobject.put("appid", appId);
+        String str = "{\"department_name\":\"" + smartDepartment.getName() + "\"}";
+        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str), "UTF-8");
+        jsonobject.put("data", aesStr);
+        jsonobject.put("schoolno", schoolno);
+        jsonobject.put("timestamp", timestamp);
+
+        String md5Str = "appid=" + appId + "&data={\"department_name\":\"" + smartDepartment.getName() + "\"}" + "&schoolno=" + schoolno + "&timestamp=" + timestamp + "&key=" + appSecret;
+        String sign = CommonUtil.MD5(md5Str);
+        //sign签名
+        jsonobject.put("sign", sign);
+
+        //返回的结果中 code为1表示成功
+        String bsResult = RequestUtils.httpPost(url, jsonobject.toJSONString());
+
+        if (bsResult.contains("添加成功")) {
+            ObjectMapper objectMapper = new ObjectMapper();
+            BsDepartmentVo department = objectMapper.readValue(bsResult, BsDepartmentVo.class);
+
+            // URL解码
+            String decodedUrl = URLDecoder.decode(department.getData(), "UTF-8");
+
+            BsDepartmentNoVo departmentData = objectMapper.readValue(decrypt(decodedUrl), BsDepartmentNoVo.class);
+            sd.setBsDepartmentNo(departmentData.getDepartment_no());
+        }
+        //endregion
+
         int result = smartDepartmentService.insertSmartDepartment(sd);
 
         return result > 0 ? CommonResult.ok("添加成功") : CommonResult.fail("添加失败");
@@ -72,12 +120,17 @@ public class SmartDepartmentController implements SmartDepartmentControllerAPI {
      * @return
      */
     @Override
-    public CommonResult updateSmartDepartmentById(updateDepartmentRequest udr, BindingResult bindingResult) {
+    public CommonResult updateSmartDepartmentById(updateDepartmentRequest udr, BindingResult bindingResult) throws Exception {
         if (bindingResult.hasErrors()) {
             String st = paramUtils.getParamError(bindingResult);
             return CommonResult.fail(st);
         }
 
+        SmartDepartment oldData = smartDepartmentService.getSmartById(udr.getId());
+        if(oldData == null){
+            return CommonResult.fail("部门数据无效,修改失败");
+        }
+
         SmartDepartment exist = smartDepartmentService.getSmartByName(udr.getName());
         if (exist != null && !exist.getId().equals(udr.getId())) {
             return CommonResult.fail(udr.getName() + "部门名称数据已存在,请勿重复添加!");
@@ -88,6 +141,41 @@ public class SmartDepartmentController implements SmartDepartmentControllerAPI {
         sd.setParentId(udr.getParentId());
         sd.setName(udr.getName());
 
+        //region 百胜添加教师数据
+        String appId = controlConfig.getAppId();
+        String schoolno = controlConfig.getSchoolCode();
+        String timestamp = TimeExchange.DateNowTimeStamo();
+        String appSecret = controlConfig.getAppSecret();
+        String url = "http://schoolopenapi.szymzh.com/openapi/department/update";
+
+        JSONObject jsonobject = new JSONObject();
+        jsonobject.put("appid", appId);
+        String str = "{\"department_no\":\"" + oldData.getBsDepartmentNo() + "\"department_name\":\"" + udr.getName() + "\"}";
+        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str), "UTF-8");
+        jsonobject.put("data", aesStr);
+        jsonobject.put("schoolno", schoolno);
+        jsonobject.put("timestamp", timestamp);
+
+        String md5Str = "appid=" + appId + "&data={\"department_no\":\"" + oldData.getBsDepartmentNo() + "\"department_name\":\"" + udr.getName() + "\"}" + "&schoolno=" + schoolno + "&timestamp=" + timestamp + "&key=" + appSecret;
+        String sign = CommonUtil.MD5(md5Str);
+        //sign签名
+        jsonobject.put("sign", sign);
+
+        //返回的结果中 code为1表示成功
+        String bsResult = RequestUtils.httpPost(url, jsonobject.toJSONString());
+
+        if (bsResult.contains("添加成功")) {
+            ObjectMapper objectMapper = new ObjectMapper();
+            BsDepartmentVo department = objectMapper.readValue(bsResult, BsDepartmentVo.class);
+
+            // URL解码
+            String decodedUrl = URLDecoder.decode(department.getData(), "UTF-8");
+
+            BsDepartmentNoVo departmentData = objectMapper.readValue(decrypt(decodedUrl), BsDepartmentNoVo.class);
+            sd.setBsDepartmentNo(departmentData.getDepartment_no());
+        }
+        //endregion
+
         int result = smartDepartmentService.updateSmartDepartment(sd);
         return result > 0 ? CommonResult.ok("修改成功") : CommonResult.fail("修改失败");
     }

+ 78 - 0
src/main/java/com/template/controller/SmartGradeController.java

@@ -1,9 +1,17 @@
 package com.template.controller;
 
 
+import com.alibaba.fastjson.JSONObject;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.template.api.SmartGradeControllerAPI;
+import com.template.common.utils.*;
+import com.template.config.ControlConfig;
+import com.template.config.ParkConfig;
 import com.template.model.pojo.SmartGrade;
+import com.template.model.request.insertSmartGradeRequest;
 import com.template.model.result.CommonResult;
+import com.template.model.vo.BsGradeNoVo;
+import com.template.model.vo.BsGradeVo;
 import com.template.model.vo.SemesterVo;
 import com.template.services.SmartGradeService;
 import com.template.services.SmartIdentityService;
@@ -12,9 +20,14 @@ import org.springframework.validation.BindingResult;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.List;
 
+import static com.template.common.utils.AesTestOne.decrypt;
+
 /**
  * <p>
  * 年级表 前端控制器
@@ -26,6 +39,8 @@ import java.util.List;
 @RestController
 public class SmartGradeController implements SmartGradeControllerAPI {
 
+    @Resource
+    private ControlConfig controlConfig;
     @Autowired
     private SmartGradeService smartGradeService;
 
@@ -61,5 +76,68 @@ public class SmartGradeController implements SmartGradeControllerAPI {
         }
         return CommonResult.ok(result);
     }
+
+    @Override
+    public CommonResult insertSmartGradeToBaisheng(insertSmartGradeRequest isgr, BindingResult bindingResult) throws Exception {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
+        }
+
+        //判断重复性
+        int existCount = smartGradeService.existSmartGrade(isgr.getGradeNo(),isgr.getGradeName());
+        if(existCount > 0){
+            return CommonResult.fail("该年级数据已在系统中存在,请勿重复添加");
+        }
+
+        String appId = controlConfig.getAppId();
+        String schoolno = controlConfig.getSchoolCode();
+        String timestamp = TimeExchange.DateNowTimeStamo();
+        String gradeName = isgr.getGradeName();
+        String appSecret = controlConfig.getAppSecret();
+        String url = "http://schoolopenapi.szymzh.com/openapi/grade/create";
+
+        JSONObject jsonobject = new JSONObject();
+        jsonobject.put("appid", appId);
+        String str = "{\"grade_name\":\""+gradeName+"\"}";
+        String aesStr =  URLEncoder.encode(AesTestOne.encrypt(str),"UTF-8");
+        jsonobject.put("data", aesStr);
+        jsonobject.put("schoolno", schoolno);
+        jsonobject.put("timestamp", timestamp);
+
+        //appid=ymdd36ed157ac423e2&carNo=赣U123659&parkKey=wdcmq9rc&rand=9.94995525689689966&reserveEndTime=2023-12-22 20:12:10&reserveTime=2023-12-21 18:12:10&version=v1.0&50596cd243dc4547b4c05f01f8ea02a4
+        String md5Str = "appid=" + appId + "&data={\"grade_name\":\""+gradeName+"\"}" + "&schoolno=" + schoolno + "&timestamp=" + timestamp + "&key=" + appSecret;
+        String sign = CommonUtil.MD5(md5Str);
+        //sign签名
+        jsonobject.put("sign", sign);
+
+        //返回的结果中 code为1表示成功
+        String result = RequestUtils.httpPost(url, jsonobject.toJSONString());
+
+        if(result.contains("添加成功")){
+            ObjectMapper objectMapper = new ObjectMapper();
+            BsGradeVo grade = objectMapper.readValue(result, BsGradeVo.class);
+
+            // URL解码
+            String decodedUrl = URLDecoder.decode(grade.getData(), "UTF-8");
+
+            BsGradeNoVo gradeNo = objectMapper.readValue(decrypt(decodedUrl), BsGradeNoVo.class);
+
+            SmartGrade smartGrade = new SmartGrade();
+            smartGrade.setGradeNo(isgr.getGradeNo());
+            smartGrade.setName(isgr.getGradeName());
+            smartGrade.setBsGradeNo(gradeNo.getGrade_no());
+
+            int insertResult = smartGradeService.insertSmartGrade(smartGrade);
+
+            return insertResult > 0 ? CommonResult.ok("添加成功") : CommonResult.fail("添加失败");
+
+        }else{
+            CommonResult.fail("添加失败");
+        }
+
+        return CommonResult.ok("添加成功");
+    }
+
 }
 

+ 22 - 4
src/main/java/com/template/controller/SmartIdentityController.java

@@ -9,6 +9,7 @@ import com.template.model.request.insertIdentityRequest;
 import com.template.model.request.updateIdentityRequest;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.SemesterVo;
 import com.template.services.SmartIdentityService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,6 +17,7 @@ import org.springframework.validation.BindingResult;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
@@ -48,7 +50,7 @@ public class SmartIdentityController implements SmartIdentityControllerAPI {
         }
 
         SmartIdentity data = smartIdentityService.queryIdentityByName(smartIdentity.getName());
-        if(data != null){
+        if (data != null) {
             return CommonResult.fail("该身份已存在");
         }
 
@@ -75,14 +77,14 @@ public class SmartIdentityController implements SmartIdentityControllerAPI {
         }
 
         SmartIdentity oldData = smartIdentityService.getSmartById(sa.getId());
-        if(oldData == null){
+        if (oldData == null) {
             return CommonResult.fail("身份数据无效,修改失败");
         }
 
-        if(sa.getName() != null && !sa.getName().equals(oldData.getName())){
+        if (sa.getName() != null && !sa.getName().equals(oldData.getName())) {
             //查看是否存在相同身份的数据
             SmartIdentity data = smartIdentityService.queryIdentityByName(sa.getName());
-            if(data != null){
+            if (data != null) {
                 return CommonResult.fail("该身份已存在");
             }
         }
@@ -130,5 +132,21 @@ public class SmartIdentityController implements SmartIdentityControllerAPI {
 
         return result > 0 ? CommonResult.ok("删除成功") : CommonResult.fail("删除失败");
     }
+
+    @Override
+    public CommonResult querySmartIdentitys() {
+
+        List<SmartIdentity> datas = smartIdentityService.list(null);
+
+        List<SemesterVo> result = new ArrayList<>();
+        for (SmartIdentity data : datas) {
+            SemesterVo model = new SemesterVo();
+            model.setId(data.getId());
+            model.setName(data.getName());
+            result.add(model);
+        }
+
+        return CommonResult.ok(result);
+    }
 }
 

+ 13 - 6
src/main/java/com/template/controller/SmartScoreController.java

@@ -160,9 +160,12 @@ public class SmartScoreController implements SmartScoreControllerAPI {
                 data.setSemester(spv.getSemester());
                 data.setGrade(spv.getGrade());
                 data.setSchoolClass(spv.getSchoolClass());
-                data.setSubject(eSubjectStatu.stringOf(spv.getSubjectId()));
-                data.setExamType(eExamType.stringOf(spv.getExamType()));
+                data.setSubject(spv.getSubjectId());
+                data.setSubjectStr(eSubjectStatu.stringOf(spv.getSubjectId()));
+                data.setExamType(spv.getExamType());
+                data.setExamTypeStr(eExamType.stringOf(spv.getExamType()));
                 data.setName(spv.getName());
+                data.setUserId(spv.getUserId());
                 data.setCardNo(spv.getCardNo());
                 data.setScore(spv.getScore());
                 datas.add(data);
@@ -367,12 +370,12 @@ public class SmartScoreController implements SmartScoreControllerAPI {
 
         try{
             //sheetAt.getLastRowNum():从0开始统计数量 所以得+1
-            for (int rowNum = 1;rowNum < sheetAt.getLastRowNum() + 1;rowNum++){
+            for (int rowNum = 0;rowNum < sheetAt.getLastRowNum();rowNum++){
 
                 HSSFRow row = sheetAt.getRow(rowNum);
 
                 //判断每一列单元格是否符合规则
-                if(rowNum == 1){
+                if(rowNum == 0){
                     String semester = dataFormatter.formatCellValue(row.getCell(0));//学期
                     if (!semester.equals("学期")) {
                         return CommonResult.fail("导入数据第一列为学期");
@@ -437,6 +440,8 @@ public class SmartScoreController implements SmartScoreControllerAPI {
                     Optional<SmartUser> user = users.stream().filter(e -> e.getCardNo().equals(cardNo)).findFirst();
                     if(user != null && user.isPresent()){
                         data.setUserId(user.get().getId());
+                    }else{
+                        return CommonResult.fail("当前系统中不存在"+name+"的学生信息,无法导入成绩");
                     }
                     data.setSubjectId(eSubjectStatu.integerOf(subject));
                     data.setExamType(eExamType.integerOf(examType));
@@ -474,12 +479,12 @@ public class SmartScoreController implements SmartScoreControllerAPI {
 
         try{
             //sheetAt.getLastRowNum():从0开始统计数量 所以得+1
-            for (int rowNum = 1;rowNum < sheetAt.getLastRowNum() + 1;rowNum++){
+            for (int rowNum = 0;rowNum < sheetAt.getLastRowNum();rowNum++){
 
                 XSSFRow row = sheetAt.getRow(rowNum);
 
                 //判断每一列单元格是否符合规则
-                if(rowNum == 1){
+                if(rowNum == 0){
                     String semester = dataFormatter.formatCellValue(row.getCell(0));//学期
                     if (!semester.equals("学期")) {
                         return CommonResult.fail("导入数据第一列为学期");
@@ -544,6 +549,8 @@ public class SmartScoreController implements SmartScoreControllerAPI {
                     Optional<SmartUser> user = users.stream().filter(e -> e.getCardNo().equals(cardNo)).findFirst();
                     if(user != null && user.isPresent()){
                         data.setUserId(user.get().getId());
+                    }else{
+                        return CommonResult.fail("当前系统中不存在"+name+"的学生信息,无法导入成绩");
                     }
                     data.setSubjectId(eSubjectStatu.integerOf(subject));
                     data.setExamType(eExamType.integerOf(examType));

+ 420 - 31
src/main/java/com/template/controller/SmartUserController.java

@@ -1,29 +1,34 @@
 package com.template.controller;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.qcloud.cos.utils.IOUtils;
+import com.seewo.open.sdk.DefaultSeewoClient;
+import com.seewo.open.sdk.SeewoClient;
+import com.seewo.open.sdk.auth.Account;
 import com.template.api.SmartUserControllerAPI;
-import com.template.common.utils.ExcelUtils;
-import com.template.common.utils.FileUtils;
-import com.template.common.utils.paramUtils;
+import com.template.common.utils.*;
+import com.template.config.ControlConfig;
+import com.template.config.SeewoConfig;
 import com.template.model.enumModel.eFileType;
 import com.template.model.enumModel.eIdentityStatu;
 import com.template.model.enumModel.eLogOff;
 import com.template.model.enumModel.eSexStatu;
+import com.template.model.pojo.SmartClass;
 import com.template.model.pojo.SmartDepartment;
+import com.template.model.pojo.SmartGrade;
 import com.template.model.pojo.SmartUser;
 import com.template.model.request.changeDepartmentRequest;
 import com.template.model.request.insertSmartUserRequest;
 import com.template.model.request.updateSmartUserRequest;
+import com.template.model.request.useridsRequest;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
-import com.template.model.vo.AffiliateUserVo;
-import com.template.model.vo.DepartmentTreeVo;
-import com.template.model.vo.UserVo;
-import com.template.services.SmartDepartmentService;
-import com.template.services.SmartUploadService;
-import com.template.services.SmartUserService;
+import com.template.model.seewo.*;
+import com.template.model.vo.*;
+import com.template.services.*;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
@@ -41,13 +46,18 @@ import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
 import java.nio.charset.Charset;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.zip.ZipInputStream;
 
+import static com.template.common.utils.AesTestOne.decrypt;
+
 /**
  * <p>
  * 前端控制器
@@ -59,27 +69,47 @@ import java.util.zip.ZipInputStream;
 @RestController
 public class SmartUserController implements SmartUserControllerAPI {
 
+    @Resource
+    private SeewoConfig seewoConfig;
+
+    @Resource
+    private ControlConfig controlConfig;
+
     @Autowired
     private SmartUserService smartUserService;
 
     @Autowired
+    private SmartGradeService smartGradeService;
+
+    @Autowired
+    private SmartClassService smartClassService;
+
+    @Autowired
     private SmartUploadService smartUploadService;
 
     @Autowired
     private SmartDepartmentService smartDepartmentService;
 
     @Override
-    public CommonResult logoffAccount(int id) {
-        SmartUser user = smartUserService.getSmartById(id);
-        if (user == null) {
-            return CommonResult.fail("用户信息已失效");
+    public CommonResult logoffAccount(useridsRequest ur, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
         }
 
-        user.setIsCancel(eLogOff.Logout.getValue());
+        int user = smartUserService.getSmartUserCountByIds(ur.getUserIds());
+        if (user != ur.getUserIds().size()) {
+            return CommonResult.fail("用户信息已失效");
+        }
 
-        int updateResult = smartUserService.updateSmartUser(user);
+//        for (:) {
+//
+//        }
+//        user.setIsCancel(eLogOff.Logout.getValue());
+//
+//        int updateResult = smartUserService.updateSmartUser(user);
 
-        return updateResult > 0 ? CommonResult.ok("注销成功") : CommonResult.fail("注销失败");
+        return 0 > 0 ? CommonResult.ok("注销成功") : CommonResult.fail("注销失败");
     }
 
     @Override
@@ -150,6 +180,7 @@ public class SmartUserController implements SmartUserControllerAPI {
         return resultBool ? CommonResult.ok("导入成功") : CommonResult.fail("导入失败");
     }
 
+
     /**
      * 批量导入用户信息
      * 以身份证号作为判断依据 如果存在重复数据就提示存在重复数据
@@ -257,7 +288,8 @@ public class SmartUserController implements SmartUserControllerAPI {
         XSSFWorkbook sheets = new XSSFWorkbook(inputStream);
 
         List<SmartDepartment> departments = smartDepartmentService.list(null);
-
+        List<SmartGrade> grades = smartGradeService.list(null); //年级
+        List<SmartClass> classs = smartClassService.list(null);//班级
         //读取第一张sheet
         XSSFSheet sheetAt = sheets.getSheetAt(0);
 
@@ -454,7 +486,23 @@ public class SmartUserController implements SmartUserControllerAPI {
                         user.setHeadImage(cellImage);
                         user.setDormitoryNumber(dormitoryNumber == null ? "" : dormitoryNumber);
                         user.setGrade(grade == null ? "" : grade);
-                        user.setSchoolClass(schoolClass == null ? "" : schoolClass);
+                        Optional<SmartGrade> oGrade = grades.stream().filter(e -> e.getName().equals(grade)).findFirst();
+
+                        if (oGrade != null && oGrade.isPresent()) {
+                            Integer gradeId = oGrade.get().getId();
+
+                            Optional<SmartClass> oClass = classs.stream().filter(e -> e.getName().equals(schoolClass) && e.getGradeId().equals(gradeId)).findFirst();
+
+                            if (oClass != null && oClass.isPresent()) {
+                                user.setSchoolClass(oClass.get().getId());
+                            } else {
+                                return CommonResult.fail(name + "的班级数据无效,导入失败");
+                            }
+
+                        } else {
+                            return CommonResult.fail(name + "的年级数据无效,导入失败");
+                        }
+
                         user.setCollege("");
                         user.setSpeciality("");
                         user.setCampus("");
@@ -498,6 +546,8 @@ public class SmartUserController implements SmartUserControllerAPI {
         HSSFWorkbook sheets = new HSSFWorkbook(inputStream);
 
         List<SmartDepartment> departments = smartDepartmentService.list(null);
+        List<SmartGrade> grades = smartGradeService.list(null); //年级
+        List<SmartClass> classs = smartClassService.list(null);//班级
 
         //读取第一张sheet
         HSSFSheet sheetAt = sheets.getSheetAt(0);
@@ -696,7 +746,22 @@ public class SmartUserController implements SmartUserControllerAPI {
                         user.setHeadImage(cellImage);
                         user.setDormitoryNumber(dormitoryNumber == null ? "" : dormitoryNumber);
                         user.setGrade(grade == null ? "" : grade);
-                        user.setSchoolClass(schoolClass == null ? "" : schoolClass);
+                        Optional<SmartGrade> oGrade = grades.stream().filter(e -> e.getName().equals(grade)).findFirst();
+
+                        if (oGrade != null && oGrade.isPresent()) {
+                            Integer gradeId = oGrade.get().getId();
+
+                            Optional<SmartClass> oClass = classs.stream().filter(e -> e.getName().equals(schoolClass) && e.getGradeId().equals(gradeId)).findFirst();
+
+                            if (oClass != null && oClass.isPresent()) {
+                                user.setSchoolClass(oClass.get().getId());
+                            } else {
+                                return CommonResult.fail(name + "的班级数据无效,导入失败");
+                            }
+
+                        } else {
+                            return CommonResult.fail(name + "的年级数据无效,导入失败");
+                        }
                         user.setCollege("");
                         user.setSpeciality("");
                         user.setCampus("");
@@ -725,7 +790,6 @@ public class SmartUserController implements SmartUserControllerAPI {
         return CommonResult.ok(result);
     }
 
-
     /**
      * 新增用户
      *
@@ -734,12 +798,18 @@ public class SmartUserController implements SmartUserControllerAPI {
      * @return
      */
     @Override
-    public CommonResult insertSmartUser(insertSmartUserRequest isur, BindingResult bindingResult) {
+    public CommonResult insertSmartUser(insertSmartUserRequest isur, BindingResult bindingResult) throws Exception {
         if (bindingResult.hasErrors()) {
             String st = paramUtils.getParamError(bindingResult);
             return CommonResult.fail(st);
         }
 
+        //重复性判断
+        int existCount = smartUserService.querySmartUserByCardNo(isur.getCardNo());
+        if (existCount > 0) {
+            return CommonResult.fail("当前学号已存在,请勿重复添加");
+        }
+
         SmartUser su = new SmartUser();
         su.setCardNo(isur.getCardNo());
         su.setName(isur.getName());
@@ -764,6 +834,249 @@ public class SmartUserController implements SmartUserControllerAPI {
         su.setDuties(isur.getDuties());
         su.setIsCancel(eLogOff.Unlogout.getValue());
 
+        //region 人员信息加入到第三方api
+        //要将用户数据加入到希沃和百胜中
+        //希沃和百胜的老师、学生数据添加是不一样的,所以按身份添加
+        if (isur.getIdentityId().intValue() == eIdentityStatu.Parent.getValue()) {//家长
+            //拿到被关联学生的信息去获取对应的卡号
+            //有多个学生就循环学生
+            if (isur.getAffiliate() == null) {
+                return CommonResult.fail("被关联人不能为空");
+            }
+
+            if (isur.getAffiliate().size() <= 0) {
+                return CommonResult.fail("被关联人不能为空");
+            }
+
+            List<SmartUser> studentDatas = smartUserService.getSmartUserIds(isur.getAffiliate());
+
+            //region 希沃新增编辑学生家长信息
+            //学生与家长列表,最大100条
+            List<ParentServiceBatchSaveOrUpdateParentsParam.StudentParentsItem> studentParents = new ArrayList<>();
+            for (SmartUser student : studentDatas) {
+                ParentServiceBatchSaveOrUpdateParentsParam.StudentParentsItem students = ParentServiceBatchSaveOrUpdateParentsParam.StudentParentsItem.builder()
+                        .studentCode(student.getCardNo())
+                        .build();
+                studentParents.add(students);
+
+                //家长列表,最多4个
+                ParentServiceBatchSaveOrUpdateParentsParam.ParentsItem parents = ParentServiceBatchSaveOrUpdateParentsParam.ParentsItem.builder()
+                        .name(isur.getName())
+                        .phone(isur.getPhone())
+                        .index(0)
+                        .build();
+
+                students.setParents(java.util.Collections.singletonList(parents));
+            }
+
+            //初始化客户端
+            SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
+            ParentServiceBatchSaveOrUpdateParentsParam param = new ParentServiceBatchSaveOrUpdateParentsParam();
+            //响应体,MimeType为 application/json
+            ParentServiceBatchSaveOrUpdateParentsParam.RequestBody requestBody = ParentServiceBatchSaveOrUpdateParentsParam.RequestBody.builder()
+                    .build();
+            param.setRequestBody(requestBody);
+            //query
+            ParentServiceBatchSaveOrUpdateParentsParam.Query query = ParentServiceBatchSaveOrUpdateParentsParam.Query.builder()
+                    .appId(seewoConfig.getAppId())
+                    .schoolUid(seewoConfig.getSchoolId())
+                    .build();
+            requestBody.setQuery(query);
+            query.setStudentParents(studentParents);
+            param.setRequestBody(requestBody);
+            ParentServiceBatchSaveOrUpdateParentsRequest request = new ParentServiceBatchSaveOrUpdateParentsRequest(param);
+            System.out.println("入参:" + request);
+            //如果想要调用沙箱环境,请通过设置 request 对象的 serverUrl 属性,如:
+            //request.setServerUrl("https://openapi.test.seewo.com")
+            //执行请求,如果想获取到com.seewo.open.sdk.HttpResponse对象,请调用 seewoClient.execute 方法
+            ParentServiceBatchSaveOrUpdateParentsResult result = seewoClient.invoke(request);
+            System.out.println("出参:" + result);
+            //endregion
+
+            if (result == null) {
+                return CommonResult.fail("希沃学生家长数据更新失败!");
+            }
+
+            if (!result.getResponseBody().getCode().equals("000000")) {
+                return CommonResult.fail(result.getResponseBody().getMessage());
+            }
+
+        } else if (isur.getIdentityId().intValue() == eIdentityStatu.Student.getValue()) {//学生
+            //获取班级Uid
+            SmartClass classData = smartClassService.getSmartClassById(isur.getSchoolClass());
+            if (classData == null) {
+                return CommonResult.fail("班级数据无效,新增失败");
+            }
+
+            //region 希沃新增学生信息
+            //初始化客户端
+            SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
+            StudentServiceBatchSaveClassStudentsParam param = new StudentServiceBatchSaveClassStudentsParam();
+            //请求体,MimeType为 application/json
+            StudentServiceBatchSaveClassStudentsParam.JSONRequestBody requestBody = StudentServiceBatchSaveClassStudentsParam.JSONRequestBody.builder()
+                    .build();
+            param.setRequestBody(requestBody);
+            //查询条件
+            StudentServiceBatchSaveClassStudentsParam.StudentSaveQuery query = StudentServiceBatchSaveClassStudentsParam.StudentSaveQuery.builder()
+                    .appId(seewoConfig.getAppId())
+                    .schoolUid(seewoConfig.getSchoolId())
+                    .classUid(classData.getClassUid())
+                    .build();
+            requestBody.setQuery(query);
+            // 学生列表
+            StudentServiceBatchSaveClassStudentsParam.StudentInfo students = StudentServiceBatchSaveClassStudentsParam.StudentInfo.builder()
+                    .studentName(isur.getName())
+                    .studentCode(isur.getCardNo())
+                    .gender(isur.getSexId())
+                    .phone(isur.getPhone() == null ? "" : isur.getPhone())
+                    .build();
+            query.setStudents(java.util.Collections.singletonList(students));
+            query.setInPlaceOld(true);// 是否删除旧学生再保存
+            param.setRequestBody(requestBody);
+            StudentServiceBatchSaveClassStudentsRequest request = new StudentServiceBatchSaveClassStudentsRequest(param);
+            System.out.println("入参:" + request);
+            //如果想要调用沙箱环境,请通过设置 request 对象的 serverUrl 属性,如:
+            //request.setServerUrl("https://openapi.test.seewo.com")
+            //执行请求,如果想获取到com.seewo.open.sdk.HttpResponse对象,请调用 seewoClient.execute 方法
+            StudentServiceBatchSaveClassStudentsResult result = seewoClient.invoke(request);
+            System.out.println("出参:" + result);
+
+            if (result == null) {
+                return CommonResult.fail("希沃学生数据新增失败!");
+            }
+
+            if (!result.getResponseBody().getCode().equals("000000")) {
+                return CommonResult.fail(result.getResponseBody().getMessage());
+            }
+
+            su.setXwStudentUid(result.getResponseBody().getData().get(0).getUserUid());
+            //endregion
+
+            //region 百胜新增学生信息
+            String appId = controlConfig.getAppId();
+            String schoolno = controlConfig.getSchoolCode();
+            String timestamp = TimeExchange.DateNowTimeStamo();
+            String appSecret = controlConfig.getAppSecret();
+            String url = "http://schoolopenapi.szymzh.com/openapi/student/create";
+
+            JSONObject jsonobject = new JSONObject();
+            jsonobject.put("appid", appId);
+            String str = "{\"student_name\":\"" + isur.getName() + "\",\"classtab_no\":\"" + classData.getBsClassNo() + "\",\"student_number\":\"" + isur.getCardNo() + "\",\"student_sex\":\"" + isur.getSexId() + "\",\"student_photo\":\"" + imageUtils.getBase64Url(isur.getHeadImage()) + "\"}";
+            String aesStr = URLEncoder.encode(AesTestOne.encrypt(str), "UTF-8");
+            jsonobject.put("data", aesStr);
+            jsonobject.put("schoolno", schoolno);
+            jsonobject.put("timestamp", timestamp);
+
+            String md5Str = "appid=" + appId + "&data={\"student_name\":\"" + isur.getName() + "\",\"classtab_no\":\"" + classData.getBsClassNo() + "\",\"student_number\":\"" + isur.getCardNo() + "\",\"student_sex\":\"" + isur.getSexId() + "\",\"student_photo\":\"" + imageUtils.getBase64Url(isur.getHeadImage()) + "\"}" + "&schoolno=" + schoolno + "&timestamp=" + timestamp + "&key=" + appSecret;
+            String sign = CommonUtil.MD5(md5Str);
+            //sign签名
+            jsonobject.put("sign", sign);
+
+            //返回的结果中 code为1表示成功
+            String bsResult = RequestUtils.httpPost(url, jsonobject.toJSONString());
+
+            if (bsResult.contains("添加成功")) {
+                ObjectMapper objectMapper = new ObjectMapper();
+                BsStudentVo grade = objectMapper.readValue(bsResult, BsStudentVo.class);
+
+                // URL解码
+                String decodedUrl = URLDecoder.decode(grade.getData(), "UTF-8");
+
+                BsStudentNoVo studentNo = objectMapper.readValue(decrypt(decodedUrl), BsStudentNoVo.class);
+                su.setBsStudentNo(studentNo.getStudent_no());
+            }
+            //endregion
+
+        } else if (isur.getIdentityId().intValue() == eIdentityStatu.Teacher.getValue()) {//老师
+
+            //region 希沃添加教师数据
+            //初始化客户端
+            SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
+            TeacherServiceBatchSaveOrUpdateTeacherParam param = new TeacherServiceBatchSaveOrUpdateTeacherParam();
+            //请求体,MimeType为 application/json
+            TeacherServiceBatchSaveOrUpdateTeacherParam.JSONRequestBody requestBody = TeacherServiceBatchSaveOrUpdateTeacherParam.JSONRequestBody.builder()
+                    .build();
+            param.setRequestBody(requestBody);
+            //老师信息
+            TeacherServiceBatchSaveOrUpdateTeacherParam.SaveOrUpdateTeacherBatchQuery query = TeacherServiceBatchSaveOrUpdateTeacherParam.SaveOrUpdateTeacherBatchQuery.builder()
+                    .appId(seewoConfig.getAppId())
+                    .schoolUid(seewoConfig.getSchoolId())
+                    .build();
+            requestBody.setQuery(query);
+            // 老师列表
+            TeacherServiceBatchSaveOrUpdateTeacherParam.SaveOrUpdateTeacherQuery teachers = TeacherServiceBatchSaveOrUpdateTeacherParam.SaveOrUpdateTeacherQuery.builder()
+                    .account(isur.getPhone())//用户账号
+                    .name(isur.getName())//用户名字
+                    .accountType("phone")//账号类型 phone:手机号  email:邮箱
+                    .teacherCode("")//教师工号
+                    .photoUrl(isur.getHeadImage())//图片链接
+                    .build();
+            query.setTeachers(java.util.Collections.singletonList(teachers));
+            param.setRequestBody(requestBody);
+            TeacherServiceBatchSaveOrUpdateTeacherRequest request = new TeacherServiceBatchSaveOrUpdateTeacherRequest(param);
+            System.out.println("入参:" + request);
+            //如果想要调用沙箱环境,请通过设置 request 对象的 serverUrl 属性,如:
+            //request.setServerUrl("https://openapi.test.seewo.com")
+            //执行请求,如果想获取到com.seewo.open.sdk.HttpResponse对象,请调用 seewoClient.execute 方法
+            TeacherServiceBatchSaveOrUpdateTeacherResult result = seewoClient.invoke(request);
+            System.out.println("出参:" + result);
+
+            if (result == null) {
+                return CommonResult.fail("希沃学生数据新增失败!");
+            }
+
+            if (!result.getResponseBody().getCode().equals("000000")) {
+                return CommonResult.fail(result.getResponseBody().getMessage());
+            }
+
+            su.setXwTeacherCode(result.getResponseBody().getData().get(0).getTeacherCode());
+            //endregion
+
+            //region 百胜添加教师数据
+            SmartDepartment departmentData = smartDepartmentService.getSmartById(isur.getDepartmentId());
+            if(departmentData == null){
+                return CommonResult.fail("部门数据无效,新增教师失败");
+            }
+
+            String departmentNo = departmentData.getBsDepartmentNo();//"DT1701845086538710";
+            String appId = controlConfig.getAppId();
+            String schoolno = controlConfig.getSchoolCode();
+            String timestamp = TimeExchange.DateNowTimeStamo();
+            String appSecret = controlConfig.getAppSecret();
+            String url = "http://schoolopenapi.szymzh.com/openapi/staff/create";
+
+            JSONObject jsonobject = new JSONObject();
+            jsonobject.put("appid", appId);
+            String str = "{\"staff_name\":\"" + isur.getName() + "\",\"department_no\":\"" + departmentNo + "\",\"stafft_number\":\"" + isur.getCardNo() + "\",\"staff_phone\":\"" + isur.getPhone() + "\",\"staff_sex\":\"" + isur.getSexId() + "\",\"staff_photo\":\"" + imageUtils.getBase64Url(isur.getHeadImage()) + "\"}";
+            String aesStr = URLEncoder.encode(AesTestOne.encrypt(str), "UTF-8");
+            jsonobject.put("data", aesStr);
+            jsonobject.put("schoolno", schoolno);
+            jsonobject.put("timestamp", timestamp);
+
+            String md5Str = "appid=" + appId + "&data={\"staff_name\":\"" + isur.getName() + "\",\"department_no\":\"" + departmentNo + "\",\"stafft_number\":\"" + isur.getCardNo() + "\",\"staff_phone\":\"" + isur.getPhone() + "\",\"staff_sex\":\"" + isur.getSexId() + "\",\"staff_photo\":\"" + imageUtils.getBase64Url(isur.getHeadImage()) + "\"}" + "&schoolno=" + schoolno + "&timestamp=" + timestamp + "&key=" + appSecret;
+            String sign = CommonUtil.MD5(md5Str);
+            //sign签名
+            jsonobject.put("sign", sign);
+
+            //返回的结果中 code为1表示成功
+            String bsResult = RequestUtils.httpPost(url, jsonobject.toJSONString());
+
+            if (bsResult.contains("添加成功")) {
+                ObjectMapper objectMapper = new ObjectMapper();
+                BsStaffVo staff = objectMapper.readValue(bsResult, BsStaffVo.class);
+
+                // URL解码
+                String decodedUrl = URLDecoder.decode(staff.getData(), "UTF-8");
+
+                BsStaffNoVo staffNo = objectMapper.readValue(decrypt(decodedUrl), BsStaffNoVo.class);
+                su.setBsStaffCode(staffNo.getStaff_no());
+            }
+            //endregion
+
+        }
+        //endregion
+
+        //最后都要把数据加入到数据库中
         int result = smartUserService.insertSmartUser(su);
 
         //新增用户得将用户信息通过接口推送到希沃、百胜
@@ -835,7 +1148,7 @@ public class SmartUserController implements SmartUserControllerAPI {
         childDepartmentIds.add(departmentId);
         QueryDepartmentTreeRecords(departmentId, departments, childDepartmentIds);
 
-        if(departmentId == null){
+        if (departmentId == null) {
             childDepartmentIds = null;
         }
 
@@ -893,7 +1206,7 @@ public class SmartUserController implements SmartUserControllerAPI {
             dataRow.createCell(5).setCellValue(eSexStatu.stringOf(user.getSexId()));
             //获取父级部门ID
             Optional<SmartDepartment> department = departments.stream().filter(e -> e.getId().equals(user.getDepartmentId())).findFirst();
-            if(department != null && department.isPresent()){
+            if (department != null && department.isPresent()) {
                 dataRow.createCell(6).setCellValue(QueryParentDepartments(department.get().getParentId(), departments, null));
             }
 
@@ -950,8 +1263,8 @@ public class SmartUserController implements SmartUserControllerAPI {
 
         Optional<SmartDepartment> data = lists.stream().filter(e -> e.getId().equals(parentID)).findFirst();
 
-        if(data != null && data.isPresent()){
-            departmentStr = departmentStr == null ? data.get().getName() : data.get().getName() + "/"+ departmentStr;
+        if (data != null && data.isPresent()) {
+            departmentStr = departmentStr == null ? data.get().getName() : data.get().getName() + "/" + departmentStr;
             QueryParentDepartments(data.get().getParentId(), lists, departmentStr);
         }
 
@@ -959,15 +1272,19 @@ public class SmartUserController implements SmartUserControllerAPI {
     }
 
     @Override
-    public CommonResult deleteSmartUserById(int id) {
+    public CommonResult deleteSmartUserById(useridsRequest ur, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
+        }
 
-        SmartUser data = smartUserService.getSmartById(id);
+        int data = smartUserService.getSmartUserCountByIds(ur.getUserIds());
 
-        if (data == null) {
-            return CommonResult.fail("当前数据不存在,删除失败!");
+        if (data != ur.getUserIds().size()) {
+            return CommonResult.fail("存在无效用户数据,删除失败!");
         }
 
-        int result = smartUserService.deleteSmartUserById(id);
+        int result = smartUserService.deleteSmartUserByIds(ur.getUserIds());
 
         return result > 0 ? CommonResult.ok("删除成功") : CommonResult.fail("删除失败");
     }
@@ -980,7 +1297,79 @@ public class SmartUserController implements SmartUserControllerAPI {
 
     @Override
     public CommonResult downloadUserExcel() {
-        return CommonResult.ok("200","操作成功","https://wanzai-1306339220.cos.ap-shanghai.myqcloud.com/excelModel/人员信息表.xlsx");
+        return CommonResult.ok("200", "操作成功", "https://wanzai-1306339220.cos.ap-shanghai.myqcloud.com/excelModel/人员信息表.xlsx");
+    }
+
+    @Override
+    public CommonResult queryStudents(int userId) {
+
+        List<SmartUser> students = new ArrayList<>();
+        SmartUser user = smartUserService.getSmartById(userId);
+        if (user == null) {
+            return CommonResult.fail("用户信息为空,获取学生列表数据失败");
+        }
+
+        if (user.getAffiliate() == null) {
+            return CommonResult.ok(students);
+        }
+
+        List<Integer> affiliateIds = new ArrayList<>();
+        List<String> affiliates = Arrays.asList(user.getAffiliate().split(","));
+        for (String affiliate : affiliates) {
+            affiliateIds.add(Integer.valueOf(affiliate));
+        }
+
+        students = smartUserService.getSmartUserByIds(affiliateIds);
+
+        List<ParentOfStudentsVo> result = new ArrayList<>();
+        for (SmartUser student : students) {
+            ParentOfStudentsVo data = new ParentOfStudentsVo();
+            data.setId(student.getId());
+            data.setName(student.getName());
+            data.setCardNo(student.getCardNo());
+            data.setDepartmentId(student.getDepartmentId());
+            result.add(data);
+        }
+
+        return CommonResult.ok(result);
+    }
+
+    public static void main(String[] args) throws Exception {
+        //region 百胜新增学生信息
+        String image = "https://wanzai-1306339220.cos.ap-shanghai.myqcloud.com/out_www.yalijuda.com_%E7%94%98%E6%98%B1%E6%96%B0%E3%80%9018320846714%E3%80%91_TSZ5EdgPMi%20%281%29.jpg";
+        String appId = "sc5efc60f2bd373df9";
+        String schoolno = "SL1701743624375793";
+        String timestamp = "20240110090422121";//TimeExchange.DateNowTimeStamo();
+        String appSecret = "fe0d767a2a394d1b81ccda6fc0ce5ecc";
+        String url = "http://schoolopenapi.szymzh.com/openapi/student/create";
+
+        JSONObject jsonobject = new JSONObject();
+        jsonobject.put("appid", appId);
+        String str = "{\"student_name\":\"" + "李四" + "\",\"classtab_no\":\"" + "CS1704704260801286" + "\",\"student_number\":\"" + "A123457" + "\",\"student_sex\":\"" + 1 + "\",\"student_photo\":\"" + imageUtils.getBase64Url(image) + "\"}";
+        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str), "UTF-8");
+        jsonobject.put("data", aesStr);
+        jsonobject.put("schoolno", schoolno);
+        jsonobject.put("timestamp", timestamp);
+
+        String md5Str = "appid=" + appId + "&data={\"student_name\":\"" + "李四" + "\",\"classtab_no\":\"" + "CS1704704260801286" + "\",\"student_number\":\"" + "A123457" + "\",\"student_sex\":\"" + 1 + "\",\"student_photo\":\"" + imageUtils.getBase64Url(image) + "\"}" + "&schoolno=" + schoolno + "&timestamp=" + timestamp + "&key=" + appSecret;
+        String sign = CommonUtil.MD5(md5Str);
+        //sign签名
+        jsonobject.put("sign", sign);
+
+        //返回的结果中 code为1表示成功
+        String bsResult = RequestUtils.httpPost(url, jsonobject.toJSONString());
+        System.out.println(bsResult);
+        if (bsResult.contains("添加成功")) {
+            ObjectMapper objectMapper = new ObjectMapper();
+            BsStudentVo grade = objectMapper.readValue(bsResult, BsStudentVo.class);
+
+            // URL解码
+            String decodedUrl = URLDecoder.decode(grade.getData(), "UTF-8");
+
+            BsStudentNoVo studentNo = objectMapper.readValue(decrypt(decodedUrl), BsStudentNoVo.class);
+            String sdsd = "";
+        }
+        //endregion
     }
 }
 

+ 5 - 10
src/main/java/com/template/controller/SmartVisitorController.java

@@ -11,7 +11,6 @@ import com.template.common.utils.CommonUtil;
 import com.template.common.utils.RequestUtils;
 import com.template.common.utils.TimeExchange;
 import com.template.common.utils.paramUtils;
-import com.template.config.CosConfig;
 import com.template.config.ParkConfig;
 import com.template.config.SeewoConfig;
 import com.template.model.enumModel.eApproveStatu;
@@ -22,25 +21,21 @@ import com.template.model.request.otherAppointmentRequest;
 import com.template.model.request.parentsAppointmentRequest;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
+import com.template.model.seewo.HomeSchoolServiceSendNoteToKidParam;
+import com.template.model.seewo.HomeSchoolServiceSendNoteToKidRequest;
+import com.template.model.seewo.HomeSchoolServiceSendNoteToKidResult;
 import com.template.model.vo.AffiliateUserVo;
 import com.template.model.vo.VisitorPageVo;
 import com.template.services.SmartUserService;
 import com.template.services.SmartVisitorService;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
-import java.io.*;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
 import java.util.*;
-import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -237,7 +232,7 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
     }
 
     @Override
-    public CommonResult appointmentPageRecord(int currentPage, int pageCount, int userId, int type) {
+    public CommonResult appointmentPageRecord(int currentPage, int pageCount, Integer userId, int type) {
         PageUtils<VisitorPageVo> result = smartVisitorService.smartVisitorPageByUserId(currentPage, pageCount, userId, type);
 
         return CommonResult.ok(result);
@@ -285,7 +280,7 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
                         String reserveEndTime = TimeExchange.DateToString(visitor.getVisitorDeadline(),"yyyy-MM-dd HH:mm:ss");
                         String version = "v1.0";
                         String appSecret = parkConfig.getAppSecret();
-                        String url = parkConfig.getUrl();
+                        String url = "http://openapi.szymzh.com/Api/Inform/Reservation";
 
                         JSONObject jsonobject = new JSONObject();
                         jsonobject.put("appid", appId);

+ 16 - 13
src/main/java/com/template/core/JwtAuthenticationInterceptor.java

@@ -22,30 +22,33 @@ public class JwtAuthenticationInterceptor implements HandlerInterceptor {
 
     /**
      * preHandle:进入到控制器方法之前执行的内容
-     *     boolean:
-     *         true:可以继续执行控制器方法
-     *         false:拦截
+     * boolean:
+     * true:可以继续执行控制器方法
+     * false:拦截
      * posthandler:执行控制器方法之后执行的内容
      * afterCompletion:响应结束之前执行的内容
      *///说明
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
 
-        //region 检查是否有passtoken注释,有则跳过认证
-        //PassToken注解用在方法上面
-        HandlerMethod handlerMethod = (HandlerMethod) handler;
-        Method method = handlerMethod.getMethod();
-        if (method.isAnnotationPresent(PassToken.class)) {
-            PassToken passToken = method.getAnnotation(PassToken.class);
-            if (passToken.requeired()) {
-                return true;
+        if (handler instanceof HandlerMethod) {
+            //region 检查是否有passtoken注释,有则跳过认证
+            //PassToken注解用在方法上面
+            HandlerMethod handlerMethod = (HandlerMethod) handler;
+            Method method = handlerMethod.getMethod();
+            if (method.isAnnotationPresent(PassToken.class)) {
+                PassToken passToken = method.getAnnotation(PassToken.class);
+                if (passToken.requeired()) {
+                    return true;
+                }
             }
+            //endregion
         }
-        //endregion
+
 
         //冻结后无法操作系统
 
-        if(1 == 1){
+        if (1 == 1) {
             return true;
         }
 

+ 3 - 0
src/main/java/com/template/model/pojo/SmartClass.java

@@ -46,6 +46,9 @@ public class SmartClass implements Serializable {
     @ApiModelProperty(value = "班级序号")
     private Integer classNo;
 
+    @ApiModelProperty(value = "百胜班级序号")
+    private String bsClassNo;
+
     @ApiModelProperty(value = "创建时间")
     @TableField(fill = FieldFill.INSERT)
     private Date createTime;

+ 3 - 0
src/main/java/com/template/model/pojo/SmartDepartment.java

@@ -40,6 +40,9 @@ public class SmartDepartment implements Serializable {
     @ApiModelProperty(value = " 部门名称")
     private String name;
 
+    @ApiModelProperty(value = " 部门名称")
+    private String bsDepartmentNo;
+
     @ApiModelProperty(value = "创建时间")
     @TableField(fill = FieldFill.INSERT)
     private Date createTime;

+ 11 - 1
src/main/java/com/template/model/pojo/SmartGrade.java

@@ -1,13 +1,17 @@
 package com.template.model.pojo;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+
 import java.util.Date;
+
 import com.baomidou.mybatisplus.annotation.Version;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableField;
+
 import java.io.Serializable;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -25,7 +29,7 @@ import lombok.experimental.Accessors;
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@ApiModel(value="SmartGrade对象", description="楼栋表")
+@ApiModel(value = "SmartGrade对象", description = "楼栋表")
 public class SmartGrade implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -40,6 +44,12 @@ public class SmartGrade implements Serializable {
     @ApiModelProperty(value = "年级序号")
     private Integer gradeNo;
 
+    @ApiModelProperty(value = "百胜年级编号")
+    private String bsGradeNo;
+
+    @ApiModelProperty(value = "年级UID")
+    private String gradeUid;
+
     @ApiModelProperty(value = "创建时间")
     @TableField(fill = FieldFill.INSERT)
     private Date createTime;

+ 3 - 0
src/main/java/com/template/model/pojo/SmartSchool.java

@@ -63,6 +63,9 @@ public class SmartSchool implements Serializable {
     @ApiModelProperty(value = "原始ID")
     private String originalId;
 
+    @ApiModelProperty(value = "百胜学校编号")
+    private String bsSchoolCode;
+
     @ApiModelProperty(value = "创建时间")
     @TableField(fill = FieldFill.INSERT)
     private Date createTime;

+ 13 - 1
src/main/java/com/template/model/pojo/SmartUser.java

@@ -65,7 +65,7 @@ public class SmartUser implements Serializable {
     private String speciality;
 
     @ApiModelProperty(value = "班级")
-    private String schoolClass;
+    private Integer schoolClass;
 
     @ApiModelProperty(value = "校区")
     private String campus;
@@ -103,6 +103,18 @@ public class SmartUser implements Serializable {
     @ApiModelProperty(value = "微信openId")
     private String openId;
 
+    @ApiModelProperty(value = "希沃学生UID")
+    private String xwStudentUid;
+
+    @ApiModelProperty(value = "百胜学生编号")
+    private String bsStudentNo;
+
+    @ApiModelProperty(value = "希沃教师工号")
+    private String xwTeacherCode;
+
+    @ApiModelProperty(value = "百胜教师编号")
+    private String bsStaffCode;
+
     @ApiModelProperty(value = "创建时间")
     @TableField(fill = FieldFill.INSERT)
     private Date createTime;

+ 36 - 0
src/main/java/com/template/model/request/insertSmartClassRequest.java

@@ -0,0 +1,36 @@
+package com.template.model.request;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-12-04
+ */
+@Data
+public class insertSmartClassRequest {
+
+    /**
+     * 班级名称
+     */
+    @NotBlank(message = "班级名称不能为空")
+    private String className;
+
+    /**
+     * 年级编码
+     */
+    @NotBlank(message = "年级编码不能为空")
+    private String gradeNo;
+
+    /**
+     * 班级序号
+     */
+    @NotNull(message = "班级序号不能为空")
+    private Integer classNo;
+}

+ 30 - 0
src/main/java/com/template/model/request/insertSmartGradeRequest.java

@@ -0,0 +1,30 @@
+package com.template.model.request;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-12-04
+ */
+@Data
+public class insertSmartGradeRequest {
+
+    /**
+     * 年级名称
+     */
+    @NotBlank(message = "年级名称不能为空")
+    private String gradeName;
+
+    /**
+     * 年级序号
+     */
+    @NotBlank(message = "年级序号不能为空")
+    private Integer gradeNo;
+}

+ 12 - 12
src/main/java/com/template/model/request/insertSmartUserRequest.java

@@ -72,31 +72,31 @@ public class insertSmartUserRequest {
     /**
      * 学院
      */
-    @NotBlank(message = "学院不能为空")
+    //@NotBlank(message = "学院不能为空")
     private String college;
 
     /**
      * 专业
      */
-    @NotBlank(message = "专业不能为空")
+    //@NotBlank(message = "专业不能为空")
     private String speciality;
 
     /**
      * 班级
      */
-    @NotBlank(message = "班级不能为空")
-    private String schoolClass;
+    @NotNull(message = "班级不能为空")
+    private Integer schoolClass;
 
     /**
      * 校区
      */
-    @NotBlank(message = "校区不能为空")
+    //@NotBlank(message = "校区不能为空")
     private String campus;
 
     /**
      * 宿舍号
       */
-    @NotBlank(message = "宿舍号不能为空")
+    //@NotBlank(message = "宿舍号不能为空")
     private String dormitoryNumber;
 
     /**
@@ -116,37 +116,37 @@ public class insertSmartUserRequest {
     /**
      * 职称
      */
-    @NotBlank(message = "职称不能为空")
+    //@NotBlank(message = "职称不能为空")
     private String title;
 
     /**
      * 家庭住址
      */
-    @NotBlank(message = "家庭住址不能为空")
+    //@NotBlank(message = "家庭住址不能为空")
     private String address;
 
     /**
      * 民族
      */
-    @NotBlank(message = "民族不能为空")
+    //@NotBlank(message = "民族不能为空")
     private String nation;
 
     /**
      * 生源地不能为空
      */
-    @NotBlank(message = "生源地不能为空")
+    //@NotBlank(message = "生源地不能为空")
     private String ofStudent;
 
     /**
      * 毕业学校
      */
-    @NotBlank(message = "毕业学校不能为空")
+    //@NotBlank(message = "毕业学校不能为空")
     private String graduate;
 
     /**
      * 职务
      */
-    @NotBlank(message = "职务不能为空")
+    //@NotBlank(message = "职务不能为空")
     private String duties;
 
 }

+ 1 - 1
src/main/java/com/template/model/request/updateSmartUserRequest.java

@@ -91,7 +91,7 @@ public class updateSmartUserRequest {
      * 班级
      */
     @NotBlank(message = "班级不能为空")
-    private String schoolClass;
+    private Integer schoolClass;
 
     /**
      * 校区

+ 20 - 0
src/main/java/com/template/model/request/useridsRequest.java

@@ -0,0 +1,20 @@
+package com.template.model.request;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * 修改密码
+ */
+@Data
+public class useridsRequest {
+    /**
+     * 用户ID集合
+     */
+    @NotEmpty(message = "用户ID集合不能为空")
+    private List<Integer> userIds;
+
+
+}

+ 1 - 3
src/main/java/com/template/model/pojo/AttendanceRuleListSchoolAttendRuleParam.java

@@ -1,8 +1,6 @@
-package com.template.model.pojo;
+package com.template.model.seewo;
 
-import java.util.*;
 import com.seewo.open.sdk.OpenApiParam;
-import com.seewo.open.sdk.ParameterPosition;
 
 /**
  * seewo-open API: 【事件|课程】分页查询学校考勤规则信息

+ 1 - 3
src/main/java/com/template/model/pojo/AttendanceRuleListSchoolAttendRuleRequest.java

@@ -1,7 +1,5 @@
-package com.template.model.pojo;
+package com.template.model.seewo;
 
-import java.util.*;
-import com.seewo.open.sdk.OpenApiParam;
 import com.seewo.open.sdk.OpenApiRequest;
 
 /**

+ 1 - 1
src/main/java/com/template/model/pojo/AttendanceRuleListSchoolAttendRuleResult.java

@@ -1,4 +1,4 @@
-package com.template.model.pojo;
+package com.template.model.seewo;
 
 import java.util.*;
 import com.seewo.open.sdk.OpenApiResult;

+ 1 - 3
src/main/java/com/template/model/pojo/AttendanceServiceListAttendClassRecordsParam.java

@@ -1,8 +1,6 @@
-package com.template.model.pojo;
+package com.template.model.seewo;
 
-import java.util.*;
 import com.seewo.open.sdk.OpenApiParam;
-import com.seewo.open.sdk.ParameterPosition;
 
 /**
  * seewo-open API: 【事件|课程】根据规则指定日期与班级查询考勤记录

+ 1 - 3
src/main/java/com/template/model/pojo/AttendanceServiceListAttendClassRecordsRequest.java

@@ -1,7 +1,5 @@
-package com.template.model.pojo;
+package com.template.model.seewo;
 
-import java.util.*;
-import com.seewo.open.sdk.OpenApiParam;
 import com.seewo.open.sdk.OpenApiRequest;
 
 /**

+ 1 - 1
src/main/java/com/template/model/pojo/AttendanceServiceListAttendClassRecordsResult.java

@@ -1,4 +1,4 @@
-package com.template.model.pojo;
+package com.template.model.seewo;
 
 import java.util.*;
 import com.seewo.open.sdk.OpenApiResult;

+ 336 - 0
src/main/java/com/template/model/seewo/ClassServiceBatchSaveClassParam.java

@@ -0,0 +1,336 @@
+package com.template.model.seewo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiParam;
+
+/**
+ * seewo-open API: 批量新增班级
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class ClassServiceBatchSaveClassParam extends OpenApiParam {
+
+
+    /**
+     * 请求体,MimeType为 application/json
+     */
+
+    private JSONRequestBody requestBody;
+
+
+    public JSONRequestBody getRequestBody() {
+        return this.requestBody;
+    }
+
+    public void setRequestBody(JSONRequestBody requestBody) {
+        this.requestBody = requestBody;
+    }
+
+    public static ClassServiceBatchSaveClassParamBuilder builder(){
+        return new ClassServiceBatchSaveClassParamBuilder();
+    }
+
+    public static class ClassServiceBatchSaveClassParamBuilder{
+        private JSONRequestBody requestBody;
+
+        public ClassServiceBatchSaveClassParamBuilder requestBody(JSONRequestBody requestBody){
+            this.requestBody = requestBody;
+            return this;
+        }
+
+        public ClassServiceBatchSaveClassParam build(){
+            ClassServiceBatchSaveClassParam param = new ClassServiceBatchSaveClassParam();
+            param.setRequestBody(requestBody);
+            return param;
+        }
+    }
+
+    public static class JSONRequestBody {
+        /**
+         * 查询条件
+         */
+        private ClassSaveQuery query;
+
+        public ClassSaveQuery getQuery() {
+            return this.query;
+        }
+
+        public void setQuery(ClassSaveQuery query) {
+            this.query = query;
+        }
+
+
+        public static JSONRequestBodyBuilder builder(){
+            return new JSONRequestBodyBuilder();
+        }
+
+        public static class JSONRequestBodyBuilder{
+            private ClassSaveQuery query;
+
+            public JSONRequestBodyBuilder query(ClassSaveQuery query){
+                this.query = query;
+                return this;
+            }
+
+            public JSONRequestBody build(){
+                JSONRequestBody param = new JSONRequestBody();
+                param.setQuery(query);
+                return param;
+            }
+        }
+    }
+
+    public static class ClassSaveQuery {
+        /**
+         * appId
+         */
+        private String appId;
+        /**
+         * 学校ID
+         */
+        private String schoolUid;
+        /**
+         * 班级信息列表
+         */
+        private List<ClassInfo> classList;
+
+        public String getAppId() {
+            return this.appId;
+        }
+
+        public void setAppId(String appId) {
+            this.appId = appId;
+        }
+
+        public String getSchoolUid() {
+            return this.schoolUid;
+        }
+
+        public void setSchoolUid(String schoolUid) {
+            this.schoolUid = schoolUid;
+        }
+
+        public List<ClassInfo> getClassList() {
+            return this.classList;
+        }
+
+        public void setClassList(List<ClassInfo> classList) {
+            this.classList = classList;
+        }
+
+
+        public static ClassSaveQueryBuilder builder(){
+            return new ClassSaveQueryBuilder();
+        }
+
+        public static class ClassSaveQueryBuilder{
+            private String appId;
+            private String schoolUid;
+            private List<ClassInfo> classList;
+
+            public ClassSaveQueryBuilder appId(String appId){
+                this.appId = appId;
+                return this;
+            }
+            public ClassSaveQueryBuilder schoolUid(String schoolUid){
+                this.schoolUid = schoolUid;
+                return this;
+            }
+            public ClassSaveQueryBuilder classList(List<ClassInfo> classList){
+                this.classList = classList;
+                return this;
+            }
+
+            public ClassSaveQuery build(){
+                ClassSaveQuery param = new ClassSaveQuery();
+                param.setAppId(appId);
+                param.setSchoolUid(schoolUid);
+                param.setClassList(classList);
+                return param;
+            }
+        }
+    }
+
+    public static class ClassInfo {
+        /**
+         *  班级类型,1 行政班, 2 走班,默认1
+         */
+        private Integer type;
+        /**
+         * 学段:CodeSchoolStage_0小学,CodeSchoolStage_1初中,CodeSchoolStage_2高中,CodeSchoolStage_3自定义,CodeSchoolStage_4幼儿园
+         */
+        private String stageCode;
+        /**
+         *  年级序号
+         */
+        private Integer grade;
+        /**
+         *  学年
+         */
+        private Integer gradeYear;
+        /**
+         *  班级序号
+         */
+        private Integer clazz;
+        /**
+         * 班级名称,默认为年级+班级+‘班’
+         */
+        private String nickName;
+        /**
+         * 学院ID,大学学段时必须
+         */
+        private String departmentId;
+        /**
+         * 专业ID,大学学段时必须
+         */
+        private String majorId;
+        /**
+         * 年级ID,大学学段时必须
+         */
+        private String gradeId;
+
+        public Integer getType() {
+            return this.type;
+        }
+
+        public void setType(Integer type) {
+            this.type = type;
+        }
+
+        public String getStageCode() {
+            return this.stageCode;
+        }
+
+        public void setStageCode(String stageCode) {
+            this.stageCode = stageCode;
+        }
+
+        public Integer getGrade() {
+            return this.grade;
+        }
+
+        public void setGrade(Integer grade) {
+            this.grade = grade;
+        }
+
+        public Integer getGradeYear() {
+            return this.gradeYear;
+        }
+
+        public void setGradeYear(Integer gradeYear) {
+            this.gradeYear = gradeYear;
+        }
+
+        public Integer getClazz() {
+            return this.clazz;
+        }
+
+        public void setClazz(Integer clazz) {
+            this.clazz = clazz;
+        }
+
+        public String getNickName() {
+            return this.nickName;
+        }
+
+        public void setNickName(String nickName) {
+            this.nickName = nickName;
+        }
+
+        public String getDepartmentId() {
+            return this.departmentId;
+        }
+
+        public void setDepartmentId(String departmentId) {
+            this.departmentId = departmentId;
+        }
+
+        public String getMajorId() {
+            return this.majorId;
+        }
+
+        public void setMajorId(String majorId) {
+            this.majorId = majorId;
+        }
+
+        public String getGradeId() {
+            return this.gradeId;
+        }
+
+        public void setGradeId(String gradeId) {
+            this.gradeId = gradeId;
+        }
+
+
+        public static ClassInfoBuilder builder(){
+            return new ClassInfoBuilder();
+        }
+
+        public static class ClassInfoBuilder{
+            private Integer type;
+            private String stageCode;
+            private Integer grade;
+            private Integer gradeYear;
+            private Integer clazz;
+            private String nickName;
+            private String departmentId;
+            private String majorId;
+            private String gradeId;
+
+            public ClassInfoBuilder type(Integer type){
+                this.type = type;
+                return this;
+            }
+            public ClassInfoBuilder stageCode(String stageCode){
+                this.stageCode = stageCode;
+                return this;
+            }
+            public ClassInfoBuilder grade(Integer grade){
+                this.grade = grade;
+                return this;
+            }
+            public ClassInfoBuilder gradeYear(Integer gradeYear){
+                this.gradeYear = gradeYear;
+                return this;
+            }
+            public ClassInfoBuilder clazz(Integer clazz){
+                this.clazz = clazz;
+                return this;
+            }
+            public ClassInfoBuilder nickName(String nickName){
+                this.nickName = nickName;
+                return this;
+            }
+            public ClassInfoBuilder departmentId(String departmentId){
+                this.departmentId = departmentId;
+                return this;
+            }
+            public ClassInfoBuilder majorId(String majorId){
+                this.majorId = majorId;
+                return this;
+            }
+            public ClassInfoBuilder gradeId(String gradeId){
+                this.gradeId = gradeId;
+                return this;
+            }
+
+            public ClassInfo build(){
+                ClassInfo param = new ClassInfo();
+                param.setType(type);
+                param.setStageCode(stageCode);
+                param.setGrade(grade);
+                param.setGradeYear(gradeYear);
+                param.setClazz(clazz);
+                param.setNickName(nickName);
+                param.setDepartmentId(departmentId);
+                param.setMajorId(majorId);
+                param.setGradeId(gradeId);
+                return param;
+            }
+        }
+    }
+
+
+}

+ 33 - 0
src/main/java/com/template/model/seewo/ClassServiceBatchSaveClassRequest.java

@@ -0,0 +1,33 @@
+package com.template.model.seewo;
+
+import com.seewo.open.sdk.OpenApiRequest;
+
+/**
+ * seewo-open API: 批量新增班级
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class ClassServiceBatchSaveClassRequest extends OpenApiRequest<ClassServiceBatchSaveClassParam, ClassServiceBatchSaveClassResult> {
+
+    public ClassServiceBatchSaveClassRequest(ClassServiceBatchSaveClassParam param) {
+        this();
+        setBizModel(param);
+    }
+
+    public ClassServiceBatchSaveClassRequest() {
+        setServerUrl("https://openapi.seewo.com");
+        setPath("/seewo-yunban-api/class-service/batch-save-class");
+        setHttpMethod("POST");
+    }
+
+    public Class<ClassServiceBatchSaveClassResult> getResponseClass() {
+        return ClassServiceBatchSaveClassResult.class;
+    }
+
+    public Class<ClassServiceBatchSaveClassParam> getDomainClass() {
+        return ClassServiceBatchSaveClassParam.class;
+    }
+}
+

+ 262 - 0
src/main/java/com/template/model/seewo/ClassServiceBatchSaveClassResult.java

@@ -0,0 +1,262 @@
+package com.template.model.seewo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiResult;
+import com.seewo.open.sdk.HttpResponse;
+
+/**
+ * seewo-open API: 批量新增班级
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class ClassServiceBatchSaveClassResult extends OpenApiResult {
+
+    public ClassServiceBatchSaveClassResult(HttpResponse response) {
+        super(response);
+    }
+
+
+    /**
+     * 响应体,MimeType为 application/json
+     */
+
+    private JSONResponseBody responseBody;
+
+
+    public JSONResponseBody getResponseBody() {
+        return this.responseBody;
+    }
+
+    public void setResponseBody(JSONResponseBody responseBody) {
+        this.responseBody = responseBody;
+    }
+
+    public static class JSONResponseBody {
+        /**
+         *
+         */
+        private String code;
+        /**
+         *
+         */
+        private String message;
+        /**
+         *
+         */
+        private List<ClassInfoDto> data;
+
+        public String getCode() {
+            return this.code;
+        }
+
+        public void setCode(String code) {
+            this.code = code;
+        }
+
+        public String getMessage() {
+            return this.message;
+        }
+
+        public void setMessage(String message) {
+            this.message = message;
+        }
+
+        public List<ClassInfoDto> getData() {
+            return this.data;
+        }
+
+        public void setData(List<ClassInfoDto> data) {
+            this.data = data;
+        }
+
+    }
+
+    public static class ClassInfoDto {
+        /**
+         *  班级ID
+         */
+        private String uid;
+        /**
+         *  组织id
+         */
+        private String schoolUid;
+        /**
+         *  班级类型,1 普通班, 2 走班;
+         */
+        private Integer type;
+        /**
+         *  学段信息
+         */
+        private String stageCode;
+        /**
+         *  学段UID
+         */
+        private String stageUid;
+        /**
+         *  学段名
+         */
+        private String stageName;
+        /**
+         *  年级,如7年级
+         */
+        private Integer grade;
+        /**
+         *  年级UID
+         */
+        private String gradeUid;
+        /**
+         *  年级的届数,例如2017届
+         */
+        private Integer gradeYear;
+        /**
+         *  班级
+         */
+        private Integer clazz;
+        /**
+         *  班级别名
+         */
+        private String nickName;
+        /**
+         *  是否为毕业班
+         */
+        private Boolean isGraduate;
+        /**
+         *  部门UID 高教版
+         */
+        private String departmentId;
+        /**
+         *  专业ID 高教版
+         */
+        private String majorId;
+        /**
+         *  年级ID 高教版
+         */
+        private String gradeId;
+
+        public String getUid() {
+            return this.uid;
+        }
+
+        public void setUid(String uid) {
+            this.uid = uid;
+        }
+
+        public String getSchoolUid() {
+            return this.schoolUid;
+        }
+
+        public void setSchoolUid(String schoolUid) {
+            this.schoolUid = schoolUid;
+        }
+
+        public Integer getType() {
+            return this.type;
+        }
+
+        public void setType(Integer type) {
+            this.type = type;
+        }
+
+        public String getStageCode() {
+            return this.stageCode;
+        }
+
+        public void setStageCode(String stageCode) {
+            this.stageCode = stageCode;
+        }
+
+        public String getStageUid() {
+            return this.stageUid;
+        }
+
+        public void setStageUid(String stageUid) {
+            this.stageUid = stageUid;
+        }
+
+        public String getStageName() {
+            return this.stageName;
+        }
+
+        public void setStageName(String stageName) {
+            this.stageName = stageName;
+        }
+
+        public Integer getGrade() {
+            return this.grade;
+        }
+
+        public void setGrade(Integer grade) {
+            this.grade = grade;
+        }
+
+        public String getGradeUid() {
+            return this.gradeUid;
+        }
+
+        public void setGradeUid(String gradeUid) {
+            this.gradeUid = gradeUid;
+        }
+
+        public Integer getGradeYear() {
+            return this.gradeYear;
+        }
+
+        public void setGradeYear(Integer gradeYear) {
+            this.gradeYear = gradeYear;
+        }
+
+        public Integer getClazz() {
+            return this.clazz;
+        }
+
+        public void setClazz(Integer clazz) {
+            this.clazz = clazz;
+        }
+
+        public String getNickName() {
+            return this.nickName;
+        }
+
+        public void setNickName(String nickName) {
+            this.nickName = nickName;
+        }
+
+        public Boolean getIsGraduate() {
+            return this.isGraduate;
+        }
+
+        public void setIsGraduate(Boolean isGraduate) {
+            this.isGraduate = isGraduate;
+        }
+
+        public String getDepartmentId() {
+            return this.departmentId;
+        }
+
+        public void setDepartmentId(String departmentId) {
+            this.departmentId = departmentId;
+        }
+
+        public String getMajorId() {
+            return this.majorId;
+        }
+
+        public void setMajorId(String majorId) {
+            this.majorId = majorId;
+        }
+
+        public String getGradeId() {
+            return this.gradeId;
+        }
+
+        public void setGradeId(String gradeId) {
+            this.gradeId = gradeId;
+        }
+
+    }
+
+
+}
+

+ 1 - 3
src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidParam.java

@@ -1,8 +1,6 @@
-package com.template.model.pojo;
+package com.template.model.seewo;
 
-import java.util.*;
 import com.seewo.open.sdk.OpenApiParam;
-import com.seewo.open.sdk.ParameterPosition;
 
 /**
  * seewo-open API: 家长或老师发送留言给学生

+ 1 - 3
src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidRequest.java

@@ -1,7 +1,5 @@
-package com.template.model.pojo;
+package com.template.model.seewo;
 
-import java.util.*;
-import com.seewo.open.sdk.OpenApiParam;
 import com.seewo.open.sdk.OpenApiRequest;
 
 /**

+ 1 - 1
src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidResult.java

@@ -1,4 +1,4 @@
-package com.template.model.pojo;
+package com.template.model.seewo;
 
 import java.util.*;
 import com.seewo.open.sdk.OpenApiResult;

+ 1 - 1
src/main/java/com/template/model/pojo/OrgClassOpenSeewoUcOpenV1ClassFullParam.java

@@ -1,4 +1,4 @@
-package com.template.model.pojo;
+package com.template.model.seewo;
 
 import com.seewo.open.sdk.OpenApiParam;
 

+ 1 - 3
src/main/java/com/template/model/pojo/OrgClassOpenSeewoUcOpenV1ClassFullRequest.java

@@ -1,7 +1,5 @@
-package com.template.model.pojo;
+package com.template.model.seewo;
 
-import java.util.*;
-import com.seewo.open.sdk.OpenApiParam;
 import com.seewo.open.sdk.OpenApiRequest;
 
 /**

+ 1 - 1
src/main/java/com/template/model/pojo/OrgClassOpenSeewoUcOpenV1ClassFullResult.java

@@ -1,4 +1,4 @@
-package com.template.model.pojo;
+package com.template.model.seewo;
 
 import java.util.*;
 import com.seewo.open.sdk.OpenApiResult;

+ 282 - 0
src/main/java/com/template/model/seewo/ParentServiceBatchSaveOrUpdateParentsParam.java

@@ -0,0 +1,282 @@
+package com.template.model.seewo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiParam;
+import com.seewo.open.sdk.ParameterPosition;
+
+/**
+ * seewo-open API: 批量添加或更新学生家长
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class ParentServiceBatchSaveOrUpdateParentsParam extends OpenApiParam {
+
+
+    /**
+     * 响应体,MimeType为 application/json
+     */
+
+    private RequestBody requestBody;
+
+
+    public RequestBody getRequestBody() {
+        return this.requestBody;
+    }
+
+    public void setRequestBody(RequestBody requestBody) {
+        this.requestBody = requestBody;
+    }
+
+    public static ParentServiceBatchSaveOrUpdateParentsParamBuilder builder(){
+        return new ParentServiceBatchSaveOrUpdateParentsParamBuilder();
+    }
+
+    public static class ParentServiceBatchSaveOrUpdateParentsParamBuilder{
+        private RequestBody requestBody;
+
+        public ParentServiceBatchSaveOrUpdateParentsParamBuilder requestBody(RequestBody requestBody){
+            this.requestBody = requestBody;
+            return this;
+        }
+
+        public ParentServiceBatchSaveOrUpdateParentsParam build(){
+            ParentServiceBatchSaveOrUpdateParentsParam param = new ParentServiceBatchSaveOrUpdateParentsParam();
+            param.setRequestBody(requestBody);
+            return param;
+        }
+    }
+
+    public static class RequestBody {
+        /**
+         * query
+         */
+        private Query query;
+
+        public Query getQuery() {
+            return this.query;
+        }
+
+        public void setQuery(Query query) {
+            this.query = query;
+        }
+
+
+        public static RequestBodyBuilder builder(){
+            return new RequestBodyBuilder();
+        }
+
+        public static class RequestBodyBuilder{
+            private Query query;
+
+            public RequestBodyBuilder query(Query query){
+                this.query = query;
+                return this;
+            }
+
+            public RequestBody build(){
+                RequestBody param = new RequestBody();
+                param.setQuery(query);
+                return param;
+            }
+        }
+    }
+
+    public static class Query {
+        /**
+         * appId
+         */
+        private String appId;
+        /**
+         * 学校ID
+         */
+        private String schoolUid;
+        /**
+         * 学生与家长列表,最大100条
+         */
+        private List<StudentParentsItem> studentParents;
+
+        public String getAppId() {
+            return this.appId;
+        }
+
+        public void setAppId(String appId) {
+            this.appId = appId;
+        }
+
+        public String getSchoolUid() {
+            return this.schoolUid;
+        }
+
+        public void setSchoolUid(String schoolUid) {
+            this.schoolUid = schoolUid;
+        }
+
+        public List<StudentParentsItem> getStudentParents() {
+            return this.studentParents;
+        }
+
+        public void setStudentParents(List<StudentParentsItem> studentParents) {
+            this.studentParents = studentParents;
+        }
+
+
+        public static QueryBuilder builder(){
+            return new QueryBuilder();
+        }
+
+        public static class QueryBuilder{
+            private String appId;
+            private String schoolUid;
+            private List<StudentParentsItem> studentParents;
+
+            public QueryBuilder appId(String appId){
+                this.appId = appId;
+                return this;
+            }
+            public QueryBuilder schoolUid(String schoolUid){
+                this.schoolUid = schoolUid;
+                return this;
+            }
+            public QueryBuilder studentParents(List<StudentParentsItem> studentParents){
+                this.studentParents = studentParents;
+                return this;
+            }
+
+            public Query build(){
+                Query param = new Query();
+                param.setAppId(appId);
+                param.setSchoolUid(schoolUid);
+                param.setStudentParents(studentParents);
+                return param;
+            }
+        }
+    }
+
+    public static class StudentParentsItem {
+        /**
+         * 学生学号
+         */
+        private String studentCode;
+        /**
+         * 家长列表,最多4个
+         */
+        private List<ParentsItem> parents;
+
+        public String getStudentCode() {
+            return this.studentCode;
+        }
+
+        public void setStudentCode(String studentCode) {
+            this.studentCode = studentCode;
+        }
+
+        public List<ParentsItem> getParents() {
+            return this.parents;
+        }
+
+        public void setParents(List<ParentsItem> parents) {
+            this.parents = parents;
+        }
+
+
+        public static StudentParentsItemBuilder builder(){
+            return new StudentParentsItemBuilder();
+        }
+
+        public static class StudentParentsItemBuilder{
+            private String studentCode;
+            private List<ParentsItem> parents;
+
+            public StudentParentsItemBuilder studentCode(String studentCode){
+                this.studentCode = studentCode;
+                return this;
+            }
+            public StudentParentsItemBuilder parents(List<ParentsItem> parents){
+                this.parents = parents;
+                return this;
+            }
+
+            public StudentParentsItem build(){
+                StudentParentsItem param = new StudentParentsItem();
+                param.setStudentCode(studentCode);
+                param.setParents(parents);
+                return param;
+            }
+        }
+    }
+
+    public static class ParentsItem {
+        /**
+         * 名字
+         */
+        private String name;
+        /**
+         * 手机号
+         */
+        private String phone;
+        /**
+         * 位置,取值0-3,会替换对应位置的数据
+         */
+        private Integer index;
+
+        public String getName() {
+            return this.name;
+        }
+
+        public void setName(String name) {
+            this.name = name;
+        }
+
+        public String getPhone() {
+            return this.phone;
+        }
+
+        public void setPhone(String phone) {
+            this.phone = phone;
+        }
+
+        public Integer getIndex() {
+            return this.index;
+        }
+
+        public void setIndex(Integer index) {
+            this.index = index;
+        }
+
+
+        public static ParentsItemBuilder builder(){
+            return new ParentsItemBuilder();
+        }
+
+        public static class ParentsItemBuilder{
+            private String name;
+            private String phone;
+            private Integer index;
+
+            public ParentsItemBuilder name(String name){
+                this.name = name;
+                return this;
+            }
+            public ParentsItemBuilder phone(String phone){
+                this.phone = phone;
+                return this;
+            }
+            public ParentsItemBuilder index(Integer index){
+                this.index = index;
+                return this;
+            }
+
+            public ParentsItem build(){
+                ParentsItem param = new ParentsItem();
+                param.setName(name);
+                param.setPhone(phone);
+                param.setIndex(index);
+                return param;
+            }
+        }
+    }
+
+
+}

+ 35 - 0
src/main/java/com/template/model/seewo/ParentServiceBatchSaveOrUpdateParentsRequest.java

@@ -0,0 +1,35 @@
+package com.template.model.seewo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiParam;
+import com.seewo.open.sdk.OpenApiRequest;
+
+/**
+ * seewo-open API: 批量添加或更新学生家长
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class ParentServiceBatchSaveOrUpdateParentsRequest extends OpenApiRequest<ParentServiceBatchSaveOrUpdateParentsParam, ParentServiceBatchSaveOrUpdateParentsResult> {
+
+    public ParentServiceBatchSaveOrUpdateParentsRequest(ParentServiceBatchSaveOrUpdateParentsParam param) {
+        this();
+        setBizModel(param);
+    }
+
+    public ParentServiceBatchSaveOrUpdateParentsRequest() {
+        setServerUrl("https://openapi.seewo.com");
+        setPath("/seewo-yunban-api/parent-service/batch-save-or-update-parents");
+        setHttpMethod("POST");
+    }
+
+    public Class<ParentServiceBatchSaveOrUpdateParentsResult> getResponseClass() {
+        return ParentServiceBatchSaveOrUpdateParentsResult.class;
+    }
+
+    public Class<ParentServiceBatchSaveOrUpdateParentsParam> getDomainClass() {
+        return ParentServiceBatchSaveOrUpdateParentsParam.class;
+    }
+}
+

+ 66 - 0
src/main/java/com/template/model/seewo/ParentServiceBatchSaveOrUpdateParentsResult.java

@@ -0,0 +1,66 @@
+package com.template.model.seewo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiResult;
+import com.seewo.open.sdk.HttpResponse;
+
+/**
+ * seewo-open API: 批量添加或更新学生家长
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class ParentServiceBatchSaveOrUpdateParentsResult extends OpenApiResult {
+
+    public ParentServiceBatchSaveOrUpdateParentsResult(HttpResponse response) {
+        super(response);
+    }
+
+
+    /**
+     * 响应体,MimeType为 application/json
+     */
+
+    private ResponseBody responseBody;
+
+
+    public ResponseBody getResponseBody() {
+        return this.responseBody;
+    }
+
+    public void setResponseBody(ResponseBody responseBody) {
+        this.responseBody = responseBody;
+    }
+
+    public static class ResponseBody {
+        /**
+         * code
+         */
+        private String code;
+        /**
+         * message
+         */
+        private String message;
+
+        public String getCode() {
+            return this.code;
+        }
+
+        public void setCode(String code) {
+            this.code = code;
+        }
+
+        public String getMessage() {
+            return this.message;
+        }
+
+        public void setMessage(String message) {
+            this.message = message;
+        }
+
+    }
+
+
+}
+

+ 210 - 0
src/main/java/com/template/model/seewo/PersonalLeaveListSchoolPeriodRecordsParam.java

@@ -0,0 +1,210 @@
+package com.template.model.seewo;
+
+import com.seewo.open.sdk.OpenApiParam;
+
+/**
+ * seewo-open API: 查询学校阶段内的请假记录
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class PersonalLeaveListSchoolPeriodRecordsParam extends OpenApiParam {
+
+
+    /**
+     * 请求体,MimeType为 application/json
+     */
+
+    private RequestBody requestBody;
+
+
+    public RequestBody getRequestBody() {
+        return this.requestBody;
+    }
+
+    public void setRequestBody(RequestBody requestBody) {
+        this.requestBody = requestBody;
+    }
+
+    public static PersonalLeaveListSchoolPeriodRecordsParamBuilder builder(){
+        return new PersonalLeaveListSchoolPeriodRecordsParamBuilder();
+    }
+
+    public static class PersonalLeaveListSchoolPeriodRecordsParamBuilder{
+        private RequestBody requestBody;
+
+        public PersonalLeaveListSchoolPeriodRecordsParamBuilder requestBody(RequestBody requestBody){
+            this.requestBody = requestBody;
+            return this;
+        }
+
+        public PersonalLeaveListSchoolPeriodRecordsParam build(){
+            PersonalLeaveListSchoolPeriodRecordsParam param = new PersonalLeaveListSchoolPeriodRecordsParam();
+            param.setRequestBody(requestBody);
+            return param;
+        }
+    }
+
+    public static class RequestBody {
+        /**
+         * query
+         */
+        private Query query;
+
+        public Query getQuery() {
+            return this.query;
+        }
+
+        public void setQuery(Query query) {
+            this.query = query;
+        }
+
+
+        public static RequestBodyBuilder builder(){
+            return new RequestBodyBuilder();
+        }
+
+        public static class RequestBodyBuilder{
+            private Query query;
+
+            public RequestBodyBuilder query(Query query){
+                this.query = query;
+                return this;
+            }
+
+            public RequestBody build(){
+                RequestBody param = new RequestBody();
+                param.setQuery(query);
+                return param;
+            }
+        }
+    }
+
+    public static class Query {
+        /**
+         * 学校ID
+         */
+        private String schoolUid;
+        /**
+         * 开始日期 yyyy-MM-dd
+         */
+        private String startDate;
+        /**
+         * 结束日期 yyyy-MM-dd
+         */
+        private String endDate;
+        /**
+         * 当前页
+         */
+        private Integer page;
+        /**
+         * 分页条数
+         */
+        private Integer pageSize;
+        /**
+         * appid
+         */
+        private String appId;
+
+        public String getSchoolUid() {
+            return this.schoolUid;
+        }
+
+        public void setSchoolUid(String schoolUid) {
+            this.schoolUid = schoolUid;
+        }
+
+        public String getStartDate() {
+            return this.startDate;
+        }
+
+        public void setStartDate(String startDate) {
+            this.startDate = startDate;
+        }
+
+        public String getEndDate() {
+            return this.endDate;
+        }
+
+        public void setEndDate(String endDate) {
+            this.endDate = endDate;
+        }
+
+        public Integer getPage() {
+            return this.page;
+        }
+
+        public void setPage(Integer page) {
+            this.page = page;
+        }
+
+        public Integer getPageSize() {
+            return this.pageSize;
+        }
+
+        public void setPageSize(Integer pageSize) {
+            this.pageSize = pageSize;
+        }
+
+        public String getAppId() {
+            return this.appId;
+        }
+
+        public void setAppId(String appId) {
+            this.appId = appId;
+        }
+
+
+        public static QueryBuilder builder(){
+            return new QueryBuilder();
+        }
+
+        public static class QueryBuilder{
+            private String schoolUid;
+            private String startDate;
+            private String endDate;
+            private Integer page;
+            private Integer pageSize;
+            private String appId;
+
+            public QueryBuilder schoolUid(String schoolUid){
+                this.schoolUid = schoolUid;
+                return this;
+            }
+            public QueryBuilder startDate(String startDate){
+                this.startDate = startDate;
+                return this;
+            }
+            public QueryBuilder endDate(String endDate){
+                this.endDate = endDate;
+                return this;
+            }
+            public QueryBuilder page(Integer page){
+                this.page = page;
+                return this;
+            }
+            public QueryBuilder pageSize(Integer pageSize){
+                this.pageSize = pageSize;
+                return this;
+            }
+            public QueryBuilder appId(String appId){
+                this.appId = appId;
+                return this;
+            }
+
+            public Query build(){
+                Query param = new Query();
+                param.setSchoolUid(schoolUid);
+                param.setStartDate(startDate);
+                param.setEndDate(endDate);
+                param.setPage(page);
+                param.setPageSize(pageSize);
+                param.setAppId(appId);
+                return param;
+            }
+        }
+    }
+
+
+}

+ 33 - 0
src/main/java/com/template/model/seewo/PersonalLeaveListSchoolPeriodRecordsRequest.java

@@ -0,0 +1,33 @@
+package com.template.model.seewo;
+
+import com.seewo.open.sdk.OpenApiRequest;
+
+/**
+ * seewo-open API: 查询学校阶段内的请假记录
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class PersonalLeaveListSchoolPeriodRecordsRequest extends OpenApiRequest<PersonalLeaveListSchoolPeriodRecordsParam, PersonalLeaveListSchoolPeriodRecordsResult> {
+
+    public PersonalLeaveListSchoolPeriodRecordsRequest(PersonalLeaveListSchoolPeriodRecordsParam param) {
+        this();
+        setBizModel(param);
+    }
+
+    public PersonalLeaveListSchoolPeriodRecordsRequest() {
+        setServerUrl("https://openapi.seewo.com");
+        setPath("/seewo-yunban-api/personal-leave/list-school-period-records");
+        setHttpMethod("POST");
+    }
+
+    public Class<PersonalLeaveListSchoolPeriodRecordsResult> getResponseClass() {
+        return PersonalLeaveListSchoolPeriodRecordsResult.class;
+    }
+
+    public Class<PersonalLeaveListSchoolPeriodRecordsParam> getDomainClass() {
+        return PersonalLeaveListSchoolPeriodRecordsParam.class;
+    }
+}
+

+ 302 - 0
src/main/java/com/template/model/seewo/PersonalLeaveListSchoolPeriodRecordsResult.java

@@ -0,0 +1,302 @@
+package com.template.model.seewo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiResult;
+import com.seewo.open.sdk.HttpResponse;
+
+/**
+ * seewo-open API: 查询学校阶段内的请假记录
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class PersonalLeaveListSchoolPeriodRecordsResult extends OpenApiResult {
+
+    public PersonalLeaveListSchoolPeriodRecordsResult(HttpResponse response) {
+        super(response);
+    }
+
+
+    /**
+     * 响应体,MimeType为 application/json
+     */
+
+    private ResponseBody responseBody;
+
+
+    public ResponseBody getResponseBody() {
+        return this.responseBody;
+    }
+
+    public void setResponseBody(ResponseBody responseBody) {
+        this.responseBody = responseBody;
+    }
+
+    public static class ResponseBody {
+        /**
+         * code
+         */
+        private String code;
+        /**
+         * message
+         */
+        private String message;
+        /**
+         * data
+         */
+        private Data data;
+
+        public String getCode() {
+            return this.code;
+        }
+
+        public void setCode(String code) {
+            this.code = code;
+        }
+
+        public String getMessage() {
+            return this.message;
+        }
+
+        public void setMessage(String message) {
+            this.message = message;
+        }
+
+        public Data getData() {
+            return this.data;
+        }
+
+        public void setData(Data data) {
+            this.data = data;
+        }
+
+    }
+
+    public static class Data {
+        /**
+         * 分页条数
+         */
+        private Integer pageSize;
+        /**
+         * 当前页
+         */
+        private Integer page;
+        /**
+         * 总条数
+         */
+        private Integer totalCount;
+        /**
+         * result
+         */
+        private List<Object> result;
+
+        public Integer getPageSize() {
+            return this.pageSize;
+        }
+
+        public void setPageSize(Integer pageSize) {
+            this.pageSize = pageSize;
+        }
+
+        public Integer getPage() {
+            return this.page;
+        }
+
+        public void setPage(Integer page) {
+            this.page = page;
+        }
+
+        public Integer getTotalCount() {
+            return this.totalCount;
+        }
+
+        public void setTotalCount(Integer totalCount) {
+            this.totalCount = totalCount;
+        }
+
+        public List<Object> getResult() {
+            return this.result;
+        }
+
+        public void setResult(List<Object> result) {
+            this.result = result;
+        }
+
+    }
+
+    public static class Object {
+        /**
+         * 请假记录的唯一ID
+         */
+        private String uid;
+        /**
+         * 请假人ID
+         */
+        private String userUid;
+        /**
+         * 请假人姓名
+         */
+        private String userName;
+        /**
+         * 请假类型:0事假,1病假
+         */
+        private Integer type;
+        /**
+         * 请假原因
+         */
+        private String reason;
+        /**
+         * 开始时间 yyyy-MM-dd HH:mm:ss
+         */
+        private String startTime;
+        /**
+         * 结束时间 yyyy-MM-dd HH:mm:ss
+         */
+        private String endTime;
+        /**
+         * 附件列表,最多5个
+         */
+        private List<String> attachments;
+        /**
+         * 发请人ID
+         */
+        private String applyUserUid;
+        /**
+         * 发请人名字
+         */
+        private String applyUserName;
+        /**
+         * 发请人手机号
+         */
+        private String applyUserPhone;
+        /**
+         * 发起时间 yyyy-MM-dd HH:mm:ss
+         */
+        private String createTime;
+        /**
+         * 请假审核状态:1未审核,2未通过,3已通过,4已撤销
+         */
+        private Integer leaveStatus;
+        /**
+         * 请假审核被拒绝理由
+         */
+        private String refuseReason;
+
+        public String getUid() {
+            return this.uid;
+        }
+
+        public void setUid(String uid) {
+            this.uid = uid;
+        }
+
+        public String getUserUid() {
+            return this.userUid;
+        }
+
+        public void setUserUid(String userUid) {
+            this.userUid = userUid;
+        }
+
+        public String getUserName() {
+            return this.userName;
+        }
+
+        public void setUserName(String userName) {
+            this.userName = userName;
+        }
+
+        public Integer getType() {
+            return this.type;
+        }
+
+        public void setType(Integer type) {
+            this.type = type;
+        }
+
+        public String getReason() {
+            return this.reason;
+        }
+
+        public void setReason(String reason) {
+            this.reason = reason;
+        }
+
+        public String getStartTime() {
+            return this.startTime;
+        }
+
+        public void setStartTime(String startTime) {
+            this.startTime = startTime;
+        }
+
+        public String getEndTime() {
+            return this.endTime;
+        }
+
+        public void setEndTime(String endTime) {
+            this.endTime = endTime;
+        }
+
+        public List<String> getAttachments() {
+            return this.attachments;
+        }
+
+        public void setAttachments(List<String> attachments) {
+            this.attachments = attachments;
+        }
+
+        public String getApplyUserUid() {
+            return this.applyUserUid;
+        }
+
+        public void setApplyUserUid(String applyUserUid) {
+            this.applyUserUid = applyUserUid;
+        }
+
+        public String getApplyUserName() {
+            return this.applyUserName;
+        }
+
+        public void setApplyUserName(String applyUserName) {
+            this.applyUserName = applyUserName;
+        }
+
+        public String getApplyUserPhone() {
+            return this.applyUserPhone;
+        }
+
+        public void setApplyUserPhone(String applyUserPhone) {
+            this.applyUserPhone = applyUserPhone;
+        }
+
+        public String getCreateTime() {
+            return this.createTime;
+        }
+
+        public void setCreateTime(String createTime) {
+            this.createTime = createTime;
+        }
+
+        public Integer getLeaveStatus() {
+            return this.leaveStatus;
+        }
+
+        public void setLeaveStatus(Integer leaveStatus) {
+            this.leaveStatus = leaveStatus;
+        }
+
+        public String getRefuseReason() {
+            return this.refuseReason;
+        }
+
+        public void setRefuseReason(String refuseReason) {
+            this.refuseReason = refuseReason;
+        }
+
+    }
+
+
+}
+

+ 283 - 0
src/main/java/com/template/model/seewo/StudentLeaveStudentLeaveRequestHandlerParam.java

@@ -0,0 +1,283 @@
+package com.template.model.seewo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiParam;
+
+/**
+ * seewo-open API: 学生请假申请与查询api
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2024-1-4
+ */
+public class StudentLeaveStudentLeaveRequestHandlerParam extends OpenApiParam {
+
+
+    /**
+     * 请求体,MimeType为 application/json
+     */
+
+    private JSONRequestBody requestBody;
+
+
+    public JSONRequestBody getRequestBody() {
+        return this.requestBody;
+    }
+
+    public void setRequestBody(JSONRequestBody requestBody) {
+        this.requestBody = requestBody;
+    }
+
+    public static StudentLeaveStudentLeaveRequestHandlerParamBuilder builder(){
+        return new StudentLeaveStudentLeaveRequestHandlerParamBuilder();
+    }
+
+    public static class StudentLeaveStudentLeaveRequestHandlerParamBuilder{
+        private JSONRequestBody requestBody;
+
+        public StudentLeaveStudentLeaveRequestHandlerParamBuilder requestBody(JSONRequestBody requestBody){
+            this.requestBody = requestBody;
+            return this;
+        }
+
+        public StudentLeaveStudentLeaveRequestHandlerParam build(){
+            StudentLeaveStudentLeaveRequestHandlerParam param = new StudentLeaveStudentLeaveRequestHandlerParam();
+            param.setRequestBody(requestBody);
+            return param;
+        }
+    }
+
+    public static class JSONRequestBody {
+        /**
+         * 请求参数
+         */
+        private StudentLeaveQuery dto;
+
+        public StudentLeaveQuery getDto() {
+            return this.dto;
+        }
+
+        public void setDto(StudentLeaveQuery dto) {
+            this.dto = dto;
+        }
+
+
+        public static JSONRequestBodyBuilder builder(){
+            return new JSONRequestBodyBuilder();
+        }
+
+        public static class JSONRequestBodyBuilder{
+            private StudentLeaveQuery dto;
+
+            public JSONRequestBodyBuilder dto(StudentLeaveQuery dto){
+                this.dto = dto;
+                return this;
+            }
+
+            public JSONRequestBody build(){
+                JSONRequestBody param = new JSONRequestBody();
+                param.setDto(dto);
+                return param;
+            }
+        }
+    }
+
+    public static class StudentLeaveQuery {
+        /**
+         * 学校UID
+         */
+        private String schoolUid;
+        /**
+         * 学生ID
+         */
+        private String userId;
+        /**
+         * 开始日期
+         */
+        private String startDate;
+        /**
+         * 结束日期
+         */
+        private String endDate;
+        /**
+         * 开始时间
+         */
+        private String startTime;
+        /**
+         * 结束时间
+         */
+        private String endTime;
+        /**
+         * 请假类型:0事假,1病假
+         */
+        private Integer type;
+        /**
+         * 请假原因
+         */
+        private String reason;
+        /**
+         * 附件列表:url字符串列表
+         */
+        private List<String> attachments;
+        /**
+         * 申请请假applyForLeave;获取学校请假记录列表getSchoolPeriodLeaveRecords
+         */
+        private String method;
+
+        public String getSchoolUid() {
+            return this.schoolUid;
+        }
+
+        public void setSchoolUid(String schoolUid) {
+            this.schoolUid = schoolUid;
+        }
+
+        public String getUserId() {
+            return this.userId;
+        }
+
+        public void setUserId(String userId) {
+            this.userId = userId;
+        }
+
+        public String getStartDate() {
+            return this.startDate;
+        }
+
+        public void setStartDate(String startDate) {
+            this.startDate = startDate;
+        }
+
+        public String getEndDate() {
+            return this.endDate;
+        }
+
+        public void setEndDate(String endDate) {
+            this.endDate = endDate;
+        }
+
+        public String getStartTime() {
+            return this.startTime;
+        }
+
+        public void setStartTime(String startTime) {
+            this.startTime = startTime;
+        }
+
+        public String getEndTime() {
+            return this.endTime;
+        }
+
+        public void setEndTime(String endTime) {
+            this.endTime = endTime;
+        }
+
+        public Integer getType() {
+            return this.type;
+        }
+
+        public void setType(Integer type) {
+            this.type = type;
+        }
+
+        public String getReason() {
+            return this.reason;
+        }
+
+        public void setReason(String reason) {
+            this.reason = reason;
+        }
+
+        public List<String> getAttachments() {
+            return this.attachments;
+        }
+
+        public void setAttachments(List<String> attachments) {
+            this.attachments = attachments;
+        }
+
+        public String getMethod() {
+            return this.method;
+        }
+
+        public void setMethod(String method) {
+            this.method = method;
+        }
+
+
+        public static StudentLeaveQueryBuilder builder(){
+            return new StudentLeaveQueryBuilder();
+        }
+
+        public static class StudentLeaveQueryBuilder{
+            private String schoolUid;
+            private String userId;
+            private String startDate;
+            private String endDate;
+            private String startTime;
+            private String endTime;
+            private Integer type;
+            private String reason;
+            private List<String> attachments;
+            private String method;
+
+            public StudentLeaveQueryBuilder schoolUid(String schoolUid){
+                this.schoolUid = schoolUid;
+                return this;
+            }
+            public StudentLeaveQueryBuilder userId(String userId){
+                this.userId = userId;
+                return this;
+            }
+            public StudentLeaveQueryBuilder startDate(String startDate){
+                this.startDate = startDate;
+                return this;
+            }
+            public StudentLeaveQueryBuilder endDate(String endDate){
+                this.endDate = endDate;
+                return this;
+            }
+            public StudentLeaveQueryBuilder startTime(String startTime){
+                this.startTime = startTime;
+                return this;
+            }
+            public StudentLeaveQueryBuilder endTime(String endTime){
+                this.endTime = endTime;
+                return this;
+            }
+            public StudentLeaveQueryBuilder type(Integer type){
+                this.type = type;
+                return this;
+            }
+            public StudentLeaveQueryBuilder reason(String reason){
+                this.reason = reason;
+                return this;
+            }
+            public StudentLeaveQueryBuilder attachments(List<String> attachments){
+                this.attachments = attachments;
+                return this;
+            }
+            public StudentLeaveQueryBuilder method(String method){
+                this.method = method;
+                return this;
+            }
+
+            public StudentLeaveQuery build(){
+                StudentLeaveQuery param = new StudentLeaveQuery();
+                param.setSchoolUid(schoolUid);
+                param.setUserId(userId);
+                param.setStartDate(startDate);
+                param.setEndDate(endDate);
+                param.setStartTime(startTime);
+                param.setEndTime(endTime);
+                param.setType(type);
+                param.setReason(reason);
+                param.setAttachments(attachments);
+                param.setMethod(method);
+                return param;
+            }
+        }
+    }
+
+
+}

+ 33 - 0
src/main/java/com/template/model/seewo/StudentLeaveStudentLeaveRequestHandlerRequest.java

@@ -0,0 +1,33 @@
+package com.template.model.seewo;
+
+import com.seewo.open.sdk.OpenApiRequest;
+
+/**
+ * seewo-open API: 学生请假申请与查询api
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2024-1-4
+ */
+public class StudentLeaveStudentLeaveRequestHandlerRequest extends OpenApiRequest<StudentLeaveStudentLeaveRequestHandlerParam, StudentLeaveStudentLeaveRequestHandlerResult> {
+
+    public StudentLeaveStudentLeaveRequestHandlerRequest(StudentLeaveStudentLeaveRequestHandlerParam param) {
+        this();
+        setBizModel(param);
+    }
+
+    public StudentLeaveStudentLeaveRequestHandlerRequest() {
+        setServerUrl("https://openapi.seewo.com");
+        setPath("/mis-attendance-api/student-leave/student-leave-request-handler");
+        setHttpMethod("POST");
+    }
+
+    public Class<StudentLeaveStudentLeaveRequestHandlerResult> getResponseClass() {
+        return StudentLeaveStudentLeaveRequestHandlerResult.class;
+    }
+
+    public Class<StudentLeaveStudentLeaveRequestHandlerParam> getDomainClass() {
+        return StudentLeaveStudentLeaveRequestHandlerParam.class;
+    }
+}
+

+ 178 - 0
src/main/java/com/template/model/seewo/StudentLeaveStudentLeaveRequestHandlerResult.java

@@ -0,0 +1,178 @@
+package com.template.model.seewo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiResult;
+import com.seewo.open.sdk.HttpResponse;
+
+/**
+ * seewo-open API: 学生请假申请与查询api
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2024-1-4
+ */
+public class StudentLeaveStudentLeaveRequestHandlerResult extends OpenApiResult {
+
+    public StudentLeaveStudentLeaveRequestHandlerResult(HttpResponse response) {
+        super(response);
+    }
+
+
+    /**
+     * 响应体,MimeType为 application/json
+     */
+
+    private JSONResponseBody responseBody;
+
+
+    public JSONResponseBody getResponseBody() {
+        return this.responseBody;
+    }
+
+    public void setResponseBody(JSONResponseBody responseBody) {
+        this.responseBody = responseBody;
+    }
+
+    public static class JSONResponseBody {
+        /**
+         * 返回码
+         */
+        private String code;
+        /**
+         * 错误信息
+         */
+        private String message;
+        /**
+         * 业务数据
+         */
+        private List<StudentLeaveRecordResult> data;
+
+        public String getCode() {
+            return this.code;
+        }
+
+        public void setCode(String code) {
+            this.code = code;
+        }
+
+        public String getMessage() {
+            return this.message;
+        }
+
+        public void setMessage(String message) {
+            this.message = message;
+        }
+
+        public List<StudentLeaveRecordResult> getData() {
+            return this.data;
+        }
+
+        public void setData(List<StudentLeaveRecordResult> data) {
+            this.data = data;
+        }
+
+    }
+
+    public static class StudentLeaveRecordResult {
+        /**
+         * 用户ID
+         */
+        private String userUid;
+        /**
+         * 学生姓名
+         */
+        private String userName;
+        /**
+         * 请假类型:0事假,1病假
+         */
+        private Integer type;
+        /**
+         * 请假原因
+         */
+        private String reason;
+        /**
+         * 开始时间
+         */
+        private String startTime;
+        /**
+         * 结束时间
+         */
+        private String endTime;
+        /**
+         * 附件列表
+         */
+        private List<String> attachments;
+        /**
+         * 请假申请时间
+         */
+        private String createTime;
+
+        public String getUserUid() {
+            return this.userUid;
+        }
+
+        public void setUserUid(String userUid) {
+            this.userUid = userUid;
+        }
+
+        public String getUserName() {
+            return this.userName;
+        }
+
+        public void setUserName(String userName) {
+            this.userName = userName;
+        }
+
+        public Integer getType() {
+            return this.type;
+        }
+
+        public void setType(Integer type) {
+            this.type = type;
+        }
+
+        public String getReason() {
+            return this.reason;
+        }
+
+        public void setReason(String reason) {
+            this.reason = reason;
+        }
+
+        public String getStartTime() {
+            return this.startTime;
+        }
+
+        public void setStartTime(String startTime) {
+            this.startTime = startTime;
+        }
+
+        public String getEndTime() {
+            return this.endTime;
+        }
+
+        public void setEndTime(String endTime) {
+            this.endTime = endTime;
+        }
+
+        public List<String> getAttachments() {
+            return this.attachments;
+        }
+
+        public void setAttachments(List<String> attachments) {
+            this.attachments = attachments;
+        }
+
+        public String getCreateTime() {
+            return this.createTime;
+        }
+
+        public void setCreateTime(String createTime) {
+            this.createTime = createTime;
+        }
+
+    }
+
+
+}
+

+ 318 - 0
src/main/java/com/template/model/seewo/StudentServiceBatchSaveClassStudentsParam.java

@@ -0,0 +1,318 @@
+package com.template.model.seewo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiParam;
+import com.seewo.open.sdk.ParameterPosition;
+
+/**
+ * seewo-open API: 批量添加班级学生
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class StudentServiceBatchSaveClassStudentsParam extends OpenApiParam {
+
+
+    /**
+     * 请求体,MimeType为 application/json
+     */
+
+    private JSONRequestBody requestBody;
+
+
+    public JSONRequestBody getRequestBody() {
+        return this.requestBody;
+    }
+
+    public void setRequestBody(JSONRequestBody requestBody) {
+        this.requestBody = requestBody;
+    }
+
+    public static StudentServiceBatchSaveClassStudentsParamBuilder builder(){
+        return new StudentServiceBatchSaveClassStudentsParamBuilder();
+    }
+
+    public static class StudentServiceBatchSaveClassStudentsParamBuilder{
+        private JSONRequestBody requestBody;
+
+        public StudentServiceBatchSaveClassStudentsParamBuilder requestBody(JSONRequestBody requestBody){
+            this.requestBody = requestBody;
+            return this;
+        }
+
+        public StudentServiceBatchSaveClassStudentsParam build(){
+            StudentServiceBatchSaveClassStudentsParam param = new StudentServiceBatchSaveClassStudentsParam();
+            param.setRequestBody(requestBody);
+            return param;
+        }
+    }
+
+    public static class JSONRequestBody {
+        /**
+         * 查询条件
+         */
+        private StudentSaveQuery query;
+
+        public StudentSaveQuery getQuery() {
+            return this.query;
+        }
+
+        public void setQuery(StudentSaveQuery query) {
+            this.query = query;
+        }
+
+
+        public static JSONRequestBodyBuilder builder(){
+            return new JSONRequestBodyBuilder();
+        }
+
+        public static class JSONRequestBodyBuilder{
+            private StudentSaveQuery query;
+
+            public JSONRequestBodyBuilder query(StudentSaveQuery query){
+                this.query = query;
+                return this;
+            }
+
+            public JSONRequestBody build(){
+                JSONRequestBody param = new JSONRequestBody();
+                param.setQuery(query);
+                return param;
+            }
+        }
+    }
+
+    public static class StudentSaveQuery {
+        /**
+         *  appId
+         */
+        private String appId;
+        /**
+         * 希沃学校ID
+         */
+        private String schoolUid;
+        /**
+         *  希沃班级ID
+         */
+        private String classUid;
+        /**
+         *  学生列表
+         */
+        private List<StudentInfo> students;
+        /**
+         *  是否删除旧学生再保存
+         */
+        private boolean inPlaceOld;
+
+        public String getAppId() {
+            return this.appId;
+        }
+
+        public void setAppId(String appId) {
+            this.appId = appId;
+        }
+
+        public String getSchoolUid() {
+            return this.schoolUid;
+        }
+
+        public void setSchoolUid(String schoolUid) {
+            this.schoolUid = schoolUid;
+        }
+
+        public String getClassUid() {
+            return this.classUid;
+        }
+
+        public void setClassUid(String classUid) {
+            this.classUid = classUid;
+        }
+
+        public List<StudentInfo> getStudents() {
+            return this.students;
+        }
+
+        public void setStudents(List<StudentInfo> students) {
+            this.students = students;
+        }
+
+        public boolean getInPlaceOld() {
+            return this.inPlaceOld;
+        }
+
+        public void setInPlaceOld(boolean inPlaceOld) {
+            this.inPlaceOld = inPlaceOld;
+        }
+
+
+        public static StudentSaveQueryBuilder builder(){
+            return new StudentSaveQueryBuilder();
+        }
+
+        public static class StudentSaveQueryBuilder{
+            private String appId;
+            private String schoolUid;
+            private String classUid;
+            private List<StudentInfo> students;
+            private boolean inPlaceOld;
+
+            public StudentSaveQueryBuilder appId(String appId){
+                this.appId = appId;
+                return this;
+            }
+            public StudentSaveQueryBuilder schoolUid(String schoolUid){
+                this.schoolUid = schoolUid;
+                return this;
+            }
+            public StudentSaveQueryBuilder classUid(String classUid){
+                this.classUid = classUid;
+                return this;
+            }
+            public StudentSaveQueryBuilder students(List<StudentInfo> students){
+                this.students = students;
+                return this;
+            }
+            public StudentSaveQueryBuilder inPlaceOld(boolean inPlaceOld){
+                this.inPlaceOld = inPlaceOld;
+                return this;
+            }
+
+            public StudentSaveQuery build(){
+                StudentSaveQuery param = new StudentSaveQuery();
+                param.setAppId(appId);
+                param.setSchoolUid(schoolUid);
+                param.setClassUid(classUid);
+                param.setStudents(students);
+                param.setInPlaceOld(inPlaceOld);
+                return param;
+            }
+        }
+    }
+
+    public static class StudentInfo {
+        /**
+         * 姓名
+         */
+        private String studentName;
+        /**
+         * 学号
+         */
+        private String studentCode;
+        /**
+         *  性别 1男2女
+         */
+        private Integer gender;
+        /**
+         *  一卡通卡号
+         */
+        private String cardNo;
+        /**
+         * 手机号
+         */
+        private String phone;
+
+        public String getStudentName() {
+            return this.studentName;
+        }
+
+        public void setStudentName(String studentName) {
+            this.studentName = studentName;
+        }
+
+        public String getStudentCode() {
+            return this.studentCode;
+        }
+
+        public void setStudentCode(String studentCode) {
+            this.studentCode = studentCode;
+        }
+
+        public Integer getGender() {
+            return this.gender;
+        }
+
+        public void setGender(Integer gender) {
+            this.gender = gender;
+        }
+
+        public String getCardNo() {
+            return this.cardNo;
+        }
+
+        public void setCardNo(String cardNo) {
+            this.cardNo = cardNo;
+        }
+
+        public String getPhone() {
+            return this.phone;
+        }
+
+        public void setPhone(String phone) {
+            this.phone = phone;
+        }
+
+
+        public static StudentInfoBuilder builder(){
+            return new StudentInfoBuilder();
+        }
+
+        public static class StudentInfoBuilder{
+            private String studentName;
+            private String studentCode;
+            private Integer gender;
+            private String cardNo;
+            private String phone;
+
+            public StudentInfoBuilder studentName(String studentName){
+                this.studentName = studentName;
+                return this;
+            }
+            public StudentInfoBuilder studentCode(String studentCode){
+                this.studentCode = studentCode;
+                return this;
+            }
+            public StudentInfoBuilder gender(Integer gender){
+                this.gender = gender;
+                return this;
+            }
+            public StudentInfoBuilder cardNo(String cardNo){
+                this.cardNo = cardNo;
+                return this;
+            }
+            public StudentInfoBuilder phone(String phone){
+                this.phone = phone;
+                return this;
+            }
+
+            public StudentInfo build(){
+                StudentInfo param = new StudentInfo();
+                param.setStudentName(studentName);
+                param.setStudentCode(studentCode);
+                param.setGender(gender);
+                param.setCardNo(cardNo);
+                param.setPhone(phone);
+                return param;
+            }
+        }
+    }
+
+    public static class Boolean {
+
+
+        public static BooleanBuilder builder(){
+            return new BooleanBuilder();
+        }
+
+        public static class BooleanBuilder{
+
+
+            public Boolean build(){
+                Boolean param = new Boolean();
+                return param;
+            }
+        }
+    }
+
+
+}

+ 35 - 0
src/main/java/com/template/model/seewo/StudentServiceBatchSaveClassStudentsRequest.java

@@ -0,0 +1,35 @@
+package com.template.model.seewo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiParam;
+import com.seewo.open.sdk.OpenApiRequest;
+
+/**
+ * seewo-open API: 批量添加班级学生
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class StudentServiceBatchSaveClassStudentsRequest extends OpenApiRequest<StudentServiceBatchSaveClassStudentsParam, StudentServiceBatchSaveClassStudentsResult> {
+
+    public StudentServiceBatchSaveClassStudentsRequest(StudentServiceBatchSaveClassStudentsParam param) {
+        this();
+        setBizModel(param);
+    }
+
+    public StudentServiceBatchSaveClassStudentsRequest() {
+        setServerUrl("https://openapi.seewo.com");
+        setPath("/seewo-yunban-api/student-service/batch-save-class-students");
+        setHttpMethod("POST");
+    }
+
+    public Class<StudentServiceBatchSaveClassStudentsResult> getResponseClass() {
+        return StudentServiceBatchSaveClassStudentsResult.class;
+    }
+
+    public Class<StudentServiceBatchSaveClassStudentsParam> getDomainClass() {
+        return StudentServiceBatchSaveClassStudentsParam.class;
+    }
+}
+

+ 206 - 0
src/main/java/com/template/model/seewo/StudentServiceBatchSaveClassStudentsResult.java

@@ -0,0 +1,206 @@
+package com.template.model.seewo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiResult;
+import com.seewo.open.sdk.HttpResponse;
+
+/**
+ * seewo-open API: 批量添加班级学生
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class StudentServiceBatchSaveClassStudentsResult extends OpenApiResult {
+
+    public StudentServiceBatchSaveClassStudentsResult(HttpResponse response) {
+        super(response);
+    }
+
+
+    /**
+     * 响应体,MimeType为 application/json
+     */
+
+    private JSONResponseBody responseBody;
+
+
+    public JSONResponseBody getResponseBody() {
+        return this.responseBody;
+    }
+
+    public void setResponseBody(JSONResponseBody responseBody) {
+        this.responseBody = responseBody;
+    }
+
+    public static class JSONResponseBody {
+        /**
+         *
+         */
+        private String code;
+        /**
+         *
+         */
+        private String message;
+        /**
+         *
+         */
+        private List<StudentInfoDto> data;
+
+        public String getCode() {
+            return this.code;
+        }
+
+        public void setCode(String code) {
+            this.code = code;
+        }
+
+        public String getMessage() {
+            return this.message;
+        }
+
+        public void setMessage(String message) {
+            this.message = message;
+        }
+
+        public List<StudentInfoDto> getData() {
+            return this.data;
+        }
+
+        public void setData(List<StudentInfoDto> data) {
+            this.data = data;
+        }
+
+    }
+
+    public static class StudentInfoDto {
+        /**
+         *  用户ID
+         */
+        private String userUid;
+        /**
+         *  用户名
+         */
+        private String userName;
+        /**
+         *  学号
+         */
+        private String studentCode;
+        /**
+         *  性别
+         */
+        private Integer gender;
+        /**
+         *  头像
+         */
+        private String photoUrl;
+        /**
+         *  卡号
+         */
+        private String cardId;
+        /**
+         *  家长信息
+         */
+        private List<ParentInfoDto> parents;
+
+        public String getUserUid() {
+            return this.userUid;
+        }
+
+        public void setUserUid(String userUid) {
+            this.userUid = userUid;
+        }
+
+        public String getUserName() {
+            return this.userName;
+        }
+
+        public void setUserName(String userName) {
+            this.userName = userName;
+        }
+
+        public String getStudentCode() {
+            return this.studentCode;
+        }
+
+        public void setStudentCode(String studentCode) {
+            this.studentCode = studentCode;
+        }
+
+        public Integer getGender() {
+            return this.gender;
+        }
+
+        public void setGender(Integer gender) {
+            this.gender = gender;
+        }
+
+        public String getPhotoUrl() {
+            return this.photoUrl;
+        }
+
+        public void setPhotoUrl(String photoUrl) {
+            this.photoUrl = photoUrl;
+        }
+
+        public String getCardId() {
+            return this.cardId;
+        }
+
+        public void setCardId(String cardId) {
+            this.cardId = cardId;
+        }
+
+        public List<ParentInfoDto> getParents() {
+            return this.parents;
+        }
+
+        public void setParents(List<ParentInfoDto> parents) {
+            this.parents = parents;
+        }
+
+    }
+
+    public static class ParentInfoDto {
+        /**
+         *  家长名
+         */
+        private String name;
+        /**
+         *  家长号码
+         */
+        private String phone;
+        /**
+         *
+         */
+        private Integer index;
+
+        public String getName() {
+            return this.name;
+        }
+
+        public void setName(String name) {
+            this.name = name;
+        }
+
+        public String getPhone() {
+            return this.phone;
+        }
+
+        public void setPhone(String phone) {
+            this.phone = phone;
+        }
+
+        public Integer getIndex() {
+            return this.index;
+        }
+
+        public void setIndex(Integer index) {
+            this.index = index;
+        }
+
+    }
+
+
+}
+

+ 267 - 0
src/main/java/com/template/model/seewo/TeacherServiceBatchSaveOrUpdateTeacherParam.java

@@ -0,0 +1,267 @@
+package com.template.model.seewo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiParam;
+import com.seewo.open.sdk.ParameterPosition;
+
+/**
+ * seewo-open API: 批量添加或更新老师
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class TeacherServiceBatchSaveOrUpdateTeacherParam extends OpenApiParam {
+
+
+    /**
+     * 请求体,MimeType为 application/json
+     */
+
+    private JSONRequestBody requestBody;
+
+
+    public JSONRequestBody getRequestBody() {
+        return this.requestBody;
+    }
+
+    public void setRequestBody(JSONRequestBody requestBody) {
+        this.requestBody = requestBody;
+    }
+
+    public static TeacherServiceBatchSaveOrUpdateTeacherParamBuilder builder(){
+        return new TeacherServiceBatchSaveOrUpdateTeacherParamBuilder();
+    }
+
+    public static class TeacherServiceBatchSaveOrUpdateTeacherParamBuilder{
+        private JSONRequestBody requestBody;
+
+        public TeacherServiceBatchSaveOrUpdateTeacherParamBuilder requestBody(JSONRequestBody requestBody){
+            this.requestBody = requestBody;
+            return this;
+        }
+
+        public TeacherServiceBatchSaveOrUpdateTeacherParam build(){
+            TeacherServiceBatchSaveOrUpdateTeacherParam param = new TeacherServiceBatchSaveOrUpdateTeacherParam();
+            param.setRequestBody(requestBody);
+            return param;
+        }
+    }
+
+    public static class JSONRequestBody {
+        /**
+         * 老师信息
+         */
+        private SaveOrUpdateTeacherBatchQuery query;
+
+        public SaveOrUpdateTeacherBatchQuery getQuery() {
+            return this.query;
+        }
+
+        public void setQuery(SaveOrUpdateTeacherBatchQuery query) {
+            this.query = query;
+        }
+
+
+        public static JSONRequestBodyBuilder builder(){
+            return new JSONRequestBodyBuilder();
+        }
+
+        public static class JSONRequestBodyBuilder{
+            private SaveOrUpdateTeacherBatchQuery query;
+
+            public JSONRequestBodyBuilder query(SaveOrUpdateTeacherBatchQuery query){
+                this.query = query;
+                return this;
+            }
+
+            public JSONRequestBody build(){
+                JSONRequestBody param = new JSONRequestBody();
+                param.setQuery(query);
+                return param;
+            }
+        }
+    }
+
+    public static class SaveOrUpdateTeacherBatchQuery {
+        /**
+         * appId
+         */
+        private String appId;
+        /**
+         *  希沃学校uid
+         */
+        private String schoolUid;
+        /**
+         *  老师列表
+         */
+        private List<SaveOrUpdateTeacherQuery> teachers;
+
+        public String getAppId() {
+            return this.appId;
+        }
+
+        public void setAppId(String appId) {
+            this.appId = appId;
+        }
+
+        public String getSchoolUid() {
+            return this.schoolUid;
+        }
+
+        public void setSchoolUid(String schoolUid) {
+            this.schoolUid = schoolUid;
+        }
+
+        public List<SaveOrUpdateTeacherQuery> getTeachers() {
+            return this.teachers;
+        }
+
+        public void setTeachers(List<SaveOrUpdateTeacherQuery> teachers) {
+            this.teachers = teachers;
+        }
+
+
+        public static SaveOrUpdateTeacherBatchQueryBuilder builder(){
+            return new SaveOrUpdateTeacherBatchQueryBuilder();
+        }
+
+        public static class SaveOrUpdateTeacherBatchQueryBuilder{
+            private String appId;
+            private String schoolUid;
+            private List<SaveOrUpdateTeacherQuery> teachers;
+
+            public SaveOrUpdateTeacherBatchQueryBuilder appId(String appId){
+                this.appId = appId;
+                return this;
+            }
+            public SaveOrUpdateTeacherBatchQueryBuilder schoolUid(String schoolUid){
+                this.schoolUid = schoolUid;
+                return this;
+            }
+            public SaveOrUpdateTeacherBatchQueryBuilder teachers(List<SaveOrUpdateTeacherQuery> teachers){
+                this.teachers = teachers;
+                return this;
+            }
+
+            public SaveOrUpdateTeacherBatchQuery build(){
+                SaveOrUpdateTeacherBatchQuery param = new SaveOrUpdateTeacherBatchQuery();
+                param.setAppId(appId);
+                param.setSchoolUid(schoolUid);
+                param.setTeachers(teachers);
+                return param;
+            }
+        }
+    }
+
+    public static class SaveOrUpdateTeacherQuery {
+        /**
+         *  用户账号(手机号/邮箱)
+         */
+        private String account;
+        /**
+         *  用户名字
+         */
+        private String name;
+        /**
+         * 账号类型
+phone - 手机号
+email - 邮箱
+         */
+        private String accountType;
+        /**
+         *  教师工号
+         */
+        private String teacherCode;
+        /**
+         *
+         */
+        private String photoUrl;
+
+        public String getAccount() {
+            return this.account;
+        }
+
+        public void setAccount(String account) {
+            this.account = account;
+        }
+
+        public String getName() {
+            return this.name;
+        }
+
+        public void setName(String name) {
+            this.name = name;
+        }
+
+        public String getAccountType() {
+            return this.accountType;
+        }
+
+        public void setAccountType(String accountType) {
+            this.accountType = accountType;
+        }
+
+        public String getTeacherCode() {
+            return this.teacherCode;
+        }
+
+        public void setTeacherCode(String teacherCode) {
+            this.teacherCode = teacherCode;
+        }
+
+        public String getPhotoUrl() {
+            return this.photoUrl;
+        }
+
+        public void setPhotoUrl(String photoUrl) {
+            this.photoUrl = photoUrl;
+        }
+
+
+        public static SaveOrUpdateTeacherQueryBuilder builder(){
+            return new SaveOrUpdateTeacherQueryBuilder();
+        }
+
+        public static class SaveOrUpdateTeacherQueryBuilder{
+            private String account;
+            private String name;
+            private String accountType;
+            private String teacherCode;
+            private String photoUrl;
+
+            public SaveOrUpdateTeacherQueryBuilder account(String account){
+                this.account = account;
+                return this;
+            }
+            public SaveOrUpdateTeacherQueryBuilder name(String name){
+                this.name = name;
+                return this;
+            }
+            public SaveOrUpdateTeacherQueryBuilder accountType(String accountType){
+                this.accountType = accountType;
+                return this;
+            }
+            public SaveOrUpdateTeacherQueryBuilder teacherCode(String teacherCode){
+                this.teacherCode = teacherCode;
+                return this;
+            }
+            public SaveOrUpdateTeacherQueryBuilder photoUrl(String photoUrl){
+                this.photoUrl = photoUrl;
+                return this;
+            }
+
+            public SaveOrUpdateTeacherQuery build(){
+                SaveOrUpdateTeacherQuery param = new SaveOrUpdateTeacherQuery();
+                param.setAccount(account);
+                param.setName(name);
+                param.setAccountType(accountType);
+                param.setTeacherCode(teacherCode);
+                param.setPhotoUrl(photoUrl);
+                return param;
+            }
+        }
+    }
+
+
+}

+ 35 - 0
src/main/java/com/template/model/seewo/TeacherServiceBatchSaveOrUpdateTeacherRequest.java

@@ -0,0 +1,35 @@
+package com.template.model.seewo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiParam;
+import com.seewo.open.sdk.OpenApiRequest;
+
+/**
+ * seewo-open API: 批量添加或更新老师
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class TeacherServiceBatchSaveOrUpdateTeacherRequest extends OpenApiRequest<TeacherServiceBatchSaveOrUpdateTeacherParam, TeacherServiceBatchSaveOrUpdateTeacherResult> {
+
+    public TeacherServiceBatchSaveOrUpdateTeacherRequest(TeacherServiceBatchSaveOrUpdateTeacherParam param) {
+        this();
+        setBizModel(param);
+    }
+
+    public TeacherServiceBatchSaveOrUpdateTeacherRequest() {
+        setServerUrl("https://openapi.seewo.com");
+        setPath("/seewo-yunban-api/teacher-service/batch-save-or-update-teacher");
+        setHttpMethod("POST");
+    }
+
+    public Class<TeacherServiceBatchSaveOrUpdateTeacherResult> getResponseClass() {
+        return TeacherServiceBatchSaveOrUpdateTeacherResult.class;
+    }
+
+    public Class<TeacherServiceBatchSaveOrUpdateTeacherParam> getDomainClass() {
+        return TeacherServiceBatchSaveOrUpdateTeacherParam.class;
+    }
+}
+

+ 154 - 0
src/main/java/com/template/model/seewo/TeacherServiceBatchSaveOrUpdateTeacherResult.java

@@ -0,0 +1,154 @@
+package com.template.model.seewo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiResult;
+import com.seewo.open.sdk.HttpResponse;
+
+/**
+ * seewo-open API: 批量添加或更新老师
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class TeacherServiceBatchSaveOrUpdateTeacherResult extends OpenApiResult {
+
+    public TeacherServiceBatchSaveOrUpdateTeacherResult(HttpResponse response) {
+        super(response);
+    }
+
+
+    /**
+     * 响应体,MimeType为 application/json
+     */
+
+    private JSONResponseBody responseBody;
+
+
+    public JSONResponseBody getResponseBody() {
+        return this.responseBody;
+    }
+
+    public void setResponseBody(JSONResponseBody responseBody) {
+        this.responseBody = responseBody;
+    }
+
+    public static class JSONResponseBody {
+        /**
+         *
+         */
+        private String code;
+        /**
+         *
+         */
+        private String message;
+        /**
+         *
+         */
+        private List<TeacherBaseInfoDto> data;
+
+        public String getCode() {
+            return this.code;
+        }
+
+        public void setCode(String code) {
+            this.code = code;
+        }
+
+        public String getMessage() {
+            return this.message;
+        }
+
+        public void setMessage(String message) {
+            this.message = message;
+        }
+
+        public List<TeacherBaseInfoDto> getData() {
+            return this.data;
+        }
+
+        public void setData(List<TeacherBaseInfoDto> data) {
+            this.data = data;
+        }
+
+    }
+
+    public static class TeacherBaseInfoDto {
+        /**
+         *  用户ID
+         */
+        private String uid;
+        /**
+         *  手机帐号
+         */
+        private String phone;
+        /**
+         *  教师工号
+         */
+        private String teacherCode;
+        /**
+         *  邮箱
+         */
+        private String email;
+        /**
+         *  1男,2女
+         */
+        private String gender;
+        /**
+         *  用户名
+         */
+        private String realName;
+
+        public String getUid() {
+            return this.uid;
+        }
+
+        public void setUid(String uid) {
+            this.uid = uid;
+        }
+
+        public String getPhone() {
+            return this.phone;
+        }
+
+        public void setPhone(String phone) {
+            this.phone = phone;
+        }
+
+        public String getTeacherCode() {
+            return this.teacherCode;
+        }
+
+        public void setTeacherCode(String teacherCode) {
+            this.teacherCode = teacherCode;
+        }
+
+        public String getEmail() {
+            return this.email;
+        }
+
+        public void setEmail(String email) {
+            this.email = email;
+        }
+
+        public String getGender() {
+            return this.gender;
+        }
+
+        public void setGender(String gender) {
+            this.gender = gender;
+        }
+
+        public String getRealName() {
+            return this.realName;
+        }
+
+        public void setRealName(String realName) {
+            this.realName = realName;
+        }
+
+    }
+
+
+}
+

+ 16 - 0
src/main/java/com/template/model/vo/BsClassNoVo.java

@@ -0,0 +1,16 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2024/1/5 星期五 14:53
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class BsClassNoVo {
+
+    private String classtab_no;
+
+}

+ 26 - 0
src/main/java/com/template/model/vo/BsClassVo.java

@@ -0,0 +1,26 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2024/1/5 星期五 14:53
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class BsClassVo {
+
+    private String resultcode;
+
+    private String msg;
+
+    private String appid;
+
+    private String timestamp;
+
+    private String data;
+
+    private String sign;
+
+}

+ 17 - 0
src/main/java/com/template/model/vo/BsDepartmentNoVo.java

@@ -0,0 +1,17 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2024/1/5 星期五 14:53
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class BsDepartmentNoVo {
+
+    //部门编号
+    private String department_no;
+
+}

+ 26 - 0
src/main/java/com/template/model/vo/BsDepartmentVo.java

@@ -0,0 +1,26 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2024/1/5 星期五 14:53
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class BsDepartmentVo {
+
+    private String resultcode;
+
+    private String msg;
+
+    private String appid;
+
+    private String timestamp;
+
+    private String data;
+
+    private String sign;
+
+}

+ 16 - 0
src/main/java/com/template/model/vo/BsGradeNoVo.java

@@ -0,0 +1,16 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2024/1/5 星期五 14:53
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class BsGradeNoVo {
+
+    private String grade_no;
+
+}

+ 26 - 0
src/main/java/com/template/model/vo/BsGradeVo.java

@@ -0,0 +1,26 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2024/1/5 星期五 14:53
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class BsGradeVo {
+
+    private String resultcode;
+
+    private String msg;
+
+    private String appid;
+
+    private String timestamp;
+
+    private String data;
+
+    private String sign;
+
+}

+ 19 - 0
src/main/java/com/template/model/vo/BsStaffNoVo.java

@@ -0,0 +1,19 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2024/1/5 星期五 14:53
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class BsStaffNoVo {
+
+    /**
+     * 员工编号
+     */
+    private String staff_no;
+
+}

+ 26 - 0
src/main/java/com/template/model/vo/BsStaffVo.java

@@ -0,0 +1,26 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2024/1/5 星期五 14:53
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class BsStaffVo {
+
+    private String resultcode;
+
+    private String msg;
+
+    private String appid;
+
+    private String timestamp;
+
+    private String data;
+
+    private String sign;
+
+}

+ 16 - 0
src/main/java/com/template/model/vo/BsStudentNoVo.java

@@ -0,0 +1,16 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2024/1/5 星期五 14:53
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class BsStudentNoVo {
+
+    private String student_no;
+
+}

+ 26 - 0
src/main/java/com/template/model/vo/BsStudentVo.java

@@ -0,0 +1,26 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2024/1/5 星期五 14:53
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class BsStudentVo {
+
+    private String resultcode;
+
+    private String msg;
+
+    private String appid;
+
+    private String timestamp;
+
+    private String data;
+
+    private String sign;
+
+}

+ 27 - 0
src/main/java/com/template/model/vo/GradeListVo.java

@@ -0,0 +1,27 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/12/4 星期一 15:57
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class GradeListVo {
+    /**
+     * 数据ID
+     */
+    private Integer id;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 百胜年级编号
+     */
+    private String gradeNo;
+}

+ 1 - 1
src/main/java/com/template/model/vo/GradeVo.java

@@ -28,7 +28,7 @@ public class GradeVo {
     /**
      * 班级
      */
-    private String schoolClass;
+    private Integer schoolClass;
 
     /**
      * 学号

+ 32 - 0
src/main/java/com/template/model/vo/ParentOfStudentsVo.java

@@ -0,0 +1,32 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/12/4 星期一 15:57
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class ParentOfStudentsVo {
+    /**
+     * 学生数据ID
+     */
+    private Integer id;
+
+    /**
+     * 学生名称
+     */
+    private String name;
+
+    /**
+     * 编号
+     */
+    private String cardNo;
+
+    /**
+     * 部门ID
+     */
+    private Integer departmentId;
+}

+ 5 - 0
src/main/java/com/template/model/vo/ScorePageVo.java

@@ -46,6 +46,11 @@ public class ScorePageVo {
     private String name;
 
     /**
+     * 用户ID
+     */
+    private Integer userId;
+
+    /**
      * 学号
      */
     private String cardNo;

+ 17 - 2
src/main/java/com/template/model/vo/ScoreVo.java

@@ -31,14 +31,24 @@ public class ScoreVo {
     private String schoolClass;
 
     /**
+     * 学科ID
+     */
+    private Integer subject;
+
+    /**
      * 学科
      */
-    private String subject;
+    private String subjectStr;
+
+    /**
+     * 考试类型ID
+     */
+    private Integer examType;
 
     /**
      * 考试类型
      */
-    private String examType;
+    private String examTypeStr;
 
     /**
      * 姓名
@@ -46,6 +56,11 @@ public class ScoreVo {
     private String name;
 
     /**
+     * 用户ID
+     */
+    private Integer userId;
+
+    /**
      * 学号
      */
     private String cardNo;

+ 7 - 0
src/main/java/com/template/services/SmartClassService.java

@@ -1,5 +1,6 @@
 package com.template.services;
 
+import com.template.model.pojo.SmartBuild;
 import com.template.model.pojo.SmartClass;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -15,4 +16,10 @@ import java.util.List;
  */
 public interface SmartClassService extends IService<SmartClass> {
     List<SmartClass> getSmartClasss();
+
+    int existSmartClass(String className,Integer gradeId);
+
+    int insertSmartClass(SmartClass sc);
+
+    SmartClass getSmartClassById(int id);
 }

+ 8 - 0
src/main/java/com/template/services/SmartGradeService.java

@@ -16,4 +16,12 @@ import java.util.List;
 public interface SmartGradeService extends IService<SmartGrade> {
 
     List<SmartGrade> getSmartGrades();
+
+    int insertSmartGrade(SmartGrade sg);
+
+    int updateSmartGrade(SmartGrade sg);
+
+    int existSmartGrade(Integer gradeNo, String gradeName);
+
+    SmartGrade querySmartGradeByBaisheng(String bsGradeNo);
 }

+ 9 - 0
src/main/java/com/template/services/SmartUserService.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.AffiliateUserVo;
 import com.template.model.vo.GradeVo;
+import com.template.model.vo.ParentOfStudentsVo;
 import com.template.model.vo.UserVo;
 import org.apache.ibatis.annotations.Param;
 
@@ -28,10 +29,18 @@ public interface SmartUserService extends IService<SmartUser> {
 
     List<SmartUser> getSmartUserByIds(List<Integer> ids);
 
+    List<SmartUser> getSmartUserIds(List<String> ids);
+
+    int getSmartUserCountByIds(List<Integer> ids);
+
     boolean updateUserBatchById(List<SmartUser> users);
 
+    Integer querySmartUserByCardNo(String cardNo);
+
     int deleteSmartUserById(int id);
 
+    int deleteSmartUserByIds(List<Integer> ids);
+
     SmartUser getSmartById(int id);
 
     List<AffiliateUserVo> queryAffiliateUserById(@Param("id") Integer id);

+ 26 - 0
src/main/java/com/template/services/impl/SmartClassServiceImpl.java

@@ -1,13 +1,17 @@
 package com.template.services.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.template.mapper.SmartClassMapper;
 import com.template.model.pojo.SmartClass;
 import com.template.mapper.SmartClassMapper;
 import com.template.model.pojo.SmartClass;
+import com.template.model.pojo.SmartGrade;
+import com.template.model.pojo.SmartSchool;
 import com.template.services.SmartClassService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import java.util.List;
 
@@ -29,4 +33,26 @@ public class SmartClassServiceImpl extends ServiceImpl<SmartClassMapper, SmartCl
         List<SmartClass> result = smartClassMapper.selectList(null);
         return result;
     }
+
+    @Override
+    public int existSmartClass(String className, Integer gradeId) {
+        //查重
+        QueryWrapper<SmartClass> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(gradeId != null, "grade_id", gradeId);
+        queryWrapper.eq(StringUtils.hasText(className), "name", className);
+        int existCount = smartClassMapper.selectCount(queryWrapper);
+        return existCount;
+    }
+
+    @Override
+    public int insertSmartClass(SmartClass sc) {
+        int result = smartClassMapper.insert(sc);
+        return result;
+    }
+
+    @Override
+    public SmartClass getSmartClassById(int id) {
+        SmartClass result = smartClassMapper.selectById(id);
+        return result;
+    }
 }

+ 35 - 0
src/main/java/com/template/services/impl/SmartGradeServiceImpl.java

@@ -1,11 +1,16 @@
 package com.template.services.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.template.model.pojo.SmartBuild;
+import com.template.model.pojo.SmartFreezeRecord;
 import com.template.model.pojo.SmartGrade;
 import com.template.mapper.SmartGradeMapper;
+import com.template.model.pojo.SmartIdentity;
 import com.template.services.SmartGradeService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import java.util.List;
 
@@ -24,8 +29,38 @@ public class SmartGradeServiceImpl extends ServiceImpl<SmartGradeMapper, SmartGr
     private SmartGradeMapper smartGradeMapper;
 
     @Override
+    public int updateSmartGrade(SmartGrade sg) {
+        int result = smartGradeMapper.updateById(sg);
+        return result;
+    }
+
+    @Override
     public List<SmartGrade> getSmartGrades() {
         List<SmartGrade> result = smartGradeMapper.selectList(null);
         return result;
     }
+
+    @Override
+    public int insertSmartGrade(SmartGrade sg) {
+        int result = smartGradeMapper.insert(sg);
+        return result;
+    }
+
+    @Override
+    public int existSmartGrade(Integer gradeNo, String gradeName) {
+        QueryWrapper<SmartGrade> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(gradeNo != null, "grade_no", gradeNo);
+        queryWrapper.eq(StringUtils.hasText(gradeName), "name", gradeName);
+        int existCount = smartGradeMapper.selectCount(queryWrapper);
+        return existCount;
+    }
+
+    @Override
+    public SmartGrade querySmartGradeByBaisheng(String bsGradeNo) {
+        QueryWrapper<SmartGrade> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(StringUtils.hasText(bsGradeNo), "bs_grade_no", bsGradeNo);
+        SmartGrade result = smartGradeMapper.selectOne(queryWrapper);
+        return result;
+    }
+
 }

+ 37 - 1
src/main/java/com/template/services/impl/SmartUserServiceImpl.java

@@ -9,6 +9,7 @@ import com.template.model.pojo.SmartUser;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.AffiliateUserVo;
 import com.template.model.vo.GradeVo;
+import com.template.model.vo.ParentOfStudentsVo;
 import com.template.model.vo.UserVo;
 import com.template.services.SmartUserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -88,23 +89,58 @@ public class SmartUserServiceImpl extends ServiceImpl<SmartUserMapper, SmartUser
     }
 
     @Override
+    public List<SmartUser> getSmartUserIds(List<String> ids) {
+        QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
+        queryWrapper.in("id", ids);
+        queryWrapper.eq("is_cancel", 0);
+        List<SmartUser> result = smartUserMapper.selectList(queryWrapper);
+        return result;
+    }
+
+    @Override
+    public int getSmartUserCountByIds(List<Integer> ids) {
+        QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
+        queryWrapper.in("id", ids);
+        queryWrapper.eq("is_cancel", 0);
+
+        int result = smartUserMapper.selectCount(queryWrapper);
+        return result;
+    }
+
+    @Override
     public boolean updateUserBatchById(List<SmartUser> users) {
         boolean result = this.updateBatchById(users);
         return result;
     }
 
     @Override
+    public Integer querySmartUserByCardNo(String cardNo) {
+        QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
+        queryWrapper.eq("card_no", cardNo);
+        queryWrapper.eq("is_cancel", 0);
+
+        int existCount = smartUserMapper.selectCount(queryWrapper);
+        return existCount;
+    }
+
+    @Override
     public int deleteSmartUserById(int id) {
         int result = smartUserMapper.deleteById(id);
         return result;
     }
 
     @Override
+    public int deleteSmartUserByIds(List<Integer> ids) {
+        int result = smartUserMapper.deleteBatchIds(ids);
+        return result;
+    }
+
+    @Override
     public SmartUser getSmartById(int id) {
         QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
         queryWrapper.eq("is_cancel", 0);
         queryWrapper.eq("id", id);
-        SmartUser result = smartUserMapper.selectById(queryWrapper);
+        SmartUser result = smartUserMapper.selectOne(queryWrapper);
         return result;
     }
 

+ 6 - 1
src/main/resources/application-dev.yml

@@ -64,7 +64,12 @@ park:
   appId: ymdd36ed157ac423e2
   parkKey: wdcmq9rc
   appSecret: 50596cd243dc4547b4c05f01f8ea02a4
-  url: http://openapi.szymzh.com/Api/Inform/Reservation
+
+#百胜门禁
+accesscontrol:
+  appId: sc5efc60f2bd373df9
+  appSecret: fe0d767a2a394d1b81ccda6fc0ce5ecc
+  schoolCode: SL1701743624375793
 
 #腾讯云
 tencentcloud:

+ 25 - 4
src/main/resources/mapper/template/SmartUserMapper.xml

@@ -20,12 +20,33 @@
 
     <resultMap type="com.template.model.vo.UserVo" id="smartUserPageMap">
         <result property="id" column="id"/>
-        <result property="name" column="name"/>
         <result property="cardNo" column="card_no"/>
+        <result property="name" column="name"/>
+        <result property="identityId" column="identity_id"/>
+        <result property="idCard" column="id_card"/>
+        <result property="sexId" column="sex_id"/>
+        <result property="headImage" column="department_id"/>
         <result property="headImage" column="head_image"/>
+        <result property="headImage" column="grade"/>
+        <result property="headImage" column="college"/>
+        <result property="headImage" column="speciality"/>
+        <result property="headImage" column="school_class"/>
+        <result property="headImage" column="campus"/>
+        <result property="headImage" column="dormitory_number"/>
+        <result property="headImage" column="phone"/>
+        <result property="headImage" column="affiliate"/>
+        <result property="headImage" column="title"/>
+        <result property="headImage" column="address"/>
+        <result property="headImage" column="nation"/>
+        <result property="headImage" column="of_student"/>
+        <result property="headImage" column="graduate"/>
+        <result property="headImage" column="duties"/>
+        <result property="headImage" column="is_cancel"/>
     </resultMap>
     <select id="querySmartUserPages" resultType="com.template.model.vo.UserVo" resultMap="smartUserPageMap">
-        select id,name,card_no,head_image from smart_user
+        select id,card_no,name,identity_id,id_card,sex_id,department_id,head_image,grade,college,speciality,school_class,campus,dormitory_number,
+        phone,affiliate,title,address,nation,of_student,graduate,duties,is_cancel
+        from smart_user
         where deleted = 0 and is_cancel = 0
         <if test="departmentIds != null and departmentIds.size() > 0">
             and department_id in
@@ -34,7 +55,7 @@
             </foreach>
         </if>
         <if test="name != null and name != ''">
-            and name like '%' #{name} '%'
+            and (name like '%' #{name} '%' or card_no like '%' #{name} '%')
         </if>
     </select>
 
@@ -87,7 +108,7 @@
     </resultMap>
     <select id="querySmartSecordPage" resultType="com.template.model.vo.GradeVo" resultMap="smartSecordUserPageMap">
         select id,name,grade,school_class,card_no from smart_user
-        where deleted = 0 and identity_id = 2
+        where deleted = 0 and is_cancel = 0 and identity_id = 2
         <if test="name != null and name != ''">
             and name like '%' #{name} '%'
         </if>

+ 6 - 1
target/classes/application-dev.yml

@@ -64,7 +64,12 @@ park:
   appId: ymdd36ed157ac423e2
   parkKey: wdcmq9rc
   appSecret: 50596cd243dc4547b4c05f01f8ea02a4
-  url: http://openapi.szymzh.com/Api/Inform/Reservation
+
+#百胜门禁
+accesscontrol:
+  appId: sc5efc60f2bd373df9
+  appSecret: fe0d767a2a394d1b81ccda6fc0ce5ecc
+  schoolCode: SL1701743624375793
 
 #腾讯云
 tencentcloud:

+ 25 - 4
target/classes/mapper/template/SmartUserMapper.xml

@@ -20,12 +20,33 @@
 
     <resultMap type="com.template.model.vo.UserVo" id="smartUserPageMap">
         <result property="id" column="id"/>
-        <result property="name" column="name"/>
         <result property="cardNo" column="card_no"/>
+        <result property="name" column="name"/>
+        <result property="identityId" column="identity_id"/>
+        <result property="idCard" column="id_card"/>
+        <result property="sexId" column="sex_id"/>
+        <result property="headImage" column="department_id"/>
         <result property="headImage" column="head_image"/>
+        <result property="headImage" column="grade"/>
+        <result property="headImage" column="college"/>
+        <result property="headImage" column="speciality"/>
+        <result property="headImage" column="school_class"/>
+        <result property="headImage" column="campus"/>
+        <result property="headImage" column="dormitory_number"/>
+        <result property="headImage" column="phone"/>
+        <result property="headImage" column="affiliate"/>
+        <result property="headImage" column="title"/>
+        <result property="headImage" column="address"/>
+        <result property="headImage" column="nation"/>
+        <result property="headImage" column="of_student"/>
+        <result property="headImage" column="graduate"/>
+        <result property="headImage" column="duties"/>
+        <result property="headImage" column="is_cancel"/>
     </resultMap>
     <select id="querySmartUserPages" resultType="com.template.model.vo.UserVo" resultMap="smartUserPageMap">
-        select id,name,card_no,head_image from smart_user
+        select id,card_no,name,identity_id,id_card,sex_id,department_id,head_image,grade,college,speciality,school_class,campus,dormitory_number,
+        phone,affiliate,title,address,nation,of_student,graduate,duties,is_cancel
+        from smart_user
         where deleted = 0 and is_cancel = 0
         <if test="departmentIds != null and departmentIds.size() > 0">
             and department_id in
@@ -34,7 +55,7 @@
             </foreach>
         </if>
         <if test="name != null and name != ''">
-            and name like '%' #{name} '%'
+            and (name like '%' #{name} '%' or card_no like '%' #{name} '%')
         </if>
     </select>
 
@@ -87,7 +108,7 @@
     </resultMap>
     <select id="querySmartSecordPage" resultType="com.template.model.vo.GradeVo" resultMap="smartSecordUserPageMap">
         select id,name,grade,school_class,card_no from smart_user
-        where deleted = 0 and identity_id = 2
+        where deleted = 0 and is_cancel = 0 and identity_id = 2
         <if test="name != null and name != ''">
             and name like '%' #{name} '%'
         </if>

+ 94 - 38
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -1,67 +1,80 @@
 com\template\api\SmartDataSourceLogControllerAPI.class
+com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsParam$ParentsItem$ParentsItemBuilder.class
+com\template\model\seewo\StudentLeaveStudentLeaveRequestHandlerParam$StudentLeaveStudentLeaveRequestHandlerParamBuilder.class
 com\template\common\utils\DateUtils.class
 com\template\controller\SystemMenuController.class
-com\template\model\pojo\HomeSchoolServiceSendNoteToKidParam$Query$QueryBuilder.class
 com\template\services\impl\SmartDepartmentServiceImpl.class
-com\template\model\pojo\AttendanceServiceListAttendClassRecordsParam$RequestBody$RequestBodyBuilder.class
+com\template\model\seewo\AttendanceRuleListSchoolAttendRuleRequest.class
 com\template\model\request\manualFreezingRequest.class
-com\template\model\pojo\AttendanceRuleListSchoolAttendRuleResult$ResponseBody.class
 com\template\controller\SmartDataClassController.class
 com\template\common\utils\TreeRecordsUtil.class
+com\template\model\seewo\AttendanceServiceListAttendClassRecordsResult$Data.class
 com\template\common\exception\MyCustomException.class
 com\template\services\impl\SystemUserServiceImpl.class
 com\template\services\SmartFreezeRecordService.class
 com\template\mapper\SmartWarningMapper.class
 com\template\model\result\PageUtils.class
 com\template\model\pojo\SmartUser.class
+com\template\model\seewo\StudentLeaveStudentLeaveRequestHandlerParam$JSONRequestBody.class
 com\template\common\utils\TimeExchange$1.class
 com\template\api\SmartDepartmentControllerAPI.class
 com\template\services\SmartScreenshotRecordService.class
 com\template\model\vo\ApplyVo.class
 com\template\config\ScheduleConfig.class
+com\template\model\seewo\OrgClassOpenSeewoUcOpenV1ClassFullParam$JSONRequestBody.class
 com\template\MybatisPlusApplication.class
+com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsParam$StudentParentsItem$StudentParentsItemBuilder.class
+com\template\model\seewo\ClassServiceBatchSaveClassParam.class
+com\template\model\seewo\AttendanceServiceListAttendClassRecordsRequest.class
 com\template\model\pojo\RepairAdmin.class
+com\template\model\seewo\AttendanceRuleListSchoolAttendRuleParam$AttendanceRuleListSchoolAttendRuleParamBuilder.class
 com\template\controller\SmartGradeController.class
+com\template\model\seewo\AttendanceServiceListAttendClassRecordsParam$Query.class
+com\template\model\vo\BsGradeVo.class
 com\template\mapper\SmartGradeMapper.class
+com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsResult.class
 com\template\model\tongji\EnergyTj.class
 com\template\api\LoginControllerAPI.class
 com\template\common\utils\PropertiesUtil.class
 com\template\handle\NonStaticResourceHttpRequestHandler.class
 com\template\model\pojo\SmartDepartment.class
-com\template\model\pojo\AttendanceRuleListSchoolAttendRuleParam$AttendanceRuleListSchoolAttendRuleParamBuilder.class
 com\template\aop\LoginCheckAspect.class
+com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsResult$Object.class
 com\template\model\vo\ScreenshotRecordPageVo.class
 com\template\common\utils\SendSms.class
 com\template\controller\SmartFreezeRecordController.class
 com\template\model\pojo\SmartGrade.class
 com\template\services\impl\SmartScreenshotServiceImpl.class
 com\template\annotation\PassToken.class
-com\template\model\pojo\AttendanceServiceListAttendClassRecordsResult$ResponseBody.class
 com\template\common\exception\EmsExceptionHandler.class
 com\template\mapper\SmartUserMapper.class
 com\template\api\SmartAuthorGroupControllerAPI.class
-com\template\model\pojo\OrgClassOpenSeewoUcOpenV1ClassFullParam.class
-com\template\model\pojo\OrgClassOpenSeewoUcOpenV1ClassFullParam$JSONRequestBody.class
 com\template\model\enumModel\eVisitorType.class
+com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsParam$RequestBody.class
 com\template\model\enumModel\eApproveStatu.class
+com\template\model\vo\BsClassVo.class
 com\template\common\utils\HttpClientUtils$1.class
 com\template\mapper\SmsCodeMapper.class
 com\template\model\vo\ScorePageVo.class
 com\template\services\impl\SmartVisitorServiceImpl.class
-com\template\model\pojo\OrgClassOpenSeewoUcOpenV1ClassFullResult.class
 com\template\model\vo\DepartmentTreeVo$DepartmentTreeVoBuilder.class
+com\template\common\utils\AesTestOne.class
 com\template\common\utils\RandomTrackAlgorithm.class
 com\template\controller\SmartVisitorController.class
 com\template\mapper\SmartBuildMapper.class
 com\template\common\utils\CommonUtil.class
+com\template\model\seewo\AttendanceRuleListSchoolAttendRuleParam.class
 com\template\api\SystemMenuControllerAPI.class
 com\template\model\request\updateScreenshotRequest.class
 com\template\model\enumModel\ePunish.class
+com\template\model\seewo\AttendanceRuleListSchoolAttendRuleResult.class
 com\template\controller\SmartSchoolController.class
+com\template\model\seewo\AttendanceRuleListSchoolAttendRuleParam$Query$QueryBuilder.class
 com\template\services\impl\SmartClassServiceImpl.class
 com\template\mapper\SmartVisitorMapper.class
 com\template\model\pojo\SmartAttendance.class
 com\template\model\vo\SmartEnumVo.class
+com\template\model\seewo\OrgClassOpenSeewoUcOpenV1ClassFullParam.class
 com\template\controller\Task.class
 com\template\api\SmartAuthorityControllerAPI.class
 com\template\services\SmartScreenshotService.class
@@ -71,8 +84,10 @@ com\template\mapper\WechatScanLoginMapper.class
 com\template\services\impl\SystemMenuServiceImpl.class
 com\template\services\SmartBuildService.class
 com\template\common\utils\DataBliu.class
+com\template\model\seewo\AttendanceServiceListAttendClassRecordsResult.class
 com\template\model\vo\SmartFreezeRecordPageVo.class
 com\template\common\utils\QuartzJobUtils.class
+com\template\model\seewo\ClassServiceBatchSaveClassResult.class
 com\template\model\request\parentsAppointmentRequest.class
 com\template\model\pojo\SmartBuild.class
 com\template\services\impl\SmartMeterServiceImpl.class
@@ -86,68 +101,69 @@ com\template\services\SmartIdentityService.class
 com\template\api\SmartBuildMeterControllerAPI.class
 com\template\annotation\UserLoginCheck.class
 com\template\model\pojo\SystemMenu.class
+com\template\model\request\insertSmartGradeRequest.class
 com\template\controller\SmartIdentityController.class
 META-INF\spring-configuration-metadata.json
 com\template\model\request\updateIdentityRequest.class
-com\template\model\pojo\AttendanceServiceListAttendClassRecordsResult$RecordsItem.class
-com\template\model\pojo\AttendanceRuleListSchoolAttendRuleParam$RequestBody.class
 com\template\services\impl\SmartMeterDetailServiceImpl.class
 com\template\core\JwtlnterceptorConfig.class
 com\template\model\request\insertScreenshotRequest.class
 com\template\services\impl\SmartSchoolServiceImpl.class
 com\template\model\request\updateSmartUserRequest.class
+com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsRequest.class
 com\template\mapper\SmartClassMapper.class
 com\template\model\pojo\SmartClass.class
+com\template\model\seewo\OrgClassOpenSeewoUcOpenV1ClassFullResult$JSONResponseBody.class
 com\template\common\utils\ValidateCode.class
 com\template\api\SmartScreenshotRecordControllerAPI.class
 com\template\model\pojo\SmartDataSourceLog.class
 com\template\common\utils\ExcelUtils.class
-com\template\model\pojo\AttendanceServiceListAttendClassRecordsResult.class
+com\template\model\seewo\HomeSchoolServiceSendNoteToKidParam$Query.class
 com\template\model\vo\DepartmentVo.class
 com\template\model\request\insertScoreRequest.class
 com\template\services\SmartAuthorGroupService.class
 com\template\model\request\updateDepartmentRequest.class
 com\template\services\SmartSchoolService.class
 com\template\core\CORSConfiguration$1.class
+com\template\model\seewo\HomeSchoolServiceSendNoteToKidResult$ResponseBody.class
 com\template\services\impl\SmartAttendanceServiceImpl.class
 com\template\annotation\ControllerIsShow.class
 com\template\model\request\UpdateSmartSchoolRequest.class
 com\template\model\tongji\MonthMeterDetail.class
-com\template\model\pojo\HomeSchoolServiceSendNoteToKidParam.class
 com\template\model\enumModel\eFreezeRecord.class
-com\template\model\pojo\HomeSchoolServiceSendNoteToKidResult.class
+com\template\model\seewo\ClassServiceBatchSaveClassParam$ClassInfo.class
 com\template\model\pojo\SmartAuthority.class
 com\template\services\SmartMeterDetailService.class
 com\template\services\SmartScoreService.class
 com\template\mapper\SmartEvaluateTdetailMapper.class
 com\template\model\enumModel\eIsSuper.class
 com\template\mapper\SmartDataSourceMapper.class
-com\template\model\pojo\AttendanceServiceListAttendClassRecordsParam$AttendanceServiceListAttendClassRecordsParamBuilder.class
-com\template\model\pojo\AttendanceRuleListSchoolAttendRuleResult$Result.class
 com\template\model\weixin\AuthorListGroup.class
 com\template\model\weixin\AccessToken.class
 com\template\controller\WechatScanLoginController$1.class
 com\template\api\WechatScanLoginControllerAPI.class
-com\template\model\pojo\AttendanceServiceListAttendClassRecordsParam.class
 com\template\model\weixin\AuthorAndGroup2.class
 com\template\mapper\SmartIdentityMapper.class
 com\template\model\pojo\SystemRole.class
 com\template\model\request\freezeRepairAdminRequest.class
 com\template\common\utils\TimeExchange.class
+com\template\model\seewo\ClassServiceBatchSaveClassParam$JSONRequestBody$JSONRequestBodyBuilder.class
 com\template\api\SmartMeterControllerAPI.class
-com\template\model\pojo\HomeSchoolServiceSendNoteToKidRequest.class
 com\template\mapper\SmartApplyMapper.class
 com\template\model\pojo\SmartDsColumnCor.class
+com\template\model\seewo\AttendanceServiceListAttendClassRecordsResult$RecordsItem.class
+com\template\model\seewo\OrgClassOpenSeewoUcOpenV1ClassFullParam$JSONRequestBody$JSONRequestBodyBuilder.class
 com\template\services\SmartUploadService.class
 com\template\model\enumModel\eExamineStatu.class
 com\template\model\pojo\SmartScore.class
 com\template\common\utils\TimeExchange2.class
+com\template\model\seewo\StudentLeaveStudentLeaveRequestHandlerParam$StudentLeaveQuery$StudentLeaveQueryBuilder.class
 com\template\common\utils\RequestUtils.class
-com\template\model\pojo\HomeSchoolServiceSendNoteToKidResult$ResponseBody.class
 com\template\controller\SmartDataSourceController.class
 com\template\model\vo\ScoreVo.class
 com\template\api\SmartScreenshotControllerAPI.class
 com\template\model\evaluate\SmartEvaluateTeacher.class
+com\template\model\seewo\HomeSchoolServiceSendNoteToKidParam.class
 com\template\model\vo\SystemMenuVo$SystemMenuVoBuilder.class
 com\template\controller\SmartScoreController.class
 com\template\services\impl\SmsCodeServiceImpl.class
@@ -155,37 +171,42 @@ com\template\model\pojo\SmartWarning.class
 com\template\services\impl\SmartBuildServiceImpl.class
 com\template\services\SmartUserService.class
 com\template\model\vo\VisitorCountVo.class
+com\template\model\seewo\AttendanceServiceListAttendClassRecordsParam$RequestBody$RequestBodyBuilder.class
+com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsRequest.class
 com\template\services\impl\SmartBuildMeterServiceImpl.class
 com\template\model\weixin\AuthorListGroup$AuthorListGroupBuilder.class
 com\template\mapper\SmartDataTaskMapper.class
+com\template\model\seewo\AttendanceRuleListSchoolAttendRuleResult$ResponseBody.class
 com\template\AutoCode.class
 com\template\model\tongji\MeterMonthData.class
+com\template\model\seewo\HomeSchoolServiceSendNoteToKidParam$RequestBody$RequestBodyBuilder.class
+com\template\model\seewo\AttendanceServiceListAttendClassRecordsParam$RequestBody.class
 com\template\model\pojo\SmartScreenshot.class
+com\template\model\request\insertSmartClassRequest.class
 com\template\model\pojo\SmartIdentity.class
+com\template\model\seewo\StudentLeaveStudentLeaveRequestHandlerParam$JSONRequestBody$JSONRequestBodyBuilder.class
 com\template\services\WechatScanLoginService.class
 com\template\model\request\otherAppointmentRequest.class
+com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsResult$ResponseBody.class
 com\template\services\impl\SmartIdentityServiceImpl.class
 com\template\services\SystemMenuService.class
-com\template\model\pojo\OrgClassOpenSeewoUcOpenV1ClassFullParam$JSONRequestBody$JSONRequestBodyBuilder.class
 com\template\model\enumModel\eWeekStatu.class
 com\template\model\vo\SemesterVo.class
 com\template\api\SmartApplyControllerAPI.class
-com\template\model\pojo\AttendanceServiceListAttendClassRecordsRequest.class
 com\template\model\enumModel\eStatu.class
 com\template\services\SmartVisitorService.class
 com\template\model\evaluate\SmartScoreManage.class
-com\template\model\pojo\HomeSchoolServiceSendNoteToKidParam$RequestBody$RequestBodyBuilder.class
 com\template\mapper\SmartDataClassMapper.class
 com\template\model\pojo\SmartSchool.class
 com\template\common\utils\FileUtils.class
 com\template\model\request\deleteSmartScoreRequest.class
+com\template\model\seewo\OrgClassOpenSeewoUcOpenV1ClassFullParam$OrgClassOpenSeewoUcOpenV1ClassFullParamBuilder.class
 com\template\config\MyBatisPlusConfig.class
-com\template\model\pojo\OrgClassOpenSeewoUcOpenV1ClassFullParam$OrgClassOpenSeewoUcOpenV1ClassFullParamBuilder.class
+com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsParam$Query$QueryBuilder.class
+com\template\model\vo\BsGradeNoVo.class
 com\template\model\request\changeDepartmentRequest.class
-com\template\model\pojo\HomeSchoolServiceSendNoteToKidParam$RequestBody.class
 com\template\model\pojo\SmartDataSource.class
 com\template\config\MySecurity.class
-com\template\model\pojo\OrgClassOpenSeewoUcOpenV1ClassFullResult$JSONResponseBody.class
 com\template\controller\SmartAuthorGroupController.class
 com\template\services\impl\SmartScreenshotRecordServiceImpl.class
 com\template\controller\SmartAttendanceController.class
@@ -196,7 +217,6 @@ com\template\services\SmartDataSourceService.class
 com\template\controller\SmartDataSourceLogController.class
 com\template\controller\RepairAdminController.class
 com\template\model\vo\GradeVo.class
-com\template\model\pojo\AttendanceRuleListSchoolAttendRuleResult$Data.class
 com\template\model\vo\SystemMenuVo.class
 com\template\mapper\RepairAdminMapper.class
 com\template\model\request\insertFreezeRecordRequest.class
@@ -204,12 +224,15 @@ com\template\services\SmartDataClassService.class
 com\template\common\utils\DBUtil.class
 com\template\controller\SmartMeterController.class
 com\template\services\SmartAuthorityService.class
-com\template\model\pojo\AttendanceRuleListSchoolAttendRuleResult.class
+com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsParam.class
+com\template\model\seewo\AttendanceRuleListSchoolAttendRuleParam$RequestBody.class
 com\template\mapper\SmartFreezeRecordMapper.class
+com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsParam$PersonalLeaveListSchoolPeriodRecordsParamBuilder.class
 com\template\controller\LoginController.class
 com\template\model\request\insertSmartUserRequest.class
 com\template\mapper\SmartSchoolMapper.class
 com\template\model\pojo\SmartDataSourceJobParams.class
+com\template\model\seewo\ClassServiceBatchSaveClassParam$JSONRequestBody.class
 com\template\config\smsConfig.class
 com\template\api\SmartDataTaskControllerAPI.class
 com\template\model\result\CommonResult.class
@@ -226,31 +249,29 @@ com\template\common\utils\Base64Util.class
 com\template\model\request\updateScoreRequest.class
 com\template\controller\SmsCodeController.class
 com\template\api\SmartMeterDetailControllerAPI.class
-com\template\model\pojo\OrgClassOpenSeewoUcOpenV1ClassFullRequest.class
-com\template\model\pojo\HomeSchoolServiceSendNoteToKidParam$Query.class
 com\template\api\SmartClassControllerAPI.class
 com\template\common\utils\HttpClientUtils$LazyHolder.class
 com\template\model\vo\LoginVO.class
+com\template\model\seewo\StudentLeaveStudentLeaveRequestHandlerParam.class
 com\template\model\weixin\WechatUserUnionID.class
 com\template\api\SmartUserControllerAPI.class
 com\template\config\ParkConfig.class
 com\template\mapper\SmartDataSourceLogMapper.class
 com\template\api\SmartScoreControllerAPI.class
 com\template\model\request\queryAccountPageRequest.class
-com\template\model\pojo\AttendanceRuleListSchoolAttendRuleParam$RequestBody$RequestBodyBuilder.class
 com\template\model\request\insertIdentityRequest.class
 com\template\model\pojo\SystemUser.class
 com\template\mapper\SystemUserMapper.class
 com\template\services\RepairAdminService.class
 com\template\model\vo\AffiliateUserVo.class
 com\template\services\impl\SmartApplyServiceImpl.class
-com\template\model\pojo\AttendanceRuleListSchoolAttendRuleParam$Query.class
 com\template\services\SmartGradeService.class
 com\template\model\enumModel\eSubjectStatu.class
+com\template\model\seewo\StudentLeaveStudentLeaveRequestHandlerResult$JSONResponseBody.class
 com\template\services\impl\SmartUserServiceImpl.class
+com\template\model\seewo\HomeSchoolServiceSendNoteToKidParam$RequestBody.class
 com\template\api\ExcelControllerAPI.class
 com\template\controller\SmartWarningController.class
-com\template\model\pojo\AttendanceServiceListAttendClassRecordsParam$Query$QueryBuilder.class
 com\template\api\SmartDataSourceControllerAPI.class
 com\template\model\pojo\SmartFreezeRecord.class
 com\template\handler\MyMetaObjectHandler.class
@@ -258,71 +279,95 @@ com\template\api\SmartWarningControllerAPI.class
 com\template\controller\SmartClassController.class
 com\template\controller\SmartUserController.class
 com\template\mapper\SmartScreenshotMapper.class
+com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsParam$Query$QueryBuilder.class
 com\template\model\pojo\SmartMeterDetail.class
+com\template\model\seewo\AttendanceServiceListAttendClassRecordsParam$AttendanceServiceListAttendClassRecordsParamBuilder.class
 com\template\mapper\SmartScoreMapper.class
 com\template\model\request\insertDepartmentRequest.class
 com\template\controller\SmartApplyController.class
 com\template\mapper\SmartDepartmentMapper.class
 com\template\services\SmartDataTaskService.class
+com\template\model\seewo\StudentLeaveStudentLeaveRequestHandlerParam$StudentLeaveQuery.class
 com\template\common\constanst\Constanst.class
 com\template\model\pojo\SmartVisitor.class
-com\template\model\pojo\AttendanceRuleListSchoolAttendRuleParam$Query$QueryBuilder.class
 com\template\services\impl\WechatScanLoginServiceImpl.class
 com\template\services\impl\SmartScoreServiceImpl.class
 com\template\model\request\loginRequest.class
 com\template\model\enumModel\eExamType.class
+com\template\model\seewo\StudentLeaveStudentLeaveRequestHandlerResult$StudentLeaveRecordResult.class
 com\template\model\pojo\SmsCode.class
+com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsParam.class
 com\template\mapper\SmartScreenshotRecordMapper.class
 com\template\controller\UploadController.class
+com\template\model\seewo\AttendanceServiceListAttendClassRecordsResult$ResponseBody.class
 com\template\api\SmartDataClassControllerAPI.class
 com\template\services\SmartClassService.class
 com\template\services\SmartWarningService.class
 com\template\mapper\SmartBuildMeterMapper.class
+com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsParam$RequestBody$RequestBodyBuilder.class
+com\template\model\seewo\StudentLeaveStudentLeaveRequestHandlerRequest.class
 com\template\common\utils\EncryptionUtil.class
+com\template\model\seewo\AttendanceRuleListSchoolAttendRuleResult$Result.class
+com\template\model\seewo\ClassServiceBatchSaveClassParam$ClassSaveQuery$ClassSaveQueryBuilder.class
 com\template\services\impl\SmartAuthorGroupServiceImpl.class
+com\template\model\seewo\AttendanceRuleListSchoolAttendRuleParam$Query.class
 com\template\config\SeewoConfig.class
-com\template\model\pojo\AttendanceServiceListAttendClassRecordsParam$RequestBody.class
 com\template\services\impl\SmartDataClassServiceImpl.class
 com\template\model\pojo\SmartScreenshotRecord.class
+com\template\model\seewo\AttendanceServiceListAttendClassRecordsParam$Query$QueryBuilder.class
 com\template\mapper\SmartAuthorGroupMapper.class
+com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsResult$Data.class
 com\template\services\impl\RepairAdminServiceImpl.class
+com\template\config\ControlConfig.class
+com\template\model\seewo\HomeSchoolServiceSendNoteToKidResult.class
+com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsResult.class
+com\template\model\seewo\StudentLeaveStudentLeaveRequestHandlerResult.class
+com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsParam$ParentsItem.class
 com\template\services\SmsCodeService.class
-com\template\model\pojo\AttendanceRuleListSchoolAttendRuleParam.class
 com\template\services\SmartAttendanceService.class
 com\template\mapper\SmartScoreManageMapper.class
 com\template\model\pojo\SmartDataTask.class
 com\template\common\utils\JWTUtil.class
 com\template\model\enumModel\eLogOff.class
 com\template\services\impl\SmartWarningServiceImpl.class
+com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsParam$RequestBody.class
 com\template\common\exception\EmsException.class
 com\template\controller\ExcelController.class
 com\template\controller\ScheduleController.class
-com\template\model\pojo\AttendanceRuleListSchoolAttendRuleRequest.class
+com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsParam$RequestBody$RequestBodyBuilder.class
+com\template\model\seewo\OrgClassOpenSeewoUcOpenV1ClassFullResult.class
 com\template\services\SmartDataSourceLogService.class
 com\template\api\SmsCodeControllerAPI.class
 com\template\controller\SmartBuildController.class
 com\template\model\weixin\userAuthor.class
 com\template\model\tongji\DayMeterDetail.class
+com\template\model\seewo\OrgClassOpenSeewoUcOpenV1ClassFullRequest.class
 com\template\model\weixin\HttpParame.class
 com\template\model\pojo\UnitTimeHelpModel.class
 com\template\api\UploadControllerAPI.class
 com\template\controller\SmartMeterDetailController.class
 com\template\model\vo\UserVo.class
-com\template\model\pojo\AttendanceServiceListAttendClassRecordsResult$Data.class
+com\template\model\seewo\ClassServiceBatchSaveClassRequest.class
 com\template\model\vo\ClassSettingDateVo.class
-com\template\model\pojo\HomeSchoolServiceSendNoteToKidParam$HomeSchoolServiceSendNoteToKidParamBuilder.class
 com\template\config\CosConfig.class
 com\template\model\pojo\SmartApply.class
 com\template\model\enumModel\eSexStatu.class
+com\template\model\seewo\ClassServiceBatchSaveClassParam$ClassSaveQuery.class
 com\template\services\SmartDepartmentService.class
 com\template\api\SmartSchoolControllerAPI.class
+com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsResult$ResponseBody.class
+com\template\model\vo\GradeListVo.class
 com\template\model\vo\VisitorPageVo.class
 com\template\model\pojo\SmartMeter.class
+com\template\model\seewo\HomeSchoolServiceSendNoteToKidParam$Query$QueryBuilder.class
+com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsParam$Query.class
 com\template\services\impl\SmartDataSourceServiceImpl.class
 com\template\core\JwtAuthenticationInterceptor.class
 com\template\mapper\SmartMeterMapper.class
+com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsParam$StudentParentsItem.class
 com\template\model\tongji\Tj.class
 com\template\controller\SmartScreenshotController.class
+com\template\model\seewo\ClassServiceBatchSaveClassResult$JSONResponseBody.class
 com\template\model\vo\SystemMenuTreeVo.class
 com\template\model\enumModel\eIdentityStatu.class
 com\template\controller\SmartDataTaskController.class
@@ -335,30 +380,41 @@ com\template\model\result\BaseResult.class
 com\template\services\SmartBuildMeterService.class
 com\template\model\weixin\Result.class
 com\template\core\CORSConfiguration.class
+com\template\model\seewo\AttendanceServiceListAttendClassRecordsParam.class
 com\template\api\LogInfoControllerAPI.class
+com\template\model\vo\BsClassNoVo.class
 com\template\services\SmartMeterService.class
+com\template\model\seewo\HomeSchoolServiceSendNoteToKidRequest.class
 com\template\services\SmartApplyService.class
 com\template\controller\SmartScreenshotRecordController.class
 com\template\common\utils\HttpUtils.class
 com\template\model\tongji\DAll.class
+com\template\model\seewo\AttendanceRuleListSchoolAttendRuleResult$Data.class
 com\template\common\utils\AesUtils.class
 com\template\mapper\SmartEvaluateTeacherMapper.class
+com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsParam$Query.class
 com\template\common\result\ResponseStatusEnum.class
-com\template\model\pojo\AttendanceServiceListAttendClassRecordsParam$Query.class
+com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsParam$ParentServiceBatchSaveOrUpdateParentsParamBuilder.class
+com\template\model\seewo\ClassServiceBatchSaveClassParam$ClassServiceBatchSaveClassParamBuilder.class
+com\template\model\seewo\ClassServiceBatchSaveClassResult$ClassInfoDto.class
 com\template\model\pojo\SmartBuildMeter.class
 com\template\common\utils\AesUtil.class
 com\template\api\SmartGradeControllerAPI.class
 com\template\common\utils\UUIDUtil.class
 com\template\mapper\SystemMenuMapper.class
 com\template\model\enumModel\eFileType.class
+com\template\model\request\useridsRequest.class
 com\template\model\request\updateRepairAdminRequest.class
 com\template\api\SmartBuildControllerAPI.class
+com\template\model\seewo\AttendanceRuleListSchoolAttendRuleParam$RequestBody$RequestBodyBuilder.class
 com\template\api\RepairAdminControllerAPI.class
 com\template\mapper\SmartMeterDetailMapper.class
+com\template\model\seewo\ClassServiceBatchSaveClassParam$ClassInfo$ClassInfoBuilder.class
 com\template\model\vo\DepartmentTreeVo.class
 com\template\model\pojo\SmartDataClass.class
 com\template\services\impl\SmartDataSourceLogServiceImpl.class
 com\template\core\SwaggerConfiguration.class
 com\template\services\SystemUserService.class
 com\template\common\utils\RSAUtils.class
+com\template\model\seewo\HomeSchoolServiceSendNoteToKidParam$HomeSchoolServiceSendNoteToKidParamBuilder.class
 com\template\services\impl\SmartFreezeRecordServiceImpl.class

+ 34 - 12
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -1,31 +1,39 @@
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsResult.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartScreenshotRecordControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\handle\NonStaticResourceHttpRequestHandler.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\UploadController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartScreenshot.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartMeterServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartDataClass.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartVisitorService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartDataSourceLogControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\config\ControlConfig.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\exception\MyCustomException.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\ExcelController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartEvaluateTdetailMapper.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\AttendanceRuleListSchoolAttendRuleParam.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\ClassServiceBatchSaveClassResult.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\StudentLeaveStudentLeaveRequestHandlerResult.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\GradeVo.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\AttendanceServiceListAttendClassRecordsRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartAuthority.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eVisitorType.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDataSourceController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\OrgClassOpenSeewoUcOpenV1ClassFullParam.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\ScreenshotRecordPageVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\AutoCode.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\ExcelControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDataTaskController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\StudentLeaveStudentLeaveRequestHandlerRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\weixin\AuthorListGroup.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartUploadServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartGrade.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartAuthorityControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsParam.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartIdentityService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartBuildMeterControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\ClassServiceBatchSaveClassParam.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SystemMenu.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\OrgClassOpenSeewoUcOpenV1ClassFullResult.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SystemUser.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartScreenshotRecordMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartWarningController.java
@@ -47,19 +55,19 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartBuildMeterMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\HttpClientUtils.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SystemMenuMapper.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\HomeSchoolServiceSendNoteToKidResult.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\WechatScanLoginService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\parentsAppointmentRequest.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\AttendanceServiceListAttendClassRecordsRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartDataSourceLogServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\RequestUtils.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\TimeExchange.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\HomeSchoolServiceSendNoteToKidParam.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SystemRole.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\tongji\DayMeterDetail.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartBuildMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartMeterDetailServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\constanst\Constanst.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartDataSourceControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\ClassServiceBatchSaveClassRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartMeterService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\updateScoreRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartDataSourceMapper.java
@@ -81,8 +89,8 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\AesUtils.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\paramUtils.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\LogInfoController.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\AttendanceServiceListAttendClassRecordsResult.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartDepartmentService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\BsGradeVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\insertScreenshotRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\WechatScanLoginMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartWarningControllerAPI.java
@@ -92,7 +100,6 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartApply.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SystemMenuControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartAttendanceController.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\OrgClassOpenSeewoUcOpenV1ClassFullParam.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\UserVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SystemMenuServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\PropertiesUtil.java
@@ -115,7 +122,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartDepartmentMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\tongji\DAll.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDataSourceLogController.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\OrgClassOpenSeewoUcOpenV1ClassFullResult.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\AttendanceRuleListSchoolAttendRuleParam.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartApplyControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\DBUtil.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eIsSuper.java
@@ -125,18 +132,20 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartUploadService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\config\MySecurity.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eFreezeRecord.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\AesTestOne.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\JWTUtil.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\RepairAdminController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\HomeSchoolServiceSendNoteToKidResult.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\SystemMenuTreeVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\insertScoreRequest.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\AttendanceRuleListSchoolAttendRuleRequest.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\StudentLeaveStudentLeaveRequestHandlerParam.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\RSAUtils.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\HomeSchoolServiceSendNoteToKidParam.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\config\ScheduleConfig.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartScreenshotService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartAuthorityController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartSchoolMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartDataClassServiceImpl.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\HomeSchoolServiceSendNoteToKidRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\RepairAdmin.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\ClassSettingDateVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartScreenshotServiceImpl.java
@@ -153,6 +162,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\RepairAdminServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartClassControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartVisitorControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\AttendanceRuleListSchoolAttendRuleRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartClassController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\annotation\UserLoginCheck.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\LogInfoControllerAPI.java
@@ -166,21 +176,23 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\ePunish.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartBuildServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartDataTaskService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\BsGradeNoVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartBuildMeterServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\exception\EmsException.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartDataSourceService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\CommonUtil.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartBuildMeter.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartBuildService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\insertSmartClassRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartAuthorityService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartFreezeRecordMapper.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\AttendanceServiceListAttendClassRecordsParam.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartAuthorGroup.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartDataClassControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartScore.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\result\BaseResult.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartBuildMeterController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\changePasswordRequest.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\HomeSchoolServiceSendNoteToKidRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartApplyServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartMeterDetailControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartAuthorityServiceImpl.java
@@ -188,12 +200,12 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartDataSourceJobParams.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\FileUtils.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\weixin\HttpParame.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\AttendanceRuleListSchoolAttendRuleResult.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\core\JwtlnterceptorConfig.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\queryAccountPageRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartWarningService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\otherAppointmentRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\Task.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsParam.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\tongji\All.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\RandomTrackAlgorithm.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\config\SeewoConfig.java
@@ -208,6 +220,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmsCodeMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\AesUtil.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartMeter.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartVisitorMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartDataTaskMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartDataSourceLogService.java
@@ -222,7 +235,6 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\ApplyVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\exception\EmsExceptionHandler.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\config\MyBatisPlusConfig.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\OrgClassOpenSeewoUcOpenV1ClassFullRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\aop\LoginCheckAspect.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartWarningServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\RepairAdminControllerAPI.java
@@ -238,6 +250,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\core\JwtAuthenticationInterceptor.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eApproveStatu.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\changeDepartmentRequest.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\useridsRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\LoginControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\DataBliu.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\UpdateSmartSchoolRequest.java
@@ -252,14 +265,18 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\WechatScanLoginControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartSchoolService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartGradeMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\BsClassVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\DepartmentVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\SmartFreezeRecordPageVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartDataClassService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartMeterMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\GradeListVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartBuildControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\AttendanceServiceListAttendClassRecordsParam.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartFreezeRecordServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartMeterDetailController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\manualFreezingRequest.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\AttendanceRuleListSchoolAttendRuleResult.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartDataClassMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartSchoolControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\SemesterVo.java
@@ -280,6 +297,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eExamineStatu.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\weixin\Result.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartScoreController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\BsClassNoVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SystemUserServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartFreezeRecordController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\evaluate\SmartEvaluateTdetail.java
@@ -292,6 +310,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartAuthorGroupMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\SendSms.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eSexStatu.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\AttendanceServiceListAttendClassRecordsResult.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\weixin\WechatUserUnionID.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartAuthorGroupService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartAuthorGroupControllerAPI.java
@@ -307,6 +326,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\core\CORSConfiguration.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartUserController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartDataSourceServiceImpl.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\OrgClassOpenSeewoUcOpenV1ClassFullRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartDataSourceLogMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartDataTaskServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\TreeRecordsUtil.java
@@ -314,6 +334,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\weixin\AccessToken.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartUser.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\evaluate\SmartScoreManage.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\insertSmartGradeRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartClassServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartAttendanceServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartMeterDetail.java
@@ -321,6 +342,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartGradeController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\result\ResponseStatusEnum.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartFreezeRecord.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsResult.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eExamType.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDepartmentController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartWarning.java

BIN
target/mybatis_plus-0.0.1-SNAPSHOT.jar.original