夏文涛 před 2 roky
rodič
revize
7b52984b53
32 změnil soubory, kde provedl 1202 přidání a 273 odebrání
  1. 336 257
      .idea/workspace.xml
  2. 0 3
      pom.xml
  3. 1 1
      src/main/java/com/template/AutoCode.java
  4. 13 0
      src/main/java/com/template/api/SmartAttendanceControllerAPI.java
  5. 35 0
      src/main/java/com/template/api/SmartDeviceControllerAPI.java
  6. 4 0
      src/main/java/com/template/api/SmartVisitorControllerAPI.java
  7. 105 0
      src/main/java/com/template/common/utils/StrUtils.java
  8. 0 4
      src/main/java/com/template/common/utils/TimeExchange.java
  9. 67 2
      src/main/java/com/template/controller/SmartAttendanceController.java
  10. 103 0
      src/main/java/com/template/controller/SmartDeviceController.java
  11. 99 4
      src/main/java/com/template/controller/SmartVisitorController.java
  12. 18 0
      src/main/java/com/template/mapper/SmartDeviceMapper.java
  13. 2 0
      src/main/java/com/template/mapper/SmartUserMapper.java
  14. 74 0
      src/main/java/com/template/model/pojo/SmartDevice.java
  15. 10 0
      src/main/java/com/template/model/pojo/SmartVisitor.java
  16. 45 0
      src/main/java/com/template/model/request/askForLeaveRequest.java
  17. 16 0
      src/main/java/com/template/model/vo/BsDeviceNoVo.java
  18. 26 0
      src/main/java/com/template/model/vo/BsDeviceVo.java
  19. 16 0
      src/main/java/com/template/model/vo/BsLeaveNoVo.java
  20. 20 0
      src/main/java/com/template/model/vo/BsLeaveVo.java
  21. 38 0
      src/main/java/com/template/model/vo/SmartStudentVo.java
  22. 30 0
      src/main/java/com/template/services/SmartDeviceService.java
  23. 2 0
      src/main/java/com/template/services/SmartUserService.java
  24. 72 0
      src/main/java/com/template/services/impl/SmartDeviceServiceImpl.java
  25. 6 0
      src/main/java/com/template/services/impl/SmartUserServiceImpl.java
  26. 1 1
      src/main/resources/application.yml
  27. 18 0
      src/main/resources/mapper/template/SmartUserMapper.xml
  28. 1 1
      target/classes/application.yml
  29. 18 0
      target/classes/mapper/template/SmartUserMapper.xml
  30. 13 0
      target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  31. 13 0
      target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  32. binární
      target/mybatis_plus-0.0.1-SNAPSHOT.jar.original

+ 336 - 257
.idea/workspace.xml

@@ -2,14 +2,32 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="6c5cf517-721b-44b7-afae-e7b1b913b988" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartDepartmentControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartDepartmentControllerAPI.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/WechatScanLoginController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/WechatScanLoginController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/vo/DepartmentTreeVo.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/DepartmentTreeVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartDeviceControllerAPI.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/StrUtils.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/request/askForLeaveRequest.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/BsDeviceNoVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/BsDeviceVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/BsLeaveNoVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/BsLeaveVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/SmartStudentVo.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/AutoCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/AutoCode.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartAttendanceControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartAttendanceControllerAPI.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/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/SmartAttendanceController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartAttendanceController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartUserMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartUserMapper.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/SmartUserService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartUserService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUserServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUserServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application.yml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/SmartUserMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/SmartUserMapper.xml" 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" />
+      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartUserMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/template/SmartUserMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" beforeDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/classes/" />
     <ignored path="$PROJECT_DIR$/target/" />
@@ -24,29 +42,95 @@
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="158">
+              <caret line="464" lean-forward="true" selection-start-line="464" selection-end-line="464" />
+            </state>
+          </provider>
+        </entry>
+      </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/WechatScanLoginController.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartVisitorControllerAPI.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="329">
-              <caret line="127" column="122" lean-forward="true" selection-start-line="127" selection-start-column="122" selection-end-line="127" selection-end-column="122" />
+            <state relative-caret-position="413">
+              <caret line="126" column="86" selection-start-line="126" selection-start-column="78" selection-end-line="126" selection-end-column="86" />
             </state>
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java">
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/BsDeviceVo.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="473">
+              <caret line="23" column="24" selection-start-line="23" selection-start-column="24" selection-end-line="23" selection-end-column="24" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartScore.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="292">
+              <caret line="72" column="12" selection-start-line="72" selection-start-column="12" selection-end-line="72" selection-end-column="12" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartAttendanceControllerAPI.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="413">
+              <caret line="62" column="65" lean-forward="true" selection-start-line="62" selection-start-column="65" selection-end-line="62" selection-end-column="65" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartAttendanceController.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="215">
+              <caret line="252" selection-start-line="252" selection-end-line="252" />
+              <folding>
+                <element signature="imports" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/askForLeaveRequest.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="312">
+              <caret line="36" column="28" selection-start-line="36" selection-start-column="19" selection-end-line="36" selection-end-column="28" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="161">
+              <caret line="7" column="18" selection-start-line="7" selection-start-column="18" selection-end-line="7" selection-end-column="18" />
+            </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="317">
-              <caret line="290" column="62" lean-forward="true" selection-start-line="290" selection-start-column="62" selection-end-line="290" selection-end-column="62" />
+            <state relative-caret-position="263">
+              <caret line="69" column="14" selection-start-line="69" selection-start-column="14" selection-end-line="69" selection-end-column="14" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/weixin/HttpParame.java">
+        <entry file="file://$PROJECT_DIR$/src/main/resources/application-prod.yml">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-4">
-              <caret line="14" lean-forward="true" selection-start-line="14" selection-end-line="14" />
+            <state relative-caret-position="376">
+              <caret line="70" column="2" lean-forward="true" selection-start-line="70" selection-start-column="2" selection-end-line="72" selection-end-column="32" />
             </state>
           </provider>
         </entry>
@@ -62,18 +146,7 @@
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>dataFormatter</find>
-      <find>.isEmpty</find>
-      <find>hasTe</find>
-      <find>score</find>
-      <find>classes</find>
-      <find>gradeId</find>
-      <find>导出</find>
-      <find>cos</find>
-      <find>deleteByFileName</find>
-      <find>#{s</find>
       <find>#{startTime</find>
-      <find>请假</find>
       <find>AttendanceRuleListEventByClazzParam</find>
       <find>【事件|课程】根据规则指定日期与班级查询考勤记录</find>
       <find>AttendanceServiceListAttendClassRecordsParam</find>
@@ -92,6 +165,17 @@
       <find>home?</find>
       <find>wechatLoginUrl</find>
       <find>login</find>
+      <find>请假</find>
+      <find>queryLeaveRecords</find>
+      <find>Build</find>
+      <find>楼栋</find>
+      <find>唯一</find>
+      <find>百胜</find>
+      <find>insert</find>
+      <find>repositories</find>
+      <find>Double</find>
+      <find>su</find>
+      <find>deviceNo</find>
     </findStrings>
     <replaceStrings>
       <replace />
@@ -106,6 +190,8 @@
       <replace>考试类型</replace>
       <replace>Examtype</replace>
       <replace>setCellValue</replace>
+      <replace>设备</replace>
+      <replace>Device</replace>
     </replaceStrings>
   </component>
   <component name="Git.Settings">
@@ -114,30 +200,6 @@
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/deleteUserVo.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartSubjectController.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartGrade.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartGradeController.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/UserDeleteVo.java" />
-        <option value="$PROJECT_DIR$/src/main/resources/mapper/template/SmartUserMapper.xml" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartUserMapper.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUserServiceImpl.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartUserService.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartUserControllerAPI.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartAttendanceController.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/AutoCode.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartExamtypeMapper.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartExamtype.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartWarningController.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/ScheduleController.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartExamtypeControllerAPI.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartExamtypeController.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartExamtypeService.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartExamtypeServiceImpl.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/model/request/updateScoreRequest.java" />
-        <option value="$PROJECT_DIR$/src/main/resources/mapper/template/SmartAuthorGroupMapper.xml" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartAuthorGroupMapper.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartAuthorGroupService.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartAuthorGroupServiceImpl.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartScoreService.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartScoreServiceImpl.java" />
@@ -159,12 +221,36 @@
         <option value="$PROJECT_DIR$/src/main/resources/application-prod.yml" />
         <option value="$PROJECT_DIR$/src/main/resources/application-dev.yml" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eTimeGroup.java" />
