Browse Source

”添加回调地址“

liu 2 years ago
parent
commit
1c624f5b7b

+ 105 - 157
.idea/workspace.xml

@@ -4,60 +4,20 @@
     <option name="autoReloadType" value="SELECTIVE" />
   </component>
   <component name="ChangeListManager">
-<<<<<<< HEAD
     <list default="true" id="995b8ac7-46be-4ba7-be5a-eaf424ddd316" name="Default Changelist" comment="">
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartFamilyIndexControllerAPI.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartFamilyIndexController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartFamilyIndexController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartScoreController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartScoreController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SmartFamilyIndexService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartFamilyIndexService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartFamilyIndexServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartFamilyIndexServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" beforeDir="false" afterPath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" afterDir="false" />
-=======
-    <list default="true" id="09eff92e-84e6-4825-81c9-523c173595c5" name="Changes" comment="">
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/LastSevenDaysTrackVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartFaceDiscernTestControllerAPI.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/BASE64DecodedMultipartFile.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/MultipartFileUtils.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartScoreControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartScoreControllerAPI.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/AutoCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/AutoCode.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartFaceDiscernControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartFaceDiscernControllerAPI.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartFaceDiscernController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartFaceDiscernController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartScoreController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartScoreController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/WechatScanLoginController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/WechatScanLoginController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartScoreMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartScoreMapper.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/vo/StudentExamNameVo.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/StudentExamNameVo.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SmartAttendanceService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartAttendanceService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SmartScoreService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartScoreService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartAttendanceServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartAttendanceServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartFaceDiscernServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartFaceDiscernServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartScoreServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartScoreServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/SmartScoreMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/SmartScoreMapper.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/application-dev.yml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/application-prod.yml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/application.yml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/RepairAdminMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartApplyMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartAuthorGroupMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartAuthorityMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartBuildMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartBuildMeterMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartDataClassMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartDataSourceLogMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartDataSourceMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartDepartmentMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartFreezeRecordMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartIdentityMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartMeterDetailMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartMeterMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartSchoolMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartScreenshotMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartScreenshotRecordMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartUserMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartVisitorMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmartWarningMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SmsCodeMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SystemMenuMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/SystemUserMapper.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" beforeDir="false" />
->>>>>>> 031ce1ab8cbb9b44c17b7e69f3858eae928deb7d
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SmartDeviceService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartDeviceService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDeviceServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDeviceServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUserServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUserServiceImpl.java" afterDir="false" />
+    </list>
+    <list id="09eff92e-84e6-4825-81c9-523c173595c5" name="Changes" comment="">
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -67,63 +27,13 @@
   <component name="DefaultGradleProjectSettings">
     <option name="isMigrated" value="true" />
   </component>
-<<<<<<< HEAD
-  <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/SmartScoreController.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="7912">
-              <caret line="388" column="51" selection-start-line="388" selection-start-column="51" selection-end-line="388" selection-end-column="51" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="177">
-              <caret line="367" column="43" lean-forward="true" selection-start-line="367" selection-start-column="43" selection-end-line="367" selection-end-column="43" />
-            </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="1725">
-              <caret line="75" column="7" selection-start-line="75" selection-start-column="7" selection-end-line="75" selection-end-column="38" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <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="1173">
-              <caret line="69" column="4" selection-start-line="69" selection-start-column="4" selection-end-line="69" selection-end-column="30" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartScoreControllerAPI.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="1426">
-              <caret line="74" column="25" selection-start-line="74" selection-start-column="9" selection-end-line="74" selection-end-column="25" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-    </leaf>
-=======
   <component name="FileTemplateManagerImpl">
     <option name="RECENT_TEMPLATES">
       <list>
+        <option value="Interface" />
         <option value="Class" />
       </list>
     </option>
->>>>>>> 031ce1ab8cbb9b44c17b7e69f3858eae928deb7d
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
@@ -183,6 +93,37 @@
       </list>
     </option>
   </component>
