夏文涛 2 лет назад
Родитель
Сommit
68409e8102
32 измененных файлов с 1894 добавлено и 242 удалено
  1. 903 2
      .idea/workspace.xml
  2. 24 0
      pom.xml
  3. 0 10
      src/main/java/com/template/api/SendControllerAPI.java
  4. 1 1
      src/main/java/com/template/api/SmartFreezeRecordControllerAPI.java
  5. 14 1
      src/main/java/com/template/api/SmartVisitorControllerAPI.java
  6. 27 0
      src/main/java/com/template/api/UploadControllerAPI.java
  7. 0 125
      src/main/java/com/template/common/utils/SendSms.java
  8. 14 1
      src/main/java/com/template/common/utils/TimeExchange.java
  9. 53 0
      src/main/java/com/template/config/CosConfig.java
  10. 24 0
      src/main/java/com/template/config/SeewoConfig.java
  11. 1 1
      src/main/java/com/template/controller/LogInfoController.java
  12. 0 29
      src/main/java/com/template/controller/SendController.java
  13. 113 4
      src/main/java/com/template/controller/SmartVisitorController.java
  14. 37 0
      src/main/java/com/template/controller/UploadController.java
  15. 55 0
      src/main/java/com/template/model/enumModel/eExamineStatu.java
  16. 266 0
      src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidParam.java
  17. 35 0
      src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidRequest.java
  18. 66 0
      src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidResult.java
  19. 14 0
      src/main/java/com/template/model/pojo/SmartVisitor.java
  20. 27 0
      src/main/java/com/template/services/SmartUploadService.java
  21. 0 1
      src/main/java/com/template/services/SystemUserService.java
  22. 137 0
      src/main/java/com/template/services/impl/SmartUploadServiceImpl.java
  23. 0 63
      src/main/java/com/template/services/impl/SystemUserServiceImpl.java
  24. 17 0
      src/main/resources/application-dev.yml
  25. 4 0
      src/main/resources/application-prod.yml
  26. 4 0
      src/main/resources/application.yml
  27. 12 0
      target/classes/application-dev.yml
  28. 4 0
      target/classes/application-prod.yml
  29. 4 0
      target/classes/application.yml
  30. 19 2
      target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  31. 19 2
      target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  32. BIN
      target/mybatis_plus-0.0.1-SNAPSHOT.jar.original

+ 903 - 2
.idea/workspace.xml

@@ -1,5 +1,197 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <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/api/UploadControllerAPI.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/config/CosConfig.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/config/SeewoConfig.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/UploadController.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eExamineStatu.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidParam.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidRequest.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidResult.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartUploadService.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUploadServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SendControllerAPI.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartFreezeRecordControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartFreezeRecordControllerAPI.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/SendSms.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/SendSms.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/LogInfoController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/LogInfoController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SendController.java" beforeDir="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/model/pojo/SmartVisitor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartVisitor.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SystemUserService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SystemUserService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SystemUserServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SystemUserServiceImpl.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/application-prod.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application-prod.yml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application.yml" 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/classes/application-prod.yml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/application-prod.yml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/application.yml" 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$/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/" />
+    <ignored path="$PROJECT_DIR$/target/" />
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
+    <option name="SHOW_DIALOG" value="false" />
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+    <option name="LAST_RESOLUTION" value="IGNORE" />
+  </component>
+  <component name="DefaultGradleProjectSettings">
+    <option name="testRunner" value="GRADLE" />
+    <option name="delegatedBuild" value="true" />
+  </component>
+  <component name="FileEditorManager">
+    <leaf>
+      <file pinned="false" current-in-tab="false">
+        <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="424">
+              <caret line="98" column="30" lean-forward="true" selection-start-line="98" selection-start-column="30" selection-end-line="98" selection-end-column="30" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUploadServiceImpl.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="-1679">
+              <caret line="5" column="39" selection-start-line="5" selection-start-column="39" selection-end-line="5" selection-end-column="39" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/resources/application-dev.yml">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="562">
+              <caret line="49" column="2" selection-start-line="49" selection-start-column="2" selection-end-line="53" selection-end-column="62" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/core/JwtAuthenticationInterceptor.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="-322">
+              <caret line="20" column="13" selection-start-line="20" selection-start-column="13" selection-end-line="20" selection-end-column="13" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/core/JwtlnterceptorConfig.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="115">
+              <caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/core/SwaggerConfiguration.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="253">
+              <caret line="22" column="13" selection-start-line="22" selection-start-column="13" selection-end-line="22" selection-end-column="13" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/core/CORSConfiguration.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="115">
+              <caret line="8" column="13" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/handler/MyMetaObjectHandler.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="207">
+              <caret line="19" column="11" selection-start-line="19" selection-start-column="11" selection-end-line="19" selection-end-column="11" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <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="223">
+              <caret line="43" lean-forward="true" selection-start-line="43" selection-end-line="43" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="269">
+              <caret line="494" column="25" selection-start-line="494" selection-start-column="25" selection-end-line="494" selection-end-column="25" />
+              <folding>
+                <element signature="imports" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
+  </component>
+  <component name="FindInProjectRecents">
+    <findStrings>
+      <find>thawFreezing</find>
+      <find>deleteSmartVisitorById</find>
+      <find>prefix =</find>
+      <find>servlet</find>
+      <find>com.qcloud</find>
+      <find>cos&quot;</find>
+      <find>CosConfig</find>
+      <find>throw</find>
+      <find>加</find>
+      <find>结束时间</find>
+      <find>queryPageSmartVisitors</find>
+      <find>sign</find>
+      <find>填充</find>
+    </findStrings>
+  </component>
+  <component name="Git.Settings">
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
+  </component>
+  <component name="IdeDocumentHistory">
+    <option name="CHANGED_PATHS">
+      <list>
+        <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartFreezeRecordControllerAPI.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eExamineStatu.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartVisitorControllerAPI.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUploadService.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartUploadService.java" />
+        <option value="$PROJECT_DIR$/src/main/resources/application.yml" />
+        <option value="$PROJECT_DIR$/src/main/resources/application-prod.yml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/config/CosConfig.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/api/UploadControllerAPI.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/SendSms.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/services/SystemUserService.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SystemUserServiceImpl.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/LogInfoController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/UploadController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUploadServiceImpl.java" />
+        <option value="$PROJECT_DIR$/pom.xml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidParam.java" />
+        <option value="$PROJECT_DIR$/src/main/resources/application-dev.yml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/config/SeewoConfig.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/MybatisPlusApplication.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartVisitor.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java" />
+      </list>
+    </option>
+  </component>
   <component name="MavenImportPreferences">
     <option name="generalSettings">
       <MavenGeneralSettings>
@@ -9,19 +201,262 @@
       </MavenGeneralSettings>
     </option>
   </component>
+  <component name="MavenProjectNavigator">
+    <treeState>
+      <expand>
+        <path>
+          <item name="" type="16c1761:MavenProjectsStructure$RootNode" />
+          <item name="mybatis_plus" type="9519ce18:MavenProjectsStructure$ProjectNode" />
+        </path>
+        <path>
+          <item name="" type="16c1761:MavenProjectsStructure$RootNode" />
+          <item name="mybatis_plus" type="9519ce18:MavenProjectsStructure$ProjectNode" />
+          <item name="Lifecycle" type="58874e2:MavenProjectsStructure$LifecycleNode" />
+        </path>
+      </expand>
+      <select />
+    </treeState>
+  </component>
+  <component name="MavenRunner">
+    <option name="skipTests" value="true" />
+  </component>
   <component name="ProjectFrameBounds">
     <option name="x" value="-7" />
-    <option name="width" value="974" />
+    <option name="width" value="958" />
     <option name="height" value="1039" />
   </component>
+  <component name="ProjectView">
+    <navigator proportions="" version="1">
+      <foldersAlwaysOnTop value="true" />
+    </navigator>
+    <panes>
+      <pane id="ProjectPane">
+        <subPane>
+          <expand>
+            <path>
+              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
+              <item name="backend_code" 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" />
+            </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" />
+            </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" />
+            </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" />
+            </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="api" 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="common" 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="common" type="462c0819:PsiDirectoryNode" />
+              <item name="result" 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="common" type="462c0819:PsiDirectoryNode" />
+              <item name="utils" 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="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>
+              <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="core" 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="handle" 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="handler" 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="mapper" 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" />
+            </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="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>
+              <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" />
+              <item name="impl" 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="resources" type="462c0819:PsiDirectoryNode" />
+            </path>
+          </expand>
+          <select />
+        </subPane>
+      </pane>
+      <pane id="Scope" />
+      <pane id="PackagesPane" />
+    </panes>
+  </component>
   <component name="PropertiesComponent">
+    <property name="RequestMappingsPanelOrder0" value="0" />
+    <property name="RequestMappingsPanelOrder1" value="1" />
+    <property name="RequestMappingsPanelWidth0" value="75" />
+    <property name="RequestMappingsPanelWidth1" value="75" />
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="aspect.path.notification.shown" value="true" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/../../民宿/mhotel" />
     <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
     <property name="nodejs_npm_path_reset_for_default_project" value="true" />
     <property name="settings.editor.selected.configurable" value="MavenSettings" />
   </component>
