Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

soft5566 2 лет назад
Родитель
Сommit
8a3b76df21
25 измененных файлов с 670 добавлено и 351 удалено
  1. 318 280
      .idea/workspace.xml
  2. 3 0
      src/main/java/com/template/api/SmartClassControllerAPI.java
  3. 11 0
      src/main/java/com/template/api/SmartVisitorControllerAPI.java
  4. 9 9
      src/main/java/com/template/common/utils/AesTestOne.java
  5. 5 0
      src/main/java/com/template/config/ControlConfig.java
  6. 5 0
      src/main/java/com/template/config/ParkConfig.java
  7. 108 8
      src/main/java/com/template/controller/SmartClassController.java
  8. 6 6
      src/main/java/com/template/controller/SmartDepartmentController.java
  9. 6 7
      src/main/java/com/template/controller/SmartGradeController.java
  10. 11 11
      src/main/java/com/template/controller/SmartUserController.java
  11. 69 11
      src/main/java/com/template/controller/SmartVisitorController.java
  12. 5 0
      src/main/java/com/template/mapper/SmartAuthorGroupMapper.java
  13. 4 0
      src/main/java/com/template/mapper/SmartVisitorMapper.java
  14. 4 0
      src/main/java/com/template/model/pojo/SmartAuthorGroup.java
  15. 4 2
      src/main/java/com/template/services/SmartAuthorGroupService.java
  16. 2 0
      src/main/java/com/template/services/SmartUserService.java
  17. 2 0
      src/main/java/com/template/services/SmartVisitorService.java
  18. 6 4
      src/main/java/com/template/services/impl/SmartAuthorGroupServiceImpl.java
  19. 11 0
      src/main/java/com/template/services/impl/SmartUserServiceImpl.java
  20. 9 0
      src/main/java/com/template/services/impl/SmartVisitorServiceImpl.java
  21. 8 6
      src/main/resources/application-dev.yml
  22. 14 1
      src/main/resources/mapper/template/SmartAuthorGroupMapper.xml
  23. 42 0
      src/main/resources/mapper/template/SmartVisitorMapper.xml
  24. 8 6
      target/classes/application-dev.yml
  25. BIN
      target/mybatis_plus-0.0.1-SNAPSHOT.jar.original

+ 318 - 280
.idea/workspace.xml

@@ -2,24 +2,29 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="9931dd54-c6ba-4f79-99b0-d746475b8903" name="Default Changelist" comment="">
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eDuties.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/seewo/TeacherServiceBatchSetClassMastersParam.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/seewo/TeacherServiceBatchSetClassMastersRequest.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/seewo/TeacherServiceBatchSetClassMastersResult.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartDutiesControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartDutiesControllerAPI.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/ScheduleController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/ScheduleController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDutiesController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDutiesController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartClassControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartClassControllerAPI.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartVisitorControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartVisitorControllerAPI.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/AesTestOne.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/AesTestOne.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/config/ControlConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/config/ControlConfig.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/config/ParkConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/config/ParkConfig.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartClassController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartClassController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartGradeController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartGradeController.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartUser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartUser.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/request/insertDutiesRequest.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/request/insertDutiesRequest.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/request/insertSmartUserRequest.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/request/insertSmartUserRequest.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/request/updateSmartUserRequest.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/request/updateSmartUserRequest.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SmartAttendanceService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartAttendanceService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartAttendanceServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartAttendanceServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDutiesServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDutiesServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartMenuServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartMenuServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" beforeDir="false" afterPath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst" beforeDir="false" afterPath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartAuthorGroupMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartAuthorGroupMapper.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartVisitorMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartVisitorMapper.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartAuthorGroup.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartAuthorGroup.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SmartAuthorGroupService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartAuthorGroupService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SmartUserService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartUserService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SmartVisitorService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartVisitorService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartAuthorGroupServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartAuthorGroupServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUserServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUserServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartVisitorServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartVisitorServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/application-dev.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application-dev.yml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/SmartAuthorGroupMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/SmartAuthorGroupMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/SmartVisitorMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/SmartVisitorMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/application-dev.yml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/application-dev.yml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" beforeDir="false" afterPath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/classes/" />
@@ -47,50 +52,80 @@
   <component name="DefaultGradleProjectSettings">
     <option name="isMigrated" value="true" />
   </component>
+  <component name="DockManager">
+    <window id="2">
+      <content type="file-editors">
+        <state>
+          <leaf>
+            <file pinned="false" current-in-tab="true">
+              <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartVisitor.java">
+                <provider selected="true" editor-type-id="text-editor">
+                  <state relative-caret-position="459">
+                    <caret line="95" column="31" selection-start-line="95" selection-start-column="20" selection-end-line="95" selection-end-column="31" />
+                  </state>
+                </provider>
+              </entry>
+            </file>
+          </leaf>
+        </state>
+      </content>
+    </window>
+  </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
       <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="437">
-              <caret line="1014" column="47" selection-start-line="1014" selection-start-column="47" selection-end-line="1014" selection-end-column="47" />
+            <state relative-caret-position="157">
+              <caret line="377" column="7" lean-forward="true" selection-start-line="377" selection-start-column="7" selection-end-line="377" selection-end-column="7" />
               <folding>
-                <element signature="method#importZipUsers#0;class#SmartUserController#0" />
-                <element signature="method#readXlsx#0;class#SmartUserController#0" />
-                <element signature="method#readXls#0;class#SmartUserController#0" />
-                <element signature="e#40907#40976#1" />
-                <element signature="e#41209#41230#0" />
-                <element signature="e#44284#44301#0" />
-                <element signature="e#46751#46768#0" />
-                <element signature="e#51465#51482#0" />
+                <element signature="imports" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/insertSmartUserRequest.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartVisitorMapper.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="414">
+              <caret line="25" column="180" selection-start-line="25" selection-start-column="87" selection-end-line="25" selection-end-column="180" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartVisitorService.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="424">
-              <caret line="110" column="24" selection-start-line="110" selection-start-column="19" selection-end-line="110" selection-end-column="24" />
+            <state relative-caret-position="667">
+              <caret line="36" column="4" lean-forward="true" selection-start-line="36" selection-start-column="4" selection-end-line="36" selection-end-column="27" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartGradeController.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartVisitorServiceImpl.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="410">
-              <caret line="53" column="59" lean-forward="true" selection-start-line="53" selection-start-column="59" selection-end-line="53" selection-end-column="59" />
+            <state relative-caret-position="617">
+              <caret line="87" column="56" selection-start-line="87" selection-start-column="35" selection-end-line="87" selection-end-column="56" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/updateSmartGradeRequest.java">
+        <entry file="file://$PROJECT_DIR$/src/main/resources/mapper/template/SmartVisitorMapper.xml">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="686">
-              <caret line="33" column="34" lean-forward="true" selection-start-line="33" selection-start-column="34" selection-end-line="33" selection-end-column="34" />
+            <state relative-caret-position="562">
+              <caret line="84" column="47" selection-start-line="84" selection-start-column="40" selection-end-line="84" selection-end-column="47" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartVisitorControllerAPI.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="664">
+              <caret line="88" column="141" selection-start-line="88" selection-start-column="141" selection-end-line="88" selection-end-column="141" />
             </state>
           </provider>
         </entry>
