溪鸭夏 2 лет назад
Родитель
Сommit
56762488c0

+ 181 - 284
.idea/workspace.xml

@@ -2,88 +2,15 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="981dbcd1-a700-4015-8567-2ccff8e76f0a" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/aop/LoginCheckAspect.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/aop/LoginCheckAspect.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/jh/SectionUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/jh/SectionUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/AesTestOne.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/AesTestOne.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/AesUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/AesUtils.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/ClassYear.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/ClassYear.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/CommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/CommonUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/DBUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/DBUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/DateUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/DateUtils.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/ExcelUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/ExcelUtils.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/ExcelUtils2.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/ExcelUtils2.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/GetCameraPreviewURL.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/GetCameraPreviewURL.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/HttpClientUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/HttpClientUtils.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/HttpsClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/HttpsClient.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/Message.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/Message.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/Message2.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/Message2.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/RSAUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/RSAUtils.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/RequestUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/RequestUtils.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/SendSms.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/SendSms.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/DingTalkInterface.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/DingTalkInterface.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/common/utils/TimeExchange2.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange2.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/WxUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/WxUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/smsUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/smsUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/ExcelController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/ExcelController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/HikvisionController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/HikvisionController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/RepairAdminController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/RepairAdminController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/ScheduleController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/ScheduleController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/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/SmartAuthorGroupController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartAuthorGroupController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartClassController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartClassController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartEvaluateStudentController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartEvaluateStudentController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartFaceDiscernController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartFaceDiscernController.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/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/controller/Task.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/Task.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/controller/WxGzhController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/WxGzhController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartFaceDiscernServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartFaceDiscernServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartScoreManageServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartScoreManageServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUploadServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUploadServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/test/java/com/template/MybatisPlusApplicationTests.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/test/java/com/template/MybatisPlusApplicationTests.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/test/java/com/template/WrapperTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/test/java/com/template/WrapperTest.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/aop/LoginCheckAspect.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/aop/LoginCheckAspect.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/jh/SectionUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/jh/SectionUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/AesTestOne.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/AesTestOne.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/AesUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/AesUtils.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/ClassYear.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/ClassYear.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/CommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/CommonUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/DBUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/DBUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/DateUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/DateUtils.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/ExcelUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/ExcelUtils.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/ExcelUtils2.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/ExcelUtils2.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/GetCameraPreviewURL.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/GetCameraPreviewURL.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/HttpClientUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/HttpClientUtils.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/HttpsClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/HttpsClient.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/Message.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/Message.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/Message2.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/Message2.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/RSAUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/RSAUtils.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/RequestUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/RequestUtils.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/SendSms.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/SendSms.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/TimeExchange.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/TimeExchange.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/TimeExchange2.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/TimeExchange2.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/WxUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/WxUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/smsUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/common/utils/smsUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/ExcelController.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/ExcelController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/HikvisionController.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/HikvisionController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/RepairAdminController.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/RepairAdminController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/ScheduleController.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/ScheduleController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/SmartAttendanceController.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/SmartAttendanceController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/SmartAuthorGroupController.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/SmartAuthorGroupController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/SmartClassController.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/SmartClassController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/SmartEvaluateStudentController.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/SmartEvaluateStudentController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/SmartFaceDiscernController.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/SmartFaceDiscernController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/SmartUserController.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/SmartUserController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/SmartVisitorController.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/SmartVisitorController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/Task.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/Task.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/WechatScanLoginController.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/WechatScanLoginController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/WxGzhController.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/WxGzhController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/services/impl/SmartFaceDiscernServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/services/impl/SmartFaceDiscernServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/services/impl/SmartScoreManageServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/services/impl/SmartScoreManageServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/main/java/com/template/services/impl/SmartUploadServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/main/java/com/template/services/impl/SmartUploadServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/test/java/com/template/MybatisPlusApplicationTests.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/test/java/com/template/MybatisPlusApplicationTests.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/wanzai/src/test/java/com/template/WrapperTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/wanzai/src/test/java/com/template/WrapperTest.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartUser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartUser.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/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$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" beforeDir="false" afterPath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst" beforeDir="false" afterPath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" beforeDir="false" afterPath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/classes/" />
     <ignored path="$PROJECT_DIR$/target/" />