-        <option value="$PROJECT_DIR$/src/main/resources/application.yml" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartDepartmentControllerAPI.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartAuthorityService.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/DepartmentTreeVo.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/WechatScanLoginController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/SmartStudentVo.java" />
+        <option value="$PROJECT_DIR$/src/main/resources/mapper/template/SmartUserMapper.xml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartUserMapper.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartUserService.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUserServiceImpl.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/model/request/askForLeaveRequest.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartAttendanceControllerAPI.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/BsLeaveVo.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/BsLeaveNoVo.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/AutoCode.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartDeviceMapper.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartDeviceControllerAPI.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDeviceController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartVisitor.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartDeviceService.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDeviceServiceImpl.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/StrUtils.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/BsDeviceNoVo.java" />
+        <option value="$PROJECT_DIR$/pom.xml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange.java" />
+        <option value="$PROJECT_DIR$/src/main/resources/application.yml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartAttendanceController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartVisitorControllerAPI.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/BsDeviceVo.java" />
       </list>
     </option>
   </component>
@@ -188,6 +274,11 @@
           <item name="mybatis_plus" type="9519ce18:MavenProjectsStructure$ProjectNode" />
           <item name="Lifecycle" type="58874e2:MavenProjectsStructure$LifecycleNode" />
         </path>
+        <path>
+          <item name="" type="16c1761:MavenProjectsStructure$RootNode" />
+          <item name="mybatis_plus" type="9519ce18:MavenProjectsStructure$ProjectNode" />
+          <item name="Dependencies" type="f4be9f2a:MavenProjectsStructure$DependenciesNode" />
+        </path>
       </expand>
       <select />
     </treeState>
@@ -195,7 +286,7 @@
   <component name="MavenRunner">
     <option name="skipTests" value="true" />
   </component>
-  <component name="ProjectFrameBounds" extendedState="6">
+  <component name="ProjectFrameBounds">
     <option name="x" value="-7" />
     <option name="width" value="958" />
     <option name="height" value="1039" />
@@ -254,7 +345,7 @@
               <item name="main" type="462c0819:PsiDirectoryNode" />
               <item name="java" type="462c0819:PsiDirectoryNode" />
               <item name="template" type="462c0819:PsiDirectoryNode" />
-              <item name="config" type="462c0819:PsiDirectoryNode" />
+              <item name="common" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
@@ -263,7 +354,8 @@
               <item name="main" type="462c0819:PsiDirectoryNode" />
               <item name="java" type="462c0819:PsiDirectoryNode" />
               <item name="template" type="462c0819:PsiDirectoryNode" />
-              <item name="controller" type="462c0819:PsiDirectoryNode" />
+              <item name="common" type="462c0819:PsiDirectoryNode" />
+              <item name="utils" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
@@ -272,16 +364,7 @@
               <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" />
+              <item name="controller" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
@@ -291,7 +374,6 @@
               <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" />
@@ -311,16 +393,6 @@
               <item name="java" type="462c0819:PsiDirectoryNode" />
               <item name="template" type="462c0819:PsiDirectoryNode" />
               <item name="model" type="462c0819:PsiDirectoryNode" />
-              <item name="seewo" 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="vo" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
@@ -361,8 +433,8 @@
           <select />
         </subPane>
       </pane>
-      <pane id="PackagesPane" />
       <pane id="Scope" />
+      <pane id="PackagesPane" />
     </panes>
   </component>
   <component name="PropertiesComponent">
@@ -381,17 +453,18 @@
     <selection>jr</selection>
   </component>
   <component name="RecentsManager">
-    <key name="CopyFile.RECENT_KEYS">
-      <recent name="D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo" />
+    <key name="MoveFile.RECENT_KEYS">
+      <recent name="D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\resources\mapper\template" />
     </key>
     <key name="CopyClassDialog.RECENTS_KEY">
+      <recent name="com.template.model.vo" />
+      <recent name="com.template.common.utils" />
       <recent name="com.template.api" />
+      <recent name="com.template.model.request" />
       <recent name="com.template.controller" />
-      <recent name="com.template.model.vo" />
-      <recent name="com.template.annotation" />
     </key>
-    <key name="MoveFile.RECENT_KEYS">
-      <recent name="D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\resources\mapper\template" />
+    <key name="CopyFile.RECENT_KEYS">
+      <recent name="D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo" />
     </key>
   </component>
   <component name="RunDashboard">
@@ -486,18 +559,20 @@
       <workItem from="1710658855683" duration="119000" />
       <workItem from="1710730122468" duration="2620000" />
       <workItem from="1710813194846" duration="3355000" />
-      <workItem from="1711012645234" duration="24389000" />
+      <workItem from="1711012645234" duration="25220000" />
+      <workItem from="1711416816663" duration="20937000" />
+      <workItem from="1711531778182" duration="4901000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="312304000" />
+    <option name="totallyTimeSpent" value="338973000" />
   </component>
   <component name="ToolWindowManager">
-    <frame x="-8" y="-8" width="1936" height="1048" extended-state="6" />
+    <frame x="-7" y="0" width="958" height="1039" extended-state="0" />
     <editor active="true" />
     <layout>
-      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.10660981" />
+      <window_info content_ui="combo" id="Project" order="0" weight="0.6178038" />
       <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
       <window_info id="Designer" order="2" />
       <window_info id="JRebel" order="3" side_tool="true" />
@@ -508,8 +583,8 @@
       <window_info id="Web" order="8" 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" sideWeight="0.4989059" visible="true" weight="0.22757111" />
-      <window_info anchor="bottom" id="Debug" order="3" sideWeight="0.4989059" weight="0.29540482" />
+      <window_info anchor="bottom" id="Run" order="2" sideWeight="0.4989059" weight="0.42778993" />
+      <window_info active="true" anchor="bottom" id="Debug" order="3" sideWeight="0.4989059" visible="true" weight="0.2917127" />
       <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" />
@@ -517,7 +592,7 @@
       <window_info anchor="bottom" id="Terminal" order="8" />
       <window_info anchor="bottom" id="Docker" order="9" />
       <window_info anchor="bottom" id="Event Log" order="10" sideWeight="0.5010941" side_tool="true" weight="0.3359116" />
-      <window_info anchor="bottom" id="Messages" order="11" weight="0.32275712" />
+      <window_info anchor="bottom" id="Messages" order="11" weight="0.32265192" />
       <window_info anchor="bottom" id="Java Enterprise" order="12" />
       <window_info anchor="bottom" id="Database Changes" order="13" />
       <window_info anchor="bottom" id="Version Control" order="14" />
@@ -526,7 +601,7 @@
       <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" />
-      <window_info anchor="right" id="Maven" order="3" weight="0.5066815" />
+      <window_info anchor="right" id="Maven" order="3" weight="0.5144766" />
       <window_info anchor="right" id="Palette" order="4" />
       <window_info anchor="right" id="Capture Analysis" order="5" />
       <window_info anchor="right" id="Database" order="6" />
@@ -633,6 +708,12 @@
           <properties />
           <option name="timeStamp" value="146" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartAttendanceController.java</url>
+          <line>223</line>
+          <properties />
+          <option name="timeStamp" value="147" />
+        </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
   </component>
@@ -640,369 +721,367 @@
     <SUITE FILE_PATH="coverage/mybatis_plus$MybatisPlusApplication.ic" NAME="MybatisPlusApplication Coverage Results" MODIFIED="1709618808702" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/UploadController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/WechatScanLoginControllerAPI.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="309">