+  <component name="RebelAgentSelection">
+    <selection>jr</selection>
+  </component>
+  <component name="RecentsManager">
+    <key name="CopyClassDialog.RECENTS_KEY">
+      <recent name="com.template.config" />
+      <recent name="com.template.controller" />
+      <recent name="com.template.services.impl" />
+      <recent name="com.template.api" />
+      <recent name="com.template.model.enumModel" />
+    </key>
+    <key name="CopyFile.RECENT_KEYS">
+      <recent name="D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo" />
+    </key>
+  </component>
+  <component name="RunDashboard">
+    <option name="ruleStates">
+      <list>
+        <RuleState>
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
+        </RuleState>
+        <RuleState>
+          <option name="name" value="StatusDashboardGroupingRule" />
+        </RuleState>
+      </list>
+    </option>
+  </component>
   <component name="RunManager">
     <configuration name="MybatisPlusApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
       <module name="mybatis_plus" />
@@ -31,6 +466,468 @@
       </method>
     </configuration>
   </component>
+  <component name="SpringBootOptions">
+    <option name="showAdditionalConfigNotification" value="false" />
+  </component>
+  <component name="SvnConfiguration">
+    <configuration />
+  </component>
+  <component name="TaskManager">
+    <task active="true" id="Default" summary="Default task">
+      <changelist id="9931dd54-c6ba-4f79-99b0-d746475b8903" name="Default Changelist" comment="" />
+      <created>1702866458695</created>
+      <option name="number" value="Default" />
+      <option name="presentableId" value="Default" />
+      <updated>1702866458695</updated>
+      <workItem from="1702866461524" duration="30498000" />
+    </task>
+    <servers />
+  </component>
+  <component name="TimeTrackingManager">
+    <option name="totallyTimeSpent" value="30498000" />
+  </component>
+  <component name="ToolWindowManager">
+    <frame x="-8" y="-8" width="1936" height="1048" extended-state="6" />
+    <editor active="true" />
+    <layout>
+      <window_info id="JRebel" side_tool="true" />
+      <window_info id="Image Layers" />
+      <window_info id="Capture Tool" />
+      <window_info id="UI Designer" />
+      <window_info id="Favorites" side_tool="true" />
+      <window_info id="Designer" />
+      <window_info id="Web" side_tool="true" />
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.15884861" />
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
+      <window_info anchor="bottom" id="Spring" />
+      <window_info anchor="bottom" id="Event Log" side_tool="true" />
+      <window_info anchor="bottom" id="Terminal" />
+      <window_info anchor="bottom" id="Docker" />
+      <window_info anchor="bottom" id="Messages" weight="0.32603937" />
+      <window_info anchor="bottom" id="Java Enterprise" />
+      <window_info anchor="bottom" id="Database Changes" />
+      <window_info anchor="bottom" id="Version Control" />
+      <window_info anchor="bottom" id="JRebel Executor" />
+      <window_info anchor="bottom" id="JRebel Console" side_tool="true" />
+      <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.32275712" />
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
+      <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" />
+      <window_info anchor="right" id="Maven" weight="0.32850778" />
+      <window_info anchor="right" id="Palette" />
+      <window_info anchor="right" id="Capture Analysis" />
+      <window_info anchor="right" id="Database" />
+      <window_info anchor="right" id="Palette&#9;" />
+      <window_info anchor="right" id="Theme Preview" />
+      <window_info anchor="right" id="JRebel Setup Guide" side_tool="true" />
+      <window_info anchor="right" id="Bean Validation" />
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
+    </layout>
+  </component>
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="version" value="1" />
+  </component>
+  <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartFreezeRecordController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="188">
+          <caret line="147" column="36" selection-start-line="147" selection-start-column="24" selection-end-line="147" selection-end-column="36" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartFreezeRecordControllerAPI.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="333">
+          <caret line="45" column="15" selection-start-line="45" selection-start-column="15" selection-end-line="45" selection-end-column="15" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eExamineStatu.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="207">
+          <caret line="9" column="25" selection-start-line="9" selection-start-column="12" selection-end-line="9" selection-end-column="25" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eApproveStatu.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="253">
+          <caret line="11" column="11" selection-start-line="11" selection-start-column="4" selection-end-line="11" selection-end-column="11" />
+        </state>
+      </provider>
+    </entry>
+    <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="299">
+          <caret line="19" column="7" selection-start-line="19" selection-start-column="4" selection-end-line="19" selection-end-column="7" />
+        </state>
+      </provider>
+    </entry>
+    <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="345">
+          <caret line="23" column="16" selection-start-line="23" selection-start-column="4" selection-end-line="23" selection-end-column="16" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/RepairAdminService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="276">
+          <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/SmartUserServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="407">
+          <caret line="54" column="10" selection-start-line="54" selection-start-column="4" selection-end-line="54" selection-end-column="10" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartScreenshotRecordService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="276">
+          <caret line="19" column="17" selection-start-line="19" selection-start-column="17" selection-end-line="19" selection-end-column="17" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/config/smsConfig.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="341">
+          <caret line="18" selection-start-line="18" selection-end-line="18" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://C:/Program Files/Java/jdk1.8.0_181/jre/lib/deploy.jar!/com/sun/deploy/config/ClientConfig.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="138">
+          <caret line="32" column="13" selection-start-line="32" selection-start-column="13" selection-end-line="32" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/config/MyBatisPlusConfig.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="184">
+          <caret line="17" column="13" selection-start-line="17" selection-start-column="13" selection-end-line="17" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/config/MySecurity.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="115">
+          <caret line="6" column="27" selection-start-line="6" selection-start-column="27" selection-end-line="6" selection-end-column="27" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/Task.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="92">
+          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/SendSms.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="447">
+          <caret line="41" selection-start-line="41" selection-end-line="41" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SendControllerAPI.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="161">
+          <caret line="7" column="5" selection-start-line="7" selection-start-column="5" selection-end-line="7" selection-end-column="5" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SystemUserService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="299">
+          <caret line="15" selection-start-line="15" selection-end-line="15" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/LogInfoController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="391">
+          <caret line="23" column="32" selection-start-line="23" selection-start-column="32" selection-end-line="23" selection-end-column="32" />
+          <folding>
+            <element signature="e#686#687#0" expanded="true" />
+            <element signature="e#745#746#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/UploadControllerAPI.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="437">
+          <caret line="19" column="43" selection-start-line="19" selection-start-column="38" selection-end-line="19" selection-end-column="43" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartUploadService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="437">
+          <caret line="19" column="17" selection-start-line="19" selection-start-column="11" selection-end-line="19" selection-end-column="17" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-webmvc/5.3.1/spring-webmvc-5.3.1.jar!/org/springframework/web/servlet/mvc/method/annotation/ServletInvocableHandlerMethod.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="177">
+          <caret line="53" selection-start-line="53" selection-end-line="53" />
+        </state>
+      </provider>
+    </entry>
+    <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="163">
+          <caret line="149" selection-start-line="149" selection-end-line="149" />
+        </state>
+      </provider>
+    </entry>
+    <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="92">
+          <caret line="4" column="38" selection-start-line="4" selection-start-column="38" selection-end-line="4" selection-end-column="38" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/UploadController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="163">
+          <caret line="27" selection-start-line="27" selection-end-line="27" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://$MAVEN_REPOSITORY$/com/qcloud/cos_api/5.6.8/cos_api-5.6.8.jar!/com/qcloud/cos/COSClient.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="193">
+          <caret line="609" column="27" selection-start-line="609" selection-start-column="27" selection-end-line="609" selection-end-column="27" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pom.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="345">
+          <caret line="27" column="21" selection-start-line="27" selection-start-column="21" selection-end-line="27" selection-end-column="21" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidParam.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-621">
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-174">
+          <caret line="13" column="29" selection-start-line="13" selection-start-column="29" selection-end-line="13" selection-end-column="29" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/application-prod.yml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="503">
+          <caret line="51" column="21" selection-start-line="51" selection-start-column="21" selection-end-line="51" selection-end-column="21" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/config/CosConfig.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="345">
+          <caret line="15" column="22" selection-start-line="15" selection-start-column="13" selection-end-line="15" selection-end-column="22" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/config/SeewoConfig.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="207">
+          <caret line="9" column="24" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="24" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eVisitorType.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="207">
+          <caret line="9" column="24" selection-start-line="9" selection-start-column="12" selection-end-line="9" selection-end-column="24" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/MybatisPlusApplication.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="276">
+          <caret line="16" column="8" lean-forward="true" selection-start-line="16" selection-start-column="8" selection-end-line="16" selection-end-column="8" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidResult.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="46">
+          <caret line="13" column="13" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/result/BaseResult.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="586">
+          <caret line="28" column="19" selection-start-line="28" selection-start-column="19" selection-end-line="28" selection-end-column="19" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/result/ResponseStatusEnum.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="517">
+          <caret line="66" column="19" selection-start-line="66" selection-start-column="19" selection-end-line="66" selection-end-column="19" />
+          <folding>
+            <element signature="e#2106#2107#0" expanded="true" />
+            <element signature="e#2135#2136#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/result/CommonResult.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="318">
+          <caret line="32" column="34" selection-start-line="32" selection-start-column="26" selection-end-line="32" selection-end-column="34" />
+          <folding>
+            <element signature="e#1197#1198#0" expanded="true" />
+            <element signature="e#1247#1248#0" expanded="true" />
+            <element signature="e#1496#1497#0" expanded="true" />
+            <element signature="e#1552#1553#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartScreenshotRecordController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="318">
+          <caret line="190" column="48" lean-forward="true" selection-start-line="190" selection-start-column="20" selection-end-line="190" selection-end-column="48" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/AffiliateUserVo.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="575">
+          <caret line="25" column="25" selection-start-line="25" selection-start-column="19" selection-end-line="25" selection-end-column="25" />
+        </state>
+      </provider>
+    </entry>
+    <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="1022">
+          <caret line="98" column="22" selection-start-line="98" selection-start-column="22" selection-end-line="98" selection-end-column="22" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="269">
+          <caret line="494" column="25" selection-start-line="494" selection-start-column="25" selection-end-line="494" selection-end-column="25" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <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="-541">
+          <caret line="28" column="13" selection-start-line="28" selection-start-column="13" selection-end-line="28" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <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="223">
+          <caret line="43" lean-forward="true" selection-start-line="43" selection-end-line="43" />
+        </state>
+      </provider>
+    </entry>
+    <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="424">
+          <caret line="98" column="30" lean-forward="true" selection-start-line="98" selection-start-column="30" selection-end-line="98" selection-end-column="30" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUploadServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-1679">
+          <caret line="5" column="39" selection-start-line="5" selection-start-column="39" selection-end-line="5" selection-end-column="39" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/application-dev.yml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="562">
+          <caret line="49" column="2" selection-start-line="49" selection-start-column="2" selection-end-line="53" selection-end-column="62" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/core/JwtAuthenticationInterceptor.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-322">
+          <caret line="20" column="13" selection-start-line="20" selection-start-column="13" selection-end-line="20" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/core/JwtlnterceptorConfig.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="115">
+          <caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/core/SwaggerConfiguration.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="253">
+          <caret line="22" column="13" selection-start-line="22" selection-start-column="13" selection-end-line="22" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/core/CORSConfiguration.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="115">
+          <caret line="8" column="13" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/handler/MyMetaObjectHandler.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="207">
+          <caret line="19" column="11" selection-start-line="19" selection-start-column="11" selection-end-line="19" selection-end-column="11" />
+        </state>
+      </provider>
+    </entry>
+  </component>
   <component name="masterDetails">
     <states>
       <state key="ProjectJDKs.UI">
