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

+ 293 - 221
.idea/workspace.xml

@@ -2,9 +2,15 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="6c5cf517-721b-44b7-afae-e7b1b913b988" name="Default Changelist" comment="">
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/ClassYear.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartClassControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartClassControllerAPI.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartClassController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartClassController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/application-dev.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application-dev.yml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/application-prod.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application-prod.yml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/application-dev.yml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/application-dev.yml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/application-prod.yml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/application-prod.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/application.yml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" beforeDir="false" afterPath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst" beforeDir="false" afterPath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" beforeDir="false" afterPath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" afterDir="false" />
@@ -23,44 +29,109 @@
   <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/SmartUserController.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartClassController.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="126">
+              <caret line="387" column="63" selection-start-line="387" selection-start-column="63" selection-end-line="387" selection-end-column="63" />
+              <folding>
+                <element signature="method#queryPageSmartClasss#0;class#SmartClassController#0" />
+                <element signature="method#querySmartClasss#0;class#SmartClassController#0" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartClassControllerAPI.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="851">
+              <caret line="45" selection-start-line="45" selection-end-line="45" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="199">
+              <caret line="301" column="10" selection-start-line="301" selection-start-column="10" selection-end-line="301" selection-end-column="10" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/ClassYear.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="338">
-              <caret line="1372" column="17" lean-forward="true" selection-start-line="1370" selection-start-column="16" selection-end-line="1372" selection-end-column="17" />
+            <state relative-caret-position="253">
+              <caret line="11" column="17" selection-start-line="11" selection-start-column="17" selection-end-line="11" selection-end-column="17" />
               <folding>
                 <element signature="imports" expanded="true" />
-                <element signature="e#110141#110155#0" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/ClassServiceBatchSaveClassParam.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="5290">
+              <caret line="293" column="36" selection-start-line="293" selection-start-column="36" selection-end-line="293" selection-end-column="36" />
+            </state>
+          </provider>
+        </entry>
+      </file>
       <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartClassController.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="109">
-              <caret line="320" column="67" selection-start-line="320" selection-start-column="67" selection-end-line="320" selection-end-column="67" />
+            <state relative-caret-position="269">
+              <caret line="1211" column="21" selection-start-line="1211" selection-start-column="21" selection-end-line="1211" selection-end-column="21" />
               <folding>
-                <element signature="method#queryPageSmartClasss#0;class#SmartClassController#0" />
+                <element signature="imports" expanded="true" />
+                <element signature="e#13126#16386#1" />
+                <element signature="e#17035#21121#0" />
+                <element signature="e#21127#34803#0" />
+                <element signature="e#34809#48482#0" />
+                <element signature="e#48895#55704#0" />
+                <element signature="e#72802#72819#0" />
+                <element signature="e#99147#99164#0" />
+                <element signature="e#110141#110155#0" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartGradeService.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/WechatScanLoginController.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="598">
-              <caret line="30" column="15" selection-start-line="30" selection-start-column="15" selection-end-line="30" selection-end-column="15" />
+            <state relative-caret-position="9177">
+              <caret line="447" column="9" selection-start-line="447" selection-start-column="9" selection-end-line="447" selection-end-column="9" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/OrganizationNodeServiceInitSchoolClassesParam.java">
+        <entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="1399">
-              <caret line="248" column="33" selection-start-line="248" selection-start-column="33" selection-end-line="248" selection-end-column="33" />
+            <state relative-caret-position="23">
+              <caret line="1" column="12" selection-start-line="1" selection-start-column="12" selection-end-line="1" selection-end-column="12" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/resources/application-prod.yml">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="1173">
+              <caret line="51" column="21" selection-start-line="51" selection-start-column="21" selection-end-line="51" selection-end-column="21" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/resources/application-dev.yml">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="1357">
+              <caret line="59" selection-start-line="59" selection-end-line="61" selection-end-column="40" />
             </state>
           </provider>
         </entry>
@@ -76,19 +147,6 @@
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>QueryDepartmentTreeRecords</find>
-      <find>ver</find>
-      <find>vertify</find>
-      <find>bind</find>
-      <find>home?</find>
-      <find>wechatLoginUrl</find>
-      <find>login</find>
-      <find>请假</find>
-      <find>queryLeaveRecords</find>
-      <find>Build</find>
-      <find>楼栋</find>
-      <find>唯一</find>
-      <find>百胜</find>
       <find>repositories</find>
       <find>Double</find>
       <find>su</find>
@@ -97,15 +155,28 @@
       <find>startTime != null</find>
       <find>&quot;yyyy</find>
       <find>like</find>
-      <find>insert</find>
       <find>导出失败</find>
       <find>smartUserExport</find>
       <find>order</find>
       <find>grade</find>
       <find>希沃增删改查</find>
       <find>querySmartGradeByBaisheng</find>
-      <find>SeewoInsertStudent</find>
       <find>nowMonth</find>
+      <find>SeewoInsertStudent</find>
+      <find>WechatUtil</find>
+      <find>https://api.weixin.qq.com/sns/jscode2session</find>
+      <find>CosConfig</find>
+      <find>private static</find>
+      <find>appidx</find>
+      <find>insert</find>
+      <find>@Tr</find>
+      <find>@T</find>
+      <find>SeewoInsertOrUpdateClass</find>
+      <find>insertTestClassToXw</find>
+      <find>ClassServiceBatchSaveClassParam</find>
+      <find>manageAuthors</find>
+      <find>region 百胜</find>
+      <find>useBs = 1</find>
     </findStrings>
     <replaceStrings>
       <replace />
@@ -130,9 +201,6 @@
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartScoreService.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartScoreServiceImpl.java" />
-        <option value="$PROJECT_DIR$/src/main/resources/mapper/template/SmartSubjectMapper.xml" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartScoreMapper.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartSubjectMapper.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartSubjectService.java" />
@@ -144,14 +212,10 @@
         <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartScoreControllerAPI.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartScore.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/api/OutdoorScreenControllerAPI.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/OutdoorScreenController.java" />
-        <option value="$PROJECT_DIR$/src/main/resources/application-dev.yml" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartDepartmentControllerAPI.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/services/SmartAuthorityService.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/DepartmentTreeVo.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/WechatScanLoginController.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/model/vo/SmartStudentVo.java" />
         <option value="$PROJECT_DIR$/src/main/resources/mapper/template/SmartUserMapper.xml" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartUserMapper.java" />
@@ -178,9 +242,16 @@
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/model/enumModel/eTimeGroup.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartScoreController.java" />
-        <option value="$PROJECT_DIR$/src/main/resources/application-prod.yml" />
         <option value="$PROJECT_DIR$/src/main/resources/application.yml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/WechatScanLoginController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/testClass.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/ClassYear.java" />
+        <option value="$PROJECT_DIR$/src/main/resources/application-dev.yml" />
+        <option value="$PROJECT_DIR$/src/main/resources/application-prod.yml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/api/SmartClassControllerAPI.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartClassController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" />
       </list>
     </option>
   </component>
@@ -204,11 +275,6 @@
           <item name="mybatis_plus" type="9519ce18:MavenProjectsStructure$ProjectNode" />
           <item name="Lifecycle" type="58874e2:MavenProjectsStructure$LifecycleNode" />
         </path>
-        <path>
-          <item name="" type="16c1761:MavenProjectsStructure$RootNode" />
-          <item name="mybatis_plus" type="9519ce18:MavenProjectsStructure$ProjectNode" />
-          <item name="Dependencies" type="f4be9f2a:MavenProjectsStructure$DependenciesNode" />
-        </path>
       </expand>
       <select />
     </treeState>
@@ -216,7 +282,7 @@
   <component name="MavenRunner">
     <option name="skipTests" value="true" />
   </component>
-  <component name="ProjectFrameBounds">
+  <component name="ProjectFrameBounds" extendedState="6">
     <option name="x" value="-7" />
     <option name="width" value="974" />
     <option name="height" value="1039" />
@@ -226,7 +292,7 @@
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
-      <pane id="PackagesPane" />
+      <pane id="Scope" />
       <pane id="ProjectPane">
         <subPane>
           <expand>
@@ -285,6 +351,16 @@
               <item name="main" type="462c0819:PsiDirectoryNode" />
               <item name="java" type="462c0819:PsiDirectoryNode" />
               <item name="template" type="462c0819:PsiDirectoryNode" />
+              <item name="common" type="462c0819:PsiDirectoryNode" />
+              <item name="utils" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
+              <item name="backend_code" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="template" type="462c0819:PsiDirectoryNode" />
               <item name="controller" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
@@ -374,7 +450,7 @@
           <select />
         </subPane>
       </pane>
-      <pane id="Scope" />
+      <pane id="PackagesPane" />
     </panes>
   </component>
   <component name="PropertiesComponent">
@@ -511,18 +587,20 @@
       <workItem from="1712634666686" duration="775000" />
       <workItem from="1712646193893" duration="415000" />
       <workItem from="1712651727692" duration="462000" />
-      <workItem from="1712655825486" duration="5533000" />
+      <workItem from="1712655825486" duration="16520000" />
+      <workItem from="1712825877176" duration="6689000" />
+      <workItem from="1712886052905" duration="2492000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="360908000" />
+    <option name="totallyTimeSpent" value="381076000" />
   </component>
   <component name="ToolWindowManager">
     <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.15085287" />
+      <window_info content_ui="combo" id="Project" order="0" weight="0.123667374" />
       <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" />
@@ -533,8 +611,8 @@
       <window_info id="Web" order="8" side_tool="true" />
       <window_info anchor="bottom" id="Message" order="0" />
       <window_info anchor="bottom" id="Find" order="1" />
-      <window_info anchor="bottom" id="Run" order="2" sideWeight="0.4989059" weight="0.42669585" />
-      <window_info anchor="bottom" id="Debug" order="3" sideWeight="0.4989059" weight="0.5480663" />
+      <window_info anchor="bottom" id="Run" order="2" sideWeight="0.4989059" weight="0.43093923" />
+      <window_info anchor="bottom" id="Debug" order="3" sideWeight="0.4989059" weight="0.51750547" />
       <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" />
@@ -542,7 +620,7 @@
       <window_info anchor="bottom" id="Terminal" order="8" />
       <window_info anchor="bottom" id="Docker" order="9" />
       <window_info anchor="bottom" id="Event Log" order="10" sideWeight="0.5010941" side_tool="true" weight="0.3359116" />
-      <window_info active="true" anchor="bottom" id="Messages" order="11" visible="true" weight="0.32166302" />
+      <window_info anchor="bottom" id="Messages" order="11" weight="0.32166302" />
       <window_info anchor="bottom" id="Java Enterprise" order="12" />
       <window_info anchor="bottom" id="Database Changes" order="13" />
       <window_info anchor="bottom" id="Version Control" order="14" />
@@ -551,7 +629,7 @@
       <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
       <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
       <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
-      <window_info anchor="right" id="Maven" order="3" weight="0.58862144" />
+      <window_info anchor="right" id="Maven" order="3" weight="0.85667396" />
       <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" />
@@ -569,12 +647,6 @@
     <breakpoint-manager>
       <breakpoints>
         <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>1524</line>
-          <properties />
-          <option name="timeStamp" value="15" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java</url>
           <line>141</line>
           <properties />
@@ -582,41 +654,29 @@
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>1180</line>
+          <line>1205</line>
           <properties />
           <option name="timeStamp" value="17" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>1469</line>
-          <properties />
-          <option name="timeStamp" value="57" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>2983</line>
+          <line>3063</line>
           <properties />
           <option name="timeStamp" value="91" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>1577</line>
+          <line>1651</line>
           <properties />
           <option name="timeStamp" value="105" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>1584</line>
+          <line>1658</line>
           <properties />
           <option name="timeStamp" value="106" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>358</line>
-          <properties />
-          <option name="timeStamp" value="111" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartSemesterController.java</url>
           <line>93</line>
           <properties />