+  <component name="LineStatusTrackerManager">
+    <file path="$PROJECT_DIR$/.idea/workspace.xml">
+      <ranges>
+        <range start1="6" end1="7" start2="6" end2="6" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="8" end1="17" start2="7" end2="10" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="18" end1="19" start2="11" end2="13" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="20" end1="60" start2="14" end2="20" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="69" end1="119" start2="29" end2="29" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="122" end1="122" start2="32" end2="33" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="125" end1="126" start2="36" end2="36" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="185" end1="185" start2="95" end2="126" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="294" end1="307" start2="235" end2="235" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="310" end1="311" start2="238" end2="238" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="312" end1="327" start2="239" end2="254" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="328" end1="329" start2="255" end2="256" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="332" end1="333" start2="259" end2="259" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="334" end1="334" start2="260" end2="263" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="338" end1="353" start2="267" end2="294" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="360" end1="360" start2="301" end2="307" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="375" end1="376" start2="322" end2="322" changelist="09eff92e-84e6-4825-81c9-523c173595c5" />
+        <range start1="383" end1="384" start2="329" end2="329" changelist="09eff92e-84e6-4825-81c9-523c173595c5" />
+        <range start1="386" end1="387" start2="331" end2="331" changelist="09eff92e-84e6-4825-81c9-523c173595c5" />
+        <range start1="515" end1="516" start2="459" end2="459" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="521" end1="522" start2="464" end2="464" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="527" end1="528" start2="469" end2="469" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="533" end1="534" start2="474" end2="474" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="539" end1="540" start2="479" end2="479" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+        <range start1="545" end1="546" start2="484" end2="484" changelist="995b8ac7-46be-4ba7-be5a-eaf424ddd316" />
+      </ranges>
+    </file>
+  </component>
   <component name="MarkdownSettingsMigration">
     <option name="stateVersion" value="1" />
   </component>
@@ -292,65 +233,65 @@
       <pane id="Scope" />
     </panes>
   </component>
-<<<<<<< HEAD
-  <component name="PropertiesComponent">
-    <property name="RequestMappingsPanelOrder0" value="0" />
-    <property name="RequestMappingsPanelOrder1" value="1" />
-    <property name="RequestMappingsPanelWidth0" value="75" />
-    <property name="RequestMappingsPanelWidth1" value="75" />
-    <property name="WebServerToolWindowFactoryState" value="false" />
-    <property name="aspect.path.notification.shown" value="true" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
-    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
-    <property name="nodejs_npm_path_reset_for_default_project" value="true" />
-    <property name="settings.editor.selected.configurable" value="MavenSettings" />
-=======
   <component name="ProjectViewState">
     <option name="showExcludedFiles" value="false" />
     <option name="showLibraryContents" value="true" />
->>>>>>> 031ce1ab8cbb9b44c17b7e69f3858eae928deb7d
   </component>
