Browse Source

二维码

夏文涛 2 years ago
parent
commit
6d6c22288d

+ 170 - 22
.idea/workspace.xml

@@ -2,9 +2,9 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="be7aa737-81a4-4fa1-848a-b64feaec2f6c" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.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" />
+      <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" beforeDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/classes/" />
     <ignored path="$PROJECT_DIR$/target/" />
@@ -14,13 +14,17 @@
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
     <option name="LAST_RESOLUTION" value="IGNORE" />
   </component>
+  <component name="DefaultGradleProjectSettings">
+    <option name="testRunner" value="GRADLE" />
+    <option name="delegatedBuild" value="true" />
+  </component>
   <component name="FileEditorManager">
     <leaf>
-      <file pinned="false" current-in-tab="true">
+      <file pinned="false" current-in-tab="false">
         <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="408">
-              <caret line="1095" column="70" selection-start-line="1095" selection-start-column="70" selection-end-line="1095" selection-end-column="70" />
+            <state relative-caret-position="219">
+              <caret line="1990" column="37" selection-start-line="1990" selection-start-column="37" selection-end-line="1990" selection-end-column="37" />
               <folding>
                 <element signature="e#2673#3357#0" />
                 <element signature="e#3363#4195#0" />
@@ -39,7 +43,6 @@
                 <element signature="e#101141#101162#0" />
                 <element signature="e#103895#103915#0" />
                 <element signature="e#106353#106370#0" />
-                <element signature="e#108524#108539#0" />
                 <element signature="e#110851#110866#0" />
                 <element signature="e#114832#114846#0" />
               </folding>
@@ -48,6 +51,51 @@
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/insertSmartUserRequest.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="310">
+              <caret line="25" column="31" selection-start-line="25" selection-start-column="20" selection-end-line="25" selection-end-column="31" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartQrcodeController.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="976">
+              <caret line="84" column="21" selection-start-line="84" selection-start-column="8" selection-end-line="84" selection-end-column="21" />
+            </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="144">
+              <caret line="545" column="16" lean-forward="true" selection-start-line="545" selection-start-column="16" selection-end-line="545" selection-end-column="16" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <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="327">
+              <caret line="194" column="40" selection-start-line="194" selection-start-column="25" selection-end-line="194" selection-end-column="40" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartVisitorControllerAPI.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="355">
+              <caret line="121" column="59" selection-start-line="121" selection-start-column="59" selection-end-line="121" selection-end-column="59" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
         <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="217">
@@ -85,6 +133,9 @@
       <find>queryVisitorPage</find>
       <find>examineRecord</find>
       <find>SeewoClient seewoClient = new DefaultSeewoClient(new Account(seewoConfig.getAppId(), seewoConfig.getAppSecret()));</find>
+      <find>qrCode</find>
+      <find>QrcodeImageVo</find>
+      <find>insertSmartUser</find>
     </findStrings>
   </component>
   <component name="Git.Settings">
@@ -94,8 +145,9 @@
     <option name="CHANGED_PATHS">
       <list>
         <option value="$PROJECT_DIR$/src/main/resources/mapper/template/SmartVisitorMapper.xml" />
-        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/common/utils/TimeExchange.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java" />
       </list>
     </option>
   </component>
@@ -128,7 +180,7 @@
   </component>
   <component name="ProjectFrameBounds">
     <option name="x" value="-7" />
-    <option name="width" value="974" />
+    <option name="width" value="958" />
     <option name="height" value="1039" />
   </component>
   <component name="ProjectView">
@@ -176,6 +228,15 @@
               <item name="main" type="462c0819:PsiDirectoryNode" />
               <item name="java" type="462c0819:PsiDirectoryNode" />
               <item name="template" type="462c0819:PsiDirectoryNode" />
+              <item name="api" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="mybatis_plus" type="b2602c69:ProjectViewProjectNode" />
+              <item name="backend_code" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="template" type="462c0819:PsiDirectoryNode" />
               <item name="controller" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
@@ -227,7 +288,7 @@
     <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="last_opened_file_path" value="$PROJECT_DIR$/../../报修系统/repair_backend" />
     <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" />
@@ -266,15 +327,15 @@
       <option name="number" value="Default" />
       <option name="presentableId" value="Default" />
       <updated>1706770138891</updated>
-      <workItem from="1706770142017" duration="4313000" />
+      <workItem from="1706770142017" duration="13022000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="4313000" />
+    <option name="totallyTimeSpent" value="13022000" />
   </component>
   <component name="ToolWindowManager">
-    <frame x="-8" y="-8" width="1936" height="1048" extended-state="6" />
+    <frame x="-7" y="0" width="958" height="1039" extended-state="0" />
     <editor active="true" />
     <layout>
       <window_info id="JRebel" side_tool="true" />
@@ -284,7 +345,7 @@
       <window_info id="Favorites" side_tool="true" />
       <window_info id="Designer" />
       <window_info id="Web" side_tool="true" />