@@ -99,91 +26,71 @@
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/WxGzhController.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartUserControllerAPI.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="43">
-              <caret line="42" column="40" lean-forward="true" selection-start-line="42" selection-start-column="40" selection-end-line="42" selection-end-column="40" />
+            <state relative-caret-position="333">
+              <caret line="58" column="33" selection-start-line="58" selection-start-column="17" selection-end-line="58" selection-end-column="33" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartAttendanceController.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="93">
-              <caret line="55" column="42" selection-start-line="55" selection-start-column="42" selection-end-line="55" selection-end-column="42" />
+            <state relative-caret-position="-2721">
+              <caret line="4210" selection-start-line="4210" selection-end-line="4210" />
+              <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/common/utils/Message2.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="138">
-              <caret line="31" column="44" lean-forward="true" selection-start-line="31" selection-start-column="44" selection-end-line="31" selection-end-column="44" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/CommonUtil.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="207">
-              <caret line="28" column="44" selection-start-line="28" selection-start-column="44" selection-end-line="28" selection-end-column="44" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartEvaluateStudentController.java">
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/DingtalkController.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="207">
-              <caret line="33" column="38" lean-forward="true" selection-start-line="33" selection-start-column="38" selection-end-line="33" selection-end-column="38" />
+            <state relative-caret-position="150">
+              <caret line="112" column="65" lean-forward="true" selection-start-line="112" selection-start-column="65" selection-end-line="112" 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/RepairAdminController.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartNotificationController.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="127">
-              <caret line="114" column="41" selection-start-line="114" selection-start-column="41" selection-end-line="114" selection-end-column="41" />
+            <state relative-caret-position="317">
+              <caret line="36" column="31" selection-start-line="36" selection-start-column="12" selection-end-line="36" selection-end-column="31" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/jh/SectionUtil.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartDepartment.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="127">
-              <caret line="241" column="21" selection-start-line="241" selection-start-column="21" selection-end-line="241" selection-end-column="21" />
+            <state relative-caret-position="543">
+              <caret line="42" column="23" selection-start-line="42" selection-start-column="19" selection-end-line="42" selection-end-column="23" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/test/java/com/template/MybatisPlusApplicationTests.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="127">
-              <caret line="21" column="8" selection-start-line="21" selection-start-column="8" selection-end-line="21" selection-end-column="8" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/src/test/java/com/template/WrapperTest.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/TeacherServiceBatchSaveOrUpdateTeacherParam.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="138">
-              <caret line="12" column="44" selection-start-line="12" selection-start-column="44" selection-end-line="12" selection-end-column="44" />
+            <state relative-caret-position="318">
+              <caret line="120" column="37" selection-start-line="120" selection-start-column="37" selection-end-line="120" selection-end-column="37" />
+              <folding>
+                <element signature="e#3137#3138#0" expanded="true" />
+                <element signature="e#3185#3186#0" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/Message.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="138">
-              <caret line="16" column="41" lean-forward="true" selection-start-line="16" selection-start-column="41" selection-end-line="16" selection-end-column="41" />
+            <state relative-caret-position="273">
+              <caret line="785" column="28" selection-start-line="785" selection-start-column="28" selection-end-line="785" selection-end-column="28" />
             </state>
           </provider>
         </entry>
@@ -199,21 +106,6 @@
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>sendPo</find>
-      <find>schoolopenapi.szymzh.com</find>
-      <find>se</find>
-      <find>新增</find>
-      <find>希沃</find>
-      <find>downloadUserExcel</find>
-      <find>importExcelFamilys</find>
-      <find>导入用户</find>
-      <find>downloadTeacherExcel</find>
-      <find>系统中</find>
-      <find>bsEUpdateStudent</find>
-      <find>setUserTimeGroup</find>
-      <find>setIs</find>
-      <find>insertSmartUser</find>
-      <find>headImage</find>
       <find>photoList</find>
       <find>smartDepartmentService</find>
       <find>smartDepartmentService.list</find>
@@ -228,7 +120,22 @@
       <find>System.out.println</find>
       <find>logger.info</find>
       <find>system.out.println</find>