-  <component name="PropertiesComponent"><![CDATA[{
-  "keyToString": {
-    "RequestMappingsPanelOrder0": "0",
-    "RequestMappingsPanelOrder1": "1",
-    "RequestMappingsPanelWidth0": "75",
-    "RequestMappingsPanelWidth1": "75",
-    "RunOnceActivity.OpenProjectViewOnStart": "true",
-    "RunOnceActivity.ShowReadmeOnStart": "true",
-    "WebServerToolWindowFactoryState": "false",
-    "node.js.detected.package.eslint": "true",
-    "node.js.detected.package.tslint": "true",
-    "node.js.selected.package.eslint": "(autodetect)",
-    "node.js.selected.package.tslint": "(autodetect)",
-    "settings.editor.selected.configurable": "MavenSettings",
-    "spring.configuration.checksum": "64bf9ba214eb006c40cb35e0f61a7d20"
+  <component name="PropertiesComponent">{
+  &quot;keyToString&quot;: {
+    &quot;RequestMappingsPanelOrder0&quot;: &quot;0&quot;,
+    &quot;RequestMappingsPanelOrder1&quot;: &quot;1&quot;,
+    &quot;RequestMappingsPanelWidth0&quot;: &quot;75&quot;,
+    &quot;RequestMappingsPanelWidth1&quot;: &quot;75&quot;,
+    &quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
+    &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
+    &quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
+    &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
+    &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
+    &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
+    &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
+    &quot;settings.editor.selected.configurable&quot;: &quot;MavenSettings&quot;,
+    &quot;spring.configuration.checksum&quot;: &quot;64bf9ba214eb006c40cb35e0f61a7d20&quot;
   }
-}]]></component>
+}</component>
   <component name="RebelAgentSelection">
     <selection>jr</selection>
   </component>
-<<<<<<< HEAD
   <component name="RecentsManager">
+    <key name="MoveFile.RECENT_KEYS">
+      <recent name="E:\company\backend_code\src\main\resources\mapper\template" />
+    </key>
     <key name="CopyClassDialog.RECENTS_KEY">
       <recent name="com.template.api" />
     </key>
   </component>
-  <component name="RunDashboard">
-    <option name="ruleStates">
-      <list>
-        <RuleState>
-          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
-        </RuleState>
-        <RuleState>
-          <option name="name" value="StatusDashboardGroupingRule" />
-        </RuleState>
-      </list>
-    </option>
-  </component>
-=======
->>>>>>> 031ce1ab8cbb9b44c17b7e69f3858eae928deb7d
-  <component name="RunManager">
+  <component name="RunManager" selected="Spring Boot.MybatisPlusApplication">
+    <configuration name="AutoCode" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
+      <option name="MAIN_CLASS_NAME" value="com.template.AutoCode" />
+      <module name="mybatis_plus" />
+      <extension name="coverage">
+        <pattern>
+          <option name="PATTERN" value="com.template.*" />
+          <option name="ENABLED" value="true" />
+        </pattern>
+      </extension>
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+    <configuration name="SmartFaceDiscernTestController" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
+      <option name="MAIN_CLASS_NAME" value="com.template.controller.SmartFaceDiscernTestController" />
+      <module name="mybatis_plus" />
+      <extension name="coverage">
+        <pattern>
+          <option name="PATTERN" value="com.template.controller.*" />
+          <option name="ENABLED" value="true" />
+        </pattern>
+      </extension>
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
     <configuration name="MybatisPlusApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
       <module name="mybatis_plus" />
       <option name="SPRING_BOOT_MAIN_CLASS" value="com.template.MybatisPlusApplication" />
@@ -358,6 +299,12 @@
         <option name="Make" enabled="true" />
       </method>
     </configuration>
+    <recent_temporary>
+      <list>
+        <item itemvalue="Application.SmartFaceDiscernTestController" />
+        <item itemvalue="Application.AutoCode" />
+      </list>
+    </recent_temporary>
   </component>
   <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
   <component name="SshConsoleOptionsProvider">
@@ -373,7 +320,6 @@
       <option name="number" value="Default" />
       <option name="presentableId" value="Default" />
       <updated>1715735320475</updated>
-<<<<<<< HEAD
       <workItem from="1715735323482" duration="10880000" />
       <workItem from="1715753152020" duration="29000" />
       <workItem from="1715755899662" duration="1061000" />
@@ -381,10 +327,8 @@
       <workItem from="1715758787019" duration="2505000" />
       <workItem from="1715767207880" duration="1773000" />
       <workItem from="1715850418761" duration="16000" />
-=======
       <workItem from="1715735323482" duration="6840000" />
       <workItem from="1715755513734" duration="38809000" />
->>>>>>> 031ce1ab8cbb9b44c17b7e69f3858eae928deb7d
     </task>
     <servers />
   </component>
@@ -513,39 +457,43 @@
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartScoreController.java</url>
           <line>161</line>
-          <properties />
           <option name="timeStamp" value="14" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
           <line>2581</line>
-          <properties />
           <option name="timeStamp" value="16" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
           <line>2658</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>3584</line>
-          <properties />
           <option name="timeStamp" value="18" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java</url>
           <line>293</line>
-          <properties />
           <option name="timeStamp" value="19" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java</url>
           <line>371</line>
-          <properties />
           <option name="timeStamp" value="21" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartFaceDiscernTestController.java</url>
+          <line>65</line>
+          <option name="timeStamp" value="23" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartFaceDiscernTestController.java</url>
+          <line>56</line>
+          <option name="timeStamp" value="24" />
+        </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
   </component>

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

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

+ 6 - 0
src/main/java/com/template/api/SmartFaceDiscernControllerAPI.java

@@ -6,6 +6,9 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
 @RequestMapping("/api/smartFaceDiscern")
 public interface SmartFaceDiscernControllerAPI {
 
@@ -22,4 +25,7 @@ public interface SmartFaceDiscernControllerAPI {
     @ApiOperation(value = "日常轨迹",notes = "日常轨迹",httpMethod = "GET")
     CommonResult lastSevenDaysTrack(@RequestParam int userId);
 
+
+
+
 }

+ 17 - 0
src/main/java/com/template/api/SmartFaceDiscernTestControllerAPI.java

@@ -0,0 +1,17 @@
+package com.template.api;
+
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@RequestMapping("/api/smartFaceDiscernTest")
+public interface SmartFaceDiscernTestControllerAPI {
+
+    @GetMapping("/callBack")
+    @ApiOperation(value = "回调",notes = "回调",httpMethod = "GET")
+    String callBack(HttpServletRequest request, HttpServletResponse response);
+
+}

+ 63 - 0
src/main/java/com/template/common/utils/BASE64DecodedMultipartFile.java

@@ -0,0 +1,63 @@
+package com.template.common.utils;
+ 
+import org.springframework.web.multipart.MultipartFile;
+ 
+import java.io.*;
+ 
+/**
+ * @ClassName BASE64DecodedMultipartFile
+ * @Description TODO
+ * @Author syh
+ * @Date 2023/8/7 10:48
+ */
+public class BASE64DecodedMultipartFile implements MultipartFile {
+ 
+    private final byte[] imgContent;
+    private final String header;
+ 
+    public BASE64DecodedMultipartFile(byte[] imgContent, String header) {
+        this.imgContent = imgContent;
+        this.header = header.split(";")[0];
+    }
+ 
+    @Override
+    public String getName() {
+        return System.currentTimeMillis() + Math.random() + "." + header.split("/")[1];
+    }
+ 
+    @Override
+    public String getOriginalFilename() {
+        return System.currentTimeMillis() + (int) Math.random() * 10000 + "." + header.split("/")[1];
+    }
+ 
+    @Override
+    public String getContentType() {
+        return header.split(":")[1];
+    }
+ 
+    @Override
+    public boolean isEmpty() {
+        return imgContent == null || imgContent.length == 0;
+    }
+ 
+    @Override
+    public long getSize() {
+        return imgContent.length;
+    }
+ 
+    @Override
+    public byte[] getBytes() throws IOException {
+        return imgContent;
+    }
+ 
+    @Override
+    public InputStream getInputStream() throws IOException {
+        return new ByteArrayInputStream(imgContent);
+    }
+ 
+    @Override
+    public void transferTo(File dest) throws IOException, IllegalStateException {
+        new FileOutputStream(dest).write(imgContent);
+    }
+ 
+}

+ 32 - 0
src/main/java/com/template/common/utils/MultipartFileUtils.java

@@ -0,0 +1,32 @@
+package com.template.common.utils;
+
+import org.springframework.web.multipart.MultipartFile;
+import sun.misc.BASE64Decoder;
+
+import java.io.IOException;
+
+public class MultipartFileUtils {
+
+    public static MultipartFile base64ToMultipartFile (String s) {
+        MultipartFile image = null;
+        StringBuilder base64 = new StringBuilder("");
+        if (s != null && !"".equals(s)) {
+            base64.append(s);
+            String[] baseStrs = base64.toString().split(",");
+            BASE64Decoder decoder = new BASE64Decoder();
+            byte[] b = new byte[0];
+            try {
+                b = decoder.decodeBuffer(baseStrs[1]);
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+            for (int j = 0; j < b.length; ++j) {
+                if (b[j] < 0) {
+                    b[j] += 256;
+                }
+            }
+            image = new  BASE64DecodedMultipartFile(b, baseStrs[0]);
+        }
+        return image;
+    }
+}

+ 9 - 0
src/main/java/com/template/controller/SmartFaceDiscernController.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.annotation.DESRespondSecret;
+import com.template.annotation.PassToken;
 import com.template.api.SmartCarAccessControllerAPI;
 import com.template.api.SmartFaceDiscernControllerAPI;
 import com.template.common.utils.*;
@@ -24,6 +25,10 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
 import java.net.URLDecoder;
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
@@ -66,6 +71,8 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
     @Autowired
     SmartClassService smartClassService;
 
+
+
     @Override
     @DESRespondSecret(validated = true)
     public CommonResult track(Integer id, int dateTime) {
@@ -162,6 +169,8 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
         return CommonResult.ok(vos);
     }
 
+
+
     public static JSONObject getDate(Integer date) {
         JSONObject jsonObject = new JSONObject();
 

+ 124 - 0
src/main/java/com/template/controller/SmartFaceDiscernTestController.java

@@ -0,0 +1,124 @@
+package com.template.controller;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.template.annotation.DESRespondSecret;
+import com.template.annotation.PassToken;
+import com.template.api.SmartFaceDiscernTestControllerAPI;
+import com.template.common.utils.MultipartFileUtils;
+import com.template.model.pojo.SmartDevice;
+import com.template.model.pojo.SmartFaceDiscernTest;
+import com.template.model.pojo.SmartUser;
+import com.template.services.SmartDeviceService;
+import com.template.services.SmartFaceDiscernTestService;
+import com.template.services.SmartUploadService;
+import com.template.services.SmartUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.util.Date;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-05-20
+ */
+@RestController
+public class SmartFaceDiscernTestController implements SmartFaceDiscernTestControllerAPI {
+
+    @Autowired
+    SmartFaceDiscernTestService smartFaceDiscernTestService;
+
+    @Autowired
+    SmartUserService smartUserService;
+
+    @Autowired
+    SmartDeviceService smartDeviceService;
+
+    @Autowired
+    SmartUploadService smartUploadService;
+
+    @Override
+    @PassToken
+    @DESRespondSecret(validated = false)
+    public String callBack(HttpServletRequest request, HttpServletResponse response) {
+        try {
+            BufferedReader streamReader = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8"));
+            StringBuilder responseStrBuilder = new StringBuilder();
+            String inputStr;
+            while ((inputStr = streamReader.readLine()) != null) {
+                responseStrBuilder.append(inputStr);
+            }
+            JSONObject jsonObject = JSONObject.parseObject(responseStrBuilder.toString());
+
+//            比对结果
+            Integer resultStatus = jsonObject.getInteger("resultStatus");
+            if (0!=resultStatus) {
+                JSONObject r = new JSONObject();
+                r.put("message","Success");
+                r.put("result",0);
+                return r.toJSONString();
+            }
+//          抓拍的照片 base64字符串
+            String scenePhoto = jsonObject.getString("scenePhoto");
+            System.out.println("scenePhoto = " + scenePhoto.substring(0,100));
+//            base64转文件
+            MultipartFile multipartFile = MultipartFileUtils.base64ToMultipartFile(scenePhoto);
+//            上传到cos桶,并生成图片地址
+            String image = smartUploadService.upload(new MultipartFile[]{multipartFile});
+
+ //          设备mac
+            String mac = jsonObject.getString("mac");
+            SmartDevice smartDevice = smartDeviceService.getNum(mac);
+            String address="";
+            String type="";
+            if (ObjectUtils.isNotEmpty(smartDevice)) {
+                //            地点
+                address = smartDevice.getAddress();
+//            类型
+                type = smartDevice.getName();
+            }
+
+//            名字
+            String name = jsonObject.getString("name");
+//            身份证号
+            String idNum = jsonObject.getString("idNum");
+            SmartUser user = smartUserService.getCard(idNum);
+            Integer userId=0;
+            if (ObjectUtils.isNotEmpty(user)) {
+                userId = user.getId();
+            }else {
+                userId=0;
+            }
+
+            SmartFaceDiscernTest smartFaceDiscernTest = new SmartFaceDiscernTest();
+            smartFaceDiscernTest.setImage(image);
+            smartFaceDiscernTest.setName(name);
+            smartFaceDiscernTest.setLocation(address);
+            smartFaceDiscernTest.setType(type);
+            smartFaceDiscernTest.setUserId(userId);
+            smartFaceDiscernTest.setDateTime(new Date());
+            smartFaceDiscernTestService.save(smartFaceDiscernTest);
+
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        JSONObject r = new JSONObject();
+        r.put("message","Success");
+        r.put("result",0);
+        return r.toJSONString();
+    }
+
+}
+

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

@@ -0,0 +1,18 @@
+package com.template.mapper;
+
+import com.template.model.pojo.SmartFaceDiscernTest;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-05-20
+ */
+@Repository
+public interface SmartFaceDiscernTestMapper extends BaseMapper<SmartFaceDiscernTest> {
+
+}

+ 79 - 0
src/main/java/com/template/model/pojo/SmartFaceDiscernTest.java

@@ -0,0 +1,79 @@
+package com.template.model.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-05-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="SmartFaceDiscernTest对象", description="")
+public class SmartFaceDiscernTest implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "名字")
+    private String name;
+
+    @ApiModelProperty(value = "用户ID")
+    private Integer userId;
+
+    @ApiModelProperty(value = "类型")
+    private String type;
+
+    @ApiModelProperty(value = "地点")
+    private String location;
+
+    @ApiModelProperty(value = "图片")
+    private String image;
+
+    @ApiModelProperty(value = "备注")
+    private String remark;
+
+    @ApiModelProperty(value = "发生时间")
+    private Date dateTime;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Date updateTime;
+
+    @ApiModelProperty(value = "创建人员")
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    @ApiModelProperty(value = "更新人员")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateUser;
+
+    @ApiModelProperty(value = "逻辑删除 未删除:0;删除:1")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleted;
+
+
+}

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

@@ -29,4 +29,6 @@ public interface SmartDeviceService extends IService<SmartDevice> {
     List<SmartDevice> queryOnLineDevice();
 
     SmartDevice queryDeviceByNum(String num);
+
+    SmartDevice getNum(String mac);
 }

+ 16 - 0
src/main/java/com/template/services/SmartFaceDiscernTestService.java

@@ -0,0 +1,16 @@
+package com.template.services;
+
+import com.template.model.pojo.SmartFaceDiscernTest;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-05-20
+ */
+public interface SmartFaceDiscernTestService extends IService<SmartFaceDiscernTest> {
+
+}

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

@@ -1,5 +1,7 @@
 package com.template.services.impl;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -77,4 +79,12 @@ public class SmartDeviceServiceImpl extends ServiceImpl<SmartDeviceMapper, Smart
         SmartDevice result = smartDeviceMapper.selectOne(queryWrapper);
         return result;
     }
+
+    @Override
+    public SmartDevice getNum(String mac) {
+        LambdaQueryWrapper<SmartDevice> wrapper=new LambdaQueryWrapper<>();
+        wrapper.eq(SmartDevice::getNum,mac);
+        SmartDevice smartDevice = this.getOne(wrapper);
+        return smartDevice;
+    }
 }

+ 20 - 0
src/main/java/com/template/services/impl/SmartFaceDiscernTestServiceImpl.java

@@ -0,0 +1,20 @@
+package com.template.services.impl;
+
+import com.template.model.pojo.SmartFaceDiscernTest;
+import com.template.mapper.SmartFaceDiscernTestMapper;
+import com.template.services.SmartFaceDiscernTestService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-05-20
+ */
+@Service
+public class SmartFaceDiscernTestServiceImpl extends ServiceImpl<SmartFaceDiscernTestMapper, SmartFaceDiscernTest> implements SmartFaceDiscernTestService {
+
+}

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

@@ -305,6 +305,7 @@ public class SmartUserServiceImpl extends ServiceImpl<SmartUserMapper, SmartUser
     @Override
     public SmartUser getPhoneUser(String phone) {
         LambdaQueryWrapper<SmartUser> wrapper=new LambdaQueryWrapper<>();
+        wrapper.eq(SmartUser::getPhone,phone);
         SmartUser smartUser = this.getOne(wrapper);
         return smartUser;
     }