@@ -106,20 +141,6 @@
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>getSmartUserByIds</find>
-      <find>queryAffiliateUserById</find>
-      <find>querySmartUserPages</find>
-      <find>.collect(</find>
-      <find>querySmartClasss</find>
-      <find>getY</find>
-      <find>updateSmartUserById</find>
-      <find>@NotBlank</find>
-      <find>has</find>
-      <find>.isE</find>
-      <find>insertSmartGradeToBaisheng</find>
-      <find>queryPageSmartUser</find>
-      <find>querySmartSecordPage</find>
-      <find>getGradeUid</find>
       <find>insertSmartClassToBaisheng</find>
       <find>getSmartClasss</find>
       <find>insert</find>
@@ -136,6 +157,20 @@
       <find>students</find>
       <find>attendance</find>
       <find>getEndOfDay</find>
+      <find>otherAppointment</find>
+      <find>openapi.szymzh.com/Api</find>
+      <find>importSmartScoreExcel</find>
+      <find>已预约</find>
+      <find>querySmartGradeByBaisheng</find>
+      <find>触发惩罚不能为空</find>
+      <find>http://schoolopenapi.szymzh.com/openapi/</find>
+      <find>parentsAppointment</find>
+      <find>objectMapper</find>
+      <find>smartVisitorPageByUserId</find>
+      <find>queryVisitorPage</find>
+      <find>examineRecord</find>
+      <find>appointmentPageRecord</find>
+      <find>foreach</find>
     </findStrings>
     <replaceStrings>
       <replace>班级</replace>
@@ -158,31 +193,10 @@
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartUserService.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/BsStaffVo.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/BsStaffNoVo.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/BsDepartmentVo.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/BsDepartmentNoVo.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartDepartment.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java" />
-        <option value="$PROJECT_DIR$/src/main/resources/mapper/template/SmartUserMapper.xml" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/UserVo.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/seewo/StudentServiceUpdateStudentInfoParam.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/request/insertSmartGradeRequest.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/seewo/OrganizationNodeServiceInitSchoolClassesParam.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/seewo/AttendanceRuleListEventByClazzParam.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartAttendance.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/request/updateSmartGradeRequest.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartGradeControllerAPI.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartGradeService.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartGradeServiceImpl.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/model/request/updateClassRequest.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartGradeController.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartClassController.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartClassServiceImpl.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartClassService.java" />
         <option value="$PROJECT_DIR$/src/main/resources/mapper/template/SmartMenuMapper.xml" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartClassControllerAPI.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/model/request/updateMenuRequest.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/model/request/insertMenuRequest.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartMenuMapper.java" />
@@ -208,7 +222,28 @@
         <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartAttendanceServiceImpl.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/ScheduleController.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/model/request/insertSmartUserRequest.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartClassControllerAPI.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/config/ParkConfig.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/config/ControlConfig.java" />
+        <option value="$PROJECT_DIR$/src/main/resources/application-dev.yml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/AesTestOne.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartGradeController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartClassController.java" />
+        <option value="$PROJECT_DIR$/src/main/resources/mapper/template/SmartAuthorGroupMapper.xml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartAuthorGroup.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartAuthorGroupMapper.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartAuthorGroupServiceImpl.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartAuthorGroupService.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartUserService.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUserServiceImpl.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartVisitorControllerAPI.java" />
+        <option value="$PROJECT_DIR$/src/main/resources/mapper/template/SmartVisitorMapper.xml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartVisitorMapper.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartVisitorService.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartVisitorServiceImpl.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java" />
       </list>
     </option>
   </component>
@@ -240,7 +275,7 @@
   <component name="MavenRunner">
     <option name="skipTests" value="true" />
   </component>
-  <component name="ProjectFrameBounds" extendedState="6">
+  <component name="ProjectFrameBounds">
     <option name="x" value="-7" />
     <option name="width" value="974" />
     <option name="height" value="1039" />
@@ -299,6 +334,15 @@
               <item name="main" type="462c0819:PsiDirectoryNode" />
               <item name="java" type="462c0819:PsiDirectoryNode" />
               <item name="template" type="462c0819:PsiDirectoryNode" />
+              <item name="config" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
+              <item name="backend_code" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="template" type="462c0819:PsiDirectoryNode" />
               <item name="controller" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
@@ -326,6 +370,26 @@
               <item name="main" type="462c0819:PsiDirectoryNode" />
               <item name="java" type="462c0819:PsiDirectoryNode" />
               <item name="template" type="462c0819:PsiDirectoryNode" />
+              <item name="model" type="462c0819:PsiDirectoryNode" />
+              <item name="enumModel" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
+              <item name="backend_code" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="template" type="462c0819:PsiDirectoryNode" />
+              <item name="model" type="462c0819:PsiDirectoryNode" />
+              <item name="pojo" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
+              <item name="backend_code" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="template" type="462c0819:PsiDirectoryNode" />
               <item name="services" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
@@ -353,10 +417,6 @@
               <item name="resources" type="462c0819:PsiDirectoryNode" />
               <item name="template" type="462c0819:PsiDirectoryNode" />
             </path>
-            <path>
-              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
-              <item name="Scratches and Consoles" type="1a2a3e82:ScratchProjectViewPane$MyProjectNode" />
-            </path>
           </expand>
           <select />
         </subPane>
@@ -500,15 +560,15 @@
       <workItem from="1704766062941" duration="43011000" />
       <workItem from="1704936821369" duration="29299000" />
       <workItem from="1705280443643" duration="25331000" />
-      <workItem from="1705388695984" duration="15858000" />
+      <workItem from="1705388695984" duration="38689000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="368533000" />
+    <option name="totallyTimeSpent" value="391364000" />
   </component>
   <component name="ToolWindowManager">
-    <frame x="-8" y="-8" width="1936" height="1048" extended-state="6" />
+    <frame x="-7" y="0" width="974" height="1039" extended-state="0" />
     <editor active="true" />
     <layout>
       <window_info id="JRebel" order="0" side_tool="true" />
@@ -519,11 +579,11 @@
       <window_info id="Designer" order="5" />
       <window_info id="Web" order="6" side_tool="true" />
       <window_info id="Structure" order="7" side_tool="true" weight="0.25" />
-      <window_info content_ui="combo" id="Project" order="8" weight="0.22428884" />
+      <window_info content_ui="combo" id="Project" order="8" weight="0.18070363" />
       <window_info anchor="bottom" id="Message" order="0" />
       <window_info anchor="bottom" id="Find" order="1" />
-      <window_info anchor="bottom" id="Run" order="2" weight="0.31491712" />
-      <window_info anchor="bottom" id="Debug" order="3" weight="0.7325967" />
+      <window_info anchor="bottom" id="Run" order="2" weight="0.3129103" />
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.15645514" />
       <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
       <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
       <window_info anchor="bottom" id="TODO" order="6" />
@@ -531,16 +591,16 @@
       <window_info anchor="bottom" id="Terminal" order="8" />
       <window_info anchor="bottom" id="Docker" order="9" />
       <window_info anchor="bottom" id="Event Log" order="10" side_tool="true" />
-      <window_info anchor="bottom" id="Messages" order="11" weight="0.2986871" />
+      <window_info anchor="bottom" id="Messages" order="11" weight="0.4201313" />
       <window_info anchor="bottom" id="Java Enterprise" order="12" />
       <window_info anchor="bottom" id="Database Changes" order="13" />
       <window_info anchor="bottom" id="Version Control" order="14" />
       <window_info anchor="bottom" id="JRebel Executor" order="15" />
       <window_info anchor="bottom" id="JRebel Console" order="16" side_tool="true" />
-      <window_info anchor="right" id="Maven" order="0" weight="0.7560175" />
+      <window_info anchor="right" id="Maven" order="0" weight="0.6892324" />
       <window_info anchor="right" id="Palette" order="1" />
       <window_info anchor="right" id="Capture Analysis" order="2" />
-      <window_info anchor="right" id="Database" order="3" weight="0.32995737" />
+      <window_info anchor="right" id="Database" order="3" weight="0.32962137" />
       <window_info anchor="right" id="Palette&#9;" order="4" />
       <window_info anchor="right" id="Theme Preview" order="5" />
       <window_info anchor="right" id="JRebel Setup Guide" order="6" side_tool="true" />
@@ -609,12 +669,6 @@
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartScoreController.java</url>
-          <line>315</line>
-          <properties />
-          <option name="timeStamp" value="75" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartScoreController.java</url>
           <line>487</line>
           <properties />
           <option name="timeStamp" value="76" />
@@ -625,6 +679,24 @@
           <properties />
           <option name="timeStamp" value="91" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartGradeController.java</url>
+          <line>139</line>
+          <properties />
+          <option name="timeStamp" value="98" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/common/utils/AesTestOne.java</url>
+          <line>52</line>
+          <properties />
+          <option name="timeStamp" value="99" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/common/utils/AesTestOne.java</url>
+          <line>71</line>
+          <properties />
+          <option name="timeStamp" value="100" />
+        </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
   </component>
@@ -633,388 +705,354 @@
     <option name="FILTER_TARGETS" value="false" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/src/main/resources/application-dev.yml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="476">
-          <caret line="68" column="14" lean-forward="true" selection-start-line="68" selection-start-column="14" selection-end-line="68" selection-end-column="14" />
-        </state>
-      </provider>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/application-prod.yml">
+      <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/mapper/template/SmartIdentityMapper.xml">
+    <entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartClassControllerAPI.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartScoreController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="387">
-          <caret line="37" lean-forward="true" selection-start-line="37" selection-end-line="37" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state relative-caret-position="-839">
+          <caret line="321" column="31" selection-start-line="321" selection-start-column="25" selection-end-line="321" selection-end-column="31" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/updateMenuRequest.java">
+    <entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.3.1/spring-core-5.3.1.jar!/org/springframework/cglib/proxy/MethodProxy.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="253">
-          <caret line="14" column="30" selection-start-line="14" selection-start-column="13" selection-end-line="14" selection-end-column="30" />
+        <state relative-caret-position="295">
+          <caret line="103" selection-start-line="103" selection-end-line="103" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/mapper/template/SmartMenuMapper.xml">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartMenu.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartGradeServiceImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="157">
-          <caret line="28" column="13" selection-start-line="28" selection-start-column="13" selection-end-line="28" selection-end-column="13" />
+        <state relative-caret-position="315">
+          <caret line="69" column="53" selection-start-line="69" selection-start-column="44" selection-end-line="69" selection-end-column="53" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartSchoolService.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/insertSmartClassRequest.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="529">
-          <caret line="26" column="33" lean-forward="true" selection-start-line="16" selection-start-column="4" selection-end-line="26" selection-end-column="33" />
+        <state relative-caret-position="263">
+          <caret line="16" column="13" selection-start-line="16" selection-start-column="13" selection-end-line="16" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartIdentityMapper.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartClassControllerAPI.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="276">
-          <caret line="14" selection-start-line="14" selection-end-line="14" selection-end-column="11" />
+        <state relative-caret-position="70">
+          <caret line="48" column="61" selection-start-line="48" selection-start-column="61" selection-end-line="48" selection-end-column="61" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartMenuMapper.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/config/ParkConfig.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="276">
-          <caret line="14" column="11" selection-start-line="14" selection-start-column="11" selection-end-line="14" selection-end-column="11" />
+        <state relative-caret-position="621">
+          <caret line="29" column="19" selection-start-line="29" selection-start-column="19" selection-end-line="29" selection-end-column="19" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartSchoolServiceImpl.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/insertScreenshotRequest.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="654">
-          <caret line="71" column="59" lean-forward="true" selection-start-line="66" selection-start-column="8" selection-end-line="71" selection-end-column="59" />
+          <caret line="34" column="24" selection-start-line="34" selection-start-column="24" selection-end-line="34" selection-end-column="24" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartSchoolController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/config/ControlConfig.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="203">
-          <caret line="99" column="13" lean-forward="true" selection-start-line="99" selection-start-column="13" selection-end-line="99" selection-end-column="13" />
+        <state relative-caret-position="621">
+          <caret line="29" column="19" selection-start-line="29" selection-start-column="19" selection-end-line="29" selection-end-column="19" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/insertMenuRequest.java">
+    <entry file="jar://C:/Program Files/Java/jdk1.8.0_181/src.zip!/java/net/URLEncoder.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="253">
-          <caret line="14" column="13" selection-start-line="14" selection-start-column="13" selection-end-line="14" selection-end-column="13" />
+        <state relative-caret-position="295">
+          <caret line="199" column="25" selection-start-line="199" selection-start-column="25" selection-end-line="199" selection-end-column="25" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartMenuControllerAPI.java">
+    <entry file="file://$PROJECT_DIR$/src/main/resources/application-dev.yml">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="369">
-          <caret line="25" selection-start-line="25" selection-end-line="25" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state relative-caret-position="332">
+          <caret line="71" column="45" lean-forward="true" selection-start-line="71" selection-start-column="45" selection-end-line="71" selection-end-column="45" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/AutoCode.java">
+    <entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-web/5.3.22/spring-web-5.3.22-sources.jar!/org/springframework/web/method/support/InvocableHandlerMethod.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="433">
-          <caret line="72" column="35" lean-forward="true" selection-start-line="72" selection-start-column="35" selection-end-line="72" selection-end-column="35" />
+        <state relative-caret-position="201">
+          <caret line="211" selection-start-line="211" selection-end-line="211" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartDepartmentMapper.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/AesTestOne.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="276">
-          <caret line="14" selection-start-line="14" selection-end-line="14" selection-end-column="11" />
+        <state relative-caret-position="511">
+          <caret line="82" column="28" selection-start-line="82" selection-start-column="28" selection-end-line="82" selection-end-column="28" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartDutiesMapper.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="276">
-          <caret line="14" column="11" selection-start-line="14" selection-start-column="11" selection-end-line="14" selection-end-column="11" />
+        <state relative-caret-position="197">
+          <caret line="173" column="117" selection-start-line="173" selection-start-column="117" selection-end-line="173" selection-end-column="117" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartDuties.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartClassController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="295">
-          <caret line="28" column="13" selection-start-line="28" selection-start-column="13" selection-end-line="28" selection-end-column="13" />
+        <state relative-caret-position="412">
+          <caret line="289" column="62" selection-start-line="289" selection-start-column="62" selection-end-line="289" selection-end-column="62" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartDepartmentService.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartGradeController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="276">
-          <caret line="17" column="17" selection-start-line="17" selection-start-column="17" selection-end-line="17" selection-end-column="17" />
+        <state relative-caret-position="1242">
+          <caret line="82" column="94" selection-start-line="82" selection-start-column="94" selection-end-line="82" selection-end-column="94" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartMenuService.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="621">
-          <caret line="27" column="62" lean-forward="true" selection-start-line="15" selection-start-column="4" selection-end-line="27" selection-end-column="62" />
+        <state relative-caret-position="159">
+          <caret line="1410" column="109" selection-start-line="1410" selection-start-column="109" selection-end-line="1410" selection-end-column="109" />
           <folding>
-            <element signature="imports" expanded="true" />
+            <element signature="method#importZipUsers#0;class#SmartUserController#0" />
+            <element signature="method#readXlsx#0;class#SmartUserController#0" />
+            <element signature="method#readXls#0;class#SmartUserController#0" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/BsClassVo.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartGradeControllerAPI.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="253">
-          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
+        <state relative-caret-position="276">
+          <caret line="20" column="17" selection-start-line="20" selection-start-column="17" selection-end-line="20" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/BsClassNoVo.java">
+    <entry file="file://$PROJECT_DIR$/src/main/resources/mapper/template/SmartMenuMapper.xml">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/mapper/template/SmartGradeMapper.xml">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/mapper/template/SmartScoreMapper.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="253">
-          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
+        <state relative-caret-position="437">
+          <caret line="22" column="47" lean-forward="true" selection-start-line="22" selection-start-column="7" selection-end-line="22" selection-end-column="47" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/GradeVo.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartAuthorGroup.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="253">
-          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
+        <state relative-caret-position="414">
+          <caret line="48" column="35" selection-start-line="48" selection-start-column="35" selection-end-line="48" selection-end-column="35" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/GradeListVo.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartAuthorityMapper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="253">
-          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
+        <state relative-caret-position="299">
+          <caret line="15" column="17" selection-start-line="15" selection-start-column="17" selection-end-line="15" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/DutiesListVo.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartBuildMeterMapper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="253">
-          <caret line="11" column="25" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="25" />
+        <state relative-caret-position="299">
+          <caret line="15" column="17" selection-start-line="15" selection-start-column="17" selection-end-line="15" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eExamType.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartBuildMapper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state>
-          <caret line="9" column="12" selection-start-line="9" selection-start-column="12" selection-end-line="9" selection-end-column="12" />
+        <state relative-caret-position="299">
+          <caret line="15" column="17" selection-start-line="15" selection-start-column="17" selection-end-line="15" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartMenuController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartMenuMapper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="516">
-          <caret line="70" column="66" selection-start-line="70" selection-start-column="30" selection-end-line="70" selection-end-column="66" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state relative-caret-position="299">
+          <caret line="15" column="17" selection-start-line="15" selection-start-column="17" selection-end-line="15" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/insertDutiesRequest.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartSchoolMapper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="391">
-          <caret line="20" lean-forward="true" selection-start-line="20" selection-end-line="20" />
+        <state relative-caret-position="299">
+          <caret line="15" column="17" selection-start-line="15" selection-start-column="17" selection-end-line="15" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDutiesServiceImpl.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartScoreMapper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="355">
-          <caret line="77" column="64" selection-start-line="77" selection-start-column="64" selection-end-line="77" selection-end-column="64" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state relative-caret-position="299">
+          <caret line="20" column="17" selection-start-line="20" selection-start-column="17" selection-end-line="20" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartMenuServiceImpl.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartUserMapper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1161">
-          <caret line="65" selection-start-line="65" selection-end-line="65" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state relative-caret-position="414">
+          <caret line="27" column="87" lean-forward="true" selection-start-line="27" selection-start-column="36" selection-end-line="27" selection-end-column="87" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/updateDutiesRequest.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartScreenshotRecordMapper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="185">
-          <caret line="14" column="13" selection-start-line="14" selection-start-column="13" selection-end-line="14" selection-end-column="13" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state relative-caret-position="299">
+          <caret line="18" column="17" selection-start-line="18" selection-start-column="17" selection-end-line="18" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartUserControllerAPI.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartGradeMapper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="345">
-          <caret line="61" column="71" selection-start-line="61" selection-start-column="71" selection-end-line="61" selection-end-column="71" />
+        <state relative-caret-position="299">
+          <caret line="15" column="17" selection-start-line="15" selection-start-column="17" selection-end-line="15" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eIdentityStatu.java">
+    <entry file="file://$PROJECT_DIR$/src/main/resources/mapper/template/SmartAuthorGroupMapper.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="287">
-          <caret line="19" column="15" selection-start-line="19" selection-start-column="15" selection-end-line="19" selection-end-column="15" />
-          <folding>
-            <element signature="e#362#363#0" expanded="true" />
-            <element signature="e#390#391#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="299">
+          <caret line="13" column="43" selection-start-line="13" selection-start-column="37" selection-end-line="13" selection-end-column="43" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartDutiesService.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartAuthorGroupMapper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="701">
-          <caret line="31" column="21" selection-start-line="31" selection-start-column="4" selection-end-line="31" selection-end-column="21" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state relative-caret-position="345">
+          <caret line="20" column="43" selection-start-line="20" selection-start-column="27" selection-end-line="20" selection-end-column="43" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/updateSmartUserRequest.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartAttendanceService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="88">
-          <caret line="155" column="19" selection-start-line="155" selection-start-column="19" selection-end-line="155" selection-end-column="19" />
+        <state relative-caret-position="299">
+          <caret line="16" column="26" selection-start-line="16" selection-start-column="26" selection-end-line="16" selection-end-column="26" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartDutiesControllerAPI.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartAuthorGroupService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="608">
-          <caret line="45" column="47" selection-start-line="45" selection-start-column="26" selection-end-line="45" selection-end-column="47" />
+        <state relative-caret-position="621">
+          <caret line="33" column="4" selection-start-line="33" selection-start-column="4" selection-end-line="33" selection-end-column="9" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/TeacherServiceBatchSetClassMastersParam.java">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartUser.java">
+    <entry file="jar://C:/Program Files/Java/jdk1.8.0_181/src.zip!/java/util/stream/Stream.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="287">
-          <caret line="67" column="20" selection-start-line="67" selection-start-column="20" selection-end-line="67" selection-end-column="20" />
+        <state relative-caret-position="295">
+          <caret line="853" column="9" selection-start-line="853" selection-start-column="9" selection-end-line="853" selection-end-column="9" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartDutiesController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eDuties.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="608">
-          <caret line="136" selection-start-line="136" selection-end-line="136" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state relative-caret-position="171">
+          <caret line="9" column="19" selection-start-line="9" selection-start-column="12" selection-end-line="9" selection-end-column="19" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eDutiesType.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SystemUserServiceImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="207">
-          <caret line="9" column="23" selection-start-line="9" selection-start-column="12" selection-end-line="9" selection-end-column="23" />
+        <state relative-caret-position="506">
+          <caret line="38" column="26" lean-forward="true" selection-start-line="38" selection-start-column="26" selection-end-line="38" selection-end-column="26" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eDuties.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartUserService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="171">
-          <caret line="9" column="19" selection-start-line="9" selection-start-column="12" selection-end-line="9" selection-end-column="19" />
+        <state relative-caret-position="677">
+          <caret line="55" column="45" selection-start-line="55" selection-start-column="20" selection-end-line="55" selection-end-column="45" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartAuthorGroupService.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUserServiceImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="483">
-          <caret line="27" column="4" selection-start-line="27" selection-start-column="4" selection-end-line="27" selection-end-column="42" />
+        <state relative-caret-position="479">
+          <caret line="126" column="52" selection-start-line="126" selection-start-column="27" selection-end-line="126" selection-end-column="52" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartAuthorGroupServiceImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="318">
-          <caret line="29" column="4" selection-start-line="29" selection-start-column="4" selection-end-line="30" selection-end-column="58" />
+        <state relative-caret-position="253">
+          <caret line="11" column="46" selection-start-line="11" selection-start-column="46" selection-end-line="11" selection-end-column="46" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartAttendanceService.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartVisitorControllerAPI.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="299">
-          <caret line="16" column="26" selection-start-line="16" selection-start-column="26" selection-end-line="16" selection-end-column="26" />
+        <state relative-caret-position="664">
+          <caret line="88" column="141" selection-start-line="88" selection-start-column="141" selection-end-line="88" selection-end-column="141" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartAttendance.java">
+    <entry file="file://$PROJECT_DIR$/src/test/java/com/template/MybatisPlusApplicationTests.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="295">
-          <caret line="37" column="20" selection-start-line="37" selection-start-column="20" selection-end-line="37" selection-end-column="20" />
+          <caret line="31" column="26" selection-start-line="31" selection-start-column="26" selection-end-line="31" selection-end-column="26" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/ScheduleController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartVisitor.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1645">
-          <caret line="178" column="37" lean-forward="true" selection-start-line="178" selection-start-column="37" selection-end-line="178" selection-end-column="37" />
+        <state relative-caret-position="459">
+          <caret line="95" column="31" selection-start-line="95" selection-start-column="20" selection-end-line="95" selection-end-column="31" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange.java">
+    <entry file="file://$PROJECT_DIR$/src/main/resources/mapper/template/SmartUserMapper.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="246">
-          <caret line="497" column="41" selection-start-line="497" selection-start-column="25" selection-end-line="497" selection-end-column="41" />
+        <state relative-caret-position="401">
+          <caret line="57" column="13" lean-forward="true" selection-start-line="57" selection-start-column="13" selection-end-line="57" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartAttendanceServiceImpl.java">
+    <entry file="file://$PROJECT_DIR$/src/main/resources/mapper/template/SmartVisitorMapper.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="437">
-          <caret line="29" column="49" selection-start-line="29" selection-start-column="33" selection-end-line="29" selection-end-column="49" />
+        <state relative-caret-position="562">
+          <caret line="84" column="47" selection-start-line="84" selection-start-column="40" selection-end-line="84" selection-end-column="47" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/updateSmartGradeRequest.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartVisitorMapper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="686">
-          <caret line="33" column="34" lean-forward="true" selection-start-line="33" selection-start-column="34" selection-end-line="33" selection-end-column="34" />
+        <state relative-caret-position="414">
+          <caret line="25" column="180" selection-start-line="25" selection-start-column="87" selection-end-line="25" selection-end-column="180" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartGradeController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartVisitorServiceImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="410">
-          <caret line="53" column="59" lean-forward="true" selection-start-line="53" selection-start-column="59" selection-end-line="53" selection-end-column="59" />
+        <state relative-caret-position="617">
+          <caret line="87" column="56" selection-start-line="87" selection-start-column="35" selection-end-line="87" selection-end-column="56" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/insertSmartUserRequest.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartVisitorService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="424">
-          <caret line="110" column="24" selection-start-line="110" selection-start-column="19" selection-end-line="110" selection-end-column="24" />
+        <state relative-caret-position="667">
+          <caret line="36" column="4" lean-forward="true" selection-start-line="36" selection-start-column="4" selection-end-line="36" selection-end-column="27" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="437">
-          <caret line="1014" column="47" selection-start-line="1014" selection-start-column="47" selection-end-line="1014" selection-end-column="47" />
+        <state relative-caret-position="157">
+          <caret line="377" column="7" lean-forward="true" selection-start-line="377" selection-start-column="7" selection-end-line="377" selection-end-column="7" />
           <folding>
-            <element signature="method#importZipUsers#0;class#SmartUserController#0" />
-            <element signature="method#readXlsx#0;class#SmartUserController#0" />
-            <element signature="method#readXls#0;class#SmartUserController#0" />
-            <element signature="e#40907#40976#1" />
-            <element signature="e#41209#41230#0" />
-            <element signature="e#44284#44301#0" />
-            <element signature="e#46751#46768#0" />
-            <element signature="e#51465#51482#0" />
+            <element signature="imports" expanded="true" />
           </folding>
         </state>
       </provider>

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

@@ -44,6 +44,9 @@ public interface SmartClassControllerAPI {
     @ApiOperation(value = "将班级数据添加到百胜系统", notes = "将班级数据添加到百胜系统", httpMethod = "POST")
     CommonResult insertSmartClassToBaisheng(@Validated @RequestBody insertSmartClassRequest iscr, BindingResult bindingResult) throws Exception;
 
+    @PostMapping(value = "/insertTestClassToXw")
+    @ApiOperation(value = "将班级数据添加到希沃", notes = "将班级数据添加到希沃", httpMethod = "POST")
+    CommonResult insertTestClassToXw(@Validated @RequestBody insertSmartClassRequest iscr, BindingResult bindingResult) throws Exception;
 
     @GetMapping(value = "/initSchoolClasses")
     @ApiOperation(value = "初始化班级", notes = "初始化班级", httpMethod = "GET")

+ 11 - 0
src/main/java/com/template/api/SmartVisitorControllerAPI.java

@@ -77,4 +77,15 @@ public interface SmartVisitorControllerAPI {
     @ApiOperation(value = "访客记录审核", notes = "访客记录审核", httpMethod = "GET")
     CommonResult examineRecord(@RequestParam int id,@RequestParam int type) throws Exception;
 
+    /**
+     * 获取到访记录数据
+     * @param currentPage 当前页
+     * @param pageCount 一页数据条数
+     * @param userId 用户ID
+     * @return
+     */
+    @GetMapping(value = "/visitingAgencys")
+    @ApiOperation(value = "获取到访记录数据", notes = "获取到访记录数据", httpMethod = "GET")
+    CommonResult visitingAgencys(@RequestParam int currentPage, @RequestParam int pageCount, @RequestParam int userId, @RequestParam int type);
+
 }

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

@@ -1,7 +1,9 @@
 package com.template.common.utils;
 
+import com.template.config.ControlConfig;
 import org.apache.commons.codec.binary.Base64;
 
+import javax.annotation.Resource;
 import javax.crypto.Cipher;
 import javax.crypto.spec.IvParameterSpec;
 import javax.crypto.spec.SecretKeySpec;
@@ -17,6 +19,7 @@ import java.nio.charset.StandardCharsets;
  * @Version: 1.0
  */
 public class AesTestOne {
+
     /**
      * AES 对称加密(RSA非对称加密)
      * CBC 有向量 (ECB 无向量)
@@ -28,7 +31,7 @@ public class AesTestOne {
 
     private static final Charset UTF8 = StandardCharsets.UTF_8;
 
-    private static String aesKey = "fe0d767a2a394d1b81ccda6fc0ce5ecc";  // 指定好的秘钥,非Base64和16进制
+    //private static String aesKey = "61afd794ed3244e995c5e894e5788193";  // 指定好的秘钥,非Base64和16进制
 
     private static String aesIv = "activevector4api";   // 偏移量
 
@@ -42,12 +45,12 @@ public class AesTestOne {
      * @return 解密后的字符串(UTF8编码)
      * @throws Exception 异常
      */
-    public static String decrypt(String cipherStr) throws Exception{
+    public static String decrypt(String cipherStr, String appSecret) 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);
+        skeySpec = new SecretKeySpec(appSecret.getBytes(),ALGORITHM);
         // 加密时使用的向量,16位字符串
         iv = new IvParameterSpec(aesIv.getBytes());
         cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
@@ -65,9 +68,9 @@ public class AesTestOne {
      * @return Base64编码的密文
      * @throws Exception  加密异常
      */
-    public static String encrypt(String plainText) throws Exception{
+    public static String encrypt(String plainText, String appSecret) throws Exception{
         Cipher cipher = Cipher.getInstance(ALG_AES_CBC_PKCS5);
-        skeySpec = new SecretKeySpec(aesKey.getBytes(),ALGORITHM);
+        skeySpec = new SecretKeySpec(appSecret.getBytes(),ALGORITHM);
         iv = new IvParameterSpec(aesIv.getBytes());
         cipher.init(Cipher.ENCRYPT_MODE, skeySpec,iv);
         // 这里的编码格式需要与解密编码一致
@@ -77,9 +80,6 @@ public class AesTestOne {
 
     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);
+        System.out.println("");
     }
 }

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

@@ -23,5 +23,10 @@ public class ControlConfig {
      * 百胜学校编号
      */
     private String schoolCode;
+
+    /**
+     * Url
+     */
+    private String url;
 }
 

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

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

+ 108 - 8
src/main/java/com/template/controller/SmartClassController.java

@@ -26,6 +26,7 @@ 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;
@@ -67,7 +68,7 @@ public class SmartClassController implements SmartClassControllerAPI {
 
         //数据ID是否有效
         SmartClass oldData = smartClassService.querySmartClassById(ucr.getId());
-        if(oldData == null){
+        if (oldData == null) {
             return CommonResult.fail("班级数据无效,更新失败");
         }
 
@@ -83,12 +84,12 @@ public class SmartClassController implements SmartClassControllerAPI {
         String timestamp = TimeExchange.DateNowTimeStamo();
         String className = ucr.getName();
         String appSecret = controlConfig.getAppSecret();
-        String url = "http://schoolopenapi.szymzh.com/openapi/classtab/update";
+        String url = controlConfig.getUrl() + "classtab/update";
 
         JSONObject jsonobject = new JSONObject();
         jsonobject.put("appid", appId);
         String str = "{\"classtab_no\":\"" + oldData.getBsClassNo() + "\",\"classtab_name\":\"" + oldData.getName() + "\"}";
-        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str), "UTF-8");
+        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
         jsonobject.put("data", aesStr);
         jsonobject.put("schoolno", schoolno);
         jsonobject.put("timestamp", timestamp);
@@ -105,10 +106,10 @@ public class SmartClassController implements SmartClassControllerAPI {
             oldData.setName(ucr.getName());
             int updateClass = smartClassService.updateSmartClass(oldData);
 
-            if(updateClass <= 0){
+            if (updateClass <= 0) {
                 return CommonResult.fail("班级信息更新失败");
             }
-        }else{
+        } else {
             return CommonResult.fail("班级信息更新失败");
         }
         //endregion
@@ -167,12 +168,12 @@ public class SmartClassController implements SmartClassControllerAPI {
         String className = iscr.getClassName();
         String gradeNo = iscr.getGradeNo();
         String appSecret = controlConfig.getAppSecret();
-        String url = "http://schoolopenapi.szymzh.com/openapi/classtab/create";
+        String url = controlConfig.getUrl() + "classtab/create";
 
         JSONObject jsonobject = new JSONObject();
         jsonobject.put("appid", appId);
         String str = "{\"grade_no\":\"" + gradeNo + "\",\"classtab_name\":\"" + grade.getName() + className + "\"}";
-        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str), "UTF-8");
+        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
         jsonobject.put("data", aesStr);
         jsonobject.put("schoolno", schoolno);
         jsonobject.put("timestamp", timestamp);
@@ -275,7 +276,7 @@ public class SmartClassController implements SmartClassControllerAPI {
             // URL解码
             String decodedUrl = URLDecoder.decode(classVo.getData(), "UTF-8");
 
-            BsClassNoVo classNo = objectMapper.readValue(decrypt(decodedUrl), BsClassNoVo.class);
+            BsClassNoVo classNo = objectMapper.readValue(decrypt(decodedUrl, controlConfig.getAppSecret()), BsClassNoVo.class);
 
             if (classNo == null) {
                 return CommonResult.fail("百胜班级编号为空,新增失败");
@@ -314,6 +315,105 @@ public class SmartClassController implements SmartClassControllerAPI {
     }
 
     @Override
+    public CommonResult insertTestClassToXw(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("该班级数据已在系统中存在,请勿重复添加");
+        }
+
+        //希沃班级传输特点:
+        //当前月份小于9月份就传当前年份 - 1 ;如果大于9月份就传当前年份
+        Integer nowMonth = Integer.valueOf(TimeExchange.getNowMonth());
+
+        //region 将数据加入希沃系统中
+        //初始化客户端
+        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(nowMonth < 9 ? Integer.valueOf(TimeExchange.getYear()).intValue() - 1 : Integer.valueOf(TimeExchange.getYear()))
+                .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());
+        }
+        //endregion
+
+        //希沃添加年级和班级数据是:存在就覆盖 不存在就新增
+        //要拿到希沃的年级Uid和班级Uid
+        String gradeUid = xwResult.getResponseBody().getData().get(0).getGradeUid();
+        String classUid = xwResult.getResponseBody().getData().get(0).getUid();
+
+        SmartClass smartClass = new SmartClass();
+        smartClass.setGradeId(grade.getId());
+        smartClass.setClassUid(classUid);
+        smartClass.setName(iscr.getClassName());
+        smartClass.setClassNo(iscr.getClassNo());
+        smartClass.setBsClassNo("bs");
+
+        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("新增成功");
+    }
+
+
+    @Override
     public CommonResult initSchoolClasses() {
         //初始化客户端
         SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));

+ 6 - 6
src/main/java/com/template/controller/SmartDepartmentController.java

@@ -77,12 +77,12 @@ public class SmartDepartmentController implements SmartDepartmentControllerAPI {
         String schoolno = controlConfig.getSchoolCode();
         String timestamp = TimeExchange.DateNowTimeStamo();
         String appSecret = controlConfig.getAppSecret();
-        String url = "http://schoolopenapi.szymzh.com/openapi/department/create";
+        String url = controlConfig.getUrl() + "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");
+        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
         jsonobject.put("data", aesStr);
         jsonobject.put("schoolno", schoolno);
         jsonobject.put("timestamp", timestamp);
@@ -102,7 +102,7 @@ public class SmartDepartmentController implements SmartDepartmentControllerAPI {
             // URL解码
             String decodedUrl = URLDecoder.decode(department.getData(), "UTF-8");
 
-            BsDepartmentNoVo departmentData = objectMapper.readValue(decrypt(decodedUrl), BsDepartmentNoVo.class);
+            BsDepartmentNoVo departmentData = objectMapper.readValue(decrypt(decodedUrl, controlConfig.getAppSecret()), BsDepartmentNoVo.class);
             sd.setBsDepartmentNo(departmentData.getDepartment_no());
         }
         //endregion
@@ -146,12 +146,12 @@ public class SmartDepartmentController implements SmartDepartmentControllerAPI {
         String schoolno = controlConfig.getSchoolCode();
         String timestamp = TimeExchange.DateNowTimeStamo();
         String appSecret = controlConfig.getAppSecret();
-        String url = "http://schoolopenapi.szymzh.com/openapi/department/update";
+        String url = controlConfig.getUrl() + "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");
+        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
         jsonobject.put("data", aesStr);
         jsonobject.put("schoolno", schoolno);
         jsonobject.put("timestamp", timestamp);
@@ -171,7 +171,7 @@ public class SmartDepartmentController implements SmartDepartmentControllerAPI {
             // URL解码
             String decodedUrl = URLDecoder.decode(department.getData(), "UTF-8");
 
-            BsDepartmentNoVo departmentData = objectMapper.readValue(decrypt(decodedUrl), BsDepartmentNoVo.class);
+            BsDepartmentNoVo departmentData = objectMapper.readValue(decrypt(decodedUrl, controlConfig.getAppSecret()), BsDepartmentNoVo.class);
             sd.setBsDepartmentNo(departmentData.getDepartment_no());
         }
         //endregion

+ 6 - 7
src/main/java/com/template/controller/SmartGradeController.java

@@ -75,12 +75,12 @@ public class SmartGradeController implements SmartGradeControllerAPI {
         String timestamp = TimeExchange.DateNowTimeStamo();
         String gradeName = usgr.getGradeName();
         String appSecret = controlConfig.getAppSecret();
-        String url = "http://schoolopenapi.szymzh.com/openapi/grade/update";
+        String url = controlConfig.getUrl() + "grade/update";
 
         JSONObject jsonobject = new JSONObject();
         jsonobject.put("appid", appId);
         String str = "{\"grade_no\":\"" + oldData.getBsGradeNo() + "\",\"grade_name\":\"" + gradeName + "\"}";
-        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str), "UTF-8");
+        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
         jsonobject.put("data", aesStr);
         jsonobject.put("schoolno", schoolno);
         jsonobject.put("timestamp", timestamp);
@@ -153,12 +153,12 @@ public class SmartGradeController implements SmartGradeControllerAPI {
         String timestamp = TimeExchange.DateNowTimeStamo();
         String gradeName = isgr.getGradeName();
         String appSecret = controlConfig.getAppSecret();
-        String url = "http://schoolopenapi.szymzh.com/openapi/grade/create";
+        String url = controlConfig.getUrl() + "grade/create";
 
         JSONObject jsonobject = new JSONObject();
         jsonobject.put("appid", appId);
         String str = "{\"grade_name\":\"" + gradeName + "\"}";
-        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str), "UTF-8");
+        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
         jsonobject.put("data", aesStr);
         jsonobject.put("schoolno", schoolno);
         jsonobject.put("timestamp", timestamp);
@@ -179,7 +179,7 @@ public class SmartGradeController implements SmartGradeControllerAPI {
             // URL解码
             String decodedUrl = URLDecoder.decode(grade.getData(), "UTF-8");
 
-            BsGradeNoVo gradeNo = objectMapper.readValue(decrypt(decodedUrl), BsGradeNoVo.class);
+            BsGradeNoVo gradeNo = objectMapper.readValue(decrypt(decodedUrl, controlConfig.getAppSecret()), BsGradeNoVo.class);
 
             SmartGrade smartGrade = new SmartGrade();
             smartGrade.setGradeNo(isgr.getGradeNo());
@@ -191,10 +191,9 @@ public class SmartGradeController implements SmartGradeControllerAPI {
             return insertResult > 0 ? CommonResult.ok("添加成功") : CommonResult.fail("添加失败");
 
         } else {
-            CommonResult.fail("添加失败");
+            return CommonResult.fail("添加失败");
         }
 
-        return CommonResult.ok("添加成功");
     }
 
 }