-          <caret line="48" column="43" selection-start-line="48" selection-start-column="27" selection-end-line="48" selection-end-column="43" />
+        <state relative-caret-position="62">
+          <caret line="21" column="23" selection-start-line="21" selection-start-column="18" selection-end-line="21" selection-end-column="23" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/UploadControllerAPI.java">
+    <entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.3.1/spring-context-5.3.1.jar!/org/springframework/ui/Model.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="92">
-          <caret line="12" column="43" selection-start-line="12" selection-start-column="43" selection-end-line="12" selection-end-column="43" />
+        <state relative-caret-position="138">
+          <caret line="11" column="17" selection-start-line="11" selection-start-column="17" selection-end-line="11" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartScoreMapper.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/WechatScanLoginServiceImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="368">
-          <caret line="23" column="302" selection-start-line="23" selection-start-column="296" selection-end-line="23" selection-end-column="302" />
+        <state relative-caret-position="-168">
+          <caret line="54" column="38" lean-forward="true" selection-start-line="54" selection-start-column="38" selection-end-line="54" selection-end-column="38" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmsCodeControllerAPI.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/WechatScanLoginController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="138">
-          <caret line="10" column="17" selection-start-line="10" selection-start-column="17" selection-end-line="10" selection-end-column="17" />
+        <state relative-caret-position="329">
+          <caret line="127" column="122" selection-start-line="127" selection-start-column="122" selection-end-line="127" selection-end-column="122" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartAttendance.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="430">
-          <caret line="50" column="51" selection-start-line="50" selection-start-column="51" selection-end-line="50" selection-end-column="51" />
+        <state relative-caret-position="5865">
+          <caret line="289" column="53" selection-start-line="289" selection-start-column="53" selection-end-line="289" selection-end-column="53" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/ExcelController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/weixin/HttpParame.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-1162">
-          <caret line="20" column="13" selection-start-line="20" selection-start-column="13" selection-end-line="20" selection-end-column="13" />
+        <state relative-caret-position="322">
+          <caret line="14" selection-start-line="14" selection-end-line="14" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/OutdoorScreenControllerAPI.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eIdentityStatu.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="138">
-          <caret line="6" column="35" selection-start-line="6" selection-start-column="35" selection-end-line="6" selection-end-column="35" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state relative-caret-position="184">
+          <caret line="8" column="26" selection-start-line="8" selection-start-column="12" selection-end-line="8" selection-end-column="26" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/AttendanceRuleListEventByClazzParam.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="223">
-          <caret line="13" column="48" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="48" />
-        </state>
-      </provider>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/mapper/template/SystemUserMapper.xml">
+      <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/AttendanceRuleListEventByClazzRequest.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/SmartStudentVo.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="226">
-          <caret line="13" column="13" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="13" />
+        <state relative-caret-position="116">
+          <caret line="11" column="27" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="27" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/ScheduleController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/resources/mapper/template/SmartUserMapper.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="246">
-          <caret line="161" column="66" selection-start-line="161" selection-start-column="66" selection-end-line="161" selection-end-column="66" />
+        <state relative-caret-position="470">
+          <caret line="228" column="87" selection-start-line="228" selection-start-column="73" selection-end-line="228" selection-end-column="87" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/AttendanceRuleListSchoolAttendRuleParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartUserMapper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="218">
-          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
+        <state relative-caret-position="709">
+          <caret line="45" column="74" lean-forward="true" selection-start-line="45" selection-start-column="4" selection-end-line="45" selection-end-column="74" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/AttendanceServiceListAttendClassRecordsParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUserServiceImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="177">
-          <caret line="9" column="26" lean-forward="true" selection-start-line="9" selection-start-column="26" selection-end-line="9" selection-end-column="26" />
+        <state relative-caret-position="631">
+          <caret line="271" column="47" selection-start-line="271" selection-start-column="26" selection-end-line="271" selection-end-column="47" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/ClassServiceBatchSaveClassParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartUserService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="223">
-          <caret line="12" column="44" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="44" />
+        <state relative-caret-position="585">
+          <caret line="90" column="35" selection-start-line="90" selection-start-column="35" selection-end-line="90" selection-end-column="35" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/HomeSchoolServiceSendNoteToKidParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/BsStudentVo.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="85">
-          <caret line="5" column="19" lean-forward="true" selection-start-line="5" selection-start-column="19" selection-end-line="5" selection-end-column="31" />
+        <state relative-caret-position="253">
+          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/OrganizationNodeServiceInitSchoolClassesParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/BsStaffNoVo.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="223">
-          <caret line="13" column="58" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="58" />
+        <state relative-caret-position="253">
+          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/OrgClassOpenSeewoUcOpenV1ClassFullParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/BsLeaveVo.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="223">
-          <caret line="11" column="52" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="52" />
+        <state relative-caret-position="391">
+          <caret line="17" column="24" selection-start-line="17" selection-start-column="24" selection-end-line="17" selection-end-column="24" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/ParentServiceBatchSaveOrUpdateParentsParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/BsGradeNoVo.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="85">
-          <caret line="7" column="30" lean-forward="true" selection-start-line="7" selection-start-column="19" selection-end-line="7" selection-end-column="30" />
+        <state relative-caret-position="253">
+          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/ParentServiceRemoveStudentParentConditionParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/BsLeaveNoVo.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="85">
-          <caret line="7" column="30" lean-forward="true" selection-start-line="7" selection-start-column="19" selection-end-line="7" selection-end-column="30" />
+        <state relative-caret-position="299">
+          <caret line="13" column="31" selection-start-line="13" selection-start-column="31" selection-end-line="13" selection-end-column="31" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartAttendanceController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/AutoCode.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="3236">
-          <caret line="209" column="69" selection-start-line="209" selection-start-column="54" selection-end-line="209" selection-end-column="69" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state relative-caret-position="1058">
+          <caret line="58" column="41" selection-start-line="58" selection-start-column="41" selection-end-line="58" selection-end-column="41" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/PersonalLeaveListSchoolPeriodRecordsParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartDepartmentMapper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="223">
-          <caret line="11" column="54" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="54" />
+        <state relative-caret-position="276">
+          <caret line="14" selection-start-line="14" selection-end-line="14" selection-end-column="11" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/StudentLeaveStudentLeaveRequestHandlerParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/mapper/SmartDeviceMapper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="177">
-          <caret line="10" column="24" lean-forward="true" selection-start-line="10" selection-start-column="24" selection-end-line="10" selection-end-column="24" />
+        <state relative-caret-position="276">
+          <caret line="14" column="11" selection-start-line="14" selection-start-column="11" selection-end-line="14" selection-end-column="11" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/StudentServiceBatchSaveClassStudentsParam.java">
+    <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="223">
-          <caret line="13" column="54" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="54" />
+        <state relative-caret-position="276">
+          <caret line="13" column="17" selection-start-line="13" selection-start-column="17" selection-end-line="13" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/StudentServiceRemoveClassStudentsParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartDepartmentService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="223">
-          <caret line="13" column="51" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="51" />
+        <state relative-caret-position="276">
+          <caret line="17" column="17" selection-start-line="17" selection-start-column="17" selection-end-line="17" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/StudentServiceUpdateStudentInfoParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDutiesServiceImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="223">
-          <caret line="13" column="49" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="49" />
+        <state relative-caret-position="295">
+          <caret line="26" column="13" selection-start-line="26" selection-start-column="13" selection-end-line="26" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/TeacherApiQueryByConditionParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartBuildController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="223">
-          <caret line="13" column="44" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="44" />
+        <state relative-caret-position="654">
+          <caret line="101" column="5" selection-start-line="28" selection-end-line="101" selection-end-column="5" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/TeacherServiceBatchRemoveTeachersParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartDeviceController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="85">
-          <caret line="7" column="27" selection-start-line="7" selection-start-column="19" selection-end-line="7" selection-end-column="27" />
+        <state relative-caret-position="-598">
+          <caret line="34" column="25" selection-start-line="34" selection-start-column="25" selection-end-line="34" selection-end-column="25" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/TeacherServiceBatchSaveOrUpdateTeacherParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartBuildService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="85">
-          <caret line="7" column="28" selection-start-line="7" selection-start-column="19" selection-end-line="7" selection-end-column="28" />
+        <state relative-caret-position="483">
+          <caret line="24" column="36" selection-start-line="16" selection-start-column="4" selection-end-line="24" selection-end-column="36" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/TeacherServiceBatchSetClassMastersParam.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartBuildServiceImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="85">
-          <caret line="7" column="26" selection-start-line="7" selection-start-column="19" selection-end-line="7" selection-end-column="26" />
+        <state relative-caret-position="677">
+          <caret line="60" column="5" selection-start-line="26" selection-start-column="4" selection-end-line="60" selection-end-column="5" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartGradeController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartDeviceControllerAPI.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-2031">
-          <caret line="56" column="52" selection-start-line="56" selection-start-column="52" selection-end-line="56" selection-end-column="52" />
+        <state relative-caret-position="207">
+          <caret line="21" column="65" lean-forward="true" selection-start-line="21" selection-start-column="65" selection-end-line="21" selection-end-column="65" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/config/ControlConfig.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartDevice.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="621">
-          <caret line="29" column="19" selection-start-line="29" selection-start-column="19" selection-end-line="29" selection-end-column="19" />
+        <state relative-caret-position="410">
+          <caret line="49" column="28" selection-start-line="49" selection-start-column="20" selection-end-line="49" selection-end-column="28" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/TeacherServiceBatchRemoveClassMastersParam.java">
+    <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="223">
-          <caret line="13" column="55" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="55" />
+        <state relative-caret-position="149">
+          <caret line="173" column="25" selection-start-line="173" selection-start-column="25" selection-end-line="173" selection-end-column="25" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/application-prod.yml">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartDeviceService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="263">
-          <caret line="67" lean-forward="true" selection-start-line="67" selection-end-line="67" />
+        <state relative-caret-position="529">
+          <caret line="28" column="31" lean-forward="true" selection-start-line="28" selection-start-column="31" selection-end-line="28" selection-end-column="31" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/application-dev.yml">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDeviceServiceImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="23">
-          <caret line="62" selection-start-line="62" selection-end-line="65" selection-end-column="45" />
+        <state relative-caret-position="631">
+          <caret line="65" column="46" selection-start-line="65" selection-start-column="29" selection-end-line="65" selection-end-column="46" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/OutdoorScreenController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartVisitor.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="393">
-          <caret line="48" lean-forward="true" selection-start-line="48" selection-end-line="48" />
+        <state relative-caret-position="295">
+          <caret line="30" column="13" selection-start-line="30" selection-start-column="13" selection-end-line="30" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/TimeGroupVo.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="105">
-          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
+        <state relative-caret-position="24564">
+          <caret line="1068" column="77" selection-start-line="1068" selection-start-column="77" selection-end-line="1068" selection-end-column="77" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#105207#105222#0" />
+            <element signature="e#110141#110155#0" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/BsDeviceNoVo.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="161">
-          <caret line="7" column="17" selection-start-line="7" selection-start-column="17" selection-end-line="7" selection-end-column="17" />
+        <state relative-caret-position="253">
+          <caret line="11" column="25" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="25" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eTimeGroup.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/StrUtils.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="332">
-          <caret line="109" selection-start-line="109" selection-end-line="109" />
+        <state relative-caret-position="230">
+          <caret line="14" column="13" selection-start-line="14" selection-start-column="13" selection-end-line="14" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartDataTaskControllerAPI.java">
+    <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="205">
-          <caret line="21" column="17" selection-start-line="21" selection-start-column="17" selection-end-line="21" selection-end-column="17" />
+        <state relative-caret-position="16146">
+          <caret line="727" column="44" selection-start-line="727" selection-start-column="44" selection-end-line="727" selection-end-column="44" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartDepartmentControllerAPI.java">
+    <entry file="file://$PROJECT_DIR$/pom.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="354">
-          <caret line="42" column="93" selection-start-line="42" selection-start-column="78" selection-end-line="42" selection-end-column="93" />
+        <state relative-caret-position="437">
+          <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/controller/LoginController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartUser.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-1042">
-          <caret line="117" column="9" selection-start-line="117" selection-start-column="9" selection-end-line="117" selection-end-column="9" />
+        <state relative-caret-position="851">
+          <caret line="51" column="25" selection-start-line="51" selection-start-column="19" selection-end-line="51" selection-end-column="25" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartAuthorityService.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartScore.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="458">
-          <caret line="29" column="46" selection-start-line="29" selection-start-column="32" selection-end-line="29" selection-end-column="46" />
+        <state relative-caret-position="292">
+          <caret line="72" column="12" selection-start-line="72" selection-start-column="12" selection-end-line="72" selection-end-column="12" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartAuthorGroupController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/resources/application-dev.yml">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="826">
-          <caret line="83" column="98" selection-start-line="79" selection-start-column="12" selection-end-line="83" selection-end-column="98" />
+        <state relative-caret-position="263">
+          <caret line="69" column="14" selection-start-line="69" selection-start-column="14" selection-end-line="69" selection-end-column="14" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/DepartmentTreeVo.java">
+    <entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="460">
-          <caret line="43" column="44" lean-forward="true" selection-start-line="43" selection-start-column="44" selection-end-line="43" selection-end-column="44" />
+        <state relative-caret-position="161">
+          <caret line="7" column="18" selection-start-line="7" selection-start-column="18" selection-end-line="7" selection-end-column="18" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartUserControllerAPI.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/askForLeaveRequest.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="151">
-          <caret line="101" column="14" selection-start-line="101" selection-start-column="14" selection-end-line="101" selection-end-column="14" />
+        <state relative-caret-position="312">
+          <caret line="36" column="28" selection-start-line="36" selection-start-column="19" selection-end-line="36" selection-end-column="28" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartAttendanceControllerAPI.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="200">
-          <caret line="1614" column="45" selection-start-line="1614" selection-start-column="45" selection-end-line="1614" selection-end-column="45" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state relative-caret-position="413">
+          <caret line="62" column="65" lean-forward="true" selection-start-line="62" selection-start-column="65" selection-end-line="62" selection-end-column="65" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/WechatScanLoginControllerAPI.java">
+    <entry file="file://$PROJECT_DIR$/src/main/resources/application-prod.yml">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="62">
-          <caret line="21" column="23" selection-start-line="21" selection-start-column="18" selection-end-line="21" selection-end-column="23" />
+        <state relative-caret-position="376">
+          <caret line="70" column="2" lean-forward="true" selection-start-line="70" selection-start-column="2" selection-end-line="72" selection-end-column="32" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.3.1/spring-context-5.3.1.jar!/org/springframework/ui/Model.class">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartAttendanceController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="138">
-          <caret line="11" column="17" selection-start-line="11" selection-start-column="17" selection-end-line="11" selection-end-column="17" />
+        <state relative-caret-position="215">
+          <caret line="252" selection-start-line="252" selection-end-line="252" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/weixin/HttpParame.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/turnOnTheDeviceRequest.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-4">
-          <caret line="14" lean-forward="true" selection-start-line="14" selection-end-line="14" />
+        <state relative-caret-position="183">
+          <caret line="12" column="13" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/WechatScanLoginServiceImpl.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/BsDeviceVo.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-168">
-          <caret line="54" column="38" lean-forward="true" selection-start-line="54" selection-start-column="38" selection-end-line="54" selection-end-column="38" />
+        <state relative-caret-position="473">
+          <caret line="23" column="24" selection-start-line="23" selection-start-column="24" selection-end-line="23" selection-end-column="24" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/WechatScanLoginController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartVisitorControllerAPI.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="329">
-          <caret line="127" column="122" lean-forward="true" selection-start-line="127" selection-start-column="122" selection-end-line="127" selection-end-column="122" />
+        <state relative-caret-position="413">
+          <caret line="126" column="86" selection-start-line="126" selection-start-column="78" selection-end-line="126" selection-end-column="86" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="317">
-          <caret line="290" column="62" lean-forward="true" selection-start-line="290" selection-start-column="62" selection-end-line="290" selection-end-column="62" />
+        <state relative-caret-position="158">
+          <caret line="464" lean-forward="true" selection-start-line="464" selection-end-line="464" />
         </state>
       </provider>
     </entry>