@@ -47,4 +944,8 @@
       </state>
     </states>
   </component>
+  <component name="mavenExecuteGoalHistory">
+    <option value="$PROJECT_DIR$" />
+    <option value="install:install-file &quot;-Dfile=D:\Bingo\Desktop\工作内容\万载三中\希沃\lib\openplatform-web%2Fopen-sdk-java-2.0.2.jar&quot; &quot;-DgroupId=open.platform&quot; &quot;-DartifactId=platform&quot; &quot;-Dversion=1.0&quot; &quot;-Dpackaging=jar&quot;" />
+  </component>
 </project>

+ 24 - 0
pom.xml

@@ -22,6 +22,12 @@
     <dependencies>
 
         <dependency>
+            <groupId>open.platform</groupId>
+            <artifactId>platform</artifactId>
+            <version>1.0</version>
+        </dependency>
+
+        <dependency>
             <groupId>javax.validation</groupId>
             <artifactId>validation-api</artifactId>
             <version>2.0.1.Final</version>
@@ -185,7 +191,25 @@
             <version>2.0.2</version>
         </dependency>
 
+        <!--腾讯云COS-->
+        <dependency>
+            <groupId>com.tencentcloudapi</groupId>
+            <artifactId>tencentcloud-sdk-java</artifactId>
+            <version>3.0.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.qcloud</groupId>
+            <artifactId>cos_api</artifactId>
+            <version>5.6.8</version>
+        </dependency>
 
+        <!--hutools-->
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.4.3</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 0 - 10
src/main/java/com/template/api/SendControllerAPI.java

@@ -1,10 +0,0 @@
-package com.template.api;
-
-import com.tencentcloudapi.sms.v20210111.models.SendStatus;
-
-
-public interface SendControllerAPI {
-
-     SendStatus[] sendCodeAgain(String phone);
-
-}

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

@@ -43,7 +43,7 @@ public interface SmartFreezeRecordControllerAPI {
     @ApiOperation(value = "已冻结名单分页数据", notes = "已冻结名单分页数据", httpMethod = "GET")
     CommonResult queryPageFreezeRecord(@RequestParam int currentPage, @RequestParam int pageCount);
 
-    @PostMapping(value = "/thawFreezing")
+    @GetMapping(value = "/thawFreezing")
     @ApiOperation(value = "手动解冻操作", notes = "手动解冻操作", httpMethod = "GET")
     CommonResult thawFreezing(@RequestParam int id);
 }

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

@@ -61,7 +61,20 @@ public interface SmartVisitorControllerAPI {
      *             已推送:3
      * @return
      */
-    @PostMapping(value = "/appointmentPageRecord")
+    @GetMapping(value = "/appointmentPageRecord")
     @ApiOperation(value = "当前用户的预约记录", notes = "当前用户的预约记录", httpMethod = "GET")
     CommonResult appointmentPageRecord(@RequestParam int currentPage, @RequestParam int pageCount, @RequestParam int userId, @RequestParam int type);
+
+    /**
+     * 访客记录审核
+     * @param id   数据ID
+     * @param type 操作类型:
+     *             同意,并推送:1
+     *             拒绝:2
+     * @return
+     */
+    @GetMapping(value = "/examineRecord")
+    @ApiOperation(value = "访客记录审核", notes = "访客记录审核", httpMethod = "GET")
+    CommonResult examineRecord(@RequestParam int id,@RequestParam int type) throws Exception;
+
 }

+ 27 - 0
src/main/java/com/template/api/UploadControllerAPI.java

@@ -0,0 +1,27 @@
+package com.template.api;
+
+import com.template.annotation.PassToken;
+import com.template.model.result.CommonResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.multipart.MultipartFile;
+
+@Api(tags = {"UploadController"}, value = "cos文件操作")
+@RequestMapping("/api/upload")
+public interface UploadControllerAPI {
+
+    @PostMapping("/toCos")
+    @ApiOperation(value = "文件上传",httpMethod = "POST")
+    @PassToken
+    CommonResult toCos(@RequestParam("files") MultipartFile[] files);
+
+    @GetMapping("/deleteFile")
+    @ApiOperation(value = "文件上传",httpMethod = "POST")
+    @PassToken
+    CommonResult deleteFile(@RequestParam String fileName);
+
+}

+ 0 - 125
src/main/java/com/template/common/utils/SendSms.java

@@ -8,12 +8,8 @@ import com.tencentcloudapi.common.profile.ClientProfile;
 import com.tencentcloudapi.common.profile.HttpProfile;
 
 // 导入对应SMS模块的client
-import com.tencentcloudapi.sms.v20210111.SmsClient;
 
 // 导入要请求接口对应的request response类