@@ -630,13 +690,13 @@
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>2636</line>
+          <line>2710</line>
           <properties />
           <option name="timeStamp" value="118" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>3003</line>
+          <line>3083</line>
           <properties />
           <option name="timeStamp" value="122" />
         </line-breakpoint>
@@ -659,17 +719,17 @@
           <option name="timeStamp" value="147" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
-          <line>1009</line>
-          <properties />
-          <option name="timeStamp" value="148" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java</url>
           <line>242</line>
           <properties />
           <option name="timeStamp" value="149" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/common/utils/ClassYear.java</url>
+          <line>21</line>
+          <properties />
+          <option name="timeStamp" value="152" />
+        </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
   </component>
@@ -677,79 +737,6 @@
     <SUITE FILE_PATH="coverage/mybatis_plus$MybatisPlusApplication.ic" NAME="MybatisPlusApplication Coverage Results" MODIFIED="1709618808702" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartBuildServiceImpl.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="677">
-          <caret line="60" column="5" selection-start-line="26" selection-start-column="4" selection-end-line="60" selection-end-column="5" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartDeviceControllerAPI.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="207">
-          <caret line="21" column="65" lean-forward="true" selection-start-line="21" selection-start-column="65" selection-end-line="21" selection-end-column="65" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartDevice.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="410">
-          <caret line="49" column="28" selection-start-line="49" selection-start-column="20" selection-end-line="49" selection-end-column="28" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/SendSms.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="149">
-          <caret line="173" column="25" selection-start-line="173" selection-start-column="25" selection-end-line="173" selection-end-column="25" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartDeviceService.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="529">
-          <caret line="28" column="31" lean-forward="true" selection-start-line="28" selection-start-column="31" selection-end-line="28" selection-end-column="31" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDeviceServiceImpl.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="631">
-          <caret line="65" column="46" selection-start-line="65" selection-start-column="29" selection-end-line="65" selection-end-column="46" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartVisitor.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="295">
-          <caret line="30" column="13" selection-start-line="30" selection-start-column="13" selection-end-line="30" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/BsDeviceNoVo.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="253">
-          <caret line="11" column="25" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="25" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/StrUtils.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="230">
-          <caret line="14" column="13" selection-start-line="14" selection-start-column="13" selection-end-line="14" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/pom.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="437">
-          <caret line="19" column="17" selection-start-line="19" selection-start-column="17" selection-end-line="19" selection-end-column="17" />
-        </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="851">
@@ -851,13 +838,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="592">
-          <caret line="237" column="7" selection-start-line="237" selection-start-column="7" selection-end-line="237" selection-end-column="7" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/ExcelUtils.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="506">
@@ -896,30 +876,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/application.properties">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/application-dev.yml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="644">
-          <caret line="28" column="14" selection-start-line="28" selection-start-column="14" selection-end-line="28" selection-end-column="14" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="23">
-          <caret line="1" column="12" selection-start-line="1" selection-start-column="12" selection-end-line="1" selection-end-column="12" />
-        </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="253">
-          <caret line="44" column="27" selection-start-line="44" selection-start-column="27" selection-end-line="44" selection-end-column="27" />
-        </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="295">
@@ -927,13 +883,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartGrade.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="295">
-          <caret line="34" column="13" selection-start-line="34" selection-start-column="13" selection-end-line="34" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartGradeController.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="-2810">
@@ -962,24 +911,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/ClassServiceBatchSaveClassParam.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="295">
-          <caret line="289" column="36" selection-start-line="289" selection-start-column="36" selection-end-line="289" selection-end-column="36" />
-        </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="338">
-          <caret line="1372" column="17" lean-forward="true" selection-start-line="1370" selection-start-column="16" selection-end-line="1372" selection-end-column="17" />
-          <folding>
-            <element signature="imports" expanded="true" />
-            <element signature="e#110141#110155#0" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="jar://$MAVEN_REPOSITORY$/open/platform/platform/1.0/platform-1.0.jar!/com/seewo/open/sdk/SeewoClient.class">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="92">
@@ -987,13 +918,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/OrganizationNodeServiceInitSchoolClassesParam.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1399">
-          <caret line="248" column="33" selection-start-line="248" selection-start-column="33" selection-end-line="248" selection-end-column="33" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/updateClassRequest.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="253">
@@ -1029,12 +953,160 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartBuildServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="125">
+          <caret line="37" column="53" selection-start-line="37" selection-start-column="53" selection-end-line="37" selection-end-column="53" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/application.properties">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="69">
+          <caret line="3" column="8" selection-start-line="3" selection-start-column="8" selection-end-line="3" selection-end-column="40" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartBuildService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="483">
+          <caret line="24" column="36" selection-start-line="16" selection-start-column="4" selection-end-line="24" selection-end-column="36" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/SmartApplyService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state>
+          <caret selection-end-line="1" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/ScheduleController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-322">
+          <caret line="31" column="13" selection-start-line="31" selection-start-column="13" selection-end-line="31" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUploadServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="131">
+          <caret line="49" column="3" lean-forward="true" selection-start-line="49" selection-start-column="3" selection-end-line="50" selection-end-column="32" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/weixin/HttpParame.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="414">
+          <caret line="18" column="9" lean-forward="true" selection-start-line="18" selection-start-column="9" selection-end-line="18" selection-end-column="9" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartGrade.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="295">
+          <caret line="46" column="20" selection-start-line="46" selection-start-column="20" selection-end-line="46" selection-end-column="20" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/OrganizationNodeServiceInitSchoolClassesParam.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="295">
+          <caret line="252" column="33" selection-start-line="252" selection-start-column="33" selection-end-line="252" selection-end-column="33" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/ClassServiceBatchSaveClassResult.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-23">
+          <caret line="13" column="13" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartClassController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="109">
-          <caret line="320" column="67" selection-start-line="320" selection-start-column="67" selection-end-line="320" selection-end-column="67" />
+        <state relative-caret-position="126">
+          <caret line="387" column="63" selection-start-line="387" selection-start-column="63" selection-end-line="387" selection-end-column="63" />
           <folding>
             <element signature="method#queryPageSmartClasss#0;class#SmartClassController#0" />
+            <element signature="method#querySmartClasss#0;class#SmartClassController#0" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartClassControllerAPI.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="851">
+          <caret line="45" selection-start-line="45" selection-end-line="45" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/common/utils/ClassYear.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="253">
+          <caret line="11" column="17" selection-start-line="11" selection-start-column="17" selection-end-line="11" selection-end-column="17" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/seewo/ClassServiceBatchSaveClassParam.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="5290">
+          <caret line="293" column="36" selection-start-line="293" selection-start-column="36" selection-end-line="293" selection-end-column="36" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/WechatScanLoginController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="9177">
+          <caret line="447" column="9" selection-start-line="447" selection-start-column="9" selection-end-line="447" selection-end-column="9" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="23">
+          <caret line="1" column="12" selection-start-line="1" selection-start-column="12" selection-end-line="1" selection-end-column="12" />
+        </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="1173">
+          <caret line="51" column="21" selection-start-line="51" selection-start-column="21" selection-end-line="51" selection-end-column="21" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/application-dev.yml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1357">
+          <caret line="59" selection-start-line="59" selection-end-line="61" selection-end-column="40" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartDepartmentController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="199">
+          <caret line="301" column="10" selection-start-line="301" selection-start-column="10" selection-end-line="301" selection-end-column="10" />
+        </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="269">
+          <caret line="1211" column="21" selection-start-line="1211" selection-start-column="21" selection-end-line="1211" selection-end-column="21" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#13126#16386#1" />
+            <element signature="e#17035#21121#0" />
+            <element signature="e#21127#34803#0" />
+            <element signature="e#34809#48482#0" />
+            <element signature="e#48895#55704#0" />
+            <element signature="e#72802#72819#0" />
+            <element signature="e#99147#99164#0" />
+            <element signature="e#110141#110155#0" />
           </folding>
         </state>
       </provider>

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

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

+ 65 - 0
src/main/java/com/template/common/utils/ClassYear.java

@@ -0,0 +1,65 @@
+package com.template.common.utils;
+
+import java.time.LocalDate;
+import java.time.Year;
+
+public class ClassYear {
+    public static void main(String[] args) {
+        Integer stage = 9; // 替换为你想要获取入学年份的学段
+        int currentYear = Year.now().getValue();
+        // 获取当前年份
+        LocalDate currentDate = LocalDate.now();
+        // 获取当前日期
+        int admissionYear = getAdmissionYear(stage, currentYear, currentDate);
+        if (admissionYear != -1) {
+            System.out.println("入学年份:" + admissionYear);
+        } else {
+            System.out.println("无法获取入学年份");
+        }
+    }
+
+    public static int getAdmissionYear(Integer stage, int currentYear, LocalDate currentDate) {
+        int admissionYear = -1;
+        switch (stage) {
+            //初一
+            case 7:
+                admissionYear = currentYear + 1;
+                break;
+            //初二
+            case 8:
+                admissionYear = currentYear;
+                break;
+            //初三
+            case 9:
+                if (currentDate.getMonthValue() < 9) {
+                    admissionYear = currentYear - 1;
+                } else {
+                    admissionYear = currentYear;
+                }
+                break;
+            //"高一"
+            case 10:
+                if (currentDate.getMonthValue() < 9) {
+                    admissionYear = currentYear + 2;
+                } else {
+                    admissionYear = currentYear + 1;
+                }
+                break;
+            //"高二"
+            case 11:
+                if (currentDate.getMonthValue() < 9) {
+                    admissionYear = currentYear + 1;
+                } else {
+                    admissionYear = currentYear;
+                }
+                break;
+            //"高三"
+            case 12:
+                admissionYear = currentYear;
+                break;
+            default:
+                break;
+        }
+        return admissionYear;
+    }
+}

+ 101 - 191
src/main/java/com/template/controller/SmartClassController.java

@@ -1,6 +1,7 @@
 package com.template.controller;
 
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.seewo.open.sdk.DefaultSeewoClient;
@@ -30,6 +31,8 @@ import javax.annotation.Resource;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.net.URLEncoder;
+import java.time.LocalDate;
+import java.time.Year;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
@@ -64,93 +67,6 @@ public class SmartClassController implements SmartClassControllerAPI {
         return null;
     }
 
