Quellcode durchsuchen

批量同步学生

溪鸭夏 vor 2 Jahren
Ursprung
Commit
a3aed400ba

+ 219 - 98
.idea/workspace.xml

@@ -2,8 +2,14 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="981dbcd1-a700-4015-8567-2ccff8e76f0a" name="Default Changelist" comment="">
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/request/setUserTimeGroupRequest.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/ClassUserDetailVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/ClassUserVo.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartUserControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartUserControllerAPI.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/vo/TimeGroupVo.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/TimeGroupVo.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" />
     </list>
     <ignored path="$PROJECT_DIR$/classes/" />
     <ignored path="$PROJECT_DIR$/target/" />
@@ -21,8 +27,8 @@
       <file pinned="false" current-in-tab="false">
         <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="-5">
-              <caret line="60" column="7" lean-forward="true" selection-start-line="60" selection-start-column="7" selection-end-line="60" selection-end-column="7" />
+            <state relative-caret-position="1075">
+              <caret line="204" column="68" lean-forward="true" selection-start-line="204" selection-start-column="68" selection-end-line="204" selection-end-column="68" />
             </state>
           </provider>
         </entry>
@@ -30,14 +36,13 @@
       <file pinned="false" current-in-tab="true">
         <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="397">
-              <caret line="716" column="51" selection-start-line="716" selection-start-column="51" selection-end-line="716" selection-end-column="51" />
+            <state relative-caret-position="127">
+              <caret line="4211" column="13" lean-forward="true" selection-start-line="4211" selection-start-column="13" selection-end-line="4211" selection-end-column="13" />
               <folding>
                 <element signature="imports" expanded="true" />
                 <element signature="e#3847#4719#0" />
                 <element signature="e#4725#6595#0" />
                 <element signature="e#6601#10960#0" />
-                <element signature="e#28866#31551#1" />
               </folding>
             </state>
           </provider>
@@ -52,21 +57,34 @@
           </provider>
         </entry>
       </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/ClassUserVo.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="621">
+              <caret line="27" column="29" selection-start-line="27" selection-start-column="29" selection-end-line="27" selection-end-column="29" />
+              <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/setUserTimeGroupRequest.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="460">
+              <caret line="20" column="31" selection-start-line="20" selection-start-column="31" selection-end-line="20" selection-end-column="31" />
+              <folding>
+                <element signature="imports" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
     </leaf>
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>useBs</find>
-      <find>updateSmartUserById</find>
-      <find>bsUpdateStudent</find>
-      <find>queryDepartmentTree</find>
-      <find>根据子级</find>
-      <find>hasTex</find>
-      <find>.split(&quot;,&quot;)</find>
-      <find>newViewAthors</find>
-      <find>QueryDepartmentTreeRecords</find>
-      <find>userhead</find>
-      <find>user</find>
       <find>auth</find>
       <find>querySmartUserPages</find>
       <find>page</find>
@@ -79,17 +97,31 @@
       <find>批量</find>
       <find>Xls</find>
       <find>Xlsx</find>
-      <find>importExcelUpdateUsers</find>
       <find>文档</find>
       <find>档内容为空</find>
       <find>classtab_no</find>
       <find>希沃更新</find>
       <find>seewoClient</find>
       <find>SeewoUpdateStudent</find>