+ 0 - 3
pom.xml

@@ -18,10 +18,7 @@
         <java.version>1.8</java.version>
         <tencent.qcloudsms.version>1.0.6</tencent.qcloudsms.version>
     </properties>
-
     <dependencies>
-
-
         <dependency>
             <groupId>com.google.zxing</groupId>
             <artifactId>core</artifactId>

+ 1 - 1
src/main/java/com/template/AutoCode.java

@@ -56,7 +56,7 @@ public class AutoCode {
         mpg.setPackageInfo(pc);
         //4、策略配置
         StrategyConfig strategy = new StrategyConfig();
-        strategy.setInclude("smart_examtype"); // 设置要映射的表名"smart_class","smart_grade","smart_attendance"
+        strategy.setInclude("smart_device"); // 设置要映射的表名"smart_class","smart_grade","smart_attendance"
         strategy.setNaming(NamingStrategy.underline_to_camel);//下划线转驼峰
         strategy.setColumnNaming(NamingStrategy.underline_to_camel);//下划线转驼峰
         strategy.setEntityLombokModel(true); // 自动lombok;

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

@@ -1,6 +1,7 @@
 package com.template.api;
 
 import com.template.model.pojo.SmartAttendance;
+import com.template.model.request.askForLeaveRequest;
 import com.template.model.result.CommonResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -48,4 +49,16 @@ public interface SmartAttendanceControllerAPI {
     @GetMapping(value = "/queryAttendanceList")
     @ApiOperation(value = "首页班级考勤数据", notes = "首页班级考勤数据", httpMethod = "GET")
     CommonResult queryAttendanceList();
+
+
+    /**
+     * 百胜学生请假接口
+     * @param request
+     * @param bindingResult
+     * @return
+     * @throws Exception
+     */
+    @PostMapping(value = "/askForLeave")
+    @ApiOperation(value = "百胜学生请假接口", notes = "百胜学生请假接口", httpMethod = "POST")
+    CommonResult askForLeave(@Validated @RequestBody askForLeaveRequest request, BindingResult bindingResult) throws Exception;
 }

+ 35 - 0
src/main/java/com/template/api/SmartDeviceControllerAPI.java

@@ -0,0 +1,35 @@
+package com.template.api;
+
+import com.template.model.pojo.SmartDevice;
+import com.template.model.result.CommonResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.BindingResult;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/3/30 星期四 17:28
+ * @Description: com.video.api
+ * @Version: 1.0
+ */
+@RequestMapping("/api/smartDevice")
+@Api(tags = {"SmartDeviceControllerAPI"}, value = "设备")
+public interface SmartDeviceControllerAPI {
+    @PostMapping(value = "/insertSmartDevice")
+    @ApiOperation(value = "添加设备", notes = "添加设备数据", httpMethod = "POST")
+    CommonResult insertSmartDevice(@Validated @RequestBody SmartDevice smartDevice, BindingResult bindingResult);
+
+    @PostMapping(value = "/updateSmartDeviceById")
+    @ApiOperation(value = "编辑设备数据", notes = "编辑设备数据", httpMethod = "POST")
+    CommonResult updateSmartDeviceById(@Validated @RequestBody SmartDevice ra, BindingResult bindingResult);
+
+    @GetMapping(value = "/queryPageSmartDevice")
+    @ApiOperation(value = "设备分页数据", notes = "设备分页数据", httpMethod = "GET")
+    CommonResult queryPageSmartDevices(@RequestParam int currentPage, @RequestParam int pageCount, String name);
+
+    @GetMapping(value = "/deleteSmartDeviceById")
+    @ApiOperation(value = "根据ID删除指定设备", notes = "根据ID删除指定设备", httpMethod = "GET")
+    CommonResult deleteSmartDeviceById(@RequestParam int id);
+}

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

@@ -121,4 +121,8 @@ public interface SmartVisitorControllerAPI {
     @ApiOperation(value = "其他访客预约", notes = "其他访客预约", httpMethod = "POST")
     TurnOnDeviceVo turnOnTheDevice(@RequestBody turnOnTheDeviceRequest data) throws JsonProcessingException;
 
+
+    @GetMapping(value = "/testVisitorDevice")
+    @ApiOperation(value = "测试访客设备", notes = "测试访客设备", httpMethod = "GET")
+    CommonResult testVisitorDevice(@RequestParam int id, @RequestParam String deviceNo) throws Exception;
 }

+ 105 - 0
src/main/java/com/template/common/utils/StrUtils.java

@@ -0,0 +1,105 @@
+package com.template.common.utils;
+
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/7/25 星期二 14:20
+ * @Description: com.repair.common.utils
+ * @Version: 1.0
+ */
+public class StrUtils {
+
+    public static String getRandomName(String fileName){
+        int index=fileName.lastIndexOf(".");
+        String houzhui=fileName.substring(index);//获取后缀名
+        String uuidFileName=UUID.randomUUID().toString().replace("-","")+houzhui;
+        return uuidFileName;
+    }
+
+    /**
+     * 采用URL Base64字符,即把“+/”换成“-_”
+     */
+    static private char[] alphabet = "01234567899876543210012345678998765432100123456789987654321001234".toCharArray();//"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789xyz".toCharArray();
+    /**
+     * 获取指定位数的UUID
+     * @param bits 指定位数
+     * @return
+     */
+
+    public static String getUUIDBits(int bits) {
+        UUID uuid = UUID.randomUUID();
+        long msb = uuid.getMostSignificantBits();
+        long lsb = uuid.getLeastSignificantBits();
+        char[] out = new char[24];
+        int tmp = 0, idx = 0;
+
+        // 循环写法
+        int bit = 0, bt1 = 8, bt2 = 8;
+        int mask = 0x00, offsetm = 0, offsetl = 0;
+
+        for(; bit < 16; bit += 3, idx += 4) {
+            offsetm = 64 - (bit + 3) * 8;
+            offsetl = 0;
+            tmp = 0;
+
+            if(bt1 > 3) {
+                mask = (1 << 8 * 3) - 1;
+            } else if(bt1 >= 0) {
+                mask = (1 << 8 * bt1) - 1;
+                bt2 -= 3 - bt1;
+            } else {
+                mask = (1 << 8 * ((bt2 > 3) ? 3 : bt2)) - 1;
+                bt2 -= 3;
+            }
+            if(bt1 > 0) {
+                bt1 -= 3;
+                tmp = (int) ((offsetm < 0) ? msb : (msb >>> offsetm) & mask);
+                if(bt1 < 0) {
+                    tmp <<= Math.abs(offsetm);
+                    mask = (1 << 8 * Math.abs(bt1)) - 1;
+                }
+            }
+            if(offsetm < 0) {
+                offsetl = 64 + offsetm;
+                tmp |= ((offsetl < 0) ? lsb : (lsb >>> offsetl)) & mask;
+            }
+
+            if(bit == 15) {
+                out[idx + 3] = alphabet[64];
+                out[idx + 2] = alphabet[64];
+                tmp <<= 4;
+            } else {
+                out[idx + 3] = alphabet[tmp & 0x3f];
+                tmp >>= 6;
+                out[idx + 2] = alphabet[tmp & 0x3f];
+                tmp >>= 6;
+            }
+            out[idx + 1] = alphabet[tmp & 0x3f];
+            tmp >>= 6;
+            out[idx] = alphabet[tmp & 0x3f];
+        }
+
+        return new String(out, 0, bits);
+    }
+
+    public static void main(String[] args) throws ParseException
+    {
+        List<String> data = new ArrayList<>();
+        for (int i = 0;i<10000000;i++){
+            String sss = getUUIDBits(15);
+            data.add(sss);
+        }
+
+        long allCount = data.size();
+        long disCount = data.stream().distinct().count();
+
+        Collections.sort(data);
+        String sss ="";
+
+    }
+}

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

@@ -734,10 +734,6 @@ public class TimeExchange {
     }
 
     public static void main(String[] args) {
-        String[] s = new String[]{"5","2","C","D","+"};
-
-        int sds = calPoints(s);
-        String sdsd = "";
     }
 
 

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

@@ -1,21 +1,27 @@
 package com.template.controller;
 
 
+import com.alibaba.fastjson.JSONObject;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.seewo.open.sdk.DefaultSeewoClient;
 import com.seewo.open.sdk.SeewoClient;
 import com.seewo.open.sdk.auth.Account;
 import com.template.annotation.DESRespondSecret;
 import com.template.api.SmartAttendanceControllerAPI;
-import com.template.common.utils.TimeExchange;
+import com.template.common.utils.*;
+import com.template.config.ControlConfig;
 import com.template.config.SeewoConfig;
 import com.template.model.enumModel.eAttendanceStatu;
+import com.template.model.enumModel.eIdentityStatu;
+import com.template.model.enumModel.eTimeGroup;
 import com.template.model.enumModel.eXwApproveStatu;
 import com.template.model.pojo.*;
+import com.template.model.request.askForLeaveRequest;
 import com.template.model.result.CommonResult;
 import com.template.model.seewo.PersonalLeaveListSchoolPeriodRecordsParam;
 import com.template.model.seewo.PersonalLeaveListSchoolPeriodRecordsRequest;
 import com.template.model.seewo.PersonalLeaveListSchoolPeriodRecordsResult;
-import com.template.model.vo.HomePageAttendanceVo;
+import com.template.model.vo.*;
 import com.template.services.SmartAttendanceService;
 import com.template.services.SmartUserService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,12 +30,15 @@ import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Optional;
 import java.util.stream.Collectors;
 
+import static com.template.common.utils.AesTestOne.decrypt;
 import static com.template.model.enumModel.eAttendanceStatu.attendanceStatus;
 
 /**
@@ -47,6 +56,8 @@ public class SmartAttendanceController implements SmartAttendanceControllerAPI {
 
     @Resource
     private SeewoConfig seewoConfig;
+    @Resource
+    private ControlConfig controlConfig;
     @Autowired
     private SmartUserService smartUserService;
     @Autowired
@@ -207,6 +218,60 @@ public class SmartAttendanceController implements SmartAttendanceControllerAPI {
         return CommonResult.ok(result);
     }
 
+    @Override
+    public CommonResult askForLeave(askForLeaveRequest request, BindingResult bindingResult) throws Exception {
+
+        SmartStudentVo student = smartUserService.querySmartStudentById(request.getId());
+        if (student == null) {
+            return CommonResult.fail("学生数据无效,请假失败!");
+        }
+
+        if (student.getIdentityId().intValue() != eIdentityStatu.Student.getValue()) {
+            return CommonResult.fail("当前用户身份不是学生,无法请假!");
+        }
+
+        String reason = request.getReason() == null ? "学生请假" : request.getReason();
+
+        //region 学生请假
+        String appId = controlConfig.getAppId();
+        String schoolno = controlConfig.getSchoolCode();
+        String timestamp = TimeExchange.DateNowTimeStamo();
+        String appSecret = controlConfig.getAppSecret();
+        String url = controlConfig.getUrl() + "student/addleavebill";
+
+        JSONObject jsonobject = new JSONObject();
+        jsonobject.put("appid", appId);
+        String str = "{\"student_no\":\"" + student.getBsStudentNo() + "\",\"grade_no\":\"" + student.getBsGradeNo() + "\",\"classtab_no\":\"" + student.getBsClassNo() + "\",\"leavebill_content\":\"" + reason + "\",\"leavebill_begindate\":\"" + request.getStartTime() + "\",\"leavebill_enddate\":\"" + request.getEndTime() + "\",\"leavebill_remark\":\"" + "" + "\"}";
+        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
+        jsonobject.put("data", aesStr);
+        jsonobject.put("schoolno", schoolno);
+        jsonobject.put("timestamp", timestamp);
+
+        String md5Str = "appid=" + appId + "&data={\"student_no\":\"" + student.getBsStudentNo() + "\",\"grade_no\":\"" + student.getBsGradeNo()  + "\",\"classtab_no\":\"" + student.getBsClassNo() + "\",\"leavebill_content\":\"" + reason + "\",\"leavebill_begindate\":\"" + request.getStartTime()  + "\",\"leavebill_enddate\":\"" + request.getEndTime() + "\",\"leavebill_remark\":\"" + "" + "\"}" + "&schoolno=" + schoolno + "&timestamp=" + timestamp + "&key=" + appSecret;
+        String sign = CommonUtil.MD5(md5Str);
+        //sign签名
+        jsonobject.put("sign", sign);
+
+        //返回的结果中 code为1表示成功
+        String bsResult = RequestUtils.httpPost(url, jsonobject.toJSONString());
+
+        ObjectMapper objectMapper = new ObjectMapper();
+        BsLeaveVo leave = objectMapper.readValue(bsResult, BsLeaveVo.class);
+
+        if (!bsResult.contains("添加成功")) {
+            return CommonResult.fail(leave.getMsg());
+        }
+
+        // URL解码
+        String decodedUrl = URLDecoder.decode(leave.getData(), "UTF-8");
+
+        BsLeaveNoVo leaveNo = objectMapper.readValue(decrypt(decodedUrl, controlConfig.getAppSecret()), BsLeaveNoVo.class);
+
+        return CommonResult.ok("200", "操作成功", leaveNo.getLeavebill_no());
+        //endregion
+
+    }
+
     public PersonalLeaveListSchoolPeriodRecordsResult getXwAttendance(String startDate, String endDate, Integer currentPage, Integer pageSize) {
         //初始化客户端
         SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));

+ 103 - 0
src/main/java/com/template/controller/SmartDeviceController.java

@@ -0,0 +1,103 @@
+package com.template.controller;
+
+
+import com.template.annotation.DESRespondSecret;
+import com.template.api.SmartDeviceControllerAPI;
+import com.template.common.utils.paramUtils;
+import com.template.model.pojo.SmartDevice;
+import com.template.model.pojo.SmartDevice;
+import com.template.model.result.CommonResult;
+import com.template.model.result.PageUtils;
+import com.template.services.SmartDeviceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 应用管理 前端控制器
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-03-26
+ */
+@RestController
+public class SmartDeviceController implements SmartDeviceControllerAPI {
+
+    @Autowired
+    private SmartDeviceService smartDeviceService;
+
+    /**
+     * 新增设备
+     *
+     * @param smartDevice    设备数据
+     * @param bindingResult
+     * @return
+     */
+    @Override
+    @DESRespondSecret(validated = true)
+    public CommonResult insertSmartDevice(SmartDevice smartDevice, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
+        }
+
+        int result = smartDeviceService.insertSmartDevice(smartDevice);
+
+        return result > 0 ? CommonResult.ok("添加成功") : CommonResult.fail("添加失败");
+    }
+
+    /**
+     * 更新设备
+     *
+     * @param sa            设备数据
+     * @param bindingResult
+     * @return
+     */
+    @Override
+    @DESRespondSecret(validated = true)
+    public CommonResult updateSmartDeviceById(SmartDevice sa, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
+        }
+
+        int result = smartDeviceService.updateSmartDevice(sa);
+        return result > 0 ? CommonResult.ok("修改成功") : CommonResult.fail("修改失败");
+    }
+
+    /**
+     * 设备分页数据查询
+     *
+     * @param currentPage 当前页数
+     * @param pageCount   一页数据条数
+     * @param name        查询名称
+     * @return
+     */
+    @Override
+    @DESRespondSecret(validated = true)
+    public CommonResult queryPageSmartDevices(int currentPage, int pageCount, String name) {
+        PageUtils<SmartDevice> result = smartDeviceService.queryPageSmartDevices(currentPage, pageCount, name);
+
+        return CommonResult.ok(result);
+    }
+
+
+    @Override
+    @DESRespondSecret(validated = true)
+    public CommonResult deleteSmartDeviceById(int id) {
+
+        SmartDevice data = smartDeviceService.getSmartById(id);
+
+        if (data == null) {
+            return CommonResult.fail("当前数据不存在,删除失败!");
+        }
+
+        int result = smartDeviceService.deleteSmartDeviceById(id);
+
+        return result > 0 ? CommonResult.ok("删除成功") : CommonResult.fail("删除失败");
+    }
+}
+

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 99 - 4
src/main/java/com/template/controller/SmartVisitorController.java