-      <window_info content_ui="combo" id="Project" order="0" weight="0.17217484" />
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.30734965" />
       <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
       <window_info anchor="bottom" id="Spring" />
       <window_info anchor="bottom" id="Event Log" side_tool="true" />
@@ -298,12 +359,12 @@
       <window_info anchor="bottom" id="JRebel Console" 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" weight="0.32932165" />
-      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
+      <window_info anchor="bottom" id="Run" order="2" visible="true" weight="0.3314917" />
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.38674033" />
       <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" />
-      <window_info anchor="right" id="Maven" weight="0.9463895" />
+      <window_info anchor="right" id="Maven" weight="0.93429846" />
       <window_info anchor="right" id="Palette" />
       <window_info anchor="right" id="Capture Analysis" />
       <window_info anchor="right" id="Database" />
@@ -319,6 +380,24 @@
   <component name="TypeScriptGeneratedFilesManager">
     <option name="version" value="1" />
   </component>
+  <component name="XDebuggerManager">
+    <breakpoint-manager>
+      <breakpoints>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
+          <line>963</line>
+          <properties />
+          <option name="timeStamp" value="4" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartUserController.java</url>
+          <line>1973</line>
+          <properties />
+          <option name="timeStamp" value="5" />
+        </line-breakpoint>
+      </breakpoints>
+    </breakpoint-manager>
+  </component>
   <component name="editorHistoryManager">
     <entry file="file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartVisitorServiceImpl.java">
       <provider selected="true" editor-type-id="text-editor">
@@ -341,17 +420,52 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/BaseImageVo.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="230">
+          <caret line="10" selection-start-line="10" selection-end-line="10" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/api/SmartVisitorControllerAPI.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="355">
+          <caret line="121" column="59" selection-start-line="121" selection-start-column="59" selection-end-line="121" selection-end-column="59" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/qrCodeVo.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="238">
+          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-webmvc/5.3.1/spring-webmvc-5.3.1.jar!/org/springframework/web/servlet/mvc/method/annotation/ServletInvocableHandlerMethod.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="460">
+          <caret line="51" selection-start-line="51" selection-end-line="51" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-web/5.3.22/spring-web-5.3.22-sources.jar!/org/springframework/web/method/support/InvocableHandlerMethod.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="305">
+          <caret line="149" selection-start-line="149" selection-end-line="149" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/insertSmartUserRequest.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="192">
-          <caret line="353" column="84" selection-start-line="353" selection-start-column="84" selection-end-line="353" selection-end-column="84" />
+        <state relative-caret-position="310">
+          <caret line="25" column="31" selection-start-line="25" selection-start-column="20" selection-end-line="25" selection-end-column="31" />
         </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="408">
-          <caret line="1095" column="70" selection-start-line="1095" selection-start-column="70" selection-end-line="1095" selection-end-column="70" />
+        <state relative-caret-position="219">
+          <caret line="1990" column="37" selection-start-line="1990" selection-start-column="37" selection-end-line="1990" selection-end-column="37" />
           <folding>
             <element signature="e#2673#3357#0" />
             <element signature="e#3363#4195#0" />
@@ -370,13 +484,47 @@
             <element signature="e#101141#101162#0" />
             <element signature="e#103895#103915#0" />
             <element signature="e#106353#106370#0" />
-            <element signature="e#108524#108539#0" />
             <element signature="e#110851#110866#0" />
             <element signature="e#114832#114846#0" />
           </folding>
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartQrcodeController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="976">
+          <caret line="84" column="21" selection-start-line="84" selection-start-column="8" selection-end-line="84" selection-end-column="21" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/request/turnOnTheDeviceRequest.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="20">
+          <caret line="12" column="13" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/model/vo/QrcodeImageVo.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="351">
+          <caret line="32" column="19" selection-start-line="32" selection-start-column="19" selection-end-line="32" selection-end-column="19" />
+        </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="327">
+          <caret line="194" column="40" selection-start-line="194" selection-start-column="25" selection-end-line="194" selection-end-column="40" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartVisitorController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="144">
+          <caret line="545" column="16" lean-forward="true" selection-start-line="545" selection-start-column="16" selection-end-line="545" selection-end-column="16" />
+        </state>
+      </provider>
+    </entry>
   </component>
   <component name="masterDetails">
     <states>

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

@@ -182,11 +182,20 @@ public class TimeExchange {
         return simpleDateFormat.format(endTime);
     }
 