+      <find>100条</find>
+      <find>/ 100</find>
+      <find>导入</find>
+      <find>import</find>
+      <find>importExcel</find>
+      <find>(int) Math.ceil((double)</find>
+      <find>teachers</find>
+      <find>departmentId</find>
+      <find>readXlsx</find>
+      <find>teacherDatas</find>
+      <find>isEmp</find>
+      <find>smartUserExport</find>
       <find>importExcelUsers</find>
+      <find>getSmartUserIds</find>
+      <find>affiliateDatas</find>
+      <find>columnId</find>
     </findStrings>
     <replaceStrings>
       <replace />
@@ -263,7 +170,6 @@
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/Task.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/DBUtil.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/AesTestOne.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/AesUtils.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/ExcelUtils.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/DateUtils.java" />
@@ -276,7 +182,6 @@
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartFaceDiscernController.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/ExcelUtils2.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/ExcelController.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartScoreManageServiceImpl.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartAuthorGroupController.java" />
@@ -295,6 +200,8 @@
         <option value="$PROJECT_DIR$/src/main/java/com/template/common/jh/SectionUtil.java" />
         <option value="$PROJECT_DIR$/src/test/java/com/template/MybatisPlusApplicationTests.java" />
         <option value="$PROJECT_DIR$/src/test/java/com/template/WrapperTest.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" />
       </list>
     </option>
   </component>
@@ -326,9 +233,9 @@
   <component name="MavenRunner">
     <option name="skipTests" value="true" />
   </component>
-  <component name="ProjectFrameBounds">
-    <option name="x" value="-7" />
-    <option name="width" value="974" />
+  <component name="ProjectFrameBounds" extendedState="6">
+    <option name="x" value="937" />
+    <option name="width" value="990" />
     <option name="height" value="1039" />
   </component>
   <component name="ProjectView">
@@ -377,7 +284,7 @@
               <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" />
             </path>
             <path>
               <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
@@ -386,7 +293,7 @@
               <item name="main" type="462c0819:PsiDirectoryNode" />
               <item name="java" type="462c0819:PsiDirectoryNode" />
               <item name="template" type="462c0819:PsiDirectoryNode" />
-              <item name="core" type="462c0819:PsiDirectoryNode" />
+              <item name="controller" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
@@ -395,7 +302,7 @@
               <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="core" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
@@ -405,7 +312,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" />
@@ -553,12 +459,12 @@
       <workItem from="1714292233330" duration="18000" />
       <workItem from="1714370355699" duration="3428000" />
       <workItem from="1714985190382" duration="4553000" />
-      <workItem from="1715062890965" duration="41194000" />
+      <workItem from="1715062890965" duration="50578000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="218209000" />
+    <option name="totallyTimeSpent" value="227593000" />
   </component>
   <component name="TodoView">
     <todo-panel id="selected-file">
@@ -573,7 +479,7 @@
     <frame x="-8" y="-8" width="1936" height="1048" extended-state="6" />
     <editor active="true" />
     <layout>
-      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.20415778" />
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.17963752" />
       <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" />
@@ -584,8 +490,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" weight="0.32932165" />
-      <window_info anchor="bottom" id="Run" order="2" weight="0.4573304" />
-      <window_info anchor="bottom" id="Debug" order="3" weight="0.32932165" />
+      <window_info anchor="bottom" id="Run" order="2" weight="0.45623633" />
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.43535912" />
       <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" weight="0.32932165" />
@@ -593,7 +499,7 @@
       <window_info anchor="bottom" id="Terminal" order="8" weight="0.32932165" />
       <window_info anchor="bottom" id="Docker" order="9" weight="0.32932165" />
       <window_info anchor="bottom" id="Event Log" order="10" side_tool="true" />
-      <window_info active="true" anchor="bottom" id="Messages" order="11" visible="true" weight="0.5251641" />
+      <window_info anchor="bottom" id="Messages" order="11" weight="0.5196937" />
       <window_info anchor="bottom" id="Java Enterprise" order="12" weight="0.32932165" />
       <window_info anchor="bottom" id="Database Changes" order="13" />
       <window_info anchor="bottom" id="Version Control" order="14" weight="0.32932165" />
@@ -602,7 +508,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.24945295" />
       <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
-      <window_info anchor="right" id="Maven" order="3" weight="0.47592998" />
+      <window_info anchor="right" id="Maven" order="3" weight="0.5957684" />
       <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" />
@@ -659,7 +565,7 @@
       <breakpoints>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>2249</line>
+          <line>2259</line>
           <properties />
           <option name="timeStamp" value="14" />
         </line-breakpoint>
@@ -695,49 +601,49 @@
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>3909</line>
+          <line>3919</line>
           <properties />
           <option name="timeStamp" value="137" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>4934</line>
+          <line>4946</line>
           <properties />
           <option name="timeStamp" value="157" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>3510</line>
+          <line>3520</line>
           <properties />
           <option name="timeStamp" value="159" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>2304</line>
+          <line>2314</line>
           <properties />
           <option name="timeStamp" value="165" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>4415</line>
+          <line>4427</line>
           <properties />
           <option name="timeStamp" value="166" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>4517</line>
+          <line>4529</line>
           <properties />
           <option name="timeStamp" value="167" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>4632</line>
+          <line>4644</line>
           <properties />
           <option name="timeStamp" value="170" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>3707</line>
+          <line>3717</line>
           <properties />
           <option name="timeStamp" value="173" />
         </line-breakpoint>
@@ -761,7 +667,7 @@
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>2719</line>
+          <line>2729</line>
           <properties />
           <option name="timeStamp" value="179" />
         </line-breakpoint>
@@ -773,21 +679,15 @@
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>4704</line>
+          <line>4716</line>
           <properties />
           <option name="timeStamp" value="193" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>310</line>
-          <properties />
-          <option name="timeStamp" value="198" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>1661</line>
+          <line>646</line>
           <properties />
-          <option name="timeStamp" value="202" />
+          <option name="timeStamp" value="211" />
         </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
@@ -797,79 +697,6 @@
     <option name="FILTER_TARGETS" value="false" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartUserControllerAPI.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="556">
-          <caret line="101" column="36" selection-start-line="101" selection-start-column="17" selection-end-line="101" selection-end-column="36" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartIdentityController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="355">
-          <caret line="100" column="31" selection-start-line="100" selection-start-column="31" selection-end-line="100" selection-end-column="31" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartSubjectController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-388">
-          <caret line="78" selection-start-line="78" selection-end-line="78" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/DriverStockController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="115">
-          <caret line="24" column="13" selection-start-line="24" selection-start-column="13" selection-end-line="24" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/application-prod.yml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2208">
-          <caret line="96" column="2" selection-start-line="96" selection-start-column="2" selection-end-line="96" selection-end-column="2" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/log4j2.yml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="147">
-          <caret line="25" column="50" selection-start-line="25" selection-start-column="50" selection-end-line="25" selection-end-column="50" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30-sources.jar!/org/slf4j/Logger.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="155">
-          <caret line="355" column="16" selection-start-line="355" selection-start-column="16" selection-end-line="355" selection-end-column="16" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/pom.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="23">
-          <caret line="20" column="18" selection-start-line="20" selection-start-column="18" selection-end-line="20" selection-end-column="18" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/LoginControllerAPI.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="230">
-          <caret line="21" column="31" selection-start-line="21" selection-start-column="31" selection-end-line="21" selection-end-column="31" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/logback-spring.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="115">
-          <caret line="5" lean-forward="true" selection-start-line="5" selection-end-line="5" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange2.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="276">
@@ -912,18 +739,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="138">
-          <caret line="110" column="4" selection-start-line="110" selection-start-column="4" selection-end-line="110" selection-end-column="86" />
-          <folding>
-            <element signature="imports" expanded="true" />
-            <element signature="e#3255#3979#0" />
-            <element signature="e#3985#4857#0" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/AesUtils.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="322">
@@ -1008,13 +823,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="43">
-          <caret line="765" column="41" selection-start-line="765" selection-start-column="41" selection-end-line="765" selection-end-column="41" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="714">
@@ -1039,13 +847,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/LoginController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="43">
-          <caret line="46" column="56" selection-start-line="46" selection-start-column="4" selection-end-line="46" selection-end-column="85" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartScoreManageServiceImpl.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="43">
@@ -1098,7 +899,7 @@
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/WxGzhController.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="43">
-          <caret line="42" column="40" lean-forward="true" selection-start-line="42" selection-start-column="40" selection-end-line="42" selection-end-column="40" />
+          <caret line="42" column="40" selection-start-line="42" selection-start-column="40" selection-end-line="42" selection-end-column="40" />
         </state>
       </provider>
     </entry>
@@ -1112,7 +913,7 @@
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/Message2.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="138">
-          <caret line="31" column="44" lean-forward="true" selection-start-line="31" selection-start-column="44" selection-end-line="31" selection-end-column="44" />
+          <caret line="31" column="44" selection-start-line="31" selection-start-column="44" selection-end-line="31" selection-end-column="44" />
         </state>
       </provider>
     </entry>
@@ -1126,14 +927,14 @@
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/Message.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="138">
-          <caret line="16" column="41" lean-forward="true" selection-start-line="16" selection-start-column="41" selection-end-line="16" selection-end-column="41" />
+          <caret line="16" column="41" selection-start-line="16" selection-start-column="41" selection-end-line="16" selection-end-column="41" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartEvaluateStudentController.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="207">
-          <caret line="33" column="38" lean-forward="true" selection-start-line="33" selection-start-column="38" selection-end-line="33" selection-end-column="38" />
+          <caret line="33" column="38" selection-start-line="33" selection-start-column="38" selection-end-line="33" selection-end-column="38" />
         </state>
       </provider>
     </entry>
@@ -1158,10 +959,106 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/application-dev.yml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-684" />
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/src/test/java/com/template/WrapperTest.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="138">
-          <caret line="12" column="44" selection-start-line="12" selection-start-column="44" selection-end-line="12" selection-end-column="44" />
+        <state relative-caret-position="207">
+          <caret line="15" column="37" selection-start-line="15" selection-start-column="37" selection-end-line="15" selection-end-column="37" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/LoginController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="552">
+          <caret line="49" column="12" selection-start-line="49" selection-start-column="12" selection-end-line="49" selection-end-column="12" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/wanzai/src/main/java/com/template/controller/SmartUserController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="88">
+          <caret line="3024" column="20" selection-start-line="3024" selection-start-column="20" selection-end-line="3024" selection-end-column="20" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartDepartment.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="543">
+          <caret line="42" column="23" selection-start-line="42" selection-start-column="19" selection-end-line="42" selection-end-column="23" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.3.1/spring-core-5.3.1-sources.jar!/org/springframework/cglib/proxy/MethodProxy.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="259">
+          <caret line="219" selection-start-line="219" selection-end-line="219" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartNotificationController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="317">
+          <caret line="36" column="31" selection-start-line="36" selection-start-column="12" selection-end-line="36" selection-end-column="31" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartUserControllerAPI.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="333">
+          <caret line="58" column="33" selection-start-line="58" selection-start-column="17" selection-end-line="58" selection-end-column="33" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="273">
+          <caret line="785" column="28" selection-start-line="785" selection-start-column="28" selection-end-line="785" selection-end-column="28" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUserServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="269">
+          <caret line="92" column="42" selection-start-line="92" selection-start-column="27" selection-end-line="92" selection-end-column="42" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/TeacherServiceBatchSaveOrUpdateTeacherParam.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="318">
+          <caret line="120" column="37" selection-start-line="120" selection-start-column="37" selection-end-line="120" selection-end-column="37" />
+          <folding>
+            <element signature="e#3137#3138#0" expanded="true" />
+            <element signature="e#3185#3186#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-2721">
+          <caret line="4210" selection-start-line="4210" selection-end-line="4210" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/DingTalkInterface.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="295">
+          <caret line="45" column="22" selection-start-line="45" selection-start-column="22" selection-end-line="45" selection-end-column="22" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/DingtalkController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="150">
+          <caret line="112" column="65" lean-forward="true" selection-start-line="112" selection-start-column="65" selection-end-line="112" selection-end-column="65" />
         </state>
       </provider>
     </entry>

+ 19 - 0
src/main/java/com/template/api/DingtalkControllerAPI.java

@@ -0,0 +1,19 @@
+package com.template.api;
+
+import com.template.annotation.DESRespondSecret;
+import com.template.model.result.CommonResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+
+@RequestMapping("/api/DingTalk")
+@Api(tags = {"DingtalkController"}, value = "钉钉")
+public interface DingtalkControllerAPI {
+
+
+    @GetMapping("/UpdateAttReport")
+    @ApiOperation(value = "更新考勤报表数据",httpMethod = "GET")
+    CommonResult queryAttReport(int currentPage, int pageCount, String name, String state);
+}

+ 17 - 0
src/main/java/com/template/common/utils/DingTalkInterface.java

@@ -72,4 +72,21 @@ public class DingTalkInterface {
 
         return jsonObject;
     }
+
+    //根据用户手机号查询id
+    public JSONObject getUserIdByPhone(String phone) throws Exception {
+        Map<String, String> headerMap = new HashMap<>();
+        headerMap.put("access_token",this.getAccessToken());
+        JSONObject json = new JSONObject();
+        json.put("mobile", phone);
+        logger.info("getbymobile入参:======="+headerMap + "====="+json);
+        String result = HttpClientDingUtils.sendPost(dingConfig.getBaseurl()+"/topapi/v2/user/getbymobile",json,headerMap);
+        logger.info("getbymobile出参:======="+result+"====");
+        JSONObject jsonObject = JSONObject.parseObject(result);
+        String errcode = String.valueOf(jsonObject.get("errcode"));
+        if(!errcode.equals("0")){
+
+        }
+        return jsonObject;
+    }
 }