+ 18 - 0
src/main/java/com/template/mapper/SmartDeviceMapper.java

@@ -0,0 +1,18 @@
+package com.template.mapper;
+
+import com.template.model.pojo.SmartDevice;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ * 应用管理 Mapper 接口
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-03-26
+ */
+@Repository
+public interface SmartDeviceMapper extends BaseMapper<SmartDevice> {
+
+}

+ 2 - 0
src/main/java/com/template/mapper/SmartUserMapper.java

@@ -42,4 +42,6 @@ public interface SmartUserMapper extends BaseMapper<SmartUser> {
     SmartUserVo querySmartUserById(@Param("userId") Integer userId);
 
     int deleteUserBatch(@Param("list") List<deleteUserVo> list);
+
+    SmartStudentVo querySmartStudentById(@Param("userId") Integer userId);
 }

+ 74 - 0
src/main/java/com/template/model/pojo/SmartDevice.java

@@ -0,0 +1,74 @@
+package com.template.model.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 应用管理
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-03-26
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="SmartDevice对象", description="应用管理")
+public class SmartDevice implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "设备名称")
+    private String name;
+
+    @ApiModelProperty(value = "设备编号")
+    private String num;
+
+    @ApiModelProperty(value = "安装位置")
+    private String address;
+
+    @ApiModelProperty(value = "设备状态 在线:1  离线:0")
+    private Integer state;
+
+    @ApiModelProperty(value = "出入口 出口:0  入口:1")
+    private Integer entrance;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Date updateTime;
+
+    @ApiModelProperty(value = "创建人员")
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    @ApiModelProperty(value = "更新人员")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateUser;
+
+    @ApiModelProperty(value = "逻辑删除 未删除:0;删除:1")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleted;
+
+
+}

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