+ 11 - 11
src/main/java/com/template/controller/SmartUserController.java

@@ -974,12 +974,12 @@ public class SmartUserController implements SmartUserControllerAPI {
             String schoolno = controlConfig.getSchoolCode();
             String timestamp = TimeExchange.DateNowTimeStamo();
             String appSecret = controlConfig.getAppSecret();
-            String url = "http://schoolopenapi.szymzh.com/openapi/student/create";
+            String url = controlConfig.getUrl() + "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");
+            String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
             jsonobject.put("data", aesStr);
             jsonobject.put("schoolno", schoolno);
             jsonobject.put("timestamp", timestamp);
@@ -999,7 +999,7 @@ public class SmartUserController implements SmartUserControllerAPI {
                 // URL解码
                 String decodedUrl = URLDecoder.decode(grade.getData(), "UTF-8");
 
-                BsStudentNoVo studentNo = objectMapper.readValue(decrypt(decodedUrl), BsStudentNoVo.class);
+                BsStudentNoVo studentNo = objectMapper.readValue(decrypt(decodedUrl, controlConfig.getAppSecret()), BsStudentNoVo.class);
                 su.setBsStudentNo(studentNo.getStudent_no());
             }
             //endregion
@@ -1115,12 +1115,12 @@ public class SmartUserController implements SmartUserControllerAPI {
             String schoolno = controlConfig.getSchoolCode();
             String timestamp = TimeExchange.DateNowTimeStamo();
             String appSecret = controlConfig.getAppSecret();
-            String url = "http://schoolopenapi.szymzh.com/openapi/staff/create";
+            String url = controlConfig.getUrl() + "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");
+            String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
             jsonobject.put("data", aesStr);
             jsonobject.put("schoolno", schoolno);
             jsonobject.put("timestamp", timestamp);