+ 34 - 3
src/main/java/com/template/common/utils/TimeExchange.java

@@ -3,6 +3,7 @@ package com.template.common.utils;
 import com.alibaba.druid.sql.visitor.functions.Char;
 import com.template.controller.SmartClassController;
 import com.template.model.enumModel.eWeekStatu;
+import com.template.model.pojo.SmartUser;
 import com.template.model.pojo.UnitTimeHelpModel;
 import com.template.model.vo.ClassSettingDateVo;
 import org.apache.commons.lang3.time.DateFormatUtils;
@@ -755,6 +756,22 @@ public class TimeExchange {
         return new SimpleDateFormat("EEEE").format(c.getTime());
     }
 
+    /**
+     * 时间加减天数
+     *
+     * @param DateNow 时间
+     * @param amount  天数 负的为减多少天 正的为加多少天
+     * @return
+     * @throws ParseException
+     */
+    public static String TimeDesD(Date DateNow, int amount) throws ParseException {
+        Calendar nowTime2 = Calendar.getInstance();
+        nowTime2.setTime(DateNow);
+        nowTime2.add(Calendar.DATE, amount);
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        return simpleDateFormat.format(nowTime2.getTime());
+    }
+
     public static boolean vertify(String pwd) {
         //密码至少包含:大小写英文字母、数字,密码长度大于8位,小于20位
         String regex = "^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{8,20}$";
@@ -762,9 +779,23 @@ public class TimeExchange {
     }
 
     public static void main(String[] args) {
-        boolean result = vertify("Stc.123456");
-        logger.info(String.valueOf(result));
-
+        List<Integer> teacherDatas = new ArrayList<>();
+        teacherDatas.add(1);
+        teacherDatas.add(2);
+        teacherDatas.add(3);
+        teacherDatas.add(4);
+        teacherDatas.add(5);
+        int num = (int) Math.ceil((double) teacherDatas.size() / 3);
+        for (int count = 1; count <= num; count++) {
+            int startIndex = (count - 1) * 3;
+            int endIndex = count * 3;
+            if (count == num) {
+                endIndex = startIndex + (teacherDatas.size() % 3);
+            }
+
+            List<Integer> currentStudentDatas = teacherDatas.subList(startIndex, endIndex);//结尾不包含下标100
+            String sds = "";
+        }
     }
 
 

+ 134 - 0
src/main/java/com/template/controller/DingtalkController.java

@@ -0,0 +1,134 @@
+package com.template.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.google.gson.JsonArray;
+
+import com.google.gson.JsonObject;
+import com.template.annotation.DESRespondSecret;
+import com.template.api.DingtalkControllerAPI;
+import com.template.common.utils.DingTalkInterface;
+import com.template.common.utils.TimeExchange;
+import com.template.model.pojo.AttColumns;
+import com.template.model.pojo.SmartUser;
+import com.template.model.result.CommonResult;
+import com.template.services.SmartUserService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/7/5 星期三 9:28
+ * @Description: com.template.controller
+ * @Version: 1.0
+ */
+@RestController
+//返回参数加密注解
+@DESRespondSecret
+@Slf4j
+public class DingtalkController implements DingtalkControllerAPI {
+
+    @Autowired
+    private DingTalkInterface dingTalkInterface;
+
+    @Autowired
+    private SmartUserService smartUserService;
+    /**
+     * 获取列定义
+     * 遍历用户
+     * 	根据手机号获取用户id
+     * 	根据id获取列值
+     * 存入新表
+     */
+    @Override
+    @DESRespondSecret(validated = true)
+    public CommonResult queryAttReport(int currentPage, int pageCount, String name, String state) {
+
+        try {
+            JSONObject jsonObject=dingTalkInterface.getattcolumns();
+            String errcode = String.valueOf(jsonObject.get("errcode"));
+            if("0".equals(errcode)){
+                JSONObject result=  jsonObject.getJSONObject("result");
+                JSONArray columeArray=result.getJSONArray("columns");
+//                拼接列id
+                StringBuilder stringInsertCols = new StringBuilder();
+                List<Map<String, String>> attColumnsList = new ArrayList<>();
+                for (int i = 0; i < columeArray.size(); i++) {
+//                    入库
+                    JSONObject column=columeArray.getJSONObject(i);
+//                    AttColumns attColumns=new AttColumns();
+                    Map<String,String> attColumnsMap=new HashMap<>();
+                    attColumnsMap.put("id",column.getString("id"));
+                    attColumnsMap.put("name",column.getString("name"));
+                    attColumnsMap.put("alias",column.getString("alias"));
+                    attColumnsList.add(attColumnsMap);
+                    stringInsertCols.append(column.getString("id")+",");
+                }
+                String columnId= stringInsertCols.deleteCharAt(stringInsertCols.length() - 1).toString();
+                //查询所有用户
+                List<SmartUser> users=smartUserService.getListUser();
+                for (SmartUser user:users) {
+                    //查库没有钉钉id则更新
+                    String dingId = user.getDingId();
+                    if(dingId==null){
+                        JSONObject jsonObject1=dingTalkInterface.getUserIdByPhone(user.getPhone());
+                        String flag = String.valueOf(jsonObject.get("errcode"));
+                        if(!"0".equals(flag)){
+                            log.info("获取"+user.getPhone()+"userId失败;");
+                            continue;
+                        }
+                        dingId=jsonObject.getJSONObject("jsonObject").getString("userid");
+                        //存入钉钉id
+                        user.setDingId(dingId);
+                        smartUserService.saveOrUpdate(user);
+
+                    }
+//                    获取列值
+                   JSONObject jsonObject1= dingTalkInterface.getcolumnval(dingId,columnId,
+                           TimeExchange.TimeDesD(new Date(),-1)+" 00:00:00",TimeExchange.getDate()+" 00:00:00");
+                    String flag = String.valueOf(jsonObject1.get("errcode"));
+                    if(!"0".equals(flag)){
+                        log.info("获取"+user.getPhone()+"考勤数据失败;");
+                        continue;
+                    }
+                    List<Map<String,String>> keyValueList=new ArrayList<>();
+                    JSONArray columnValsList=jsonObject1.getJSONObject("result").getJSONArray("column_vals");
+                    for (int i = 0; i < columnValsList.size(); i++) {
+                        //获取列名
+                        String columId=columnValsList.getJSONObject(i).getJSONObject("column_vo").getString("id");
+                        List<Map<String, String>> identityData = attColumnsList.stream().filter(e -> e.get("id").equals(columId)).collect(Collectors.toList());
+                        if (identityData.isEmpty()){
+                            log.info("======"+columId+"===此id列未找到列定义");
+                            continue;
+                        }
+                        String alias=identityData.get(0).get("alias");
+                        //获取列值
+                        JSONArray valsArray=columnValsList.getJSONObject(i).getJSONArray("column_vals");
+                        String vals="";
+                        if (valsArray!=null&&valsArray.size()>0){
+                            vals=valsArray.getJSONObject(0).getString("value");
+                        }else{
+                            vals=columnValsList.getJSONObject(i).getString("fixed_value");
+                        }
+                        Map<String,String> keyValue=new HashMap<>();
+                        keyValue.put(alias,vals);
+                        keyValueList.add(keyValue);
+                    }
+                    //根据keyValueList入库
+
+                }
+
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return CommonResult.fail(e.getMessage());
+        }
+        return CommonResult.ok("");
+    }
+
+}

+ 61 - 49
src/main/java/com/template/controller/SmartUserController.java

@@ -643,59 +643,69 @@ public class SmartUserController implements SmartUserControllerAPI {
             //region
             //region 希沃添加教师数据
             if (useXw == 1) {
-                //初始化客户端
-                SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
-                //上传图片
-                List<PhotoServiceSavePhotosParam.ThirdSavePhotoQuery> photoList = new ArrayList<>();
-                // 老师列表
-                List<TeacherServiceBatchSaveOrUpdateTeacherParam.SaveOrUpdateTeacherQuery> teachers = new ArrayList<>();
-                for (SmartUser teacher : teacherDatas) {
-                    TeacherServiceBatchSaveOrUpdateTeacherParam.SaveOrUpdateTeacherQuery teacherData = TeacherServiceBatchSaveOrUpdateTeacherParam.SaveOrUpdateTeacherQuery.builder()
-                            .account(teacher.getPhone())//用户账号
-                            .name(teacher.getName())//用户名字
-                            .accountType("phone")//账号类型 phone:手机号  email:邮箱
-                            .teacherCode(teacher.getCardNo())//教师工号
-                            .photoUrl(teacher.getHeadImage())//图片链接
-                            .build();
-                    teachers.add(teacherData);
 
-                    PhotoServiceSavePhotosParam.ThirdSavePhotoQuery photo = new PhotoServiceSavePhotosParam.ThirdSavePhotoQuery();
-                    photo.setPhotoUrl(teacher.getHeadImage());
-                    photo.setUserCode(teacher.getPhone());
-                    photoList.add(photo);
-                }
+                int num = (int) Math.ceil((double) teacherDatas.size() / 100);
+                for (int count = 1; count <= num; count++) {
+                    int startIndex = (count - 1) * 100;
+                    int endIndex = count * 100;
+                    if (count == num) {
+                        endIndex = startIndex + (teacherDatas.size() % 100);
+                    }
 
-                CommonResult<List<TeacherServiceBatchSaveOrUpdateTeacherResult.TeacherBaseInfoDto>> insertTeacher = SeewoInsertBatchTeacher(seewoClient, teachers);
-                if (!insertTeacher.isSuccess()) {
-                    return CommonResult.fail(insertTeacher.getMessage());
-                }
+                    List<SmartUser> currentStudentDatas = teacherDatas.subList(startIndex, endIndex);//结尾不包含下标100
 
-                CommonResult insertPhotoResult = SeewoInsertBatchPhoto(seewoClient, photoList, eSeewoUserType.Teacher.getValue());
-                if (!insertPhotoResult.isSuccess()) {
-                    return insertPhotoResult;
-                }
+                    //初始化客户端
+                    SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
+                    //上传图片
+                    List<PhotoServiceSavePhotosParam.ThirdSavePhotoQuery> photoList = new ArrayList<>();
+                    // 老师列表
+                    List<TeacherServiceBatchSaveOrUpdateTeacherParam.SaveOrUpdateTeacherQuery> teachers = new ArrayList<>();
+                    for (SmartUser teacher : currentStudentDatas) {
+                        TeacherServiceBatchSaveOrUpdateTeacherParam.SaveOrUpdateTeacherQuery teacherData = TeacherServiceBatchSaveOrUpdateTeacherParam.SaveOrUpdateTeacherQuery.builder()
+                                .account(teacher.getPhone())//用户账号
+                                .name(teacher.getName())//用户名字
+                                .accountType("phone")//账号类型 phone:手机号  email:邮箱
+                                .teacherCode(teacher.getCardNo())//教师工号
+                                .photoUrl(teacher.getHeadImage())//图片链接
+                                .build();
+                        teachers.add(teacherData);
 
+                        PhotoServiceSavePhotosParam.ThirdSavePhotoQuery photo = new PhotoServiceSavePhotosParam.ThirdSavePhotoQuery();
+                        photo.setPhotoUrl(teacher.getHeadImage());
+                        photo.setUserCode(teacher.getPhone());
+                        photoList.add(photo);
+                    }
 
-                for (SmartUser teacher : teacherDatas) {
-                    if (teacher.getDuties().intValue() == eDuties.ClassTeacher.getValue()) {
+                    CommonResult<List<TeacherServiceBatchSaveOrUpdateTeacherResult.TeacherBaseInfoDto>> insertTeacher = SeewoInsertBatchTeacher(seewoClient, teachers);
+                    if (!insertTeacher.isSuccess()) {
+                        return CommonResult.fail(insertTeacher.getMessage());
+                    }
 
-                        Optional<SmartClass> oClass = classDatas.stream().filter(e -> e.getId().equals(teacher.getSchoolClass())).findFirst();
-                        if (oClass != null && oClass.isPresent()) {
-                            //获取班级Uid
-                            //region 将班主任推送到希沃
-                            if (useXw == 1) {
-                                CommonResult pushMaster = SeewoPushMaster(seewoClient, teacher.getPhone(), oClass.get().getClassUid());
-                                if (!pushMaster.isSuccess()) {
-                                    return CommonResult.fail(pushMaster.getMessage());
+                    CommonResult insertPhotoResult = SeewoInsertBatchPhoto(seewoClient, photoList, eSeewoUserType.Teacher.getValue());
+                    if (!insertPhotoResult.isSuccess()) {
+                        return insertPhotoResult;
+                    }
+
+                    for (SmartUser teacher : teacherDatas) {
+                        if (teacher.getDuties().intValue() == eDuties.ClassTeacher.getValue()) {
+
+                            Optional<SmartClass> oClass = classDatas.stream().filter(e -> e.getId().equals(teacher.getSchoolClass())).findFirst();
+                            if (oClass != null && oClass.isPresent()) {
+                                //获取班级Uid
+                                //region 将班主任推送到希沃
+                                if (useXw == 1) {
+                                    CommonResult pushMaster = SeewoPushMaster(seewoClient, teacher.getPhone(), oClass.get().getClassUid());
+                                    if (!pushMaster.isSuccess()) {
+                                        return CommonResult.fail(pushMaster.getMessage());
+                                    }
                                 }
+                                //endregion
+                            } else {
+                                return CommonResult.fail(teacher.getName() + "班级数据无效,导入失败");
                             }
-                            //endregion
-                        } else {
-                            return CommonResult.fail(teacher.getName() + "班级数据无效,导入失败");
                         }
                     }
                 }
-
             }
             //endregion
             //region 百胜添加教师数据
@@ -1651,7 +1661,7 @@ public class SmartUserController implements SmartUserControllerAPI {
                                 return CommonResult.fail(name + "的部门编码不能为空");
                             }
 
-                            Optional<SmartDepartment> oDepartment = departments.stream().filter(e -> e.getBsDepartmentNo().equals(departmentNo)).findFirst();
+                            Optional<SmartDepartment> oDepartment = departments.stream().filter(e -> e.getName().equals(departmentName)).findFirst();
                             if (!(oDepartment != null && oDepartment.isPresent())) {
                                 return CommonResult.fail(departmentName + "部门数据在系统中不存在");
                             }
@@ -2102,7 +2112,7 @@ public class SmartUserController implements SmartUserControllerAPI {
                                 return CommonResult.fail(name + "的部门编码不能为空");
                             }
 
-                            Optional<SmartDepartment> oDepartment = departments.stream().filter(e -> e.getBsDepartmentNo().equals(departmentNo)).findFirst();
+                            Optional<SmartDepartment> oDepartment = departments.stream().filter(e -> e.getName().equals(departmentName)).findFirst();
                             if (!(oDepartment != null && oDepartment.isPresent())) {
                                 return CommonResult.fail(departmentName + "部门数据在系统中不存在");
                             }
@@ -4247,14 +4257,16 @@ public class SmartUserController implements SmartUserControllerAPI {
                 List<SmartUser> users = smartUserService.querySmartUsers(authDepartments, name);
 
                 List<String> affiliates = new ArrayList<>();
-                List<String> affiliateStr = users.stream().map(SmartUser::getAffiliate).collect(Collectors.toList());
+                List<String> affiliateStr = users.stream().map(SmartUser::getAffiliate).distinct().collect(Collectors.toList());
                 for (String datas : affiliateStr) {
-                    String[] dataArray = datas.split(",");
-                    for (int i = 0; i < dataArray.length; i++) {
-                        affiliates.add(dataArray[i]);
+                    if(!ObjectUtils.isEmpty(datas)){
+                        String[] dataArray = datas.split(",");
+                        for (int i = 0; i < dataArray.length; i++) {
+                            affiliates.add(dataArray[i]);
+                        }
                     }
                 }
-                List<SmartUser> affiliateDatas = smartUserService.getSmartUserIds(affiliates);
+                List<SmartUser> affiliateDatas = affiliates != null && affiliates.size() >0 ? smartUserService.getSmartUserIds(affiliates) : null;
 
                 List<Integer> dutieIds = users != null && users.size() > 0 ? users.stream().map(SmartUser::getDuties).collect(Collectors.toList()) : null;
                 //职务数据

+ 17 - 0
src/main/java/com/template/mapper/AttColumnsMapper.java

@@ -0,0 +1,17 @@
+package com.template.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.template.model.pojo.AttColumns;
+import com.template.model.pojo.SystemUser;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-03-30
+ */
+public interface AttColumnsMapper extends BaseMapper<AttColumns> {
+
+}

+ 60 - 0
src/main/java/com/template/model/pojo/AttColumns.java

@@ -0,0 +1,60 @@
+package com.template.model.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-03-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="钉钉报表列对象", description="")
+public class AttColumns implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.INPUT)
+    private String id;
+
+    @ApiModelProperty(value = "列名称")
+    private String name;
+
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+
+    @TableField(fill = FieldFill.INSERT)
+    @ApiModelProperty(value = "创建人员")
+    private Long createUser;
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @ApiModelProperty(value = "更新人员")
+    private Long updateUser;
+
+    @ApiModelProperty(value = "逻辑删除标记")
+    @TableLogic
+    private Long deleted;
+
+
+}

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

@@ -158,5 +158,8 @@ public class SmartUser implements Serializable {
     @TableLogic
     private Integer deleted;
 
+    @ApiModelProperty(value = "钉钉Id")
+    private String dingId;
+
 
 }

+ 19 - 0
src/main/java/com/template/services/AttColumnsService.java

@@ -0,0 +1,19 @@
+package com.template.services;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.template.model.pojo.AttColumns;
+
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-03-30
+ */
+public interface AttColumnsService extends IService<AttColumns> {
+
+}

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

@@ -97,4 +97,6 @@ public interface SmartUserService extends IService<SmartUser> {
     List<SmartUser> queryStudentsByGrade(List<String> gradeIds);
 
     List<SmartUser> queryUsersByClass(Integer schoolClass);
+
+    List<SmartUser> getListUser();
 }

+ 25 - 0
src/main/java/com/template/services/impl/AttColumnsServiceImpl.java

@@ -0,0 +1,25 @@
+package com.template.services.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.template.config.MySecurity;
+import com.template.mapper.AttColumnsMapper;
+import com.template.mapper.SystemUserMapper;
+import com.template.model.pojo.AttColumns;
+import com.template.model.pojo.SystemUser;
+import com.template.services.AttColumnsService;
+import com.template.services.SystemUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-03-30
+ */
+@Service
+public class AttColumnsServiceImpl extends ServiceImpl<AttColumnsMapper, AttColumns> implements AttColumnsService {
+
+}

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

@@ -291,4 +291,15 @@ public class SmartUserServiceImpl extends ServiceImpl<SmartUserMapper, SmartUser
         List<SmartUser> users = smartUserMapper.selectList(queryWrapper);
         return users;
     }
+    @Override
+    public List<SmartUser> getListUser() {
+
+        LambdaQueryWrapper<SmartUser> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SmartUser::getIsCancel, 0);
+
+        List<SmartUser> smartUserList = this.list(wrapper);
+
+        return smartUserList;
+    }
+
 }

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

@@ -18,6 +18,7 @@ com\template\mapper\SmartWarningMapper.class
 com\template\model\result\PageUtils.class
 com\template\model\seewo\AttendanceRuleListEventByClazzParam$Query.class
 com\template\model\seewo\TeacherApiQueryByConditionParam$JSONRequestBody.class
+com\template\api\DingtalkControllerAPI.class
 com\template\model\seewo\PhotoServiceSavePhotosParam$ThirdSavePhotoBatchQuery.class
 com\template\model\seewo\TeacherServiceBatchRemoveTeachersParam$TeacherServiceBatchRemoveTeachersParamBuilder.class
 com\template\model\seewo\ParentServiceRemoveStudentParentConditionParam$ThirdRemoveStudentParentQuery$ThirdRemoveStudentParentQueryBuilder.class
@@ -75,6 +76,7 @@ com\template\model\pojo\SmartAttendance.class
 com\template\model\vo\SmartEnumVo.class
 com\template\services\impl\SmartSubjectTemplateServiceImpl.class
 com\template\model\vo\BsStaffVo.class
+com\template\model\pojo\AttColumns.class
 com\template\model\seewo\OrgClassOpenSeewoUcOpenV1ClassFullParam.class
 com\template\common\jh\ReqRespResearchProductQuestionnaireItem.class
 com\template\controller\Task.class
@@ -297,6 +299,7 @@ com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsParam$ParentsItem.
 com\template\services\SmartAttendanceService.class
 com\template\model\pojo\SmartDataTask.class
 com\template\model\seewo\TeacherServiceBatchSetClassMastersResult.class
+com\template\controller\DingtalkController.class
 com\template\model\request\bindStudentRequest.class
 com\template\model\seewo\TeacherServiceBatchRemoveClassMastersParam$Query.class
 com\template\model\seewo\StudentServiceUpdateStudentInfoParam$CardsItem$CardsItemBuilder.class
@@ -656,6 +659,7 @@ com\template\model\seewo\HomeSchoolServiceSendNoteToKidParam$RequestBody.class
 com\template\controller\SmartWarningController.class
 com\template\model\pojo\SmartFreezeRecord.class
 com\template\handler\MyMetaObjectHandler.class
+com\template\services\impl\AttColumnsServiceImpl.class
 com\template\controller\SmartClassController.class
 com\template\mapper\SmartScreenshotMapper.class
 com\template\model\pojo\SmartMeterDetail.class
@@ -668,6 +672,7 @@ com\template\services\impl\SmartScoreServiceImpl.class
 com\template\model\request\loginRequest.class
 com\template\model\seewo\StudentLeaveStudentLeaveRequestHandlerResult$StudentLeaveRecordResult.class
 com\template\common\utils\EncryptUtil.class
+com\template\services\AttColumnsService.class
 com\template\mapper\SmartScreenshotRecordMapper.class
 com\template\model\evaluate\student\SmartEvaluateSdetailList.class
 com\template\model\seewo\StudentServiceBatchSaveClassStudentsParam$StudentServiceBatchSaveClassStudentsParamBuilder.class
@@ -773,6 +778,7 @@ com\template\model\vo\ClassUserDetailVo.class
 com\template\mapper\SystemMenuMapper.class
 com\template\model\enumModel\eFileType.class
 com\template\model\vo\BsTimeGroupNoListVo.class
+com\template\mapper\AttColumnsMapper.class
 com\template\model\seewo\AttendanceRuleListEventByClazzParam$Query$QueryBuilder.class
 com\template\model\seewo\OrganizationNodeServiceInitSchoolClassesParam$Query.class
 com\template\model\vo\deleteUserVo.class

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

@@ -37,10 +37,12 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 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\model\pojo\AttColumns.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\enumModel\eSeewoUserType.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\mapper\AttColumnsMapper.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
@@ -67,6 +69,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartNotificationMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\evaluate\teacher\SmartEvaluateTdetailList.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\insertDepartmentRequest.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\AttColumnsServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\UploadControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\HttpClientDingUtils.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\HttpUtils.java
@@ -109,6 +112,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\updateMenuRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\ExcelClassField.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartNotification.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\DingtalkControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\RepairAdminController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\HomeSchoolServiceSendNoteToKidResult.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartCarAccess.java
@@ -458,6 +462,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\RepairAdminServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartQrcode.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartFamilyIndexService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\AttColumnsService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\annotation\UserLoginCheck.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\evaluate\student\SmartSubjectRuleOutList.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartUserMapper.java
@@ -535,6 +540,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\changeDepartmentRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\StudentServiceBatchSaveClassStudentsRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\DataBliu.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\DingtalkController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\UpdateSmartSchoolRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartFaceDiscernServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartGradeServiceImpl.java

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