@@ -89,6 +89,16 @@ public class SmartVisitor implements Serializable {
     @ApiModelProperty(value = "受访者姓名")
     private String respondentName;
 
+    @ApiModelProperty(value = "百胜同步授权编码")
+    private String visitorsync;
+
+    /**
+     * 设备编号
+     * 多个设备用逗号隔开
+     */
+    @ApiModelProperty(value = "设备编号")
+    private String deviceNum;
+
     /**
      * 访客类型
      * 家长:1

+ 45 - 0
src/main/java/com/template/model/request/askForLeaveRequest.java

@@ -0,0 +1,45 @@
+package com.template.model.request;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-12-04
+ */
+@Data
+public class askForLeaveRequest {
+
+    /**
+     * 用户ID
+     */
+    @NotNull(message = "用户ID不能为空")
+    private Integer id;
+
+    /**
+     * 请假原因
+     */
+    @NotBlank(message = "请假原因不能为空")
+    private String reason;
+
+    /**
+     * 开始时间
+     */
+    @NotBlank(message = "开始时间不能为空")
+    private String startTime;
+
+    /**
+     * 结束时间
+     */
+    @NotBlank(message = "结束时间不能为空")
+    private String endTime;
+
+}

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

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

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

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

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

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

+ 20 - 0
src/main/java/com/template/model/vo/BsLeaveVo.java

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

+ 38 - 0
src/main/java/com/template/model/vo/SmartStudentVo.java

@@ -0,0 +1,38 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/12/4 星期一 15:57
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class SmartStudentVo {
+    /**
+     * 数据ID
+     */
+    private Integer id;
+
+    /**
+     * 身份ID
+     */
+    private Integer identityId;
+
+    /**
+     * 百胜学生编号
+     */
+    private String bsStudentNo;
+
+    /**
+     * 百胜年级编号
+     */
+    private String bsGradeNo;
+
+    /**
+     * 百胜班级编号
+     */
+    private String bsClassNo;
+
+}

+ 30 - 0
src/main/java/com/template/services/SmartDeviceService.java

@@ -0,0 +1,30 @@
+package com.template.services;
+
+import com.template.model.pojo.SmartDevice;
+import com.template.model.pojo.SmartDevice;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.template.model.result.PageUtils;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 应用管理 服务类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-03-26
+ */
+public interface SmartDeviceService extends IService<SmartDevice> {
+    int insertSmartDevice(SmartDevice rns);
+
+    int updateSmartDevice(SmartDevice rns);
+
+    PageUtils<SmartDevice> queryPageSmartDevices(int currentPage, int pageCount, String name);
+
+    int deleteSmartDeviceById(int id);
+
+    SmartDevice getSmartById(int id);
+
+    List<SmartDevice> queryOnLineDevice();
+}

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

@@ -91,4 +91,6 @@ public interface SmartUserService extends IService<SmartUser> {
     int deleteUserBatch(List<deleteUserVo> list);
 
     PageUtils<UserDeleteVo> queryUserDeletePage(int currentPage, int pageCount);
+
+    SmartStudentVo querySmartStudentById(Integer userId);
 }

+ 72 - 0
src/main/java/com/template/services/impl/SmartDeviceServiceImpl.java

@@ -0,0 +1,72 @@
+package com.template.services.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.template.mapper.SmartDeviceMapper;
+import com.template.model.pojo.SmartDevice;
+import com.template.model.pojo.SmartDevice;
+import com.template.mapper.SmartDeviceMapper;
+import com.template.model.result.PageUtils;
+import com.template.services.SmartDeviceService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 应用管理 服务实现类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-03-26
+ */
+@Service
+public class SmartDeviceServiceImpl extends ServiceImpl<SmartDeviceMapper, SmartDevice> implements SmartDeviceService {
+    @Autowired
+    private SmartDeviceMapper smartDeviceMapper;
+
+    @Override
+    public int insertSmartDevice(SmartDevice sa) {
+        int result = smartDeviceMapper.insert(sa);
+        return result;
+    }
+
+    @Override
+    public int updateSmartDevice(SmartDevice sa) {
+        int result = smartDeviceMapper.updateById(sa);
+        return result;
+    }
+
+    @Override
+    public PageUtils<SmartDevice> queryPageSmartDevices(int currentPage, int pageCount, String name) {
+        Page<SmartDevice> page = new Page<>(currentPage, pageCount);
+        QueryWrapper<SmartDevice> queryWrapper = new QueryWrapper<>();
+        //queryWrapper.like(StringUtils.hasText(name), "name", name);
+        IPage<SmartDevice> result = smartDeviceMapper.selectPage(page,queryWrapper);
+        return new PageUtils<>(result);
+    }
+
+    @Override
+    public int deleteSmartDeviceById(int id) {
+        int result = smartDeviceMapper.deleteById(id);
+        return result;
+    }
+
+    @Override
+    public SmartDevice getSmartById(int id) {
+        SmartDevice result = smartDeviceMapper.selectById(id);
+        return result;
+    }
+
+    @Override
+    public List<SmartDevice> queryOnLineDevice() {
+        QueryWrapper<SmartDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq( "state", 1);
+        List<SmartDevice> devices = smartDeviceMapper.selectList(queryWrapper);
+        return devices;
+    }
+}

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

@@ -267,4 +267,10 @@ public class SmartUserServiceImpl extends ServiceImpl<SmartUserMapper, SmartUser
         return new PageUtils(result);
 
     }