+      <find>时间组</find>
+      <find>timeGroups</find>
+      <find>class</find>
+      <find>.replace</find>
+      <find>replace(&quot;年级&quot;</find>
+      <find>timeGroups(</find>
+      <find>分页</find>
+      <find>queryPageSmartUser</find>
+      <find>QueryParentDepartments</find>
+      <find>queryClassUser</find>
+      <find>importExcelUpdateUsers</find>
+      <find>导出</find>
     </findStrings>
     <replaceStrings>
       <replace />
     </replaceStrings>
+    <dirStrings>
+      <dir>D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api</dir>
+    </dirStrings>
   </component>
   <component name="Git.Settings">
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
@@ -120,15 +152,19 @@
         <option value="$PROJECT_DIR$/src/main/java/com/template/model/seewo/PhotoServiceSavePhotosRequest.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eSeewoUserType.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/model/request/updateSmartUserRequest.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/controller/SmartDepartmentController.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartAuthorityService.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartUserControllerAPI.java" />
         <option value="$PROJECT_DIR$/src/main/resources/application-prod.yml" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/model/seewo/AttendanceRuleListEventByClazzRequest.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/ScheduleController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/TimeGroupVo.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/vo/ClassUserDetailVo.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/ClassUserVo.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartUserControllerAPI.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/model/request/setUserTimeGroupRequest.java" />
       </list>
     </option>
   </component>
@@ -160,7 +196,7 @@
   <component name="MavenRunner">
     <option name="skipTests" value="true" />
   </component>
-  <component name="ProjectFrameBounds" extendedState="6">
+  <component name="ProjectFrameBounds">
     <option name="x" value="-7" />
     <option name="width" value="974" />
     <option name="height" value="1039" />
@@ -169,7 +205,85 @@
     <navigator proportions="" version="1">
       <foldersAlwaysOnTop value="true" />
     </navigator>
-    <panes />
+    <panes>
+      <pane id="PackagesPane" />
+      <pane id="ProjectPane">
+        <subPane>
+          <expand>
+            <path>
+              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
+              <item name="backend_code" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
+              <item name="backend_code" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
+              <item name="backend_code" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
+              <item name="backend_code" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
+              <item name="backend_code" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="template" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
+              <item name="backend_code" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="template" type="462c0819:PsiDirectoryNode" />
+              <item name="api" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
+              <item name="backend_code" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="template" type="462c0819:PsiDirectoryNode" />
+              <item name="model" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
+              <item name="backend_code" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="template" type="462c0819:PsiDirectoryNode" />
+              <item name="model" type="462c0819:PsiDirectoryNode" />
+              <item name="enumModel" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
+              <item name="backend_code" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="template" type="462c0819:PsiDirectoryNode" />
+              <item name="model" type="462c0819:PsiDirectoryNode" />
+              <item name="request" type="462c0819:PsiDirectoryNode" />
+            </path>
+          </expand>
+          <select />
+        </subPane>
+      </pane>
+      <pane id="Scope" />
+    </panes>
   </component>
   <component name="PropertiesComponent">
     <property name="RequestMappingsPanelOrder0" value="0" />
@@ -187,15 +301,16 @@
     <selection>jr</selection>
   </component>
   <component name="RecentsManager">
-    <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>
     <key name="CopyClassDialog.RECENTS_KEY">
-      <recent name="com.template.model.enumModel" />
+      <recent name="com.template.model.request" />
       <recent name="com.template.model.vo" />
+      <recent name="com.template.model.enumModel" />
     </key>
-    <key name="CopyFile.RECENT_KEYS">
-      <recent name="D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo" />
+    <key name="MoveFile.RECENT_KEYS">
+      <recent name="D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\resources\mapper\template" />
     </key>
   </component>
   <component name="RunDashboard">
@@ -249,18 +364,19 @@
       <updated>1712903307839</updated>
       <workItem from="1712903309092" duration="92665000" />
       <workItem from="1713507889834" duration="7494000" />
-      <workItem from="1713599046631" duration="2226000" />
+      <workItem from="1713599046631" duration="2336000" />
+      <workItem from="1713744476558" duration="13612000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="102385000" />
+    <option name="totallyTimeSpent" value="116107000" />
   </component>
   <component name="ToolWindowManager">
-    <frame x="-8" y="-8" width="1936" height="1048" extended-state="6" />
+    <frame x="-7" y="0" width="974" height="1039" extended-state="0" />
     <editor active="true" />
     <layout>
-      <window_info content_ui="combo" id="Project" order="0" weight="0.33150986" />
+      <window_info content_ui="combo" id="Project" order="0" weight="0.20948827" />
       <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" />
@@ -272,7 +388,7 @@
       <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.4452954" />
-      <window_info anchor="bottom" id="Debug" order="3" weight="0.46061268" />
+      <window_info active="true" anchor="bottom" id="Debug" order="3" visible="true" weight="0.45966852" />
       <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" />
@@ -319,25 +435,25 @@
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>3175</line>
+          <line>3176</line>
           <properties />
           <option name="timeStamp" value="66" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>3135</line>
+          <line>3136</line>
           <properties />
           <option name="timeStamp" value="103" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>3138</line>
+          <line>3139</line>
           <properties />
           <option name="timeStamp" value="104" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>3130</line>
+          <line>3131</line>
           <properties />
           <option name="timeStamp" value="105" />
         </line-breakpoint>
@@ -361,41 +477,6 @@
     <option name="FILTER_TARGETS" value="false" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/updateDepartmentRequest.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-102">
-          <caret line="16" column="13" selection-start-line="16" selection-start-column="13" selection-end-line="16" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDepartmentServiceImpl.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="151">
-          <caret line="75" column="41" selection-start-line="75" selection-start-column="27" selection-end-line="75" selection-end-column="41" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartTimeGroupServiceImpl.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="269">
-          <caret line="43" column="47" selection-start-line="43" selection-start-column="32" selection-end-line="43" selection-end-column="47" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/insertSmartUserRequest.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="414">
-          <caret line="23" column="7" selection-start-line="23" selection-start-column="7" selection-end-line="23" selection-end-column="7" />
-        </state>
-      </provider>
-    </entry>
-    <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="667">
-          <caret line="34" column="23" selection-start-line="34" selection-start-column="8" selection-end-line="34" selection-end-column="23" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/UserVo.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="152">
@@ -442,13 +523,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SystemUserServiceImpl.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="299">
-          <caret line="29" column="13" selection-start-line="29" selection-start-column="13" selection-end-line="29" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/resources/mapper/template/SmartUserMapper.xml">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="269">
@@ -554,13 +628,6 @@
         </state>
       </provider>
     </entry>
-    <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="287">
-          <caret line="63" column="19" selection-start-line="63" selection-start-column="19" selection-end-line="63" selection-end-column="19" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/updateSmartUserRequest.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="609">
@@ -613,13 +680,6 @@
         </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="58" column="108" selection-start-line="58" selection-start-column="95" selection-end-line="58" selection-end-column="108" />
-        </state>
-      </provider>
-    </entry>
     <entry file="jar://C:/Program Files/Java/jdk1.8.0_181/src.zip!/java/util/stream/Stream.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="295">
@@ -714,10 +774,55 @@
         </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/vo/TimeGroupVo.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="621">
+          <caret line="27" column="9" selection-start-line="27" selection-start-column="9" selection-end-line="27" selection-end-column="9" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SystemUserServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="299">
+          <caret line="29" column="13" selection-start-line="29" selection-start-column="13" selection-end-line="29" selection-end-column="13" />
+        </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="-5">
-          <caret line="60" column="7" lean-forward="true" selection-start-line="60" selection-start-column="7" selection-end-line="60" selection-end-column="7" />
+        <state relative-caret-position="631">
+          <caret line="286" column="44" selection-start-line="286" selection-start-column="27" selection-end-line="286" selection-end-column="44" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/SmartEnumVo.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="253">
+          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/ClassUserDetailVo.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="575">
+          <caret line="25" column="18" selection-start-line="25" selection-start-column="12" selection-end-line="25" selection-end-column="18" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/ClassUserVo.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="621">
+          <caret line="27" column="29" selection-start-line="27" selection-start-column="29" selection-end-line="27" selection-end-column="29" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <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="295">
+          <caret line="63" column="19" selection-start-line="63" selection-start-column="19" selection-end-line="63" selection-end-column="19" />
         </state>
       </provider>
     </entry>
@@ -728,16 +833,32 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/setUserTimeGroupRequest.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="460">
+          <caret line="20" column="31" selection-start-line="20" selection-start-column="31" selection-end-line="20" selection-end-column="31" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </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="1075">
+          <caret line="204" column="68" lean-forward="true" selection-start-line="204" selection-start-column="68" selection-end-line="204" selection-end-column="68" />
+        </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="397">
-          <caret line="716" column="51" selection-start-line="716" selection-start-column="51" selection-end-line="716" selection-end-column="51" />
+        <state relative-caret-position="127">
+          <caret line="4211" column="13" lean-forward="true" selection-start-line="4211" selection-start-column="13" selection-end-line="4211" selection-end-column="13" />
           <folding>
             <element signature="imports" expanded="true" />
             <element signature="e#3847#4719#0" />
             <element signature="e#4725#6595#0" />
             <element signature="e#6601#10960#0" />
-            <element signature="e#28866#31551#1" />
           </folding>
         </state>
       </provider>

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

@@ -188,4 +188,20 @@ public interface SmartUserControllerAPI {
     @ApiOperation(value = "用户分页数据", notes = "用户分页数据", httpMethod = "GET")
     CommonResult queryUserDeletePage(@RequestParam int currentPage, @RequestParam int pageCount);
 
+
+    /**
+     * 获取班级下的学生
+     */
+    @GetMapping(value = "/queryClassUser")
+    @ApiOperation(value = "获取班级下的学生", notes = "获取班级下的学生", httpMethod = "GET")
+    CommonResult queryClassUser(@RequestParam int classId);
+
+
+    /**
+     * 批量设置学生时间组
+     */
+    @PostMapping(value = "/setUserTimeGroup")
+    @ApiOperation(value = "批量设置学生时间组", notes = "批量设置学生时间组", httpMethod = "POST")
+    CommonResult setUserTimeGroup(@Validated @RequestBody setUserTimeGroupRequest isur, BindingResult bindingResult) throws Exception;
+
 }

+ 102 - 2
src/main/java/com/template/controller/SmartUserController.java

@@ -711,9 +711,9 @@ public class SmartUserController implements SmartUserControllerAPI {
             }
         }
 
-        if(updateStudent != null && updateStudent.size() > 0){
+        if (updateStudent != null && updateStudent.size() > 0) {
             boolean updateBatch = smartUserService.updateUserBatchById(updateStudent);
-            if(!updateBatch){
+            if (!updateBatch) {
                 return CommonResult.fail("系统批量更新出错,导入失败");
             }
         }
@@ -1737,6 +1737,7 @@ public class SmartUserController implements SmartUserControllerAPI {
             TimeGroupVo data = new TimeGroupVo();
             data.setId(groupData.getId());
             data.setName(groupData.getName());
+            data.setRemark(groupData.getRemark());
             result.add(data);
         }
 
@@ -4168,6 +4169,105 @@ public class SmartUserController implements SmartUserControllerAPI {
         return CommonResult.ok(result);
     }
 
+    @Override
+    public CommonResult queryClassUser(int classId) {
+        SmartClass classData = smartClassService.getSmartClassById(classId);
+        if (classData == null) {
+            return CommonResult.fail("班级数据为空,获取失败");
+        }
+
+        List<SmartDepartment> departments = smartDepartmentService.list(null);
+        if (departments == null) {
+            return CommonResult.fail("部门数据为空,获取失败");
+        }
+
+        //查找部门名称
+        String departmentName = classData.getName().replace("年级", "") + "学生";
+        Optional<SmartDepartment> department = departments.stream().filter(e -> e.getName().equals(departmentName)).findFirst();
+        if (!(department != null && department.isPresent())) {
+            return CommonResult.fail("部门数据为空,获取失败");
+        }
+
+
+        String departmentStr = QueryParentDepartments(department.get().getParentId(), departments, null);
+
+        ClassUserVo result = new ClassUserVo();
+        result.setClassId(classId);
+        result.setName(departmentStr);
+        List<ClassUserDetailVo> userDetails = new ArrayList<>();
+
+        //region 用户明细集合数据
+        List<SmartUser> users = smartUserService.queryUsersByClass(classId);
+        if (users != null && users.size() > 0) {
+            List<SmartTimeGroup> timeGroups = smartTimeGroupService.list(null);
+            for (SmartUser user : users) {
+                ClassUserDetailVo userDetail = new ClassUserDetailVo();
+                userDetail.setId(user.getId());
+                userDetail.setName(user.getName());
+                Optional<SmartTimeGroup> timeGroup = timeGroups.stream().filter(e -> e.getId().equals(user.getTimeGroupId())).findFirst();
+                if (timeGroup != null && timeGroup.isPresent()) {
+                    userDetail.setTimeGroup(timeGroup.get().getName());
+                }
+                userDetails.add(userDetail);
+            }
+        }
+        //endregion
+
+        result.setUserDetails(userDetails);
+
+        return CommonResult.ok(result);
+    }
+
+    @Override
+    public CommonResult setUserTimeGroup(setUserTimeGroupRequest isur, BindingResult bindingResult) throws Exception {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
+        }
+
+        SmartTimeGroup timeGroup = smartTimeGroupService.queryTimeGroupById(isur.getTimeGroupId());
+        if (timeGroup == null) {
+            return CommonResult.fail("时间组数据无效,批量同步时间组失败!");
+        }
+
+        //region 批量更新百胜学生的时间组
+        List<SmartUser> users = smartUserService.getSmartUserByIds(isur.getIds());
+        if (users == null) {
+            return CommonResult.fail("用户数据无效,批量同步时间组失败!");
+        }
+
+        List<SmartGrade> grades = smartGradeService.list(null);
+        List<SmartClass> classes = smartClassService.list(null);
+        for (SmartUser user : users) {
+            user.setTimeGroupId(isur.getTimeGroupId());
+            Optional<SmartGrade> oGrade = grades.stream().filter(e -> e.getId().equals(Integer.valueOf(user.getGrade()))).findFirst();
+            if (!(oGrade != null && oGrade.isPresent())) {
+                return CommonResult.fail("年级数据无效,批量同步时间组失败!");
+            }
+
+            Optional<SmartClass> oClass = classes.stream().filter(e -> e.getId().equals(user.getSchoolClass())).findFirst();
+            if (!(oClass != null && oClass.isPresent())) {
+                return CommonResult.fail("班级数据无效,批量同步时间组失败!");
+            }
+
+            /**
+             * 学生数据的有效期是到毕业年份的8月31日
+             */
+            String startTime = TimeExchange.DateToString(new Date(), "yyyy-MM-dd HH:mm:ss");
+            String endTime = queryGraduationYear(oGrade.get().getGradeNo());
+            CommonResult<String> updateBsStudent = bsEUpdateStudent(user, oClass.get().getBsClassNo(), startTime, endTime);
+            if (!updateBsStudent.isSuccess()) {
+                return CommonResult.fail(updateBsStudent.getMessage());
+            }
+            //endregion
+        }
+
+        //region 批量更新学生数据
+        boolean updateBatch = smartUserService.updateUserBatchById(users);
+
+        return updateBatch ? CommonResult.ok("批量同步成功") : CommonResult.fail("批量同步失败");
+    }
+
 
     public String eGroupTime(Integer id) {
         SmartTimeGroup result = smartTimeGroupService.queryTimeGroupById(id);

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

@@ -0,0 +1,30 @@
+package com.template.model.request;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/7/7 星期五 14:27
+ * @Description: com.repair.model.request
+ * @Version: 1.0
+ */
+@Data
+public class setUserTimeGroupRequest {
+
+    /**
+     * 学生ID集合
+     */
+    @NotEmpty(message = "学生ID集合不能为空")
+    private List<Integer> ids;
+
+    /**
+     * 时间组ID
+     */
+    @NotBlank(message = "时间组ID不能为空")
+    private Integer timeGroupId;
+
+}

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

@@ -0,0 +1,27 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/12/6 星期三 14:15
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class ClassUserDetailVo {
+    /**
+     * 用户数据ID
+     */
+    private Integer id;
+
+    /**
+     * 用户名称
+     */
+    private String name;
+
+    /**
+     * 时间组
+     */
+    private String timeGroup;
+}

+ 31 - 0
src/main/java/com/template/model/vo/ClassUserVo.java

@@ -0,0 +1,31 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/12/6 星期三 14:15
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class ClassUserVo {
+    /**
+     * 班级ID
+     */
+    private Integer classId;
+
+    /**
+     * 部门名称
+     */
+    private String name;
+
+    /**
+     * 班级学生集合
+     */
+    private List<ClassUserDetailVo> userDetails;
+
+
+}

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

@@ -23,4 +23,9 @@ public class TimeGroupVo {
      * TG1701747243082762(3);//下午时间组 14:30 - 17:00
      */
     private String name;
+
+    /**
+     * 备注
+     */
+    private String remark;
 }

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

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

+ 18 - 10
src/main/java/com/template/services/impl/SmartUserServiceImpl.java

@@ -168,9 +168,9 @@ public class SmartUserServiceImpl extends ServiceImpl<SmartUserMapper, SmartUser
     @Override
     public List<SmartUser> getListPush() {
 
-        LambdaQueryWrapper<SmartUser> wrapper=new LambdaQueryWrapper<>();
-        wrapper.eq(SmartUser::getIsCancel,0)
-                .eq(SmartUser::getIsPush,1);
+        LambdaQueryWrapper<SmartUser> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SmartUser::getIsCancel, 0)
+                .eq(SmartUser::getIsPush, 1);
 
         List<SmartUser> smartUserList = this.list(wrapper);
 
@@ -189,7 +189,7 @@ public class SmartUserServiceImpl extends ServiceImpl<SmartUserMapper, SmartUser
     }
 
     @Override
-    public List<SmartUser> queryStudentDatas(){
+    public List<SmartUser> queryStudentDatas() {
         QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
         queryWrapper.eq("is_cancel", 0);
         queryWrapper.eq("identity_id", eIdentityStatu.Student.getValue());
@@ -212,16 +212,16 @@ public class SmartUserServiceImpl extends ServiceImpl<SmartUserMapper, SmartUser
     }
 
     @Override
-    public List<AffiliateParentVo> queryAffiliateParents(Integer userId){
+    public List<AffiliateParentVo> queryAffiliateParents(Integer userId) {
         return smartUserMapper.queryAffiliateParents(userId);
     }
 
     @Override
     public SmartUser queryUserInfo(String name, String cardNo, String idCard) {
         QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
-        queryWrapper.eq(StringUtils.hasText(name),"name", name);
-        queryWrapper.eq(StringUtils.hasText(cardNo),"card_no", cardNo);
-        queryWrapper.eq(StringUtils.hasText(idCard),"id_card", idCard);
+        queryWrapper.eq(StringUtils.hasText(name), "name", name);
+        queryWrapper.eq(StringUtils.hasText(cardNo), "card_no", cardNo);
+        queryWrapper.eq(StringUtils.hasText(idCard), "id_card", idCard);
         queryWrapper.eq("is_cancel", 0);
         SmartUser result = smartUserMapper.selectOne(queryWrapper);
         return result;
@@ -237,7 +237,7 @@ public class SmartUserServiceImpl extends ServiceImpl<SmartUserMapper, SmartUser
     }
 
     @Override
-    public List<SmartUser> querySmartUserByCardNos(List<String> cardNos){
+    public List<SmartUser> querySmartUserByCardNos(List<String> cardNos) {
         QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
         queryWrapper.eq("is_cancel", 0);
         queryWrapper.in("card_no", cardNos);
@@ -278,8 +278,16 @@ public class SmartUserServiceImpl extends ServiceImpl<SmartUserMapper, SmartUser
     public List<SmartUser> queryStudentsByGrade(List<String> gradeIds) {
         QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
         queryWrapper.eq("identity_id", eIdentityStatu.Student.getValue());
-        queryWrapper.in(gradeIds != null && gradeIds.size() > 0,"grade", gradeIds);
+        queryWrapper.in(gradeIds != null && gradeIds.size() > 0, "grade", gradeIds);
         List<SmartUser> result = smartUserMapper.selectList(queryWrapper);
         return result;
     }
+
+    @Override
+    public List<SmartUser> queryUsersByClass(Integer schoolClass) {
+        QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
+        queryWrapper.eq(schoolClass != null, "school_class", schoolClass);
+        List<SmartUser> users = smartUserMapper.selectList(queryWrapper);
+        return users;
+    }
 }