-    @Override
-    @DESRespondSecret(validated = true)
-    public CommonResult updateSmartClassById(updateClassRequest ucr, BindingResult bindingResult) throws Exception {
-        if (bindingResult.hasErrors()) {
-            String st = paramUtils.getParamError(bindingResult);
-            return CommonResult.fail(st);
-        }
-
-        //数据ID是否有效
-        SmartClass oldData = smartClassService.querySmartClassById(ucr.getId());
-        if (oldData == null) {
-            return CommonResult.fail("班级数据无效,更新失败");
-        }
-
-        //判断重复性
-        SmartClass existData = smartClassService.existSmartClassData(oldData.getGradeId(), ucr.getName(), ucr.getClassNo());
-        if (existData != null && !existData.getId().equals(ucr.getId())) {
-            return CommonResult.fail("该班级数据已在系统中存在,更新失败");
-        }
-
-        //先查找年级编号对应的年级数据是否存在
-        SmartGrade grade = smartGradeService.querySmartGradeById(oldData.getGradeId());
-        if (grade == null) {
-            return CommonResult.fail("添加班级前,请先添加对应年级数据");
-        }
-
-        //region 修改百胜中的班级数据
-        String appId = controlConfig.getAppId();
-        String schoolno = controlConfig.getSchoolCode();
-        String timestamp = TimeExchange.DateNowTimeStamo();
-        String className = ucr.getName();
-        String appSecret = controlConfig.getAppSecret();
-        String url = controlConfig.getUrl() + "classtab/update";
-
-        JSONObject jsonobject = new JSONObject();
-        jsonobject.put("appid", appId);
-        String str = "{\"classtab_no\":\"" + oldData.getBsClassNo() + "\",\"classtab_name\":\"" + oldData.getName() + "\"}";
-        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
-        jsonobject.put("data", aesStr);
-        jsonobject.put("schoolno", schoolno);
-        jsonobject.put("timestamp", timestamp);
-        String md5Str = "appid=" + appId + "&data={\"classtab_no\":\"" + oldData.getBsClassNo() + "\",\"classtab_name\":\"" + oldData.getName() + "\"}" + "&schoolno=" + schoolno + "&timestamp=" + timestamp + "&key=" + appSecret;
-        String sign = CommonUtil.MD5(md5Str);
-        //sign签名
-        jsonobject.put("sign", sign);
-
-        //返回的结果中 code为1表示成功
-        String result = RequestUtils.httpPost(url, jsonobject.toJSONString());
-
-        if (result.contains("更新成功")) {
-
-            //region 更新希沃班级
-            //希沃班级传输特点:
-            //当前月份小于9月份就传当前年份 - 1 ;如果大于9月份就传当前年份
-            Integer nowMonth = Integer.valueOf(TimeExchange.getNowMonth());
-            //初始化客户端
-            SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
-
-            //region 将K12校区的班级数据初始化
-            if(oldData.getClassUid() == null){
-                K12Class( seewoClient,nowMonth);
-            }
-            //endregion
-
-            //region 将数据加入希沃系统中
-            CommonResult<String[]> saveClass = SeewoInsertOrUpdateClass(seewoClient, ucr.getClassNo(), ucr.getName(), grade.getGradeNo(), nowMonth);
-            if(!saveClass.isSuccess()){
-                return CommonResult.fail(saveClass.getMessage());
-            }
-            //endregion
-            //endregion
-
-            oldData.setClassUid(saveClass.getData()[1]);
-            oldData.setClassNo(ucr.getClassNo());
-            oldData.setName(ucr.getName());
-            int updateClass = smartClassService.updateSmartClass(oldData);
-
-            if (updateClass <= 0) {
-                return CommonResult.fail("班级信息更新失败");
-            }
-        } else {
-            return CommonResult.fail("班级信息更新失败");
-        }
-        //endregion
-
-        return CommonResult.ok("班级信息更新成功");
-    }
 
     @Override
     @DESRespondSecret(validated = true)