+
+    @Override
+    public SmartStudentVo querySmartStudentById(Integer userId) {
+        SmartStudentVo result = smartUserMapper.querySmartStudentById(userId);
+        return result;
+    }
 }

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

@@ -5,7 +5,7 @@ server:
 
 spring:
   profiles:
-      active: dev
+      active: prod
   main:
     allow-circular-references: true
   servlet:

+ 18 - 0
src/main/resources/mapper/template/SmartUserMapper.xml

@@ -218,4 +218,22 @@
         order by update_time desc
     </select>
 
+
+    <resultMap type="com.template.model.vo.SmartStudentVo" id="smartStudentMap">
+        <result property="id" column="id"/>
+        <result property="identityId" column="identity_id"/>
+        <result property="bsStudentNo" column="bs_student_no"/>
+        <result property="bsGradeNo" column="bs_grade_no"/>
+        <result property="bsClassNo" column="bs_class_no"/>
+    </resultMap>
+    <select id="querySmartStudentById" resultType="com.template.model.vo.SmartStudentVo" resultMap="smartStudentMap">
+        SELECT su.id,su.identity_id,su.bs_student_no,sg.bs_grade_no,sc.bs_class_no FROM smart_user su
+        left join smart_grade sg on sg.deleted = 0 and sg.id = su.grade
+        left join smart_class sc on sc.deleted = 0 and sc.id = su.school_class
+        where su.deleted = 0
+        <if test="userId != null and userId != '' and userId != 0">
+            and su.id = #{userId}
+        </if>
+    </select>
+
 </mapper>

+ 1 - 1
target/classes/application.yml

@@ -5,7 +5,7 @@ server:
 
 spring:
   profiles:
-      active: dev
+      active: prod
   main:
     allow-circular-references: true
   servlet:

+ 18 - 0
target/classes/mapper/template/SmartUserMapper.xml

@@ -218,4 +218,22 @@
         order by update_time desc
     </select>
 
+
+    <resultMap type="com.template.model.vo.SmartStudentVo" id="smartStudentMap">
+        <result property="id" column="id"/>
+        <result property="identityId" column="identity_id"/>
+        <result property="bsStudentNo" column="bs_student_no"/>
+        <result property="bsGradeNo" column="bs_grade_no"/>
+        <result property="bsClassNo" column="bs_class_no"/>
+    </resultMap>
+    <select id="querySmartStudentById" resultType="com.template.model.vo.SmartStudentVo" resultMap="smartStudentMap">
+        SELECT su.id,su.identity_id,su.bs_student_no,sg.bs_grade_no,sc.bs_class_no FROM smart_user su
+        left join smart_grade sg on sg.deleted = 0 and sg.id = su.grade
+        left join smart_class sc on sc.deleted = 0 and sc.id = su.school_class
+        where su.deleted = 0
+        <if test="userId != null and userId != '' and userId != 0">
+            and su.id = #{userId}
+        </if>
+    </select>
+
 </mapper>

+ 13 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -38,6 +38,7 @@ com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsResult.class
 com\template\model\seewo\TeacherServiceBatchSaveOrUpdateTeacherResult$TeacherBaseInfoDto.class
 com\template\api\SmartSemesterControllerAPI.class
 com\template\model\seewo\ParentServiceRemoveStudentParentConditionParam$ParentServiceRemoveStudentParentConditionParamBuilder.class
+com\template\services\SmartDeviceService.class
 com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsResult$Object.class
 com\template\services\SmartExamtypeService.class
 com\template\common\utils\SendSms.class
@@ -196,6 +197,7 @@ com\template\model\seewo\StudentServiceUpdateStudentInfoParam$RequestBody.class
 com\template\model\seewo\AttendanceRuleListSchoolAttendRuleParam$RequestBody.class
 com\template\controller\LoginController.class
 com\template\model\request\insertSmartUserRequest.class