-    // 当前时间加2分钟
-    public static String TimeRangeI10(String time, int m) {
+    // 当前时间加X秒
+    public static String TimeRangeSrcond(String time, int s) {
         Calendar nowTime2 = Calendar.getInstance();
         nowTime2.setTime(StringToDate(time, "yyyy-MM-dd HH:mm:ss"));
-        nowTime2.add(Calendar.SECOND, m);//10分钟前的时间
+        nowTime2.add(Calendar.SECOND, s);//秒钟
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        return simpleDateFormat.format(nowTime2.getTime());
+    }
+
+    // 当前时间加X分钟
+    public static String TimeRangeMinute(String time, int m) {
+        Calendar nowTime2 = Calendar.getInstance();
+        nowTime2.setTime(StringToDate(time, "yyyy-MM-dd HH:mm:ss"));
+        nowTime2.add(Calendar.MINUTE, m);//分钟
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         return simpleDateFormat.format(nowTime2.getTime());
     }

+ 24 - 15
src/main/java/com/template/controller/SmartVisitorController.java

@@ -1,6 +1,7 @@
 package com.template.controller;
 
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -465,8 +466,10 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
 
     @Override
     public TurnOnDeviceVo turnOnTheDevice(turnOnTheDeviceRequest data) throws JsonProcessingException {
-        TurnOnDeviceVo result = new TurnOnDeviceVo();
+        System.out.println("进入扫码解析,参数:"+ JSON.toJSON(data));
 
+        TurnOnDeviceVo result = new TurnOnDeviceVo();
+        System.out.println("进入扫码解析1");
         //region 参数判断
         if (data == null) {
             result.setResultcode(2);
@@ -474,28 +477,28 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
             result.setActionName("qrCodePush");
             return result;
         }
-
+        System.out.println("进入扫码解析2");
         if (data.getActionName() == null) {
             result.setResultcode(2);
             result.setMessage("指令不能为空");
             result.setActionName("qrCodePush");
             return result;
         }
-
+        System.out.println("进入扫码解析3");
         if (!data.getActionName().equals("qrCodePush")) {
             result.setResultcode(2);
             result.setMessage("指令错误");
             result.setActionName("qrCodePush");
             return result;
         }
-
+        System.out.println("进入扫码解析4");
         if (data.getData() == null) {
             result.setResultcode(2);
             result.setMessage("二维码内容不能为空");
             result.setActionName("qrCodePush");
             return result;
         }
-
+        System.out.println("进入扫码解析5");
         ObjectMapper objectMapper = new ObjectMapper();
         qrCodeVo codeVo = objectMapper.readValue(data.getData(), qrCodeVo.class);
         if (codeVo == null) {
@@ -504,21 +507,21 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
             result.setActionName("qrCodePush");
             return result;
         }
-
+        System.out.println("进入扫码解析6");
         if (codeVo.getQrCode() == null) {
             result.setResultcode(2);
             result.setMessage("二维码内容不能为空");
             result.setActionName("qrCodePush");
             return result;
         }
-
+        System.out.println("进入扫码解析7");
         if (data.getDeviceno() == null) {
             result.setResultcode(2);
             result.setMessage("设备编号不能为空");
             result.setActionName("qrCodePush");
             return result;
         }
-
+        System.out.println("进入扫码解析8");
         if (data.getVersion() == null) {
             result.setResultcode(2);
             result.setMessage("版本不能为空");
@@ -526,10 +529,10 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
             return result;
         }
         //endregion
-
+        System.out.println("进入扫码解析9");
         //解码逻辑
         QrcodeImageVo qiv = objectMapper.readValue(codeVo.getQrCode(), QrcodeImageVo.class);
-
+        System.out.println("进入扫码解析10");
         SmartUser user = smartUserService.getSmartById(qiv.getId());
         if (user == null) {
             result.setResultcode(2);
@@ -538,24 +541,28 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
             return result;
         }
 
+        System.out.println("进入扫码解析11");
         //目前二维码一分钟内有效
         //过期:(时间戳 + 有效期分钟数)<= 当前时间
         //时间戳转时间
-        Date dateNow = TimeExchange.StringToDate(TimeExchange.TimeRangeI10(qiv.getTimestamp(), 1), "yyyy-MM-dd HH:mm:ss");
-        if (dateNow.compareTo(new Date()) < 0) {
+        Date dateNow = TimeExchange.StringToDate(TimeExchange.TimeRangeMinute(qiv.getTimestamp(), 1), "yyyy-MM-dd HH:mm:ss");
+        System.out.println("dateNow参数:"+ TimeExchange.DateToString(dateNow));
+        System.out.println("当前时间参数:"+ TimeExchange.DateToString(new Date()));
+        if (new Date().after(dateNow)) {
+            System.out.println("身份码过期");
             result.setResultcode(2);
             result.setMessage("身份码已过期");
             result.setActionName("qrCodePush");
             return result;
         }
-
+        System.out.println("进入扫码解析12");
         //成功后将刷码记录存储到数据表中
         SmartQrcode sq = new SmartQrcode();
         sq.setUserId(0);
         sq.setSourceCode(data.getData());
         sq.setIsSuccess(1);
 
-
+        System.out.println("进入扫码解析13");
         int insertResult = smartQrcodeService.insertSmartQrcode(sq);
         if (insertResult <= 0) {
             result.setResultcode(2);
@@ -563,10 +570,12 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
             result.setActionName("qrCodePush");
             return result;
         }
-
+        System.out.println("进入扫码解析14");
         result.setResultcode(1);
         result.setMessage("成功");
         result.setActionName("qrCodePush");
+
+        System.out.println("进入扫码解析,结果:"+ JSON.toJSON(result));
         return result;
     }
 

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