@@ -256,12 +172,12 @@ public class SmartClassController implements SmartClassControllerAPI {
             SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
 
             //region 将K12校区的班级数据初始化
-            K12Class( seewoClient,nowMonth);
+            K12Class(seewoClient, grade.getGradeNo(),nowMonth);
             //endregion
 
             //region 将数据加入希沃系统中
             CommonResult<String[]> saveClass = SeewoInsertOrUpdateClass(seewoClient, iscr.getClassNo(), iscr.getClassName(), grade.getGradeNo(), nowMonth);
-            if(!saveClass.isSuccess()){
+            if (!saveClass.isSuccess()) {
                 return CommonResult.fail(saveClass.getMessage());
             }
             //endregion
@@ -315,10 +231,102 @@ public class SmartClassController implements SmartClassControllerAPI {
 
     }
 
+    @Override
+    @DESRespondSecret(validated = true)
+    public CommonResult updateSmartClassById(updateClassRequest ucr, BindingResult bindingResult) throws Exception {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
+        }
+
+        //数据ID是否有效
+        SmartClass oldData = smartClassService.querySmartClassById(ucr.getId());
+        if (oldData == null) {
+            return CommonResult.fail("班级数据无效,更新失败");
+        }
+
+        //判断重复性
+        SmartClass existData = smartClassService.existSmartClassData(oldData.getGradeId(), ucr.getName(), ucr.getClassNo());
+        if (existData != null && !existData.getId().equals(ucr.getId())) {
+            return CommonResult.fail("该班级数据已在系统中存在,更新失败");
+        }
+
+        //先查找年级编号对应的年级数据是否存在
+        SmartGrade grade = smartGradeService.querySmartGradeById(oldData.getGradeId());
+        if (grade == null) {
+            return CommonResult.fail("添加班级前,请先添加对应年级数据");
+        }
+
+        //region 修改百胜中的班级数据
+        String appId = controlConfig.getAppId();
+        String schoolno = controlConfig.getSchoolCode();
+        String timestamp = TimeExchange.DateNowTimeStamo();
+        String className = ucr.getName();
+        String appSecret = controlConfig.getAppSecret();
+        String url = controlConfig.getUrl() + "classtab/update";
+
+        JSONObject jsonobject = new JSONObject();
+        jsonobject.put("appid", appId);
+        String str = "{\"classtab_no\":\"" + oldData.getBsClassNo() + "\",\"classtab_name\":\"" + className + "\"}";
+        String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
+        jsonobject.put("data", aesStr);
+        jsonobject.put("schoolno", schoolno);
+        jsonobject.put("timestamp", timestamp);
+        String md5Str = "appid=" + appId + "&data={\"classtab_no\":\"" + oldData.getBsClassNo() + "\",\"classtab_name\":\"" + className + "\"}" + "&schoolno=" + schoolno + "&timestamp=" + timestamp + "&key=" + appSecret;
+        String sign = CommonUtil.MD5(md5Str);
+        //sign签名
+        jsonobject.put("sign", sign);
+
+        //返回的结果中 code为1表示成功
+        String result = RequestUtils.httpPost(url, jsonobject.toJSONString());
+
+        if (result.contains("更新成功")) {
+
+            //region 更新希沃班级
+            //希沃班级传输特点:
+            //当前月份小于9月份就传当前年份 - 1 ;如果大于9月份就传当前年份
+            Integer nowMonth = Integer.valueOf(TimeExchange.getNowMonth());
+            //初始化客户端
+            SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
+
+            //region 将K12校区的班级数据初始化
+            if (oldData.getClassUid() == null) {
+                K12Class(seewoClient, grade.getGradeNo(),nowMonth);
+            }
+            //endregion
+
+            //region 将数据加入希沃系统中
+            CommonResult<String[]> saveClass = SeewoInsertOrUpdateClass(seewoClient, ucr.getClassNo(), ucr.getName(), grade.getGradeNo(), nowMonth);
+            if (!saveClass.isSuccess()) {
+                return CommonResult.fail(saveClass.getMessage());
+            }
+            //endregion
+            //endregion
+            grade.setGradeUid(saveClass.getData()[0]);
+            oldData.setClassUid(saveClass.getData()[1]);
+            oldData.setClassNo(ucr.getClassNo());
+            oldData.setName(ucr.getName());
+            int updateClass = smartClassService.updateSmartClass(oldData);
+
+            if (updateClass <= 0) {
+                return CommonResult.fail("班级信息更新失败");
+            }
+
+            int updateGrade = smartGradeService.updateSmartGrade(grade);
+            if (updateGrade <= 0) {
+                throw new Exception("新增失败");
+            }
+        } else {
+            return CommonResult.fail("班级信息更新失败");
+        }
+        //endregion
+
+        return CommonResult.ok("班级信息更新成功");
+    }
 
     //region 新增更新希沃班级
     //K12班级
-    private void K12Class(SeewoClient seewoClient, Integer nowMonth){
+    private void K12Class(SeewoClient seewoClient, Integer gradeNo, Integer nowMonth) {
 
         OrganizationNodeServiceInitSchoolClassesParam kParam = new OrganizationNodeServiceInitSchoolClassesParam();
         //响应体,MimeType为 application/json
@@ -335,7 +343,7 @@ public class SmartClassController implements SmartClassControllerAPI {
         //新增班级列表(最大200条)
         OrganizationNodeServiceInitSchoolClassesParam.Object kClassList = OrganizationNodeServiceInitSchoolClassesParam.Object.builder()
                 .stageName("初中")
-                .gradeYear(nowMonth < 9 ? Integer.valueOf(TimeExchange.getYear()).intValue() - 1 : Integer.valueOf(TimeExchange.getYear()))
+                .gradeYear(ClassYear.getAdmissionYear(gradeNo, Year.now().getValue(), LocalDate.now()))
                 .build();
         kQuery.setClassList(java.util.Collections.singletonList(kClassList));
         kParam.setRequestBody(kRequestBody);
@@ -371,12 +379,13 @@ public class SmartClassController implements SmartClassControllerAPI {
                 .clazz(classNo)
                 .nickName(className)
                 .grade(gradeNo)
-                .gradeYear(nowMonth < 9 ? Integer.valueOf(TimeExchange.getYear()).intValue() - 1 : Integer.valueOf(TimeExchange.getYear()))
+                .gradeYear(2022)//ClassYear.getAdmissionYear(gradeNo, Year.now().getValue(), LocalDate.now()))
                 .build();
         query.setClassList(java.util.Collections.singletonList(classList));
         param.setRequestBody(requestBody);
         ClassServiceBatchSaveClassRequest request = new ClassServiceBatchSaveClassRequest(param);
         System.out.println("入参:" + request);
+        System.out.println("入参body:" + JSON.toJSON(requestBody));
         //如果想要调用沙箱环境,请通过设置 request 对象的 serverUrl 属性,如:
         // request.setServerUrl("https://openapi.test.seewo.com")
         //执行请求,如果想获取到com.seewo.open.sdk.HttpResponse对象,请调用 seewoClient.execute 方法
@@ -399,105 +408,6 @@ public class SmartClassController implements SmartClassControllerAPI {
     }
     //endregion
 
-    @Override
-    @DESRespondSecret(validated = true)
-    public CommonResult insertTestClassToXw(insertSmartClassRequest iscr, BindingResult bindingResult) throws Exception {
-
-        if (bindingResult.hasErrors()) {
-            String st = paramUtils.getParamError(bindingResult);
-            return CommonResult.fail(st);
-        }
-
-        //先查找年级编号对应的年级数据是否存在
-        SmartGrade grade = smartGradeService.querySmartGradeByBaisheng(iscr.getGradeNo());
-        if (grade == null) {
-            return CommonResult.fail("添加班级前,请先添加对应年级数据");
-        }
-
-        //判断重复性
-        int existCount = smartClassService.existSmartClass(iscr.getClassName(), grade.getId());
-        if (existCount > 0) {
-            return CommonResult.fail("该班级数据已在系统中存在,请勿重复添加");
-        }
-
-        //希沃班级传输特点:
-        //当前月份小于9月份就传当前年份 - 1 ;如果大于9月份就传当前年份
-        Integer nowMonth = Integer.valueOf(TimeExchange.getNowMonth());
-
-        //region 将数据加入希沃系统中
-        //初始化客户端
-        SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
-        ClassServiceBatchSaveClassParam param = new ClassServiceBatchSaveClassParam();
-        //请求体,MimeType为 application/json
-        ClassServiceBatchSaveClassParam.JSONRequestBody requestBody = ClassServiceBatchSaveClassParam.JSONRequestBody.builder()
-                .build();
-        param.setRequestBody(requestBody);
-        //查询条件
-        ClassServiceBatchSaveClassParam.ClassSaveQuery query = ClassServiceBatchSaveClassParam.ClassSaveQuery.builder()
-                .appId(seewoConfig.getAppId())
-                .schoolUid(seewoConfig.getSchoolId())
-                .build();
-        requestBody.setQuery(query);
-
-        //班级信息列表
-        ClassServiceBatchSaveClassParam.ClassInfo classList = ClassServiceBatchSaveClassParam.ClassInfo.builder()
-                .stageCode("CodeSchoolStage_1")
-                .clazz(iscr.getClassNo())
-                .nickName(iscr.getClassName())
-                .grade(grade.getGradeNo())
-                .gradeYear(nowMonth < 9 ? Integer.valueOf(TimeExchange.getYear()).intValue() - 1 : Integer.valueOf(TimeExchange.getYear()))
-                .build();
-        query.setClassList(java.util.Collections.singletonList(classList));
-        param.setRequestBody(requestBody);
-        ClassServiceBatchSaveClassRequest request = new ClassServiceBatchSaveClassRequest(param);
-        System.out.println("入参:" + request);
-        //如果想要调用沙箱环境,请通过设置 request 对象的 serverUrl 属性,如:
-        // request.setServerUrl("https://openapi.test.seewo.com")
-        //执行请求,如果想获取到com.seewo.open.sdk.HttpResponse对象,请调用 seewoClient.execute 方法
-        ClassServiceBatchSaveClassResult xwResult = seewoClient.invoke(request);
-        System.out.println("出参:" + xwResult);
-
-        if (xwResult == null) {
-            return CommonResult.fail("希沃班级数据新增失败!");
-        }
-
-        if (!xwResult.getResponseBody().getCode().equals("000000")) {
-            return CommonResult.fail(xwResult.getResponseBody().getMessage());
-        }
-        //endregion
-
-        //希沃添加年级和班级数据是:存在就覆盖 不存在就新增
-        //要拿到希沃的年级Uid和班级Uid
-        String gradeUid = xwResult.getResponseBody().getData().get(0).getGradeUid();
-        String classUid = xwResult.getResponseBody().getData().get(0).getUid();
-
-        SmartClass smartClass = new SmartClass();
-        smartClass.setGradeId(grade.getId());
-        smartClass.setClassUid(classUid);
-        smartClass.setName(iscr.getClassName());
-        smartClass.setClassNo(iscr.getClassNo());
-        smartClass.setBsClassNo("bs");
-
-        grade.setGradeUid(gradeUid);
-
-        try {
-            int insertClass = smartClassService.insertSmartClass(smartClass);
-            if (insertClass <= 0) {
-                throw new Exception("新增失败");
-            }
-
-            int updateGrade = smartGradeService.updateSmartGrade(grade);
-            if (updateGrade <= 0) {
-                throw new Exception("新增失败");
-            }
-
-        } catch (Exception e) {
-            throw new Exception("新增失败");
-        }
-
-        return CommonResult.ok("新增成功");
-    }
-
 
     @Override
     @DESRespondSecret(validated = true)

+ 4 - 0
src/main/java/com/template/controller/SmartDepartmentController.java

@@ -253,6 +253,10 @@ public class SmartDepartmentController implements SmartDepartmentControllerAPI {
             return CommonResult.fail("当前用户权限不足,无法查看对应部门数据");
         }
 
+        if(authorities.size() <= 0){
+            return CommonResult.fail("当前用户权限不足,无法查看对应部门数据");
+        }
+
         List<String> viewAuthors = new ArrayList<>();//部门查看权限
         List<String> manageAuthors = new ArrayList<>();//部门管理权限
         for (SmartAuthority author : authorities) {

+ 356 - 276
src/main/java/com/template/controller/SmartUserController.java

@@ -146,6 +146,9 @@ public class SmartUserController implements SmartUserControllerAPI {
     public CommonResult importExcelUsers(MultipartFile excelFile, String headImage) throws Exception {
         List<SmartUser> result = new ArrayList<>();
 
+        int useXw = 1;
+        int useBs = 0;
+
         //先解析excel如果excel不满足格式就提示错误信息 避免提前占用带宽上传头像
         if (excelFile.isEmpty() || excelFile.getSize() == 0) {
             return CommonResult.fail("压缩包中的excel文件不能为空");
@@ -213,82 +216,86 @@ public class SmartUserController implements SmartUserControllerAPI {
             }
 
             //region 希沃新增学生信息
-            //初始化客户端
-            SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
-            StudentServiceBatchSaveClassStudentsParam param = new StudentServiceBatchSaveClassStudentsParam();
-            //请求体,MimeType为 application/json
-            StudentServiceBatchSaveClassStudentsParam.JSONRequestBody requestBody = StudentServiceBatchSaveClassStudentsParam.JSONRequestBody.builder()
-                    .build();
-            param.setRequestBody(requestBody);
-            //查询条件
-            StudentServiceBatchSaveClassStudentsParam.StudentSaveQuery query = StudentServiceBatchSaveClassStudentsParam.StudentSaveQuery.builder()
-                    .appId(seewoConfig.getAppId())
-                    .schoolUid(seewoConfig.getSchoolId())
-                    .classUid(classData.getClassUid())
-                    .build();
-            requestBody.setQuery(query);
-            // 学生列表
-            StudentServiceBatchSaveClassStudentsParam.StudentInfo students = StudentServiceBatchSaveClassStudentsParam.StudentInfo.builder()
-                    .studentName(student.getName())
-                    .studentCode(student.getCardNo())
-                    .gender(student.getSexId())
-                    .phone(student.getPhone() == null ? "" : student.getPhone())
-                    .build();
-            query.setStudents(java.util.Collections.singletonList(students));
-            query.setInPlaceOld(false);// 是否删除旧学生再保存
-            param.setRequestBody(requestBody);
-            StudentServiceBatchSaveClassStudentsRequest request = new StudentServiceBatchSaveClassStudentsRequest(param);
-            String jsonString = JSON.toJSONString(request);
-            System.out.println("入参:" + request);
-            //如果想要调用沙箱环境,请通过设置 request 对象的 serverUrl 属性,如:
-            //request.setServerUrl("https://openapi.test.seewo.com")
-            //执行请求,如果想获取到com.seewo.open.sdk.HttpResponse对象,请调用 seewoClient.execute 方法
-            StudentServiceBatchSaveClassStudentsResult studentResult = seewoClient.invoke(request);
-            System.out.println("出参:" + studentResult);
-
-            if (studentResult == null) {
-                return CommonResult.fail("希沃学生数据新增失败!");
-            }
+            if(useXw == 1){
+                //初始化客户端
+                SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
+                StudentServiceBatchSaveClassStudentsParam param = new StudentServiceBatchSaveClassStudentsParam();
+                //请求体,MimeType为 application/json
+                StudentServiceBatchSaveClassStudentsParam.JSONRequestBody requestBody = StudentServiceBatchSaveClassStudentsParam.JSONRequestBody.builder()
+                        .build();
+                param.setRequestBody(requestBody);
+                //查询条件
+                StudentServiceBatchSaveClassStudentsParam.StudentSaveQuery query = StudentServiceBatchSaveClassStudentsParam.StudentSaveQuery.builder()
+                        .appId(seewoConfig.getAppId())
+                        .schoolUid(seewoConfig.getSchoolId())
+                        .classUid(classData.getClassUid())
+                        .build();
+                requestBody.setQuery(query);
+                // 学生列表
+                StudentServiceBatchSaveClassStudentsParam.StudentInfo students = StudentServiceBatchSaveClassStudentsParam.StudentInfo.builder()
+                        .studentName(student.getName())
+                        .studentCode(student.getCardNo())
+                        .gender(student.getSexId())
+                        .phone(student.getPhone() == null ? "" : student.getPhone())
+                        .build();
+                query.setStudents(java.util.Collections.singletonList(students));
+                query.setInPlaceOld(false);// 是否删除旧学生再保存
+                param.setRequestBody(requestBody);
+                StudentServiceBatchSaveClassStudentsRequest request = new StudentServiceBatchSaveClassStudentsRequest(param);
+                String jsonString = JSON.toJSONString(request);
+                System.out.println("入参:" + request);
+                //如果想要调用沙箱环境,请通过设置 request 对象的 serverUrl 属性,如:
+                //request.setServerUrl("https://openapi.test.seewo.com")
+                //执行请求,如果想获取到com.seewo.open.sdk.HttpResponse对象,请调用 seewoClient.execute 方法
+                StudentServiceBatchSaveClassStudentsResult studentResult = seewoClient.invoke(request);
+                System.out.println("出参:" + studentResult);
+
+                if (studentResult == null) {
+                    return CommonResult.fail("希沃学生数据新增失败!");
+                }
 
-            if (!studentResult.getResponseBody().getCode().equals("000000")) {
-                return CommonResult.fail(studentResult.getResponseBody().getMessage());
-            }
+                if (!studentResult.getResponseBody().getCode().equals("000000")) {
+                    return CommonResult.fail(studentResult.getResponseBody().getMessage());
+                }
 
-            student.setXwStudentUid(studentResult.getResponseBody().getData().get(0).getUserUid());
+                student.setXwStudentUid(studentResult.getResponseBody().getData().get(0).getUserUid());
+            }
             //endregion
 
             //region 百胜新增学生信息
-            String appId = controlConfig.getAppId();
-            String schoolno = controlConfig.getSchoolCode();
-            String timestamp = TimeExchange.DateNowTimeStamo();
-            String appSecret = controlConfig.getAppSecret();
-            String url = controlConfig.getUrl() + "student/create";
-
-            JSONObject jsonobject = new JSONObject();
-            jsonobject.put("appid", appId);
-            String str = "{\"student_name\":\"" + student.getName() + "\",\"classtab_no\":\"" + classData.getBsClassNo() + "\",\"student_number\":\"" + student.getCardNo() + "\",\"student_sex\":\"" + student.getSexId() + "\",\"student_photo\":\"" + imageUtils.getBase64Url(student.getHeadImage()) + "\",\"student_tgno\":\"" + eTimeGroup.stringOf(student.getTimeGroupId()) + "\"}";
-            String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
-            jsonobject.put("data", aesStr);
-            jsonobject.put("schoolno", schoolno);
-            jsonobject.put("timestamp", timestamp);
-
-            String md5Str = "appid=" + appId + "&data={\"student_name\":\"" + student.getName() + "\",\"classtab_no\":\"" + classData.getBsClassNo() + "\",\"student_number\":\"" + student.getCardNo() + "\",\"student_sex\":\"" + student.getSexId() + "\",\"student_photo\":\"" + imageUtils.getBase64Url(student.getHeadImage()) + "\",\"student_tgno\":\"" + eTimeGroup.stringOf(student.getTimeGroupId()) + "\"}" + "&schoolno=" + schoolno + "&timestamp=" + timestamp + "&key=" + appSecret;
-            String sign = CommonUtil.MD5(md5Str);
-            //sign签名
-            jsonobject.put("sign", sign);
-
-            //返回的结果中 code为1表示成功
-            String bsResult = RequestUtils.httpPost(url, jsonobject.toJSONString());
-
-            if (bsResult.contains("添加成功")) {
-                ObjectMapper objectMapper = new ObjectMapper();
-                BsStudentVo grade = objectMapper.readValue(bsResult, BsStudentVo.class);
-
-                // URL解码
-                String decodedUrl = URLDecoder.decode(grade.getData(), "UTF-8");
-
-                BsStudentNoVo studentNo = objectMapper.readValue(decrypt(decodedUrl, controlConfig.getAppSecret()), BsStudentNoVo.class);
-                student.setBsStudentNo(studentNo.getStudent_no());
+            if(useBs == 1){
+                String appId = controlConfig.getAppId();
+                String schoolno = controlConfig.getSchoolCode();
+                String timestamp = TimeExchange.DateNowTimeStamo();
+                String appSecret = controlConfig.getAppSecret();
+                String url = controlConfig.getUrl() + "student/create";
+
+                JSONObject jsonobject = new JSONObject();
+                jsonobject.put("appid", appId);
+                String str = "{\"student_name\":\"" + student.getName() + "\",\"classtab_no\":\"" + classData.getBsClassNo() + "\",\"student_number\":\"" + student.getCardNo() + "\",\"student_sex\":\"" + student.getSexId() + "\",\"student_photo\":\"" + imageUtils.getBase64Url(student.getHeadImage()) + "\",\"student_tgno\":\"" + eTimeGroup.stringOf(student.getTimeGroupId()) + "\"}";
+                String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
+                jsonobject.put("data", aesStr);
+                jsonobject.put("schoolno", schoolno);
+                jsonobject.put("timestamp", timestamp);
+
+                String md5Str = "appid=" + appId + "&data={\"student_name\":\"" + student.getName() + "\",\"classtab_no\":\"" + classData.getBsClassNo() + "\",\"student_number\":\"" + student.getCardNo() + "\",\"student_sex\":\"" + student.getSexId() + "\",\"student_photo\":\"" + imageUtils.getBase64Url(student.getHeadImage()) + "\",\"student_tgno\":\"" + eTimeGroup.stringOf(student.getTimeGroupId()) + "\"}" + "&schoolno=" + schoolno + "&timestamp=" + timestamp + "&key=" + appSecret;
+                String sign = CommonUtil.MD5(md5Str);
+                //sign签名
+                jsonobject.put("sign", sign);
+
+                //返回的结果中 code为1表示成功
+                String bsResult = RequestUtils.httpPost(url, jsonobject.toJSONString());
+
+                if (bsResult.contains("添加成功")) {
+                    ObjectMapper objectMapper = new ObjectMapper();
+                    BsStudentVo grade = objectMapper.readValue(bsResult, BsStudentVo.class);
+
+                    // URL解码
+                    String decodedUrl = URLDecoder.decode(grade.getData(), "UTF-8");
+
+                    BsStudentNoVo studentNo = objectMapper.readValue(decrypt(decodedUrl, controlConfig.getAppSecret()), BsStudentNoVo.class);
+                    student.setBsStudentNo(studentNo.getStudent_no());
+                }
             }
             //endregion
 
@@ -302,62 +309,65 @@ public class SmartUserController implements SmartUserControllerAPI {
             }
 
             //region 希沃新增编辑学生家长信息
-            //学生与家长列表,最大100条
-            List<ParentServiceBatchSaveOrUpdateParentsParam.StudentParentsItem> studentParents = new ArrayList<>();
-            for (SmartUser student : studentDatas) {
-                ParentServiceBatchSaveOrUpdateParentsParam.StudentParentsItem students = ParentServiceBatchSaveOrUpdateParentsParam.StudentParentsItem.builder()
-                        .studentCode(student.getCardNo())
-                        .build();
-                studentParents.add(students);
-
-                List<SmartUser> parentDatas = result.stream().filter(e -> e.getIdentityId().intValue() == eIdentityStatu.Parent.getValue() && e.getAffiliate().equals(student.getCardNo())).collect(Collectors.toList());
-                List<ParentServiceBatchSaveOrUpdateParentsParam.ParentsItem> parents = new ArrayList<>();
-                int i = 0;
-                for (SmartUser parent : parentDatas) {
-                    ParentServiceBatchSaveOrUpdateParentsParam.ParentsItem data = ParentServiceBatchSaveOrUpdateParentsParam.ParentsItem.builder()
-                            .name(parent.getName())
-                            .phone(parent.getPhone())
-                            .index(i)
+            if(useXw == 1){
+                //学生与家长列表,最大100条
+                List<ParentServiceBatchSaveOrUpdateParentsParam.StudentParentsItem> studentParents = new ArrayList<>();
+                for (SmartUser student : studentDatas) {
+                    ParentServiceBatchSaveOrUpdateParentsParam.StudentParentsItem students = ParentServiceBatchSaveOrUpdateParentsParam.StudentParentsItem.builder()
+                            .studentCode(student.getCardNo())
                             .build();
-                    parents.add(data);
-                    ++i;
+                    studentParents.add(students);
+
+                    List<SmartUser> parentDatas = result.stream().filter(e -> e.getIdentityId().intValue() == eIdentityStatu.Parent.getValue() && e.getAffiliate().equals(student.getCardNo())).collect(Collectors.toList());
+                    List<ParentServiceBatchSaveOrUpdateParentsParam.ParentsItem> parents = new ArrayList<>();
+                    int i = 0;
+                    for (SmartUser parent : parentDatas) {
+                        ParentServiceBatchSaveOrUpdateParentsParam.ParentsItem data = ParentServiceBatchSaveOrUpdateParentsParam.ParentsItem.builder()
+                                .name(parent.getName())
+                                .phone(parent.getPhone())
+                                .index(i)
+                                .build();
+                        parents.add(data);
+                        ++i;
+                    }
+                    //家长列表,最多4个
+                    students.setParents(parents);
                 }
-                //家长列表,最多4个
-                students.setParents(parents);
-            }
-
-            //初始化客户端
-            SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
-            ParentServiceBatchSaveOrUpdateParentsParam param = new ParentServiceBatchSaveOrUpdateParentsParam();
-            //响应体,MimeType为 application/json
-            ParentServiceBatchSaveOrUpdateParentsParam.RequestBody requestBody = ParentServiceBatchSaveOrUpdateParentsParam.RequestBody.builder()
-                    .build();
-            param.setRequestBody(requestBody);
-            //query
-            ParentServiceBatchSaveOrUpdateParentsParam.Query query = ParentServiceBatchSaveOrUpdateParentsParam.Query.builder()
-                    .appId(seewoConfig.getAppId())
-                    .schoolUid(seewoConfig.getSchoolId())
-                    .build();
-            requestBody.setQuery(query);
-            query.setStudentParents(studentParents);
-            param.setRequestBody(requestBody);
-            ParentServiceBatchSaveOrUpdateParentsRequest request = new ParentServiceBatchSaveOrUpdateParentsRequest(param);
-            String jsonString = JSON.toJSONString(request);
-            System.out.println("入参:" + request);
-            //如果想要调用沙箱环境,请通过设置 request 对象的 serverUrl 属性,如:
-            //request.setServerUrl("https://openapi.test.seewo.com")
-            //执行请求,如果想获取到com.seewo.open.sdk.HttpResponse对象,请调用 seewoClient.execute 方法
-            ParentServiceBatchSaveOrUpdateParentsResult parentResult = seewoClient.invoke(request);
-            System.out.println("出参:" + parentResult);
-            //endregion
 
-            if (parentResult == null) {
-                return CommonResult.fail("希沃学生家长数据添加失败!");
-            }
+                //初始化客户端
+                SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));
+                ParentServiceBatchSaveOrUpdateParentsParam param = new ParentServiceBatchSaveOrUpdateParentsParam();
+                //响应体,MimeType为 application/json
+                ParentServiceBatchSaveOrUpdateParentsParam.RequestBody requestBody = ParentServiceBatchSaveOrUpdateParentsParam.RequestBody.builder()
+                        .build();
+                param.setRequestBody(requestBody);
+                //query
+                ParentServiceBatchSaveOrUpdateParentsParam.Query query = ParentServiceBatchSaveOrUpdateParentsParam.Query.builder()
+                        .appId(seewoConfig.getAppId())
+                        .schoolUid(seewoConfig.getSchoolId())
+                        .build();
+                requestBody.setQuery(query);
+                query.setStudentParents(studentParents);
+                param.setRequestBody(requestBody);
+                ParentServiceBatchSaveOrUpdateParentsRequest request = new ParentServiceBatchSaveOrUpdateParentsRequest(param);
+                String jsonString = JSON.toJSONString(request);
+                System.out.println("入参:" + request);
+                //如果想要调用沙箱环境,请通过设置 request 对象的 serverUrl 属性,如:
+                //request.setServerUrl("https://openapi.test.seewo.com")
+                //执行请求,如果想获取到com.seewo.open.sdk.HttpResponse对象,请调用 seewoClient.execute 方法
+                ParentServiceBatchSaveOrUpdateParentsResult parentResult = seewoClient.invoke(request);
+                System.out.println("出参:" + parentResult);
+
+
+                if (parentResult == null) {
+                    return CommonResult.fail("希沃学生家长数据添加失败!");
+                }
 
-            if (!parentResult.getResponseBody().getCode().equals("000000")) {
-                return CommonResult.fail(parentResult.getResponseBody().getMessage());
+                if (!parentResult.getResponseBody().getCode().equals("000000")) {
+                    return CommonResult.fail(parentResult.getResponseBody().getMessage());
+                }
             }
+            //endregion
         }
         //endregion
 
@@ -1006,6 +1016,9 @@ public class SmartUserController implements SmartUserControllerAPI {
             return CommonResult.fail(st);
         }
 
+        int useBs = 0;
+        int useXw = 1;
+
         //重复性判断
         int existCount = smartUserService.querySmartUserByCardNo(isur.getCardNo());
         if (existCount > 0) {
@@ -1064,9 +1077,11 @@ public class SmartUserController implements SmartUserControllerAPI {
             List<SmartUser> studentDatas = smartUserService.getSmartUserIds(isur.getAffiliate());
 
             //region 希沃新增编辑学生家长信息
-            CommonResult insertOrUpdateStudent = insertOrUpdateStudentParent(seewoClient, studentDatas, isur.getName(), isur.getPhone());
-            if (!insertOrUpdateStudent.isSuccess()) {
-                return CommonResult.fail(insertOrUpdateStudent.getMessage());
+            if (useXw == 1) {
+                CommonResult insertOrUpdateStudent = insertOrUpdateStudentParent(seewoClient, studentDatas, isur.getName(), isur.getPhone());
+                if (!insertOrUpdateStudent.isSuccess()) {
+                    return CommonResult.fail(insertOrUpdateStudent.getMessage());
+                }
             }
             //endregion
 
@@ -1089,20 +1104,24 @@ public class SmartUserController implements SmartUserControllerAPI {
             }
 
             //region 希沃新增学生信息
-            CommonResult<String> insertStudent = SeewoInsertStudent(seewoClient, isur.getName(), isur.getCardNo(), isur.getSexId(), isur.getPhone(), classData.getClassUid());
-            if (!insertStudent.isSuccess()) {
-                return CommonResult.fail(insertStudent.getMessage());
-            }
+            if (useXw == 1) {
+                CommonResult<String> insertStudent = SeewoInsertStudent(seewoClient, isur.getName(), isur.getCardNo(), isur.getSexId(), isur.getPhone(), classData.getClassUid());
+                if (!insertStudent.isSuccess()) {
+                    return CommonResult.fail(insertStudent.getMessage());
+                }
 
-            su.setXwStudentUid(insertStudent.getData());
+                su.setXwStudentUid(insertStudent.getData());
+            }
             //endregion
 
             //region 百胜新增学生信息
-            CommonResult<String> insertBsStudent = bsInsertStudent(isur.getName(), isur.getCardNo(), isur.getSexId(), isur.getHeadImage(), isur.getTimeGroupId(), classData.getBsClassNo());
-            if (!insertBsStudent.isSuccess()) {
-                return CommonResult.fail(insertBsStudent.getMessage());
+            if (useBs == 1) {
+                CommonResult<String> insertBsStudent = bsInsertStudent(isur.getName(), isur.getCardNo(), isur.getSexId(), isur.getHeadImage(), isur.getTimeGroupId(), classData.getBsClassNo());
+                if (!insertBsStudent.isSuccess()) {
+                    return CommonResult.fail(insertBsStudent.getMessage());
+                }
+                su.setBsStudentNo(insertBsStudent.getData());
             }
-            su.setBsStudentNo(insertBsStudent.getData());
             //endregion
 
         } else if (isur.getIdentityId().intValue() == eIdentityStatu.Teacher.getValue()) {//老师
@@ -1118,11 +1137,13 @@ public class SmartUserController implements SmartUserControllerAPI {
             //endregion
 
             //region 希沃添加教师数据
-            CommonResult<String> insertTeacher = SeewoInsertTeacher(seewoClient, isur.getPhone(), isur.getName(), isur.getHeadImage());
-            if (!insertTeacher.isSuccess()) {
-                return CommonResult.fail(insertTeacher.getMessage());
+            if (useXw == 1) {
+                CommonResult<String> insertTeacher = SeewoInsertTeacher(seewoClient, isur.getPhone(), isur.getName(), isur.getHeadImage());
+                if (!insertTeacher.isSuccess()) {
+                    return CommonResult.fail(insertTeacher.getMessage());
+                }
+                su.setXwTeacherCode(insertTeacher.getData());
             }
-            su.setXwTeacherCode(insertTeacher.getData());
             //endregion
 
             if (isur.getDuties().intValue() == eDuties.ClassTeacher.getValue()) {
@@ -1133,9 +1154,11 @@ public class SmartUserController implements SmartUserControllerAPI {
                 }
 
                 //region 将班主任推送到希沃
-                CommonResult pushMaster = SeewoPushMaster(seewoClient, isur.getPhone(), classData.getClassUid());
-                if (!pushMaster.isSuccess()) {
-                    return CommonResult.fail(pushMaster.getMessage());
+                if (useXw == 1) {
+                    CommonResult pushMaster = SeewoPushMaster(seewoClient, isur.getPhone(), classData.getClassUid());
+                    if (!pushMaster.isSuccess()) {
+                        return CommonResult.fail(pushMaster.getMessage());
+                    }
                 }
                 //endregion
             }
@@ -1150,11 +1173,13 @@ public class SmartUserController implements SmartUserControllerAPI {
             }
 
             //region 百胜添加教师数据
-            CommonResult<String> insertBsTeacher = bsInsertTeacher(su, departmentNo);
-            if (!insertBsTeacher.isSuccess()) {
-                return CommonResult.fail(insertBsTeacher.getMessage());
+            if (useBs == 1) {
+                CommonResult<String> insertBsTeacher = bsInsertTeacher(su, departmentNo);
+                if (!insertBsTeacher.isSuccess()) {
+                    return CommonResult.fail(insertBsTeacher.getMessage());
+                }
+                su.setBsStaffCode(insertBsTeacher.getData());
             }
-            su.setBsStaffCode(insertBsTeacher.getData());
             //endregion
 
         }
@@ -1183,6 +1208,9 @@ public class SmartUserController implements SmartUserControllerAPI {
             return CommonResult.fail(st);
         }
 
+        int useXw = 1;
+        int useBs = 0;
+
         //更新的同时将百胜用户信息同步过去或者同步过来?
         SmartUser su = smartUserService.getSmartById(usur.getId());
         if (su == null) {
@@ -1241,10 +1269,12 @@ public class SmartUserController implements SmartUserControllerAPI {
 
             if (!changeIdentity) {
                 //region 希沃新增编辑学生家长信息
-                //学生与家长列表,最大100条
-                CommonResult insertOrUpdateResult = insertOrUpdateStudentParent(seewoClient, studentDatas, usur.getName(), usur.getPhone());
-                if (!insertOrUpdateResult.isSuccess()) {
-                    return CommonResult.fail(insertOrUpdateResult.getMessage());
+                if (useXw == 1) {
+                    //学生与家长列表,最大100条
+                    CommonResult insertOrUpdateResult = insertOrUpdateStudentParent(seewoClient, studentDatas, usur.getName(), usur.getPhone());
+                    if (!insertOrUpdateResult.isSuccess()) {
+                        return CommonResult.fail(insertOrUpdateResult.getMessage());
+                    }
                 }
                 //endregion
             } else {
@@ -1256,16 +1286,20 @@ public class SmartUserController implements SmartUserControllerAPI {
                         return CommonResult.fail("班级数据无效,更新失败");
                     }
 
-                    CommonResult deleteStudent = SeewoDeleteStudent(seewoClient, classData.getClassUid(), oldCardNo);
-                    if (!deleteStudent.isSuccess()) {
-                        return CommonResult.fail(deleteStudent.getMessage());
+                    if (useXw == 1) {
+                        CommonResult deleteStudent = SeewoDeleteStudent(seewoClient, classData.getClassUid(), oldCardNo);
+                        if (!deleteStudent.isSuccess()) {
+                            return CommonResult.fail(deleteStudent.getMessage());
+                        }
                     }
                     //endregion
 
                     //region 百胜删除学生
-                    CommonResult deleteBsStudent = bsDeleteStudent(su);
-                    if (!deleteBsStudent.isSuccess()) {
-                        return CommonResult.fail(deleteBsStudent.getMessage());
+                    if (useBs == 1) {
+                        CommonResult deleteBsStudent = bsDeleteStudent(su);
+                        if (!deleteBsStudent.isSuccess()) {
+                            return CommonResult.fail(deleteBsStudent.getMessage());
+                        }
                     }
                     //endregion
 
@@ -1277,31 +1311,39 @@ public class SmartUserController implements SmartUserControllerAPI {
                     }
 
                     //region 希沃删除教师
-                    CommonResult deleteTeacher = SeewoDeleteTeacher(seewoClient, su.getPhone());
-                    if (!deleteTeacher.isSuccess()) {
-                        return CommonResult.fail(deleteTeacher.getMessage());
+                    if (useXw == 1) {
+                        CommonResult deleteTeacher = SeewoDeleteTeacher(seewoClient, su.getPhone());
+                        if (!deleteTeacher.isSuccess()) {
+                            return CommonResult.fail(deleteTeacher.getMessage());
+                        }
                     }
                     //endregion
 
                     //region 希沃删除班主任
-                    CommonResult deleteTeacherMaster = SeewoDeleteTeacherMaster(seewoClient, classData.getClassUid(), su.getPhone());
-                    if (deleteTeacherMaster.isSuccess()) {
-                        return CommonResult.fail(deleteTeacherMaster.getMessage());
+                    if (useXw == 1) {
+                        CommonResult deleteTeacherMaster = SeewoDeleteTeacherMaster(seewoClient, classData.getClassUid(), su.getPhone());
+                        if (deleteTeacherMaster.isSuccess()) {
+                            return CommonResult.fail(deleteTeacherMaster.getMessage());
+                        }
                     }
                     //endregion
 
                     //region 百胜删除教师
-                    CommonResult bsDeleteTeacher = bsDeleteTeacher(oldStaffNo);
-                    if (!bsDeleteTeacher.isSuccess()) {
-                        return CommonResult.fail(bsDeleteTeacher.getMessage());
+                    if (useBs == 1) {
+                        CommonResult bsDeleteTeacher = bsDeleteTeacher(oldStaffNo);
+                        if (!bsDeleteTeacher.isSuccess()) {
+                            return CommonResult.fail(bsDeleteTeacher.getMessage());
+                        }
                     }
                     //endregion
                 }
 
                 //region 希沃新增编辑学生家长信息
-                CommonResult insertOrUpdate = insertOrUpdateStudentParent(seewoClient, studentDatas, su.getName(), su.getPhone());
-                if (!insertOrUpdate.isSuccess()) {
-                    return CommonResult.fail(insertOrUpdate.getMessage());
+                if (useXw == 1) {
+                    CommonResult insertOrUpdate = insertOrUpdateStudentParent(seewoClient, studentDatas, su.getName(), su.getPhone());
+                    if (!insertOrUpdate.isSuccess()) {
+                        return CommonResult.fail(insertOrUpdate.getMessage());
+                    }
                 }
                 //endregion
             }
@@ -1319,42 +1361,46 @@ public class SmartUserController implements SmartUserControllerAPI {
 
             if (!changeIdentity) {
                 //region 更新希沃学生信息
-                CommonResult updateStudent = SeewoUpdateStudent(seewoClient, su);
-                if (!updateStudent.isSuccess()) {
-                    if (updateStudent.getMessage().equals("学生不存在")) {
-                        //获取班级Uid
-                        SmartClass classData = smartClassService.getSmartClassById(su.getSchoolClass());
-                        if (classData == null) {
-                            return CommonResult.fail("班级数据无效,更新失败");
-                        }
+                if (useXw == 1) {
+                    CommonResult updateStudent = SeewoUpdateStudent(seewoClient, su);
+                    if (!updateStudent.isSuccess()) {
+                        if (updateStudent.getMessage().equals("学生不存在")) {
+                            //获取班级Uid
+                            SmartClass classData = smartClassService.getSmartClassById(su.getSchoolClass());
+                            if (classData == null) {
+                                return CommonResult.fail("班级数据无效,更新失败");
+                            }
 
-                        CommonResult<String> insertStudent = SeewoInsertStudent(seewoClient, su.getName(), su.getCardNo(), su.getSexId(), su.getPhone(), classData.getClassUid());
-                        if (!insertStudent.isSuccess()) {
-                            return CommonResult.fail(insertStudent.getMessage());
+                            CommonResult<String> insertStudent = SeewoInsertStudent(seewoClient, su.getName(), su.getCardNo(), su.getSexId(), su.getPhone(), classData.getClassUid());
+                            if (!insertStudent.isSuccess()) {
+                                return CommonResult.fail(insertStudent.getMessage());
+                            }
                         }
+                        return CommonResult.fail(updateStudent.getMessage());
                     }
-                    return CommonResult.fail(updateStudent.getMessage());
                 }
                 //endregion
 
                 //region 更新百胜学生信息
-                CommonResult updateBsStudent = bsUpdateStudent(su);
-                if (!updateBsStudent.isSuccess()) {
-                    if (updateBsStudent.getMessage().equals("人员不存在或已删除")) {
-                        //获取班级Uid
-                        SmartClass classData = smartClassService.getSmartClassById(usur.getSchoolClass());
-                        if (classData == null) {
-                            return CommonResult.fail("班级数据无效,更新失败");
-                        }
-                        //region 百胜新增学生信息
-                        CommonResult<String> insertBsStudent = bsInsertStudent(usur.getName(), usur.getCardNo(), usur.getSexId(), usur.getHeadImage(), usur.getTimeGroupId(), classData.getBsClassNo());
-                        if (!insertBsStudent.isSuccess()) {
-                            return CommonResult.fail(insertBsStudent.getMessage());
+                if (useBs == 1) {
+                    CommonResult updateBsStudent = bsUpdateStudent(su);
+                    if (!updateBsStudent.isSuccess()) {
+                        if (updateBsStudent.getMessage().equals("人员不存在或已删除")) {
+                            //获取班级Uid
+                            SmartClass classData = smartClassService.getSmartClassById(usur.getSchoolClass());
+                            if (classData == null) {
+                                return CommonResult.fail("班级数据无效,更新失败");
+                            }
+                            //region 百胜新增学生信息
+                            CommonResult<String> insertBsStudent = bsInsertStudent(usur.getName(), usur.getCardNo(), usur.getSexId(), usur.getHeadImage(), usur.getTimeGroupId(), classData.getBsClassNo());
+                            if (!insertBsStudent.isSuccess()) {
+                                return CommonResult.fail(insertBsStudent.getMessage());
+                            }
+                            su.setBsStudentNo(insertBsStudent.getData());
+                            //endregion
+                        } else {
+                            return CommonResult.fail(updateBsStudent.getMessage());
                         }
-                        su.setBsStudentNo(insertBsStudent.getData());
-                        //endregion
-                    } else {
-                        return CommonResult.fail(updateBsStudent.getMessage());
                     }
                 }
                 //endregion
@@ -1367,29 +1413,33 @@ public class SmartUserController implements SmartUserControllerAPI {
                 }
 
                 //region 希沃新增学生信息
-                CommonResult<String> insertStudent = SeewoInsertStudent(seewoClient, su.getName(), su.getCardNo(), su.getSexId(), su.getPhone(), classData.getClassUid());
-                if (!insertStudent.isSuccess()) {
-                    return CommonResult.fail(insertStudent.getMessage());
-                } else {
-                    su.setXwStudentUid(insertStudent.getData());
+                if (useXw == 1) {
+                    CommonResult<String> insertStudent = SeewoInsertStudent(seewoClient, su.getName(), su.getCardNo(), su.getSexId(), su.getPhone(), classData.getClassUid());
+                    if (!insertStudent.isSuccess()) {
+                        return CommonResult.fail(insertStudent.getMessage());
+                    } else {
+                        su.setXwStudentUid(insertStudent.getData());
+                    }
                 }
                 //endregion
 
                 //region 百胜新增学生信息
-                CommonResult<String> insertBsStudent = bsInsertStudent(su.getName(), su.getCardNo(), su.getSexId(), su.getHeadImage(), su.getTimeGroupId(), classData.getBsClassNo());
+                if (useBs == 1) {
+                    CommonResult<String> insertBsStudent = bsInsertStudent(su.getName(), su.getCardNo(), su.getSexId(), su.getHeadImage(), su.getTimeGroupId(), classData.getBsClassNo());
 
-                if (insertBsStudent.isSuccess()) {
-                    su.setBsStudentNo(insertBsStudent.getData());
-                } else {
-                    //region 希沃删除学生
-                    //百胜数据插入失败后需要把已插入到希沃的数据删除
-                    CommonResult deleteStudent = SeewoDeleteStudent(seewoClient, classData.getClassUid(), oldCardNo);
-                    if (!deleteStudent.isSuccess()) {
-                        return CommonResult.fail(deleteStudent.getMessage());
-                    }
-                    //endregion
+                    if (insertBsStudent.isSuccess()) {
+                        su.setBsStudentNo(insertBsStudent.getData());
+                    } else {
+                        //region 希沃删除学生
+                        //百胜数据插入失败后需要把已插入到希沃的数据删除
+                        CommonResult deleteStudent = SeewoDeleteStudent(seewoClient, classData.getClassUid(), oldCardNo);
+                        if (!deleteStudent.isSuccess()) {
+                            return CommonResult.fail(deleteStudent.getMessage());
+                        }
+                        //endregion
 
-                    return CommonResult.fail("切换身份后," + insertBsStudent.getMessage() + ",百胜无法插入学生数据");
+                        return CommonResult.fail("切换身份后," + insertBsStudent.getMessage() + ",百胜无法插入学生数据");
+                    }
                 }
                 //endregion
 
@@ -1397,10 +1447,12 @@ public class SmartUserController implements SmartUserControllerAPI {
 
                     List<SmartUser> studentDatas = smartUserService.getSmartUserIds(Arrays.asList(oldAffiliate.split(",")));
 
-                    //region 删除原有的家长关系
-                    CommonResult deleteResult = deleteOldParentShip(seewoClient, studentDatas, su.getPhone());
-                    if (!deleteResult.isSuccess()) {
-                        return CommonResult.fail(deleteResult.getMessage());
+                    //region 希沃删除原有的家长关系
+                    if (useXw == 1) {
+                        CommonResult deleteResult = deleteOldParentShip(seewoClient, studentDatas, su.getPhone());
+                        if (!deleteResult.isSuccess()) {
+                            return CommonResult.fail(deleteResult.getMessage());
+                        }
                     }
                     //endregion
                 } else if (oldIdentity.intValue() == eIdentityStatu.Teacher.getValue()) {
@@ -1411,23 +1463,29 @@ public class SmartUserController implements SmartUserControllerAPI {
                     }
 
                     //region 希沃删除教师
-                    CommonResult deleteTeacher = SeewoDeleteTeacher(seewoClient, su.getPhone());
-                    if (!deleteTeacher.isSuccess()) {
-                        return CommonResult.fail(deleteTeacher.getMessage());
+                    if (useXw == 1) {
+                        CommonResult deleteTeacher = SeewoDeleteTeacher(seewoClient, su.getPhone());
+                        if (!deleteTeacher.isSuccess()) {
+                            return CommonResult.fail(deleteTeacher.getMessage());
+                        }
                     }
                     //endregion
 
                     //region 希沃删除班主任
-                    CommonResult deleteMaster = SeewoDeleteTeacherMaster(seewoClient, oldClassData.getClassUid(), su.getPhone());
-                    if (!deleteMaster.isSuccess()) {
-                        return CommonResult.fail(deleteMaster.getMessage());
+                    if (useXw == 1) {
+                        CommonResult deleteMaster = SeewoDeleteTeacherMaster(seewoClient, oldClassData.getClassUid(), su.getPhone());
+                        if (!deleteMaster.isSuccess()) {
+                            return CommonResult.fail(deleteMaster.getMessage());
+                        }
                     }
                     //endregion
 
                     //region 百胜删除教师
-                    CommonResult deleteBsTeacher = bsDeleteTeacher(oldStaffNo);
-                    if (!deleteBsTeacher.isSuccess()) {
-                        return CommonResult.fail(deleteBsTeacher.getMessage());
+                    if (useBs == 1) {
+                        CommonResult deleteBsTeacher = bsDeleteTeacher(oldStaffNo);
+                        if (!deleteBsTeacher.isSuccess()) {
+                            return CommonResult.fail(deleteBsTeacher.getMessage());
+                        }
                     }
                     //endregion
                 }
@@ -1436,11 +1494,13 @@ public class SmartUserController implements SmartUserControllerAPI {
         } else if (usur.getIdentityId().intValue() == eIdentityStatu.Teacher.getValue()) {//教师
             if (!changeIdentity) {
                 //region 希沃更新教师数据
-                CommonResult<String> updateTeacher = SeewoUpdateTeacher(seewoClient, su.getPhone(), su.getName(), su.getHeadImage());
-                if (!updateTeacher.isSuccess()) {
-                    return CommonResult.fail(updateTeacher.getMessage());
+                if (useXw == 1) {
+                    CommonResult<String> updateTeacher = SeewoUpdateTeacher(seewoClient, su.getPhone(), su.getName(), su.getHeadImage());
+                    if (!updateTeacher.isSuccess()) {
+                        return CommonResult.fail(updateTeacher.getMessage());
+                    }
+                    su.setXwTeacherCode(updateTeacher.getData());
                 }
-                su.setXwTeacherCode(updateTeacher.getData());
                 //endregion
 
                 SmartDepartment departmentData = smartDepartmentService.getSmartById(su.getDepartmentId());
@@ -1454,22 +1514,26 @@ public class SmartUserController implements SmartUserControllerAPI {
                 }
 
                 //region 百胜更新教师数据
-                CommonResult<String> bsUpdateTeacher = updateBsTeacher(su, departmentNo);
-                if (!bsUpdateTeacher.isSuccess()) {
-                    return CommonResult.fail(bsUpdateTeacher.getMessage());
-                }
+                if (useBs == 1) {
+                    CommonResult<String> bsUpdateTeacher = updateBsTeacher(su, departmentNo);
+                    if (!bsUpdateTeacher.isSuccess()) {
+                        return CommonResult.fail(bsUpdateTeacher.getMessage());
+                    }
 
-                su.setBsStaffCode(bsUpdateTeacher.getData());
+                    su.setBsStaffCode(bsUpdateTeacher.getData());
+                }
                 //endregion
             } else {
                 if (oldIdentity.intValue() == eIdentityStatu.Parent.getValue()) {
 
                     List<SmartUser> studentDatas = smartUserService.getSmartUserIds(Arrays.asList(oldAffiliate.split(",")));
 
-                    //region 删除原有的家长关系
-                    CommonResult deleteOldShip = deleteOldParentShip(seewoClient, studentDatas, su.getPhone());
-                    if (!deleteOldShip.isSuccess()) {
-                        return CommonResult.fail(deleteOldShip.getMessage());
+                    //region 希沃删除原有的家长关系
+                    if (useXw == 1) {
+                        CommonResult deleteOldShip = deleteOldParentShip(seewoClient, studentDatas, su.getPhone());
+                        if (!deleteOldShip.isSuccess()) {
+                            return CommonResult.fail(deleteOldShip.getMessage());
+                        }
                     }
                     //endregion
                 } else if (oldIdentity.intValue() == eIdentityStatu.Student.getValue()) {
@@ -1480,26 +1544,32 @@ public class SmartUserController implements SmartUserControllerAPI {
                     }
 
                     //region 希沃删除学生
-                    CommonResult deleteStudent = SeewoDeleteStudent(seewoClient, classData.getClassUid(), oldCardNo);
-                    if (!deleteStudent.isSuccess()) {
-                        return CommonResult.fail(deleteStudent.getMessage());
+                    if (useXw == 1) {
+                        CommonResult deleteStudent = SeewoDeleteStudent(seewoClient, classData.getClassUid(), oldCardNo);
+                        if (!deleteStudent.isSuccess()) {
+                            return CommonResult.fail(deleteStudent.getMessage());
+                        }
                     }
                     //endregion
 
                     //region 百胜删除学生
-                    CommonResult deleteBsStudent = bsDeleteStudent(su);
-                    if (!deleteBsStudent.isSuccess()) {
-                        return CommonResult.fail(deleteBsStudent.getMessage());
+                    if (useBs == 1) {
+                        CommonResult deleteBsStudent = bsDeleteStudent(su);
+                        if (!deleteBsStudent.isSuccess()) {
+                            return CommonResult.fail(deleteBsStudent.getMessage());
+                        }
                     }
                     //endregion
                 }
 
                 //region 希沃添加教师数据
-                CommonResult<String> insertTeacher = SeewoInsertTeacher(seewoClient, su.getPhone(), su.getName(), su.getHeadImage());
-                if (!insertTeacher.isSuccess()) {
-                    return CommonResult.fail(insertTeacher.getMessage());
+                if (useXw == 1) {
+                    CommonResult<String> insertTeacher = SeewoInsertTeacher(seewoClient, su.getPhone(), su.getName(), su.getHeadImage());
+                    if (!insertTeacher.isSuccess()) {
+                        return CommonResult.fail(insertTeacher.getMessage());
+                    }
+                    su.setXwTeacherCode(insertTeacher.getData());
                 }
-                su.setXwTeacherCode(insertTeacher.getData());
                 //endregion
 
                 if (su.getDuties().intValue() == eDuties.ClassTeacher.getValue()) {
@@ -1510,9 +1580,11 @@ public class SmartUserController implements SmartUserControllerAPI {
                     }
 
                     //region 将班主任推送到希沃
-                    CommonResult pushMaster = SeewoPushMaster(seewoClient, su.getPhone(), classData.getClassUid());
-                    if (!pushMaster.isSuccess()) {
-                        return CommonResult.fail(pushMaster.getMessage());
+                    if (useXw == 1) {
+                        CommonResult pushMaster = SeewoPushMaster(seewoClient, su.getPhone(), classData.getClassUid());
+                        if (!pushMaster.isSuccess()) {
+                            return CommonResult.fail(pushMaster.getMessage());
+                        }
                     }
                     //endregion
                 }
@@ -1527,11 +1599,13 @@ public class SmartUserController implements SmartUserControllerAPI {
                     return CommonResult.fail("百胜部门编号为空,新增教师失败");
                 }
                 //region 百胜添加教师数据
-                CommonResult<String> insertBsTeacher = bsInsertTeacher(su, departmentNo);
-                if (!insertBsTeacher.isSuccess()) {
-                    return CommonResult.fail(insertBsTeacher.getMessage());
+                if (useBs == 1) {
+                    CommonResult<String> insertBsTeacher = bsInsertTeacher(su, departmentNo);
+                    if (!insertBsTeacher.isSuccess()) {
+                        return CommonResult.fail(insertBsTeacher.getMessage());
+                    }
+                    su.setBsStaffCode(insertBsTeacher.getData());
                 }
-                su.setBsStaffCode(insertBsTeacher.getData());
                 //endregion
             }
         }
@@ -1983,14 +2057,14 @@ public class SmartUserController implements SmartUserControllerAPI {
             return CommonResult.fail("希沃家长数据删除失败!");
         }
 
-        if(deleteOldFamilyResult.getResponseBody().getResult() == null){
+        if (deleteOldFamilyResult.getResponseBody().getResult() == null) {
             ObjectMapper objectMapper = new ObjectMapper();
             XwBodyVo result = objectMapper.readValue(deleteOldFamilyResult.getBody(), XwBodyVo.class);
-            if(!result.getCode().equals("000000")){
+            if (!result.getCode().equals("000000")) {
                 return CommonResult.fail(result.getMessage());
             }
 
-        }else{
+        } else {
             if (!deleteOldFamilyResult.getResponseBody().getResult().getCode().equals("000000")) {
                 return CommonResult.fail(deleteOldFamilyResult.getResponseBody().getResult().getMessage());
             }
@@ -2032,14 +2106,14 @@ public class SmartUserController implements SmartUserControllerAPI {
             return CommonResult.fail("希沃家长数据删除失败!");
         }
 
-        if(deleteOldFamilyResult.getResponseBody().getResult() == null){
+        if (deleteOldFamilyResult.getResponseBody().getResult() == null) {
             ObjectMapper objectMapper = new ObjectMapper();
             XwBodyVo result = objectMapper.readValue(deleteOldFamilyResult.getBody(), XwBodyVo.class);
-            if(!result.getCode().equals("000000")){
+            if (!result.getCode().equals("000000")) {
                 return CommonResult.fail(result.getMessage());
             }
 
-        }else{
+        } else {
             if (!deleteOldFamilyResult.getResponseBody().getResult().getCode().equals("000000")) {
                 return CommonResult.fail(deleteOldFamilyResult.getResponseBody().getResult().getMessage());
             }
@@ -2587,7 +2661,7 @@ public class SmartUserController implements SmartUserControllerAPI {
                 }
                 //endregion
 
-                if(parents != null){
+                if (parents != null) {
                     //region 删除原有的家长关系
                     CommonResult deleteResult = deleteOldStudentParentShip(seewoClient, user.getCardNo(), parents.stream().map(SmartUser::getPhone).collect(Collectors.toList()));
                     if (!deleteResult.isSuccess()) {
@@ -2596,7 +2670,7 @@ public class SmartUserController implements SmartUserControllerAPI {
                     //endregion
                 }
 
-            } else if(user.getIdentityId().intValue() == eIdentityStatu.Teacher.getValue()){
+            } else if (user.getIdentityId().intValue() == eIdentityStatu.Teacher.getValue()) {
                 //获取班级Uid
                 SmartClass classData = smartClassService.getSmartClassById(user.getSchoolClass());
                 if (classData == null) {
@@ -2646,7 +2720,7 @@ public class SmartUserController implements SmartUserControllerAPI {
 
         //先删除咱自己数据库里的用户数据
         int result = smartUserService.deleteSmartUserByIds(ur.getUserIds());
-        if(result <= 0){
+        if (result <= 0) {
             return CommonResult.fail("删除失败");
         }
 
@@ -2662,7 +2736,7 @@ public class SmartUserController implements SmartUserControllerAPI {
                 //region 删除原有的家长关系
                 CommonResult deleteResult = deleteOldParentShip(seewoClient, studentDatas, user.getPhone());
                 if (!deleteResult.isSuccess()) {
-                    String reason = (deleteUser.getReason() == null ? "" : deleteUser.getReason()) + "希沃删除家长关系失败:"+deleteResult.getMessage()+";";
+                    String reason = (deleteUser.getReason() == null ? "" : deleteUser.getReason()) + "希沃删除家长关系失败:" + deleteResult.getMessage() + ";";
                     deleteUser.setReason(reason);
                     //return CommonResult.fail(deleteResult.getMessage());
                 }
@@ -2681,7 +2755,8 @@ public class SmartUserController implements SmartUserControllerAPI {
                 //region 百胜删除学生
                 CommonResult deleteBsStudent = bsDeleteStudent(user);
                 if (!deleteBsStudent.isSuccess()) {
-                    String reason = (deleteUser.getReason() == null ? "" : deleteUser.getReason()) + "百胜删除学生失败;"+deleteBsStudent.getMessage()+";";;
+                    String reason = (deleteUser.getReason() == null ? "" : deleteUser.getReason()) + "百胜删除学生失败;" + deleteBsStudent.getMessage() + ";";
+                    ;
                     deleteUser.setReason(reason);
                     //return CommonResult.fail(deleteBsStudent.getMessage());
                 }
@@ -2690,24 +2765,26 @@ public class SmartUserController implements SmartUserControllerAPI {
                 //region 希沃删除学生
                 CommonResult deleteStudent = SeewoDeleteStudent(seewoClient, classData.getClassUid(), user.getCardNo());
                 if (!deleteStudent.isSuccess()) {
-                    String reason = (deleteUser.getReason() == null ? "" : deleteUser.getReason()) + "希沃删除学生失败;"+deleteStudent.getMessage()+";";;
+                    String reason = (deleteUser.getReason() == null ? "" : deleteUser.getReason()) + "希沃删除学生失败;" + deleteStudent.getMessage() + ";";
+                    ;
                     deleteUser.setReason(reason);
                     //return CommonResult.fail(deleteStudent.getMessage());
                 }
                 //endregion
 
-                if(parents != null){
+                if (parents != null) {
                     //region 删除原有的家长关系
                     CommonResult deleteResult = deleteOldStudentParentShip(seewoClient, user.getCardNo(), parents.stream().map(SmartUser::getPhone).collect(Collectors.toList()));
                     if (!deleteResult.isSuccess()) {
-                        String reason = (deleteUser.getReason() == null ? "" : deleteUser.getReason()) + "希沃删除家长关系失败;"+deleteResult.getMessage()+";";;
+                        String reason = (deleteUser.getReason() == null ? "" : deleteUser.getReason()) + "希沃删除家长关系失败;" + deleteResult.getMessage() + ";";
+                        ;
                         deleteUser.setReason(reason);
                         //return CommonResult.fail(deleteResult.getMessage());
                     }
                     //endregion
                 }
 
-            } else if(user.getIdentityId().intValue() == eIdentityStatu.Teacher.getValue()){
+            } else if (user.getIdentityId().intValue() == eIdentityStatu.Teacher.getValue()) {
                 //获取班级Uid
                 SmartClass classData = smartClassService.getSmartClassById(user.getSchoolClass());
                 if (classData == null) {
@@ -2719,7 +2796,8 @@ public class SmartUserController implements SmartUserControllerAPI {
                 //region 希沃删除教师
                 CommonResult deleteTeacher = SeewoDeleteTeacher(seewoClient, user.getPhone());
                 if (!deleteTeacher.isSuccess()) {
-                    String reason = (deleteUser.getReason() == null ? "" : deleteUser.getReason()) + "百胜删除老师失败;"+deleteTeacher.getMessage()+";";;
+                    String reason = (deleteUser.getReason() == null ? "" : deleteUser.getReason()) + "百胜删除老师失败;" + deleteTeacher.getMessage() + ";";
+                    ;
                     deleteUser.setReason(reason);
                     //return CommonResult.fail(deleteTeacher.getMessage());
                 }
@@ -2728,7 +2806,8 @@ public class SmartUserController implements SmartUserControllerAPI {
                 //region 希沃删除班主任
                 CommonResult deleteTeacherMaster = SeewoDeleteTeacherMaster(seewoClient, classData.getClassUid(), user.getPhone());
                 if (deleteTeacherMaster.isSuccess()) {
-                    String reason = (deleteUser.getReason() == null ? "" : deleteUser.getReason()) + "希沃删除班主任失败;"+deleteTeacherMaster.getMessage()+";";;
+                    String reason = (deleteUser.getReason() == null ? "" : deleteUser.getReason()) + "希沃删除班主任失败;" + deleteTeacherMaster.getMessage() + ";";
+                    ;
                     deleteUser.setReason(reason);
                     //return CommonResult.fail(deleteTeacherMaster.getMessage());
                 }
@@ -2737,19 +2816,20 @@ public class SmartUserController implements SmartUserControllerAPI {
                 //region 百胜删除教师
                 CommonResult bsDeleteTeacher = bsDeleteTeacher(user.getBsStaffCode());
                 if (!bsDeleteTeacher.isSuccess()) {
-                    String reason = (deleteUser.getReason() == null ? "" : deleteUser.getReason()) + "百胜删除老师失败;"+bsDeleteTeacher.getMessage()+";";;
+                    String reason = (deleteUser.getReason() == null ? "" : deleteUser.getReason()) + "百胜删除老师失败;" + bsDeleteTeacher.getMessage() + ";";
+                    ;
                     deleteUser.setReason(reason);
                     //return CommonResult.fail(bsDeleteTeacher.getMessage());
                 }
                 //endregion
             }
-            if(deleteUser.getReason() != null){
+            if (deleteUser.getReason() != null) {
                 deleteUsers.add(deleteUser);
             }
 
         }
 
-        if(deleteUsers != null && deleteUsers.size() > 0){
+        if (deleteUsers != null && deleteUsers.size() > 0) {
             int deleteUser = smartUserService.deleteUserBatch(deleteUsers);
             return deleteUser > 0 ? CommonResult.ok("删除成功") : CommonResult.fail("删除失败");
         }
@@ -2991,7 +3071,7 @@ public class SmartUserController implements SmartUserControllerAPI {
         PageUtils<UserDeleteVo> result = smartUserService.queryUserDeletePage(currentPage, pageCount);
 
         List<SmartDepartment> departments = smartDepartmentService.list(null);
-        for (UserDeleteVo data :result.getList()) {
+        for (UserDeleteVo data : result.getList()) {
             data.setIdentityStr(eIdentityStatu.stringOf(data.getIdentityId()));//身份
             //获取父级部门ID
             Optional<SmartDepartment> department = departments.stream().filter(e -> e.getId().equals(data.getDepartmentId())).findFirst();

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

@@ -57,7 +57,9 @@ cos:
 seewo:
   appId: bb8e2a14ea7e4a8fa52519bd4b7af70e
   appSecret: v0hzESDaM1tAvgVLweB8WQOWjNyWR8O5
-  schoolId: 94a52d6f95c14de2b2f0293dc4f64460
+  schoolId: 6d81f12fb68040b4af1bbf93fb78bcfd
+  #宜阳中学 94a52d6f95c14de2b2f0293dc4f64460
+  #万载三中 6d81f12fb68040b4af1bbf93fb78bcfd
 
 #百胜车闸相关配置信息
 park:

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

@@ -57,7 +57,9 @@ cos:
 seewo:
   appId: bb8e2a14ea7e4a8fa52519bd4b7af70e
   appSecret: v0hzESDaM1tAvgVLweB8WQOWjNyWR8O5
-  schoolId: 94a52d6f95c14de2b2f0293dc4f64460
+  schoolId: 6d81f12fb68040b4af1bbf93fb78bcfd
+  #宜阳中学 94a52d6f95c14de2b2f0293dc4f64460
+  #万载三中 6d81f12fb68040b4af1bbf93fb78bcfd
 
 #百胜车闸相关配置信息
 park:

+ 3 - 1
target/classes/application-dev.yml

@@ -57,7 +57,9 @@ cos:
 seewo:
   appId: bb8e2a14ea7e4a8fa52519bd4b7af70e
   appSecret: v0hzESDaM1tAvgVLweB8WQOWjNyWR8O5
-  schoolId: 94a52d6f95c14de2b2f0293dc4f64460
+  schoolId: 6d81f12fb68040b4af1bbf93fb78bcfd
+  #宜阳中学 94a52d6f95c14de2b2f0293dc4f64460
+  #万载三中 6d81f12fb68040b4af1bbf93fb78bcfd
 
 #百胜车闸相关配置信息
 park:

+ 3 - 1
target/classes/application-prod.yml

@@ -57,7 +57,9 @@ cos:
 seewo:
   appId: bb8e2a14ea7e4a8fa52519bd4b7af70e
   appSecret: v0hzESDaM1tAvgVLweB8WQOWjNyWR8O5
-  schoolId: 94a52d6f95c14de2b2f0293dc4f64460
+  schoolId: 6d81f12fb68040b4af1bbf93fb78bcfd
+  #宜阳中学 94a52d6f95c14de2b2f0293dc4f64460
+  #万载三中 6d81f12fb68040b4af1bbf93fb78bcfd
 
 #百胜车闸相关配置信息
 park:

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

@@ -153,6 +153,7 @@ com\template\controller\SmartScoreController.class
 com\template\services\impl\SmsCodeServiceImpl.class
 com\template\services\SmartSemesterService.class
 com\template\model\pojo\SmartWarning.class
+com\template\common\utils\ClassYear.class
 com\template\services\SmartUserService.class
 com\template\model\seewo\ParentServiceBatchSaveOrUpdateParentsRequest.class
 com\template\annotation\ExcelExport.class

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

@@ -95,6 +95,7 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmsCode.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartDepartmentMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\seewo\AttendanceRuleListSchoolAttendRuleParam.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\ClassYear.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eTimeGroup.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eFileType.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\evaluate\student\SmartSubjectTemplate.java

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