-import com.tencentcloudapi.sms.v20210111.models.SendSmsRequest;
-import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse;
-import com.tencentcloudapi.sms.v20210111.models.SendStatus;
 import com.template.config.smsConfig;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -45,127 +41,6 @@ public class SendSms {
     private static String smsMin="1";
 
 
-    public static SendStatus[] sendSms(String phoneNumber,String code) {
-        SendStatus[] returString= {};
-        try {
-            /* 必要步骤:
-             * 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。
-             * 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。
-             * 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
-             * 以免泄露密钥对危及你的财产安全。
-             * SecretId、SecretKey 查询: https://console.cloud.tencent.com/cam/capi */
-//            Credential cred = new Credential(smsConfig.getSecretID(), smsConfig.getSecretKey());
-            Credential cred = new Credential(secretID,secretKey);
-
-            // 实例化一个http选项,可选,没有特殊需求可以跳过
-            HttpProfile httpProfile = new HttpProfile();
-            // 设置代理(无需要直接忽略)
-            // httpProfile.setProxyHost("真实代理ip");
-            // httpProfile.setProxyPort(真实代理端口);
-            /* SDK默认使用POST方法。
-             * 如果你一定要使用GET方法,可以在这里设置。GET方法无法处理一些较大的请求 */
-            httpProfile.setReqMethod("POST");
-            /* SDK有默认的超时时间,非必要请不要进行调整
-             * 如有需要请在代码中查阅以获取最新的默认值 */
-            httpProfile.setConnTimeout(60);
-            /* 指定接入地域域名,默认就近地域接入域名为 sms.tencentcloudapi.com ,也支持指定地域域名访问,例如广州地域的域名为 sms.ap-guangzhou.tencentcloudapi.com */
-            httpProfile.setEndpoint("sms.tencentcloudapi.com");
-
-            /* 非必要步骤:
-             * 实例化一个客户端配置对象,可以指定超时时间等配置 */
-            ClientProfile clientProfile = new ClientProfile();
-            /* SDK默认用TC3-HMAC-SHA256进行签名
-             * 非必要请不要修改这个字段 */
-            clientProfile.setSignMethod("HmacSHA256");
-            clientProfile.setHttpProfile(httpProfile);
-            /* 实例化要请求产品(以sms为例)的client对象
-             * 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,支持的地域列表参考 https://cloud.tencent.com/document/api/382/52071#.E5.9C.B0.E5.9F.9F.E5.88.97.E8.A1.A8 */
-            SmsClient client = new SmsClient(cred, "ap-guangzhou", clientProfile);
-            /* 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数
-             * 你可以直接查询SDK源码确定接口有哪些属性可以设置
-             * 属性可能是基本类型,也可能引用了另一个数据结构
-             * 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明 */
-            SendSmsRequest req = new SendSmsRequest();
-
-            /* 填充请求参数,这里request对象的成员变量即对应接口的入参
-             * 你可以通过官网接口文档或跳转到request对象的定义处查看请求参数的定义
-             * 基本类型的设置:
-             * 帮助链接:
-             * 短信控制台: https://console.cloud.tencent.com/smsv2
-             * 腾讯云短信小助手: https://cloud.tencent.com/document/product/382/3773#.E6.8A.80.E6.9C.AF.E4.BA.A4.E6.B5.81 */
-
-            /* 短信应用ID: 短信SdkAppId在 [短信控制台] 添加应用后生成的实际SdkAppId,示例如1400006666 */
-            // 应用 ID 可前往 [短信控制台](https://console.cloud.tencent.com/smsv2/app-manage) 查看
-//            String sdkAppId = "1400009099";
-//            req.setSmsSdkAppId(smsConfig.getSdkAppid());
-            req.setSmsSdkAppId(sdkAppid);
-
-            /* 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名 */
-            // 签名信息可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-sign) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-sign) 的签名管理查看
-//            String signName = "腾讯云";
-//            req.setSignName(smsConfig.getSignName());
-            req.setSignName(signName);
-
-            /* 模板 ID: 必须填写已审核通过的模板 ID */
-            // 模板 ID 可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-template) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-template) 的正文模板管理查看
-//            String templateId = "449739";
-//            req.setTemplateId(smsConfig.getTemplateId());
-            req.setTemplateId(templateId);
-
-
-            /* 模板参数: 模板参数的个数需要与 TemplateId 对应模板的变量个数保持一致,若无模板参数,则设置为空 */
-//           第一个为验证码,第二个为有效时间
-//            String[] templateParamSet = {code,smsConfig.getSmsMin()};
-            String[] templateParamSet = {code,"1"};
-            req.setTemplateParamSet(templateParamSet);
-
-            /* 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号]
-             * 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号 */
-//            String[] phoneNumberSet = {"+8621212313123", "+8612345678902", "+8612345678903"};
-            String[] phoneNumbers = {phoneNumber};
-            req.setPhoneNumberSet(phoneNumbers);
-
-            /* 用户的 session 内容(无需要可忽略): 可以携带用户侧 ID 等上下文信息,server 会原样返回 */
-//            String sessionContext = "";
-//            req.setSessionContext(sessionContext);
-
-            /* 短信码号扩展号(无需要可忽略): 默认未开通,如需开通请联系 [腾讯云短信小助手] */
-//            String extendCode = "";
-//            req.setExtendCode(extendCode);
-
-            /* 国际/港澳台短信 SenderId(无需要可忽略): 国内短信填空,默认未开通,如需开通请联系 [腾讯云短信小助手] */
-//            String senderid = "";
-//            req.setSenderId(senderid);
-
-            /* 通过 client 对象调用 SendSms 方法发起请求。注意请求方法名与请求对象是对应的
-             * 返回的 res 是一个 SendSmsResponse 类的实例,与请求对象对应 */
-            SendSmsResponse res = client.SendSms(req);
-
-            // 输出json格式的字符串回包
-//            System.out.println(SendSmsResponse.toJsonString(res));
-
-            // 也可以取出单个值,你可以通过官网接口文档或跳转到response对象的定义处查看返回字段的定义
-            // System.out.println(res.getRequestId());
-
-            /* 当出现以下错误码时,快速解决方案参考
-             * [FailedOperation.SignatureIncorrectOrUnapproved](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Afailedoperation.signatureincorrectorunapproved-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)
-             * [FailedOperation.TemplateIncorrectOrUnapproved](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Afailedoperation.templateincorrectorunapproved-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)
-             * [UnauthorizedOperation.SmsSdkAppIdVerifyFail](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Aunauthorizedoperation.smssdkappidverifyfail-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)
-             * [UnsupportedOperation.ContainDomesticAndInternationalPhoneNumber](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Aunsupportedoperation.containdomesticandinternationalphonenumber-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)
-             * 更多错误,可咨询[腾讯云助手](https://tccc.qcloud.com/web/im/index.html#/chat?webAppId=8fa15978f85cb41f7e2ea36920cb3ae1&title=Sms)
-             */
-            SendStatus sendStatus = res.getSendStatusSet()[0];
-//            System.out.println("sendStatus = " + sendStatus);
-
-
-            returString=res.getSendStatusSet();
-
-        } catch (TencentCloudSDKException e) {
-            e.printStackTrace();
-        }
-        return returString;
-    }
-
 
     public static  void main(String[] args) throws TencentCloudSDKException{
         //这里定义一个存储电话号码的数组

+ 14 - 1
src/main/java/com/template/common/utils/TimeExchange.java

@@ -56,7 +56,7 @@ public class TimeExchange {
     public static String DateToString(Date time) {
         String dateStr = "";
         Date date = new Date();
-        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:sss");
         try {
             dateStr = dateFormat.format(time);
             System.out.println(dateStr);
@@ -66,6 +66,19 @@ public class TimeExchange {
         return dateStr;
     }
 
+    public static String chineseDateTime(Date time){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分");
+        String dateStringParse = null;
+        try {
+            dateStringParse = sdf.format(time);
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return dateStringParse;
+    }
+
     /**
      * String(yyyy-MM-dd HH:mm:ss)转10位时间戳
      *

+ 53 - 0
src/main/java/com/template/config/CosConfig.java

@@ -0,0 +1,53 @@
+package com.template.config;
+
+import com.qcloud.cos.COSClient;
+import com.qcloud.cos.ClientConfig;
+import com.qcloud.cos.auth.BasicCOSCredentials;
+import com.qcloud.cos.auth.COSCredentials;
+import com.qcloud.cos.region.Region;
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Component;
+
+@Component
+@ConfigurationProperties(prefix = "cos")
+@Data
+public class CosConfig {
+    /**
+     * 腾讯云账号秘钥
+     */
+    private String secretId;
+    /**
+     * 密码秘钥
+     */
+    private String secretKey;
+    /**
+     * 存储桶地区
+     */
+    private String region;
+    /**
+     * 存储桶名称
+     */
+    private String bucketName;
+    /**
+     * 存储桶访问路径
+     */
+    private String path;
+
+    /**
+     * 初始化cos对象,配置相关配置信息
+     */
+    @Bean
+    public COSClient cosClient(){
+        // 1 初始化用户身份信息(secretId, secretKey)。
+        COSCredentials cred = new BasicCOSCredentials(this.secretId, this.secretKey);
+        // 2 设置 bucket 的区域
+        Region region = new Region(this.region);
+        ClientConfig clientConfig = new ClientConfig(region);
+        // 3 生成 cos 客户端。
+        COSClient cosClient = new COSClient(cred, clientConfig);
+        return cosClient;
+    }
+}
+

+ 24 - 0
src/main/java/com/template/config/SeewoConfig.java

@@ -0,0 +1,24 @@
+package com.template.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@Component
+@ConfigurationProperties(prefix = "seewo")
+@Data
+public class SeewoConfig {
+    /**
+     * APP ID
+     */
+    private String appId;
+    /**
+     * APP Secret
+     */
+    private String appSecret;
+    /**
+     * 学校ID
+     */
+    private String schoolId;
+}
+

+ 1 - 1
src/main/java/com/template/controller/LogInfoController.java

@@ -21,7 +21,7 @@ public class LogInfoController implements LogInfoControllerAPI {
     @Override
     @PassToken
     public CommonResult verifyPhone(@RequestParam String phone) {
-        return systemUserService.verifyPhone(phone);
+        return CommonResult.ok();
     }
 
     @Override

+ 0 - 29
src/main/java/com/template/controller/SendController.java

@@ -1,29 +0,0 @@
-package com.template.controller;
-
-import com.tencentcloudapi.sms.v20210111.models.SendStatus;
-import com.template.api.SendControllerAPI;
-import com.template.common.utils.SendSms;
-import com.template.common.utils.ValidateCode;
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.*;
-
-@RestController
-@RequestMapping("/send/sms")
-@Api(tags = {"SendController"},value = "短信发送接口")
-public class SendController implements SendControllerAPI {
-
-
-    @Override
-//    @PassToken
-//    @PostMapping("/sendCodeAgain")
-    public SendStatus[] sendCodeAgain(@RequestBody String phone){
-        //         随机验证码
-        int vode= ValidateCode.generateValidateCode(6);
-        String code=String.valueOf(vode);
-        phone="+86"+phone;
-        SendStatus[] ret = SendSms.sendSms(phone,code);
-        return ret;
-    }
-
-
-}

+ 113 - 4
src/main/java/com/template/controller/SmartVisitorController.java

@@ -1,13 +1,18 @@
 package com.template.controller;
 
 
+import com.seewo.open.sdk.DefaultSeewoClient;
+import com.seewo.open.sdk.SeewoClient;
+import com.seewo.open.sdk.auth.Account;
 import com.template.api.SmartVisitorControllerAPI;
 import com.template.common.utils.TimeExchange;
 import com.template.common.utils.paramUtils;
+import com.template.config.CosConfig;
+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.pojo.SmartUser;
-import com.template.model.pojo.SmartVisitor;
+import com.template.model.pojo.*;
 import com.template.model.request.otherAppointmentRequest;
 import com.template.model.request.parentsAppointmentRequest;
 import com.template.model.result.CommonResult;
@@ -18,12 +23,15 @@ import com.template.services.SmartUserService;
 import com.template.services.SmartVisitorService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -43,6 +51,8 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
 
     @Autowired
     private SmartUserService smartUserService;
+    @Resource
+    private SeewoConfig seewoConfig;
 
     /**
      * 新增访客预约
@@ -141,11 +151,14 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
             sv.setUserPhone(su.getPhone());
             sv.setUserNumber(su.getIdCard());
             sv.setPeerNum(par.getPeerNum());
-            sv.setCarNum(par.getCarNum());
+            //sv.setCarNum(par.getCarNum());家长预约不能填写车牌号
             sv.setVisitReason(par.getVisitReason());
             sv.setStatu(eApproveStatu.Audit.getValue());
             sv.setVisitorTime(TimeExchange.StringToDate(par.getVisitorTime(), "yyyy-MM-dd HH:mm:ss"));
+            sv.setVisitorDeadline(TimeExchange.StringToDate(TimeExchange.TimeDesH(sv.getVisitorTime(),4),"yyyy-MM-dd HH:mm:ss"));
             sv.setRespondent(student.getId());
+            sv.setResponcode(student.getCardNo());
+            sv.setRespondentName(student.getName());
             //将第一个受访学生的部门ID带过去
             sv.setDepartmentId(student.getDepartmentId());
             sv.setVisitorType(eVisitorType.Parent.getValue());
@@ -180,6 +193,7 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
         sv.setVisitReason(oar.getVisitReason());
         sv.setStatu(eApproveStatu.Audit.getValue());
         sv.setVisitorTime(TimeExchange.StringToDate(oar.getVisitorTime(), "yyyy-MM-dd HH:mm:ss"));
+        sv.setVisitorDeadline(TimeExchange.StringToDate(TimeExchange.getEndOfDayStr(new Date()),"yyyy-MM-dd HH:mm:ss"));
         sv.setRespondentName(oar.getRespondentName());
         sv.setRespondentPhone(oar.getRespondentPhone());
         sv.setVisitorType(eVisitorType.Other.getValue());
@@ -190,10 +204,105 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
     }
 
     @Override
-    public CommonResult appointmentPageRecord(int currentPage,int pageCount, int userId, int type) {
+    public CommonResult appointmentPageRecord(int currentPage, int pageCount, int userId, int type) {
         PageUtils<VisitorPageVo> result = smartVisitorService.smartVisitorPageByUserId(currentPage, pageCount, userId, type);
 
         return CommonResult.ok(result);
     }
+
+    /**
+     * 访客记录审核
+     *
+     * @param id   数据ID
+     * @param type 操作类型:
+     *             同意,并推送:1
+     *             拒绝:2
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = {Exception.class})
+    public CommonResult examineRecord(int id, int type) throws Exception {
+        SmartVisitor visitor = smartVisitorService.getSmartById(id);
+        if (visitor == null) {
+            return CommonResult.fail("访客记录已失效,审核失败!");
+        }
+
+        try{
+            if (type == eExamineStatu.Agree.getValue()) {
+                visitor.setStatu(eApproveStatu.Pushed.getValue());
+
+                //家长访客预约才需要将消息推送到希沃电子班牌
+                if (visitor.getVisitorType().intValue() == eVisitorType.Parent.getValue()) {
+                    String content = visitor.getRespondentName() + "你的家长将于" + TimeExchange.chineseDateTime(visitor.getVisitorTime()) + "到校!";
+                    //将预约信息推送到希沃班牌
+                    CommonResult seewo = pushInfo(visitor.getUserPhone(), visitor.getResponcode(), content);
+                    if(!seewo.getCode().equals("200")){
+                        throw new Exception("审核失败");
+                    }
+                }
+                //将数据写入门禁系统逻辑
+                else{
+                    //家长不能使用车牌系统 其他的可以使用车牌逻辑
+
+                }
+
+            } else if (type == eExamineStatu.Refused.getValue()) {
+                visitor.setStatu(eApproveStatu.Refused.getValue());
+            }
+
+            int result = smartVisitorService.updateSmartVisitor(visitor);
+            if(result <= 0){
+                throw new Exception("审核失败");
+            }
+
+        }catch (Exception e){
+            throw new Exception("审核失败");
+        }
+
+        return CommonResult.ok("审核成功");
+    }
+
+    /**
+     * 将预约信息推送到希沃电子班牌
+     *
+     * @param parentPhone 预约手机号(家长手机号 在希沃中学生会和家长手机号绑定 可以绑定多个家长)
+     * @param studentCode 学生编号 希沃中的学生编号和万载系统中的一致
+     * @param content     消息内容
+     * @return
+     */
+    public CommonResult pushInfo(String parentPhone, String studentCode, String content) {
+        //初始化客户端
+        SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
+        HomeSchoolServiceSendNoteToKidParam param = new HomeSchoolServiceSendNoteToKidParam();
+        //响应体,MimeType为 application/json
+        HomeSchoolServiceSendNoteToKidParam.RequestBody requestBody = HomeSchoolServiceSendNoteToKidParam.RequestBody.builder()
+                .build();
+        param.setRequestBody(requestBody);
+        //query
+        HomeSchoolServiceSendNoteToKidParam.Query query = HomeSchoolServiceSendNoteToKidParam.Query.builder()
+                .appId(seewoConfig.getAppId())
+                .schoolUid(seewoConfig.getSchoolId())
+                .senderPhone(parentPhone)
+                .studentCode(studentCode)
+                .type(1)
+                .content(content)
+                .autoRegister(0)
+                .build();
+        requestBody.setQuery(query);
+        param.setRequestBody(requestBody);
+        HomeSchoolServiceSendNoteToKidRequest request = new HomeSchoolServiceSendNoteToKidRequest(param);
+        System.out.println("入参:" + request);
+        //如果想要调用沙箱环境,请通过设置 request 对象的 serverUrl 属性,如:
+        //request.setServerUrl("https://openapi.test.seewo.com")
+        //执行请求,如果想获取到com.seewo.open.sdk.HttpResponse对象,请调用 seewoClient.execute 方法
+        HomeSchoolServiceSendNoteToKidResult result = seewoClient.invoke(request);
+        System.out.println("出参:" + result);
+        if(!result.getMessage().equals("success")){
+            CommonResult.fail();
+        }
+
+        return CommonResult.ok();
+    }
+
 }
 

+ 37 - 0
src/main/java/com/template/controller/UploadController.java

@@ -0,0 +1,37 @@
+package com.template.controller;
+
+
+import com.template.api.UploadControllerAPI;
+import com.template.model.result.CommonResult;
+import com.template.services.SmartUploadService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-03-30
+ */
+@RestController
+public class UploadController implements UploadControllerAPI {
+
+    @Autowired
+    private SmartUploadService smartUploadService;
+
+    @Override
+    public CommonResult toCos(MultipartFile[] files) {
+        String result = smartUploadService.upload(files);
+        return result == null ? CommonResult.fail("上传失败") : CommonResult.ok("200","上传成功",result);
+    }
+
+    @Override
+    public CommonResult deleteFile(String fileName) {
+        smartUploadService.deleteByFileName(fileName);
+        return CommonResult.ok("删除成功");
+    }
+}
+

+ 55 - 0
src/main/java/com/template/model/enumModel/eExamineStatu.java

@@ -0,0 +1,55 @@
+package com.template.model.enumModel;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/7/6 星期四 16:34
+ * @Description: com.template.model.enumModel
+ * @Version: 1.0
+ * 账号状态
+ */
+public enum eExamineStatu {
+    Agree(1),//同意,并推送
+    Refused(2);//已拒绝
+
+    private int value;
+
+    eExamineStatu(int value){
+        this.value = value;
+    }
+
+    public int getValue() {
+        return value;
+    }
+    public static eExamineStatu valueOf(int value) {
+        switch (value) {
+            case 1:
+                return eExamineStatu.Agree;
+            case 2:
+                return eExamineStatu.Refused;
+            default:
+                return null;
+        }
+    }
+
+    public static Integer integerOf(String value) {
+        switch (value) {
+            case "同意":
+                return 1;
+            case "已拒绝":
+                return 2;
+            default:
+                return null;
+        }
+    }
+
+    public static String stringOf(Integer value) {
+        switch (value) {
+            case 1:
+                return "同意";
+            case 2:
+                return "已拒绝";
+            default:
+                return null;
+        }
+    }
+}

+ 266 - 0
src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidParam.java

@@ -0,0 +1,266 @@
+package com.template.model.pojo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiParam;
+import com.seewo.open.sdk.ParameterPosition;
+
+/**
+ * seewo-open API: 家长或老师发送留言给学生
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class HomeSchoolServiceSendNoteToKidParam extends OpenApiParam {
+
+
+    /**
+     * 响应体,MimeType为 application/json
+     */
+
+    private RequestBody requestBody;
+
+
+    public RequestBody getRequestBody() {
+        return this.requestBody;
+    }
+
+    public void setRequestBody(RequestBody requestBody) {
+        this.requestBody = requestBody;
+    }
+
+    public static HomeSchoolServiceSendNoteToKidParamBuilder builder(){
+        return new HomeSchoolServiceSendNoteToKidParamBuilder();
+    }
+
+    public static class HomeSchoolServiceSendNoteToKidParamBuilder{
+        private RequestBody requestBody;
+
+        public HomeSchoolServiceSendNoteToKidParamBuilder requestBody(RequestBody requestBody){
+            this.requestBody = requestBody;
+            return this;
+        }
+
+        public HomeSchoolServiceSendNoteToKidParam build(){
+            HomeSchoolServiceSendNoteToKidParam param = new HomeSchoolServiceSendNoteToKidParam();
+            param.setRequestBody(requestBody);
+            return param;
+        }
+    }
+
+    public static class RequestBody {
+        /**
+         * query
+         */
+        private Query query;
+
+        public Query getQuery() {
+            return this.query;
+        }
+
+        public void setQuery(Query query) {
+            this.query = query;
+        }
+
+
+        public static RequestBodyBuilder builder(){
+            return new RequestBodyBuilder();
+        }
+
+        public static class RequestBodyBuilder{
+            private Query query;
+
+            public RequestBodyBuilder query(Query query){
+                this.query = query;
+                return this;
+            }
+
+            public RequestBody build(){
+                RequestBody param = new RequestBody();
+                param.setQuery(query);
+                return param;
+            }
+        }
+    }
+
+    public static class Query {
+        /**
+         * appId
+         */
+        private String appId;
+        /**
+         * 学校ID
+         */
+        private String schoolUid;
+        /**
+         * 发送者手机号
+         */
+        private String senderPhone;
+        /**
+         * 接受者学号
+         */
+        private String studentCode;
+        /**
+         * 消息类型,留言类型:0、1文本,3语音,4图片,5表情,6贺卡
+         */
+        private Integer type;
+        /**
+         * 留言内容
+         */
+        private String content;
+        /**
+         * 语音,图片文件地址
+         */
+        private String resUrl;
+        /**
+         * 发送者手机号是否自动注册希沃帐号,0否,1是
+         */
+        private Integer autoRegister;
+        /**
+         * 语音长度,单位秒
+         */
+        private Integer voiceTime;
+
+        public String getAppId() {
+            return this.appId;
+        }
+
+        public void setAppId(String appId) {
+            this.appId = appId;
+        }
+
+        public String getSchoolUid() {
+            return this.schoolUid;
+        }
+
+        public void setSchoolUid(String schoolUid) {
+            this.schoolUid = schoolUid;
+        }
+
+        public String getSenderPhone() {
+            return this.senderPhone;
+        }
+
+        public void setSenderPhone(String senderPhone) {
+            this.senderPhone = senderPhone;
+        }
+
+        public String getStudentCode() {
+            return this.studentCode;
+        }
+
+        public void setStudentCode(String studentCode) {
+            this.studentCode = studentCode;
+        }
+
+        public Integer getType() {
+            return this.type;
+        }
+
+        public void setType(Integer type) {
+            this.type = type;
+        }
+
+        public String getContent() {
+            return this.content;
+        }
+
+        public void setContent(String content) {
+            this.content = content;
+        }
+
+        public String getResUrl() {
+            return this.resUrl;
+        }
+
+        public void setResUrl(String resUrl) {
+            this.resUrl = resUrl;
+        }
+
+        public Integer getAutoRegister() {
+            return this.autoRegister;
+        }
+
+        public void setAutoRegister(Integer autoRegister) {
+            this.autoRegister = autoRegister;
+        }
+
+        public Integer getVoiceTime() {
+            return this.voiceTime;
+        }
+
+        public void setVoiceTime(Integer voiceTime) {
+            this.voiceTime = voiceTime;
+        }
+
+
+        public static QueryBuilder builder(){
+            return new QueryBuilder();
+        }
+
+        public static class QueryBuilder{
+            private String appId;
+            private String schoolUid;
+            private String senderPhone;
+            private String studentCode;
+            private Integer type;
+            private String content;
+            private String resUrl;
+            private Integer autoRegister;
+            private Integer voiceTime;
+
+            public QueryBuilder appId(String appId){
+                this.appId = appId;
+                return this;
+            }
+            public QueryBuilder schoolUid(String schoolUid){
+                this.schoolUid = schoolUid;
+                return this;
+            }
+            public QueryBuilder senderPhone(String senderPhone){
+                this.senderPhone = senderPhone;
+                return this;
+            }
+            public QueryBuilder studentCode(String studentCode){
+                this.studentCode = studentCode;
+                return this;
+            }
+            public QueryBuilder type(Integer type){
+                this.type = type;
+                return this;
+            }
+            public QueryBuilder content(String content){
+                this.content = content;
+                return this;
+            }
+            public QueryBuilder resUrl(String resUrl){
+                this.resUrl = resUrl;
+                return this;
+            }
+            public QueryBuilder autoRegister(Integer autoRegister){
+                this.autoRegister = autoRegister;
+                return this;
+            }
+            public QueryBuilder voiceTime(Integer voiceTime){
+                this.voiceTime = voiceTime;
+                return this;
+            }
+
+            public Query build(){
+                Query param = new Query();
+                param.setAppId(appId);
+                param.setSchoolUid(schoolUid);
+                param.setSenderPhone(senderPhone);
+                param.setStudentCode(studentCode);
+                param.setType(type);
+                param.setContent(content);
+                param.setResUrl(resUrl);
+                param.setAutoRegister(autoRegister);
+                param.setVoiceTime(voiceTime);
+                return param;
+            }
+        }
+    }
+
+
+}

+ 35 - 0
src/main/java/com/template/model/pojo/HomeSchoolServiceSendNoteToKidRequest.java

@@ -0,0 +1,35 @@
+package com.template.model.pojo;
+
+import java.util.*;
+import com.seewo.open.sdk.OpenApiParam;
+import com.seewo.open.sdk.OpenApiRequest;
+
+/**
+ * seewo-open API: 家长或老师发送留言给学生
+ *
+ *
+ * @author auto create
+ * @since 2.0.1 2023-12-19
+ */
+public class HomeSchoolServiceSendNoteToKidRequest extends OpenApiRequest<HomeSchoolServiceSendNoteToKidParam, HomeSchoolServiceSendNoteToKidResult> {
+
+    public HomeSchoolServiceSendNoteToKidRequest(HomeSchoolServiceSendNoteToKidParam param) {
+        this();
+        setBizModel(param);
+    }
+
+    public HomeSchoolServiceSendNoteToKidRequest() {
+        setServerUrl("https://openapi.seewo.com");
+        setPath("/seewo-yunban-api/home-school-service/send-note-to-kid");
+        setHttpMethod("POST");
+    }
+
+    public Class<HomeSchoolServiceSendNoteToKidResult> getResponseClass() {
+        return HomeSchoolServiceSendNoteToKidResult.class;
+    }
+
+    public Class<HomeSchoolServiceSendNoteToKidParam> getDomainClass() {
+        return HomeSchoolServiceSendNoteToKidParam.class;
+    }
+}
+

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

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

+ 14 - 0
src/main/java/com/template/model/pojo/SmartVisitor.java

@@ -49,6 +49,9 @@ public class SmartVisitor implements Serializable {
     @ApiModelProperty(value = "同行人数")
     private Integer peerNum;
 
+    /**
+     * 家长预约 去掉车牌号字段
+     */
     @ApiModelProperty(value = "车牌号")
     private String carNum;
 
@@ -61,9 +64,20 @@ public class SmartVisitor implements Serializable {
     @ApiModelProperty(value = "来访时间")
     private Date visitorTime;
 
+    /**
+     * 来访截止时间
+     * 家长预约的话 来访时间+4小时
+     * 其他访客时间 当天23:59:59秒结束
+     */
+    @ApiModelProperty(value = "来访截止时间")
+    private Date visitorDeadline;
+
     @ApiModelProperty(value = "受访者ID")
     private Integer respondent;
 
+    @ApiModelProperty(value = "受访者编号")
+    private String responcode;
+
     @ApiModelProperty(value = "部门ID")
     private Integer departmentId;
 

+ 27 - 0
src/main/java/com/template/services/SmartUploadService.java

@@ -0,0 +1,27 @@
+package com.template.services;
+
+import com.template.model.result.CommonResult;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-07-05
+ */
+public interface SmartUploadService{
+    /**
+     * 上传文件到cos
+     * @param files
+     * @return
+     */
+    String upload(MultipartFile[] files);
+
+    /**
+     * 根据文件名称删除附件
+     * @param fileName
+     */
+    void deleteByFileName(String fileName);
+}

+ 0 - 1
src/main/java/com/template/services/SystemUserService.java

@@ -14,6 +14,5 @@ import com.template.model.result.CommonResult;
  */
 public interface SystemUserService extends IService<SystemUser> {
 
-    CommonResult verifyPhone(String phone);
 
 }

+ 137 - 0
src/main/java/com/template/services/impl/SmartUploadServiceImpl.java

@@ -0,0 +1,137 @@
+package com.template.services.impl;
+
+import cn.hutool.core.util.StrUtil;
+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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qcloud.cos.COSClient;
+import com.qcloud.cos.model.CannedAccessControlList;
+import com.qcloud.cos.model.ObjectMetadata;
+import com.qcloud.cos.model.PutObjectRequest;
+import com.template.common.utils.TimeExchange;
+import com.template.config.CosConfig;
+import com.template.mapper.SmartUserMapper;
+import com.template.model.pojo.SmartUser;
+import com.template.model.result.CommonResult;
+import com.template.model.result.PageUtils;
+import com.template.model.vo.AffiliateUserVo;
+import com.template.services.SmartUploadService;
+import com.template.services.SmartUserService;
+import org.joda.time.DateTime;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-12-04
+ */
+@Service
+public class SmartUploadServiceImpl implements SmartUploadService {
+
+    @Resource
+    private COSClient cosClient;
+
+    @Resource
+    private CosConfig cosConfig;
+
+    @Override
+    public String upload(MultipartFile[] files) {
+        String response = null;
+        String res = "";
+        try {
+            for (MultipartFile file : files) {
+                System.out.println("运行时间1:"+ TimeExchange.DateToString(new Date()));
+                String originalFileName = file.getOriginalFilename();
+                System.out.println("运行时间2:"+ TimeExchange.DateToString(new Date()));
+                // 获得文件流
+                InputStream inputStream = null;
+                System.out.println("运行时间3:"+ TimeExchange.DateToString(new Date()));
+                inputStream = file.getInputStream();
+                System.out.println("运行时间4:"+ TimeExchange.DateToString(new Date()));
+                // 设置文件路径
+                String filePath = getFilePath(originalFileName, "static/");
+                System.out.println("运行时间5:"+ TimeExchange.DateToString(new Date()));
+                // 上传文件
+                String bucketName = cosConfig.getBucketName();
+                System.out.println("运行时间6:"+ TimeExchange.DateToString(new Date()));
+                ObjectMetadata objectMetadata = new ObjectMetadata();
+                System.out.println("运行时间7:"+ TimeExchange.DateToString(new Date()));
+                objectMetadata.setContentLength(file.getSize());
+                System.out.println("运行时间8:"+ TimeExchange.DateToString(new Date()));
+                objectMetadata.setContentType(file.getContentType());
+                System.out.println("运行时间9:"+ TimeExchange.DateToString(new Date()));
+                PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, filePath, inputStream, objectMetadata);
+                System.out.println("运行时间10:"+ TimeExchange.DateToString(new Date()));
+                cosClient.putObject(putObjectRequest);
+                System.out.println("运行时间11:"+ TimeExchange.DateToString(new Date()));
+                cosClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead);
+                System.out.println("运行时间12:"+ TimeExchange.DateToString(new Date()));
+                String url = cosConfig.getPath() + "/" + filePath;
+                System.out.println("运行时间11:"+ TimeExchange.DateToString(new Date()));
+                res += url + ",";
+            }
+            String paths = res.substring(0, res.length() - 1);
+            response = paths;
+            return response;
+        } catch (IOException e) {
+            e.printStackTrace();
+        } finally {
+            cosClient.shutdown();
+        }
+        return response;
+    }
+
+    @Override
+    public void deleteByFileName(String fileName) {
+        cosConfig.cosClient();
+        // 文件桶内路径
+        String filePath = getDelFilePath(fileName, "static/");
+        cosClient.deleteObject(cosConfig.getBucketName(), filePath);
+    }
+
+
+    /**
+     * 生成文件路径
+     * @param originalFileName 原始文件名称
+     * @param folder 存储路径
+     * @return
+     */
+    private String getFilePath(String originalFileName, String folder) {
+        // 获取后缀名
+        String fileType = originalFileName.substring(originalFileName.lastIndexOf("."));
+        // 以文件后缀来存储在存储桶中生成文件夹方便管理
+        String filePath = folder + "/";
+        // 去除文件后缀 替换所有特殊字符
+        String fileStr = StrUtil.removeSuffix(originalFileName, fileType).replaceAll("[^0-9a-zA-Z\\u4e00-\\u9fa5]", "_");
+        filePath += new DateTime().toString("yyyyMMddHHmmss") + "_" + fileStr + fileType;
+        return filePath;
+    }
+    /**
+     * 生成文件路径
+     * @param originalFileName 原始文件名称
+     * @param folder 存储路径
+     * @return
+     */
+    private String getDelFilePath(String originalFileName, String folder) {
+        // 获取后缀名
+        String fileType = originalFileName.substring(originalFileName.lastIndexOf("."));
+        // 以文件后缀来存储在存储桶中生成文件夹方便管理
+        String filePath = folder + "/";
+        // 去除文件后缀 替换所有特殊字符
+        String fileStr = StrUtil.removeSuffix(originalFileName, fileType).replaceAll("[^0-9a-zA-Z\\u4e00-\\u9fa5]", "_");
+        filePath += fileStr + fileType;
+        return filePath;
+    }
+}

+ 0 - 63
src/main/java/com/template/services/impl/SystemUserServiceImpl.java

@@ -2,7 +2,6 @@ package com.template.services.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.tencentcloudapi.sms.v20210111.models.SendStatus;
 import com.template.config.MySecurity;
 import com.template.mapper.SystemUserMapper;
 import com.template.model.pojo.SmsCode;
@@ -38,66 +37,4 @@ public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemU
      */
     @Autowired
     MySecurity mySecurity;
-
-    /**
-     * 判断手机号是否符合发送验证码的要求
-     * @param phone
-     * @return
-     */
-    @Override
-    @Transactional(rollbackFor=Exception.class )
-    public CommonResult verifyPhone(String phone) {
-//        String privateKey = mySecurity.getPrivateKey();
-//        postman传参会将+转换成空格
-//        phone=phone.replace(" ","+");
-//        String decrypt;
-//        try {
-//             decrypt = RSAUtils.decrypt(phone, RSAUtils.getPrivateKey(privateKey));
-//        } catch (Exception e) {
-//            return CommonResult.fail("500","解密失败");
-//        }
-//        phone=decrypt;
-        if (ObjectUtils.isEmpty(phone) || 11 != phone.length()) {
-            return CommonResult.resultValue(ResponseStatusEnum.SEND_PARAMS);
-        }
-        LambdaQueryWrapper<SystemUser> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(SystemUser::getPhoneNumber, phone);
-        SystemUser one = this.getOne(wrapper);
-        if (ObjectUtils.isEmpty(one)) {
-            return CommonResult.resultValue(ResponseStatusEnum.SYSTEM_PHONE_ERROR);
-        }
-
-        LambdaQueryWrapper<SmsCode> wrappers=new LambdaQueryWrapper<>();
-        wrappers.eq(SmsCode::getPhoneNumber,phone);
-        wrappers.ge(SmsCode::getExpirationTime,new Date());
-        wrappers.eq(SmsCode::getIsVerify,"0");
-        int count = smsCodeService.count(wrappers);
-        if (count>0) {
-            return CommonResult.fail("500","请不要频繁操作");
-        }
-        //         随机验证码
-        int vode= ValidateCode.generateValidateCode(6);
-        String code=String.valueOf(vode);
-        SmsCode smsCode = new SmsCode();
-        smsCode.setPhoneNumber(phone);
-        phone = "+86" + phone;
-//        发送短信
-        SendStatus[] ret = SendSms.sendSms(phone,code);
-//        获取code
-        String code1 = ret[0].getCode();
-//        判断短信是否发送成功
-        if ("LimitExceeded.PhoneNumberDailyLimit".equals(code1)) {
-            return CommonResult.fail("500","手机号已超过发送上限");
-        }
-
-//            发送成功后存储到短信表
-            smsCode.setCode(code);
-            long time = new Date().getTime() + 60000L;
-            smsCode.setExpirationTime(new Date(time));
-            smsCode.setIsVerify("0");
-            smsCode.setDeleted(0L);
-            smsCodeService.save(smsCode);
-
-        return CommonResult.ok();
-    }
 }

+ 17 - 0
src/main/resources/application-dev.yml

@@ -6,6 +6,10 @@ server:
 spring:
   main:
     allow-circular-references: true
+  servlet:
+    multipart:
+      max-file-size: 100MB
+      max-request-size: 150MB
   datasource:
     username: root
     password: Chuanghai2023.
@@ -41,6 +45,19 @@ mybatis-plus:
       logic-delete-value: 1
       logic-not-delete-value: 0
 
+#cos存储对象
+cos:
+  secretId: AKIDCPVZdcWIxgHpy5FYxVyPiqkZGrhdXUBg
+  secretKey: NkyCN3cz97qKaeXLvHOGxOcdS8f184pL
+  region: ap-shanghai
+  bucketName: wanzai-1306339220
+  path: https://wanzai-1306339220.cos.ap-shanghai.myqcloud.com
+
+seewo:
+  appId: bb8e2a14ea7e4a8fa52519bd4b7af70e
+  appSecret: v0hzESDaM1tAvgVLweB8WQOWjNyWR8O5
+  schoolId: 94a52d6f95c14de2b2f0293dc4f64460
+
 #腾讯云
 tencentcloud:
   secretID: AKIDDPo13qZCZqtgJsGQL7AyYu1wc7QVMyLl  #签名

+ 4 - 0
src/main/resources/application-prod.yml

@@ -6,6 +6,10 @@ server:
 spring:
   main:
     allow-circular-references: true
+  servlet:
+    multipart:
+      max-file-size: 100MB
+      max-request-size: 150MB
   datasource:
     username: root
     password: Chuanghai2023.

+ 4 - 0
src/main/resources/application.yml

@@ -8,6 +8,10 @@ spring:
       active: dev
   main:
     allow-circular-references: true
+  servlet:
+    multipart:
+      max-file-size: 100MB
+      max-request-size: 150MB
   datasource:
     username: root
     password: Chuanghai2023.

+ 12 - 0
target/classes/application-dev.yml

@@ -6,6 +6,10 @@ server:
 spring:
   main:
     allow-circular-references: true
+  servlet:
+    multipart:
+      max-file-size: 100MB
+      max-request-size: 150MB
   datasource:
     username: root
     password: Chuanghai2023.
@@ -41,6 +45,14 @@ mybatis-plus:
       logic-delete-value: 1
       logic-not-delete-value: 0
 
+#cos存储对象
+cos:
+  secretId: AKIDCPVZdcWIxgHpy5FYxVyPiqkZGrhdXUBg
+  secretKey: NkyCN3cz97qKaeXLvHOGxOcdS8f184pL
+  region: ap-shanghai
+  bucketName: wanzai-1306339220
+  path: https://wanzai-1306339220.cos.ap-shanghai.myqcloud.com
+
 #腾讯云
 tencentcloud:
   secretID: AKIDDPo13qZCZqtgJsGQL7AyYu1wc7QVMyLl  #签名

+ 4 - 0
target/classes/application-prod.yml

@@ -6,6 +6,10 @@ server:
 spring:
   main:
     allow-circular-references: true
+  servlet:
+    multipart:
+      max-file-size: 100MB
+      max-request-size: 150MB
   datasource:
     username: root
     password: Chuanghai2023.

+ 4 - 0
target/classes/application.yml

@@ -8,6 +8,10 @@ spring:
       active: dev
   main:
     allow-circular-references: true
+  servlet:
+    multipart:
+      max-file-size: 100MB
+      max-request-size: 150MB
   datasource:
     username: root
     password: Chuanghai2023.

+ 19 - 2
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -9,7 +9,6 @@ com\template\controller\RepairAdminController.class
 com\template\model\vo\SystemMenuVo.class
 com\template\mapper\RepairAdminMapper.class
 com\template\model\request\insertFreezeRecordRequest.class
-com\template\controller\SendController.class
 com\template\services\SmartDataClassService.class
 com\template\model\request\manualFreezingRequest.class
 com\template\controller\SmartMeterController.class
@@ -29,10 +28,12 @@ com\template\common\utils\TimeExchange$1.class
 com\template\api\SmartDepartmentControllerAPI.class
 com\template\services\SmartScreenshotRecordService.class
 com\template\model\vo\ApplyVo.class
+com\template\api\SmartDataTaskControllerAPI.class
 com\template\model\result\CommonResult.class
 com\template\model\pojo\SmartAuthorGroup.class
 com\template\api\SmartVisitorControllerAPI.class
 com\template\controller\SmartAuthorityController.class
+com\template\services\impl\SmartUploadServiceImpl.class
 com\template\MybatisPlusApplication.class
 com\template\services\impl\SmartAuthorityServiceImpl.class
 com\template\common\result\Code.class
@@ -54,7 +55,6 @@ com\template\mapper\SystemUserMapper.class
 com\template\services\RepairAdminService.class
 com\template\model\vo\ScreenshotRecordPageVo.class
 com\template\common\utils\SendSms.class
-com\template\api\SendControllerAPI.class
 com\template\model\vo\AffiliateUserVo.class
 com\template\services\impl\SmartApplyServiceImpl.class
 com\template\controller\SmartFreezeRecordController.class
@@ -63,6 +63,8 @@ com\template\annotation\PassToken.class
 com\template\common\exception\EmsExceptionHandler.class
 com\template\mapper\SmartUserMapper.class
 com\template\api\SmartAuthorGroupControllerAPI.class
+com\template\model\enumModel\eVisitorType.class
+com\template\model\enumModel\eApproveStatu.class
 com\template\services\impl\SmartUserServiceImpl.class
 com\template\mapper\SmsCodeMapper.class
 com\template\api\ExcelControllerAPI.class
@@ -84,6 +86,7 @@ com\template\controller\SmartSchoolController.class
 com\template\model\pojo\SmartMeterDetail.class
 com\template\controller\SmartApplyController.class
 com\template\mapper\SmartDepartmentMapper.class
+com\template\services\SmartDataTaskService.class
 com\template\mapper\SmartVisitorMapper.class
 com\template\model\pojo\SmartVisitor.class
 com\template\model\vo\SmartEnumVo.class
@@ -95,10 +98,13 @@ com\template\model\request\changePasswordRequest.class
 com\template\services\impl\SystemMenuServiceImpl.class
 com\template\services\SmartBuildService.class
 com\template\mapper\SmartScreenshotRecordMapper.class
+com\template\controller\UploadController.class
 com\template\api\SmartDataClassControllerAPI.class
 com\template\services\SmartWarningService.class
 com\template\mapper\SmartBuildMeterMapper.class
 com\template\model\vo\SmartFreezeRecordPageVo.class
+com\template\common\utils\QuartzJobUtils.class
+com\template\model\request\parentsAppointmentRequest.class
 com\template\common\utils\EncryptionUtil.class
 com\template\model\pojo\SmartBuild.class
 com\template\services\impl\SmartMeterServiceImpl.class
@@ -118,6 +124,7 @@ com\template\model\pojo\SystemMenu.class
 com\template\controller\SmartIdentityController.class
 com\template\services\SmsCodeService.class
 META-INF\spring-configuration-metadata.json
+com\template\model\pojo\SmartDataTask.class
 com\template\common\utils\JWTUtil.class
 com\template\model\request\updateIdentityRequest.class
 com\template\services\impl\SmartWarningServiceImpl.class
@@ -136,6 +143,7 @@ com\template\model\pojo\SmartDataSourceLog.class
 com\template\services\SmartAuthorGroupService.class
 com\template\services\SmartSchoolService.class
 com\template\model\pojo\UnitTimeHelpModel.class
+com\template\api\UploadControllerAPI.class
 com\template\controller\SmartMeterDetailController.class
 com\template\core\CORSConfiguration$1.class
 com\template\annotation\ControllerIsShow.class
@@ -144,13 +152,16 @@ com\template\model\request\UpdateSmartSchoolRequest.class
 com\template\model\enumModel\eFreezeRecord.class
 com\template\model\pojo\SmartAuthority.class
 com\template\services\SmartMeterDetailService.class
+com\template\config\CosConfig.class
 com\template\model\enumModel\eIsSuper.class
 com\template\model\pojo\SmartApply.class
 com\template\mapper\SmartDataSourceMapper.class
 com\template\services\SmartDepartmentService.class
 com\template\api\SmartSchoolControllerAPI.class
+com\template\api\Task.class
 com\template\mapper\SmartIdentityMapper.class
 com\template\model\pojo\SystemRole.class
+com\template\model\vo\VisitorPageVo.class
 com\template\model\request\freezeRepairAdminRequest.class
 com\template\common\utils\TimeExchange.class
 com\template\model\pojo\SmartMeter.class
@@ -159,9 +170,13 @@ com\template\services\impl\SmartDataSourceServiceImpl.class
 com\template\core\JwtAuthenticationInterceptor.class
 com\template\mapper\SmartMeterMapper.class
 com\template\mapper\SmartApplyMapper.class
+com\template\services\SmartUploadService.class
 com\template\controller\SmartScreenshotController.class
 com\template\model\vo\SystemMenuTreeVo.class
+com\template\controller\SmartDataTaskController.class
+com\template\model\enumModel\eExamineStatu.class
 com\template\controller\LogInfoController.class
+com\template\services\impl\SmartDataTaskServiceImpl.class
 com\template\model\vo\SystemMenuTreeVo$SystemMenuTreeVoBuilder.class
 com\template\controller\SmartDataSourceController.class
 com\template\model\result\BaseResult.class
@@ -180,12 +195,14 @@ com\template\services\SmartUserService.class
 com\template\common\utils\AesUtils.class
 com\template\services\impl\SmartBuildMeterServiceImpl.class
 com\template\common\result\ResponseStatusEnum.class
+com\template\mapper\SmartDataTaskMapper.class
 com\template\AutoCode.class
 com\template\model\pojo\SmartBuildMeter.class
 com\template\model\pojo\SmartScreenshot.class
 com\template\model\pojo\SmartIdentity.class
 com\template\mapper\SystemMenuMapper.class
 com\template\model\request\updateRepairAdminRequest.class
+com\template\model\request\otherAppointmentRequest.class
 com\template\services\impl\SmartIdentityServiceImpl.class
 com\template\services\SystemMenuService.class
 com\template\api\SmartBuildControllerAPI.class

+ 19 - 2
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -1,5 +1,6 @@
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartScreenshotRecordControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\handle\NonStaticResourceHttpRequestHandler.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\UploadController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartScreenshot.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartMeterServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartDataClass.java
@@ -8,19 +9,22 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\exception\MyCustomException.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\ExcelController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartAuthority.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eVisitorType.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDataSourceController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\ScreenshotRecordPageVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\AutoCode.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\ExcelControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDataTaskController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartUploadServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartAuthorityControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartIdentityService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartBuildMeterControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SystemMenu.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SendControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SystemUser.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartScreenshotRecordMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartWarningController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartScreenshotControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartDataTaskControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartAuthorGroupServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\SmartEnumVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartSchool.java
@@ -28,6 +32,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartMeterControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartBuildMeterMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SystemMenuMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\parentsAppointmentRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartDataSourceLogServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\TimeExchange.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SystemRole.java
@@ -40,6 +45,8 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartBuild.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SystemMenuService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDataClassController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\UploadControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartDataTask.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\RepairAdminMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartIdentityControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\ValidateCode.java
@@ -59,16 +66,17 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartApplyController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartBuildController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\result\PageUtils.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\config\CosConfig.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartIdentityMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartFreezeRecordService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\smsUtil.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SendController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmsCode.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartDepartmentMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDataSourceLogController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartApplyControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eIsSuper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartDepartment.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartUploadService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\config\MySecurity.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eFreezeRecord.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\JWTUtil.java
@@ -102,6 +110,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmsCodeServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\ePunish.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartBuildServiceImpl.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartDataTaskService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartBuildMeterServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\exception\EmsException.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartDataSourceService.java
@@ -122,13 +131,16 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\core\JwtlnterceptorConfig.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\queryAccountPageRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartWarningService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\otherAppointmentRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\insertIdentityRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartIdentityServiceImpl.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\Task.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\config\smsConfig.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartAuthorityMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmsCodeMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartMeter.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartVisitorMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartDataTaskMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartDataSourceLogService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\updateIdentityRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\handler\MyMetaObjectHandler.java
@@ -148,6 +160,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\LoginVO.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\LoginController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\core\JwtAuthenticationInterceptor.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eApproveStatu.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\LoginControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\UpdateSmartSchoolRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SystemUserService.java
@@ -176,7 +189,10 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartVisitorServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartIdentityController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartAuthorGroupController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\VisitorPageVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\freezeRepairAdminRequest.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\QuartzJobUtils.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eExamineStatu.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SystemUserServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartFreezeRecordController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartUserControllerAPI.java
@@ -193,6 +209,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartUserController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartDataSourceServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartDataSourceLogMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartDataTaskServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmsCodeController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartUser.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartMeterDetail.java

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