+com\template\mapper\SmartDeviceMapper.class
 com\template\model\seewo\ClassServiceBatchSaveClassParam$JSONRequestBody.class
 com\template\services\SmartFaceDiscernService.class
 com\template\model\seewo\TeacherApiQueryByConditionResult$JSONResponseBody.class
@@ -286,6 +288,7 @@ com\template\model\seewo\TeacherServiceBatchRemoveClassMastersParam$Query.class
 com\template\model\seewo\StudentServiceUpdateStudentInfoParam$CardsItem$CardsItemBuilder.class
 com\template\model\vo\IdentityApplyVo.class
 com\template\services\impl\SmartWarningServiceImpl.class
+com\template\model\request\askForLeaveRequest.class
 com\template\common\exception\EmsException.class
 com\template\model\seewo\TeacherServiceBatchSetClassMastersParam$RequestBody.class
 com\template\controller\ExcelController.class
@@ -307,6 +310,7 @@ com\template\model\seewo\TeacherServiceBatchSaveOrUpdateTeacherParam$SaveOrUpdat
 com\template\model\vo\ClassSettingDateVo.class
 com\template\model\vo\HomePageAttendanceVo.class
 com\template\model\evaluate\student\SmartEvaluateStudent.class
+com\template\model\vo\BsLeaveNoVo.class
 com\template\model\seewo\StudentServiceRemoveClassStudentsResult.class
 com\template\model\pojo\SmartApply.class
 com\template\model\seewo\TeacherApiQueryByConditionParam$UserQueryDto$UserQueryDtoBuilder.class
@@ -408,6 +412,7 @@ com\template\model\vo\ScreenshotRecordPageVo.class
 com\template\common\utils\HttpsClient.class
 com\template\model\vo\DutiesListVo.class
 com\template\common\utils\WarningEntity.class
+com\template\model\pojo\SmartDevice.class
 com\template\model\seewo\StudentServiceRemoveClassStudentsResult$JSONResponseBody.class
 com\template\services\impl\SmartScreenshotServiceImpl.class
 com\template\model\vo\WechatUserVo.class
@@ -425,6 +430,7 @@ com\template\model\seewo\AttendanceRuleListSchoolAttendRuleParam.class
 com\template\model\request\updateScreenshotRequest.class
 com\template\model\dto\OperationWarningDto.class
 com\template\model\seewo\AttendanceRuleListSchoolAttendRuleResult.class
+com\template\services\impl\SmartDeviceServiceImpl.class
 com\template\model\evaluate\student\SmartSubjectTemplate.class
 com\template\services\SmartEvaluateStudentService.class
 com\template\mapper\SmartVisitorMapper.class
@@ -450,6 +456,7 @@ com\template\services\impl\SmartGradeServiceImpl.class
 com\template\services\impl\SmartSubjectServiceImpl.class
 com\template\controller\SmartBuildMeterController.class
 com\template\api\SmartDutiesControllerAPI.class
+com\template\model\vo\BsLeaveVo.class
 com\template\common\utils\Message$1.class
 com\template\mapper\SmartAuthorityMapper.class
 com\template\common\utils\paramUtils.class
@@ -461,6 +468,7 @@ com\template\controller\SmartIdentityController.class
 META-INF\spring-configuration-metadata.json
 com\template\model\seewo\StudentServiceRemoveClassStudentsParam$UnbindStudentQuery.class
 com\template\common\utils\MyX509TrustManager.class
+com\template\common\utils\StrUtils.class
 com\template\services\impl\SmartMeterDetailServiceImpl.class
 com\template\core\JwtlnterceptorConfig.class
 com\template\model\request\updateSmartUserRequest.class
@@ -493,6 +501,7 @@ com\template\model\seewo\StudentServiceBatchSaveClassStudentsResult$JSONResponse
 com\template\model\pojo\SystemRole.class
 com\template\model\seewo\OrganizationNodeServiceInitSchoolClassesResult$ResponseBody.class
 com\template\model\request\freezeRepairAdminRequest.class
+com\template\api\SmartDeviceControllerAPI.class
 com\template\api\SmartMeterControllerAPI.class
 com\template\mapper\SmartApplyMapper.class
 com\template\model\pojo\SmartDsColumnCor.class
@@ -540,6 +549,7 @@ com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsParam$Query$QueryB
 com\template\model\seewo\OrganizationNodeServiceInitSchoolClassesParam$Object.class
 com\template\model\seewo\StudentServiceBatchSaveClassStudentsParam$Boolean.class
 com\template\controller\SmartAuthorGroupController.class
+com\template\model\vo\SmartStudentVo.class
 com\template\services\impl\SmartScreenshotRecordServiceImpl.class
 com\template\model\phoneBook\GradeBook.class
 com\template\common\utils\GetCameraPreviewURL.class
@@ -601,6 +611,7 @@ com\template\common\utils\WxUtil.class
 com\template\services\SmartGradeService.class
 com\template\api\HikvisionAPI.class
 com\template\api\SmartEvaluateTeacherControllerAPI.class
+com\template\controller\SmartDeviceController.class
 com\template\model\seewo\StudentLeaveStudentLeaveRequestHandlerResult$JSONResponseBody.class
 com\template\services\impl\SmartUserServiceImpl.class
 com\template\model\seewo\StudentServiceUpdateStudentInfoResult$ResponseBody.class
@@ -636,6 +647,7 @@ com\template\model\request\updateClassRequest.class
 com\template\config\SeewoConfig.class
 com\template\model\pojo\SmartScreenshotRecord.class
 com\template\model\seewo\AttendanceServiceListAttendClassRecordsParam$Query$QueryBuilder.class
+com\template\model\vo\BsDeviceNoVo.class
 com\template\mapper\SmartAuthorGroupMapper.class
 com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsResult$Data.class
 com\template\services\impl\RepairAdminServiceImpl.class
@@ -697,6 +709,7 @@ com\template\controller\SmartDataTaskController.class
 com\template\services\SmartScoreManageService.class
 com\template\model\weixin\AuthorAndGroup.class
 com\template\api\SmartAttendanceControllerAPI.class
+com\template\model\vo\BsDeviceVo.class
 com\template\model\seewo\StudentServiceBatchSaveClassStudentsParam.class
 com\template\model\weixin\Result.class
 com\template\services\SmartMenuService.class

+ 13 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -1,6 +1,7 @@
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\AffiliateParentVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartNotificationController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\PersonalLeaveListSchoolPeriodRecordsResult.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\askForLeaveRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\qrCodeVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartEvaluateSdetailService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\handle\NonStaticResourceHttpRequestHandler.java
@@ -32,12 +33,16 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 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\common\utils\Base64Util.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\BsDeviceNoVo.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\BsDeviceVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eSubjectStatu.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartSemesterController.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
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\VisitorCountVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartGradeService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartDeviceService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\SmartStudentVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\evaluate\student\SmartTemplateRule.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\annotation\ExcelImport.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartBuildMeterMapper.java
@@ -175,9 +180,11 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\jh\ReqRespResearchProductQuestionnaireItem.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\config\smsConfig.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\ScheduleController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartDevice.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\ParentServiceRemoveStudentParentConditionRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\StudentServiceRemoveClassStudentsRequest.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartDeviceControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\evaluate\teacher\SimpleScoreDetailList.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\HttpsClient.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\updateIdentityRequest.java
@@ -194,6 +201,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\WarningEntity.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\DutiesListVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartWarningServiceImpl.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\BsLeaveNoVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\BsReservationVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\RepairAdminControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartDsColumnCor.java
@@ -220,6 +228,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\annotation\ControllerIsShow.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SystemMenuController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eStatu.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartDeviceServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartIdentityController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\TeacherServiceBatchSaveOrUpdateTeacherRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDutiesController.java
@@ -390,6 +399,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\updateClassRequest.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\mapper\SmartDeviceMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\TurnOnDeviceVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\evaluate\teacher\SimpleScore.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartSemesterMapper.java
@@ -524,6 +534,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\SemesterVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartScreenshotMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\core\SwaggerConfiguration.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\StrUtils.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\UnitTimeHelpModel.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\SHA1.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\updateScreenshotRequest.java
@@ -556,6 +567,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\tongji\Tj.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartMeterController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartBuildMeterService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\BsLeaveVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eWeekStatu.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\core\CORSConfiguration.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartUserController.java
@@ -565,6 +577,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\TreeRecordsUtil.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\vo\EvaluateTeacherVo.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDeviceController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartQrcodeMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SystemUserMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eAttendanceStatu.java

binární
target/mybatis_plus-0.0.1-SNAPSHOT.jar.original