@@ -1140,7 +1140,7 @@ public class SmartUserController implements SmartUserControllerAPI {
                 // URL解码
                 String decodedUrl = URLDecoder.decode(staff.getData(), "UTF-8");
 
-                BsStaffNoVo staffNo = objectMapper.readValue(decrypt(decodedUrl), BsStaffNoVo.class);
+                BsStaffNoVo staffNo = objectMapper.readValue(decrypt(decodedUrl, controlConfig.getAppSecret()), BsStaffNoVo.class);
                 su.setBsStaffCode(staffNo.getStaff_no());
             }
             //endregion
@@ -1305,12 +1305,12 @@ public class SmartUserController implements SmartUserControllerAPI {
             String schoolno = controlConfig.getSchoolCode();
             String timestamp = TimeExchange.DateNowTimeStamo();
             String appSecret = controlConfig.getAppSecret();
-            String url = "http://schoolopenapi.szymzh.com/openapi/student/update";
+            String url = controlConfig.getUrl() + "student/update";
 
             JSONObject jsonobject = new JSONObject();
             jsonobject.put("appid", appId);
             String str = "{\"student_no\":\"" + su.getBsStudentNo() + "\",\"student_name\":\"" + su.getName() + "\",\"student_number\":\"" + su.getCardNo() + "\",\"student_sex\":\"" + su.getSexId() +"\",\"student_idcard\":\"" + su.getIdCard() + "\",\"student_photo\":\"" + imageUtils.getBase64Url(su.getHeadImage()) + "\"}";
-            String aesStr = URLEncoder.encode(AesTestOne.encrypt(str), "UTF-8");
+            String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
             jsonobject.put("data", aesStr);
             jsonobject.put("schoolno", schoolno);
             jsonobject.put("timestamp", timestamp);
@@ -1383,12 +1383,12 @@ public class SmartUserController implements SmartUserControllerAPI {
             String schoolno = controlConfig.getSchoolCode();
             String timestamp = TimeExchange.DateNowTimeStamo();
             String appSecret = controlConfig.getAppSecret();
-            String url = "http://schoolopenapi.szymzh.com/openapi/staff/update";
+            String url = controlConfig.getUrl() + "staff/update";
 
             JSONObject jsonobject = new JSONObject();
             jsonobject.put("appid", appId);
             String str = "{\"staff_no\":\"" + su.getBsStaffCode() + "\"staff_name\":\"" + su.getName() + "\",\"department_no\":\"" + departmentNo + "\",\"stafft_number\":\"" + su.getCardNo() + "\",\"staff_phone\":\"" + su.getPhone() + "\",\"staff_sex\":\"" + su.getSexId() + "\",\"staff_photo\":\"" + imageUtils.getBase64Url(su.getHeadImage()) + "\"}";
-            String aesStr = URLEncoder.encode(AesTestOne.encrypt(str), "UTF-8");
+            String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
             jsonobject.put("data", aesStr);
             jsonobject.put("schoolno", schoolno);
             jsonobject.put("timestamp", timestamp);
@@ -1408,7 +1408,7 @@ public class SmartUserController implements SmartUserControllerAPI {
                 // URL解码
                 String decodedUrl = URLDecoder.decode(staff.getData(), "UTF-8");
 
-                BsStaffNoVo staffNo = objectMapper.readValue(decrypt(decodedUrl), BsStaffNoVo.class);
+                BsStaffNoVo staffNo = objectMapper.readValue(decrypt(decodedUrl, controlConfig.getAppSecret()), BsStaffNoVo.class);
                 su.setBsStaffCode(staffNo.getStaff_no());
             }
             //endregion

+ 69 - 11
src/main/java/com/template/controller/SmartVisitorController.java

@@ -13,9 +13,7 @@ import com.template.common.utils.TimeExchange;
 import com.template.common.utils.paramUtils;
 import com.template.config.ParkConfig;
 import com.template.config.SeewoConfig;
-import com.template.model.enumModel.eApproveStatu;
-import com.template.model.enumModel.eExamineStatu;
-import com.template.model.enumModel.eVisitorType;
+import com.template.model.enumModel.*;
 import com.template.model.pojo.*;
 import com.template.model.request.otherAppointmentRequest;
 import com.template.model.request.parentsAppointmentRequest;
@@ -26,16 +24,19 @@ 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.SmartAuthorGroupService;
 import com.template.services.SmartUserService;
 import com.template.services.SmartVisitorService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
 
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -49,6 +50,9 @@ import java.util.*;
 public class SmartVisitorController implements SmartVisitorControllerAPI {
 
     @Autowired
+    private SmartAuthorGroupService smartAuthorGroupService;
+
+    @Autowired
     private SmartVisitorService smartVisitorService;
 
     @Autowired
@@ -156,7 +160,7 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
         //那是不是第二次预约的时间不能在那个可访问的时间段内
         //例如:比如,第一次约了7:00-10:00;那第二次:6:00-7:30 或 8:11-13:00都不行
         Integer count = smartVisitorService.queryVisitorCount(su.getIdCard(), startTime, endTime);
-        if(count <= 0){
+        if (count > 0) {
             return CommonResult.fail("该时间段已预约,请勿重复预约!");
         }
 
@@ -207,7 +211,7 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
         //那是不是第二次预约的时间不能在那个可访问的时间段内
         //例如:比如,第一次约了7:00-10:00;那第二次:6:00-7:30 或 8:11-13:00都不行
         Integer count = smartVisitorService.queryVisitorCount(su.getIdCard(), startTime, endTime);
-        if(count <= 0){
+        if (count <= 0) {
             return CommonResult.fail("该时间段已预约,请勿重复预约!");
         }
 
@@ -271,16 +275,16 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
                 //将数据写入门禁系统逻辑
                 else {
                     //家长不能使用车牌系统 其他的可以使用车牌逻辑
-                    if(!ObjectUtils.isEmpty(visitor.getCarNum())){
+                    if (!ObjectUtils.isEmpty(visitor.getCarNum())) {
                         String appId = parkConfig.getAppId();
                         String carNo = visitor.getCarNum();
                         String parkKey = parkConfig.getParkKey();
                         String rand = String.valueOf(Math.random());
-                        String reserveTime = TimeExchange.DateToString(visitor.getVisitorTime(),"yyyy-MM-dd HH:mm:ss") ;
-                        String reserveEndTime = TimeExchange.DateToString(visitor.getVisitorDeadline(),"yyyy-MM-dd HH:mm:ss");
+                        String reserveTime = TimeExchange.DateToString(visitor.getVisitorTime(), "yyyy-MM-dd HH:mm:ss");
+                        String reserveEndTime = TimeExchange.DateToString(visitor.getVisitorDeadline(), "yyyy-MM-dd HH:mm:ss");
                         String version = "v1.0";
                         String appSecret = parkConfig.getAppSecret();
-                        String url = "http://openapi.szymzh.com/Api/Inform/Reservation";
+                        String url = parkConfig.getUrl() + "Inform/Reservation";
 
                         JSONObject jsonobject = new JSONObject();
                         jsonobject.put("appid", appId);
@@ -292,7 +296,7 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
                         jsonobject.put("version", "v1.0");
 
                         //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 + "&carNo=" + carNo + "&parkKey=" + parkKey + "&rand=" + rand + "&reserveEndTime=" + reserveEndTime + "&reserveTime=" + reserveTime + "&version=" +version+ "&" + appSecret;
+                        String md5Str = "appid=" + appId + "&carNo=" + carNo + "&parkKey=" + parkKey + "&rand=" + rand + "&reserveEndTime=" + reserveEndTime + "&reserveTime=" + reserveTime + "&version=" + version + "&" + appSecret;
                         String sign = CommonUtil.MD5(md5Str);
                         //sign签名
                         jsonobject.put("sign", sign);
@@ -302,7 +306,7 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
 
                         System.out.println(result);
 
-                        if(!result.contains("预约成功")){
+                        if (!result.contains("预约成功")) {
                             throw new Exception("审核失败");
                         }
                     }
@@ -366,5 +370,59 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
         return CommonResult.ok();
     }
 
+    /**
+     * 获取到访代办数据
+     *
+     * @param userId
+     * @return
+     */
+    @Override
+    public CommonResult visitingAgencys(int currentPage, int pageCount, int userId, int type) {
+        SmartUser user = smartUserService.getSmartById(userId);
+        if (user == null) {
+            return CommonResult.fail("当前用户数据无效,获取到访数据失败");
+        }
+
+        if (user.getIdentityId().intValue() != eIdentityStatu.Teacher.getValue()) {
+            return CommonResult.fail("非教师身份无法获取到访数据");
+        }
+
+        //是否是管理员
+        boolean isAdmin = false;
+        //获取的权限组数据
+        List<SmartAuthorGroup> authorGroups = smartAuthorGroupService.smartAuthorGroup(user.getId());
+        for (SmartAuthorGroup authorGroup : authorGroups) {
+            List<String> applyIds = Arrays.asList(authorGroup.getApplyId().split(","));
+            //菜单表中7是访客预约
+            long appointCount = applyIds.stream().filter(e -> e.equals("7")).count();
+            if(appointCount > 0){
+                isAdmin = true;
+                break;
+            }
+        }
+
+        List<Integer> studentIds = null;
+        //班主任
+        if(user.getDuties().intValue() == eDuties.ClassTeacher.getValue()){
+            //班级ID
+            Integer schoolClass = user.getSchoolClass();
+            //获取该班级下的所有学生ID数据
+            List<SmartUser> students = smartUserService.queryStudentBySchoolClass(user.getSchoolClass());
+
+            if(students == null){
+                return CommonResult.fail("当前身份下不存在学生信息");
+            }
+
+            studentIds = students.stream().map(SmartUser::getId).collect(Collectors.toList());
+        }
+
+        if(!isAdmin && studentIds == null){
+            return CommonResult.ok(null);
+        }
+
+        PageUtils<SmartVisitor> result = smartVisitorService.queryVisitorPageDatas(currentPage,pageCount,type,studentIds,isAdmin ? "true" : "false");
+
+        return CommonResult.ok(result);
+    }
 }
 

+ 5 - 0
src/main/java/com/template/mapper/SmartAuthorGroupMapper.java

@@ -2,8 +2,11 @@ package com.template.mapper;
 
 import com.template.model.pojo.SmartAuthorGroup;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -15,4 +18,6 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface SmartAuthorGroupMapper extends BaseMapper<SmartAuthorGroup> {
 
+    List<SmartAuthorGroup> smartAuthorGroup(@Param("userId") Integer userId);
+
 }

+ 4 - 0
src/main/java/com/template/mapper/SmartVisitorMapper.java

@@ -7,6 +7,8 @@ import com.template.model.vo.VisitorPageVo;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 /**
  * <p>
  * Mapper 接口
@@ -20,4 +22,6 @@ public interface SmartVisitorMapper extends BaseMapper<SmartVisitor> {
     IPage<VisitorPageVo> queryVisitorPage(IPage<VisitorPageVo> page, @Param("userId") Integer userId, @Param("statu") Integer statu);
 
     Integer queryVisitorCount(@Param("cardNo") String cardNo, @Param("startTime") String startTime, @Param("endTime") String endTime);
+
+    IPage<SmartVisitor> queryVisitorPageDatas(IPage<SmartVisitor> page, @Param("type") Integer type, @Param("studentIds") List<Integer> studentIds, @Param("isAdmin") String isAdmin);
 }

+ 4 - 0
src/main/java/com/template/model/pojo/SmartAuthorGroup.java

@@ -46,6 +46,10 @@ public class SmartAuthorGroup implements Serializable {
     @ApiModelProperty(value = "应用权限ID 多个应用用逗号隔开")
     private String applyId;
 
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
     @ApiModelProperty(value = "更新时间")
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Date updateTime;

+ 4 - 2
src/main/java/com/template/services/SmartAuthorGroupService.java

@@ -27,7 +27,9 @@ public interface SmartAuthorGroupService extends IService<SmartAuthorGroup> {
 
     SmartAuthorGroup getSmartById(int id);
 
-    public List<SmartAuthorGroup> getAuthorGroupList();
+    List<SmartAuthorGroup> getAuthorGroupList();
 
-    public List<SmartAuthorGroup> getAuthorGroupByKey(QueryWrapper<SmartAuthorGroup> queryWrapper);
+    List<SmartAuthorGroup> getAuthorGroupByKey(QueryWrapper<SmartAuthorGroup> queryWrapper);
+
+    List<SmartAuthorGroup> smartAuthorGroup(Integer userId);
 }

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

@@ -52,4 +52,6 @@ public interface SmartUserService extends IService<SmartUser> {
     List<SmartUser> querySmartUsers(List<Integer> departmentIds, String name);
 
     List<SmartUser> queryStudentDatas();
+
+    List<SmartUser> queryStudentBySchoolClass(Integer schoolClass);
 }

+ 2 - 0
src/main/java/com/template/services/SmartVisitorService.java

@@ -33,4 +33,6 @@ public interface SmartVisitorService extends IService<SmartVisitor> {
     PageUtils<VisitorPageVo> smartVisitorPageByUserId(int currentPage, int pageCount, Integer userId, Integer statu);
 
     Integer queryVisitorCount(String cardNo, String startTime, String endTime);
+
+    PageUtils<SmartVisitor> queryVisitorPageDatas(int currentPage, int pageCount, Integer type, List<Integer> studentIds, String isAdmin);
 }

+ 6 - 4
src/main/java/com/template/services/impl/SmartAuthorGroupServiceImpl.java

@@ -4,16 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.template.mapper.SmartAuthorGroupMapper;
-import com.template.mapper.SmartAuthorityMapper;
 import com.template.model.pojo.SmartAuthorGroup;
-import com.template.model.pojo.SmartAuthorGroup;
-import com.template.mapper.SmartAuthorGroupMapper;
 import com.template.model.result.PageUtils;
 import com.template.services.SmartAuthorGroupService;
 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;
 
@@ -77,4 +73,10 @@ public class SmartAuthorGroupServiceImpl extends ServiceImpl<SmartAuthorGroupMap
         return result;
     }
 
+
+    @Override
+    public List<SmartAuthorGroup> smartAuthorGroup(Integer userId){
+        List<SmartAuthorGroup> result = smartAuthorGroupMapper.smartAuthorGroup(userId);
+        return result;
+    }
 }

+ 11 - 0
src/main/java/com/template/services/impl/SmartUserServiceImpl.java

@@ -124,6 +124,17 @@ public class SmartUserServiceImpl extends ServiceImpl<SmartUserMapper, SmartUser
     }
 
     @Override
+    public List<SmartUser> queryStudentBySchoolClass(Integer schoolClass) {
+        QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
+        queryWrapper.eq("school_class", schoolClass);
+        queryWrapper.eq("identity_id", eIdentityStatu.Student.getValue());
+        queryWrapper.eq("is_cancel", 0);
+
+        List<SmartUser> result = smartUserMapper.selectList(queryWrapper);
+        return result;
+    }
+
+    @Override
     public int deleteSmartUserById(int id) {
         int result = smartUserMapper.deleteById(id);
         return result;

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

@@ -83,4 +83,13 @@ public class SmartVisitorServiceImpl extends ServiceImpl<SmartVisitorMapper, Sma
         Integer result = smartVisitorMapper.queryVisitorCount(cardNo, startTime, endTime);
         return result;
     }
+
+    @Override
+    public PageUtils<SmartVisitor> queryVisitorPageDatas(int currentPage, int pageCount, Integer type, List<Integer> studentIds, String isAdmin) {
+        Page<SmartVisitor> page = new Page<>();
+        page.setCurrent(currentPage);
+        page.setSize(pageCount);
+        IPage<SmartVisitor> datas = smartVisitorMapper.queryVisitorPageDatas(page, type, studentIds, isAdmin);
+        return new PageUtils(datas);
+    }
 }

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

@@ -61,15 +61,17 @@ seewo:
 
 #百胜车闸相关配置信息
 park:
-  appId: ymdd36ed157ac423e2
-  parkKey: wdcmq9rc
-  appSecret: 50596cd243dc4547b4c05f01f8ea02a4
+  appId: ymc9dacef09716fb03
+  parkKey: nrwu5pbh
+  appSecret: 6d13777feed44f5eab91579cc98d9053
+  url: http://openapi.ymiot.net/Api/
 
 #百胜门禁
 accesscontrol:
-  appId: sc5efc60f2bd373df9
-  appSecret: fe0d767a2a394d1b81ccda6fc0ce5ecc
-  schoolCode: SL1701743624375793
+  appId: sc1eb792c1ea3237e9
+  appSecret: 61afd794ed3244e995c5e894e5788193
+  schoolCode: SL1704880825203963
+  url: https://schoolopenapi.ymiot.net/openapi/
 
 #腾讯云
 tencentcloud:

+ 14 - 1
src/main/resources/mapper/template/SmartAuthorGroupMapper.xml

@@ -1,5 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.template.mapper.SmartAuthorGroupMapper">
-
+    <resultMap type="com.template.model.pojo.SmartAuthorGroup" id="smartAuthorGroupMap">
+        <result property="id" column="id"/>
+        <result property="parentId" column="parent_id"/>
+        <result property="name" column="name"/>
+        <result property="userId" column="user_id"/>
+        <result property="applyId" column="apply_id"/>
+    </resultMap>
+    <select id="smartAuthorGroup" resultType="com.template.model.pojo.SmartAuthorGroup" resultMap="smartAuthorGroupMap">
+        SELECT * FROM `smart_author_group`
+        where deleted = 0
+        <if test="userId != null and userId != ''">
+            and FIND_IN_SET(userId,user_id)
+        </if>
+    </select>
 </mapper>

+ 42 - 0
src/main/resources/mapper/template/SmartVisitorMapper.xml

@@ -46,4 +46,46 @@
     </select>
 
 
+    <resultMap type="com.template.model.pojo.SmartVisitor" id="visitorDatasMap">
+        <result property="id" column="id"/>
+        <result property="userId" column="user_id"/>
+        <result property="userName" column="user_name"/>
+        <result property="userPhone" column="user_phone"/>
+        <result property="userNumber" column="user_number"/>
+        <result property="peerNum" column="peer_num"/>
+        <result property="carNum" column="car_num"/>
+        <result property="visitReason" column="visit_reason"/>
+        <result property="statu" column="statu"/>
+        <result property="visitorTime" column="visitor_time"/>
+        <result property="visitorDeadline" column="visitor_deadline"/>
+        <result property="respondent" column="respondent"/>
+        <result property="responcode" column="responcode"/>
+        <result property="departmentId" column="department_id"/>
+        <result property="respondentPhone" column="respondent_phone"/>
+        <result property="respondentName" column="respondent_name"/>
+        <result property="visitorType" column="visitor_type"/>
+    </resultMap>
+    <select id="queryVisitorPageDatas" resultType="com.template.model.pojo.SmartVisitor" resultMap="visitorPageMap">
+        select * from smart_visitor
+        where deleted = 0
+        <if test="type != null and type != ''">
+            and statu = #{type}
+        </if>
+        and (
+        <if test="studentIds != null and studentIds.size() > 0">
+            (respondent in
+            <foreach collection="studentIds" item="studentId" index="index" open="(" close=")" separator=",">
+                ${studentId}
+            </foreach>
+            and visitor_type = 1)
+        </if>
+        <if test="studentIds != null and studentIds.size() > 0 and isAdmin = 'true'">
+            or visitor_type = 2
+        </if>
+        <if test="studentIds = null and isAdmin != 'true'">
+            visitor_type = 2
+        </if>
+        )
+    </select>
+
 </mapper>

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

@@ -61,15 +61,17 @@ seewo:
 
 #百胜车闸相关配置信息
 park:
-  appId: ymdd36ed157ac423e2
-  parkKey: wdcmq9rc
-  appSecret: 50596cd243dc4547b4c05f01f8ea02a4
+  appId: ymc9dacef09716fb03
+  parkKey: nrwu5pbh
+  appSecret: 6d13777feed44f5eab91579cc98d9053
+  url: http://openapi.ymiot.net/Api/
 
 #百胜门禁
 accesscontrol:
-  appId: sc5efc60f2bd373df9
-  appSecret: fe0d767a2a394d1b81ccda6fc0ce5ecc
-  schoolCode: SL1701743624375793
+  appId: sc1eb792c1ea3237e9
+  appSecret: 61afd794ed3244e995c5e894e5788193
+  schoolCode: SL1704880825203963
+  url: https://schoolopenapi.ymiot.net/openapi/
 
 #腾讯云
 tencentcloud:

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