瀏覽代碼

发送视频

liu 3 年之前
父節點
當前提交
738c39ea54
共有 41 個文件被更改,包括 254 次插入164 次删除
  1. 13 0
      .idea/libraries/Maven__com_auth0_java_jwt_3_10_0.xml
  2. 4 4
      .idea/libraries/Maven__io_jsonwebtoken_jjwt_api_0_10_7.xml
  3. 0 13
      .idea/libraries/Maven__io_jsonwebtoken_jjwt_impl_0_10_7.xml
  4. 0 13
      .idea/libraries/Maven__io_jsonwebtoken_jjwt_jackson_0_10_7.xml
  5. 4 4
      .idea/libraries/Maven__org_assertj_assertj_core_3_16_1.xml
  6. 46 24
      .idea/workspace.xml
  7. 6 19
      pom.xml
  8. 4 5
      share_video.iml
  9. 3 0
      src/main/java/com/video/api/VideoControllerAPI.java
  10. 5 8
      src/main/java/com/video/controller/LogInfoController.java
  11. 16 0
      src/main/java/com/video/controller/VideoController.java
  12. 21 7
      src/main/java/com/video/core/JwtAuthenticationInterceptor.java
  13. 1 1
      src/main/java/com/video/handler/MyMetaObjectHandler.java
  14. 7 0
      src/main/java/com/video/model/pojo/Video.java
  15. 1 3
      src/main/java/com/video/model/vo/LoginVO.java
  16. 3 0
      src/main/java/com/video/services/VideoService.java
  17. 20 5
      src/main/java/com/video/services/impl/SmsCodeServiceImpl.java
  18. 16 5
      src/main/java/com/video/services/impl/SystemUserServiceImpl.java
  19. 13 0
      src/main/java/com/video/services/impl/VideoServiceImpl.java
  20. 3 1
      src/main/java/common/result/ResponseStatusEnum.java
  21. 68 52
      src/main/java/common/utils/JWTUtil.java
  22. 二進制
      target/classes/com/video/MybatisPlusApplication.class
  23. 二進制
      target/classes/com/video/api/LogInfoControllerAPI.class
  24. 二進制
      target/classes/com/video/api/PlaybackRecordControllerAPI.class
  25. 二進制
      target/classes/com/video/api/SmsCodeControllerAPI.class
  26. 二進制
      target/classes/com/video/api/VideoControllerAPI.class
  27. 二進制
      target/classes/com/video/controller/LogInfoController.class
  28. 二進制
      target/classes/com/video/controller/PlaybackRecordController.class
  29. 二進制
      target/classes/com/video/controller/SmsCodeController.class
  30. 二進制
      target/classes/com/video/controller/VideoController.class
  31. 二進制
      target/classes/com/video/core/JwtAuthenticationInterceptor.class
  32. 二進制
      target/classes/com/video/handler/MyMetaObjectHandler.class
  33. 二進制
      target/classes/com/video/model/pojo/Video.class
  34. 二進制
      target/classes/com/video/model/utils/CommonResult.class
  35. 二進制
      target/classes/com/video/services/SmsCodeService.class
  36. 二進制
      target/classes/com/video/services/VideoService.class
  37. 二進制
      target/classes/com/video/services/impl/SmsCodeServiceImpl.class
  38. 二進制
      target/classes/com/video/services/impl/SystemUserServiceImpl.class
  39. 二進制
      target/classes/com/video/services/impl/VideoServiceImpl.class
  40. 二進制
      target/classes/common/exception/EmsExceptionHandler.class
  41. 二進制
      target/classes/common/result/ResponseStatusEnum.class

+ 13 - 0
.idea/libraries/Maven__com_auth0_java_jwt_3_10_0.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: com.auth0:java-jwt:3.10.0">
+    <CLASSES>
+      <root url="jar://D:/soft/maven-repository/com/auth0/java-jwt/3.10.0/java-jwt-3.10.0.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/soft/maven-repository/com/auth0/java-jwt/3.10.0/java-jwt-3.10.0-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/soft/maven-repository/com/auth0/java-jwt/3.10.0/java-jwt-3.10.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 4 - 4
.idea/libraries/Maven__io_jsonwebtoken_jjwt_api_0_10_7.xml

@@ -1,13 +1,13 @@
 <component name="libraryTable">
 <component name="libraryTable">
-  <library name="Maven: io.jsonwebtoken:jjwt-api:0.10.7">
+  <library name="Maven: io.jsonwebtoken:jjwt:0.9.1">
     <CLASSES>
     <CLASSES>
-      <root url="jar://D:/soft/maven-repository/io/jsonwebtoken/jjwt-api/0.10.7/jjwt-api-0.10.7.jar!/" />
+      <root url="jar://D:/soft/maven-repository/io/jsonwebtoken/jjwt/0.9.1/jjwt-0.9.1.jar!/" />
     </CLASSES>
     </CLASSES>
     <JAVADOC>
     <JAVADOC>
-      <root url="jar://D:/soft/maven-repository/io/jsonwebtoken/jjwt-api/0.10.7/jjwt-api-0.10.7-javadoc.jar!/" />
+      <root url="jar://D:/soft/maven-repository/io/jsonwebtoken/jjwt/0.9.1/jjwt-0.9.1-javadoc.jar!/" />
     </JAVADOC>
     </JAVADOC>
     <SOURCES>
     <SOURCES>
-      <root url="jar://D:/soft/maven-repository/io/jsonwebtoken/jjwt-api/0.10.7/jjwt-api-0.10.7-sources.jar!/" />
+      <root url="jar://D:/soft/maven-repository/io/jsonwebtoken/jjwt/0.9.1/jjwt-0.9.1-sources.jar!/" />
     </SOURCES>
     </SOURCES>
   </library>
   </library>
 </component>
 </component>

+ 0 - 13
.idea/libraries/Maven__io_jsonwebtoken_jjwt_impl_0_10_7.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: io.jsonwebtoken:jjwt-impl:0.10.7">
-    <CLASSES>
-      <root url="jar://D:/soft/maven-repository/io/jsonwebtoken/jjwt-impl/0.10.7/jjwt-impl-0.10.7.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://D:/soft/maven-repository/io/jsonwebtoken/jjwt-impl/0.10.7/jjwt-impl-0.10.7-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://D:/soft/maven-repository/io/jsonwebtoken/jjwt-impl/0.10.7/jjwt-impl-0.10.7-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__io_jsonwebtoken_jjwt_jackson_0_10_7.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: io.jsonwebtoken:jjwt-jackson:0.10.7">
-    <CLASSES>
-      <root url="jar://D:/soft/maven-repository/io/jsonwebtoken/jjwt-jackson/0.10.7/jjwt-jackson-0.10.7.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://D:/soft/maven-repository/io/jsonwebtoken/jjwt-jackson/0.10.7/jjwt-jackson-0.10.7-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://D:/soft/maven-repository/io/jsonwebtoken/jjwt-jackson/0.10.7/jjwt-jackson-0.10.7-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 4 - 4
.idea/libraries/Maven__org_assertj_assertj_core_3_16_1.xml

@@ -1,13 +1,13 @@
 <component name="libraryTable">
 <component name="libraryTable">
-  <library name="Maven: org.assertj:assertj-core:3.16.1">
+  <library name="Maven: org.assertj:assertj-core:3.18.1">
     <CLASSES>
     <CLASSES>
-      <root url="jar://D:/soft/maven-repository/org/assertj/assertj-core/3.16.1/assertj-core-3.16.1.jar!/" />
+      <root url="jar://D:/soft/maven-repository/org/assertj/assertj-core/3.18.1/assertj-core-3.18.1.jar!/" />
     </CLASSES>
     </CLASSES>
     <JAVADOC>
     <JAVADOC>
-      <root url="jar://D:/soft/maven-repository/org/assertj/assertj-core/3.16.1/assertj-core-3.16.1-javadoc.jar!/" />
+      <root url="jar://D:/soft/maven-repository/org/assertj/assertj-core/3.18.1/assertj-core-3.18.1-javadoc.jar!/" />
     </JAVADOC>
     </JAVADOC>
     <SOURCES>
     <SOURCES>
-      <root url="jar://D:/soft/maven-repository/org/assertj/assertj-core/3.16.1/assertj-core-3.16.1-sources.jar!/" />
+      <root url="jar://D:/soft/maven-repository/org/assertj/assertj-core/3.18.1/assertj-core-3.18.1-sources.jar!/" />
     </SOURCES>
     </SOURCES>
   </library>
   </library>
 </component>
 </component>

+ 46 - 24
.idea/workspace.xml

@@ -4,29 +4,48 @@
     <option name="autoReloadType" value="ALL" />
     <option name="autoReloadType" value="ALL" />
   </component>
   </component>
   <component name="ChangeListManager">
   <component name="ChangeListManager">
-    <list default="true" id="3ff4794b-6964-480b-bcb6-ead103f7d762" name="Default Changelist" comment="xiu'g">
-      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__io_jsonwebtoken_jjwt_api_0_10_7.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__io_jsonwebtoken_jjwt_impl_0_10_7.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__io_jsonwebtoken_jjwt_jackson_0_10_7.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/video/model/vo/LoginVO.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/common/utils/CommonUtil.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/common/utils/JWTUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_assertj_assertj_core_3_18_1.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_assertj_assertj_core_3_16_1.xml" afterDir="false" />
+    <list default="true" id="3ff4794b-6964-480b-bcb6-ead103f7d762" name="Default Changelist" comment="登入">
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_auth0_java_jwt_3_10_0.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__io_jsonwebtoken_jjwt_api_0_10_7.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__io_jsonwebtoken_jjwt_0_9_1.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__io_jsonwebtoken_jjwt_impl_0_10_7.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__io_jsonwebtoken_jjwt_jackson_0_10_7.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_assertj_assertj_core_3_16_1.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_assertj_assertj_core_3_18_1.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/share_video.iml" beforeDir="false" afterPath="$PROJECT_DIR$/share_video.iml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/share_video.iml" beforeDir="false" afterPath="$PROJECT_DIR$/share_video.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/video/api/LogInfoControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/api/LogInfoControllerAPI.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/video/config/MyBatisPlusConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/config/MyBatisPlusConfig.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/video/api/VideoControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/api/VideoControllerAPI.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/video/controller/LogInfoController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/controller/LogInfoController.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/video/controller/LogInfoController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/controller/LogInfoController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/video/model/pojo/SmsCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/model/pojo/SmsCode.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/video/services/SmsCodeService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/services/SmsCodeService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/video/controller/VideoController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/controller/VideoController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/video/core/JwtAuthenticationInterceptor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/core/JwtAuthenticationInterceptor.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/video/handler/MyMetaObjectHandler.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/handler/MyMetaObjectHandler.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/video/model/pojo/Video.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/model/pojo/Video.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/video/model/vo/LoginVO.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/model/vo/LoginVO.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/video/services/VideoService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/services/VideoService.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/video/services/impl/SmsCodeServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/services/impl/SmsCodeServiceImpl.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/video/services/impl/SmsCodeServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/services/impl/SmsCodeServiceImpl.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/video/services/impl/SystemUserServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/services/impl/SystemUserServiceImpl.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/video/services/impl/SystemUserServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/services/impl/SystemUserServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/video/config/MyBatisPlusConfig.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/config/MyBatisPlusConfig.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/video/controller/SendController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/controller/SendController.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/video/model/pojo/SmsCode.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/model/pojo/SmsCode.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/video/services/impl/VideoServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/video/services/impl/VideoServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/common/result/ResponseStatusEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/common/result/ResponseStatusEnum.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/common/utils/JWTUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/common/utils/JWTUtil.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/MybatisPlusApplication.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/MybatisPlusApplication.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/api/LogInfoControllerAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/api/LogInfoControllerAPI.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/api/PlaybackRecordControllerAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/api/PlaybackRecordControllerAPI.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/api/SmsCodeControllerAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/api/SmsCodeControllerAPI.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/api/VideoControllerAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/api/VideoControllerAPI.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/controller/LogInfoController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/controller/LogInfoController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/controller/PlaybackRecordController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/controller/PlaybackRecordController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/controller/SmsCodeController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/controller/SmsCodeController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/controller/VideoController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/controller/VideoController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/core/JwtAuthenticationInterceptor.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/core/JwtAuthenticationInterceptor.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/handler/MyMetaObjectHandler.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/handler/MyMetaObjectHandler.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/model/pojo/Video.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/model/pojo/Video.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/model/utils/CommonResult.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/model/utils/CommonResult.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/services/SmsCodeService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/services/SmsCodeService.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/services/VideoService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/services/VideoService.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/services/impl/SmsCodeServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/services/impl/SmsCodeServiceImpl.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/video/services/impl/SystemUserServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/services/impl/SystemUserServiceImpl.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/video/services/impl/SystemUserServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/services/impl/SystemUserServiceImpl.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/common/utils/SendSms.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/common/utils/SendSms.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/video/services/impl/VideoServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/video/services/impl/VideoServiceImpl.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/common/exception/EmsExceptionHandler.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/common/exception/EmsExceptionHandler.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/common/result/ResponseStatusEnum.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/common/result/ResponseStatusEnum.class" afterDir="false" />
     </list>
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -481,7 +500,14 @@
       <option name="project" value="LOCAL" />
       <option name="project" value="LOCAL" />
       <updated>1681980845128</updated>
       <updated>1681980845128</updated>
     </task>
     </task>
-    <option name="localTasksCounter" value="4" />
+    <task id="LOCAL-00004" summary="登入">
+      <created>1682048276313</created>
+      <option name="number" value="00004" />
+      <option name="presentableId" value="LOCAL-00004" />
+      <option name="project" value="LOCAL" />
+      <updated>1682048276313</updated>
+    </task>
+    <option name="localTasksCounter" value="5" />
     <servers />
     <servers />
   </component>
   </component>
   <component name="TimeTrackingManager">
   <component name="TimeTrackingManager">
@@ -557,17 +583,13 @@
     <MESSAGE value="add:添加腾讯云短信发送服务" />
     <MESSAGE value="add:添加腾讯云短信发送服务" />
     <MESSAGE value="发送短信信息测试" />
     <MESSAGE value="发送短信信息测试" />
     <MESSAGE value="判断手机号是否存在" />
     <MESSAGE value="判断手机号是否存在" />
-    <option name="LAST_COMMIT_MESSAGE" value="判断手机号是否存在" />
+    <MESSAGE value="登入" />
+    <option name="LAST_COMMIT_MESSAGE" value="登入" />
   </component>
   </component>
   <component name="XDebuggerManager">
   <component name="XDebuggerManager">
     <breakpoint-manager>
     <breakpoint-manager>
       <breakpoints>
       <breakpoints>
         <line-breakpoint enabled="true" type="java-line">
         <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/video/controller/SystemMenuController.java</url>
-          <line>90</line>
-          <option name="timeStamp" value="13" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/video/controller/SendController.java</url>
           <url>file://$PROJECT_DIR$/src/main/java/com/video/controller/SendController.java</url>
           <line>23</line>
           <line>23</line>
           <option name="timeStamp" value="19" />
           <option name="timeStamp" value="19" />
@@ -575,7 +597,7 @@
         <line-breakpoint enabled="true" type="java-line">
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/video/services/impl/SystemUserServiceImpl.java</url>
           <url>file://$PROJECT_DIR$/src/main/java/com/video/services/impl/SystemUserServiceImpl.java</url>
           <line>42</line>
           <line>42</line>
-          <option name="timeStamp" value="27" />
+          <option name="timeStamp" value="40" />
         </line-breakpoint>
         </line-breakpoint>
       </breakpoints>
       </breakpoints>
     </breakpoint-manager>
     </breakpoint-manager>

+ 6 - 19
pom.xml

@@ -21,29 +21,16 @@
 
 
     <dependencies>
     <dependencies>
 
 
-        <!-- jwt -->
+        <!--引入JWT-->
         <dependency>
         <dependency>
-            <groupId>io.jsonwebtoken</groupId>
-            <artifactId>jjwt-api</artifactId>
-            <version>0.10.7</version>
-        </dependency>
-        <dependency>
-            <groupId>io.jsonwebtoken</groupId>
-            <artifactId>jjwt-impl</artifactId>
-            <version>0.10.7</version>
-            <scope>runtime</scope>
+            <groupId>com.auth0</groupId>
+            <artifactId>java-jwt</artifactId>
+            <version>3.10.0</version>
         </dependency>
         </dependency>
         <dependency>
         <dependency>
             <groupId>io.jsonwebtoken</groupId>
             <groupId>io.jsonwebtoken</groupId>
-            <artifactId>jjwt-jackson</artifactId>
-            <version>0.10.7</version>
-            <scope>runtime</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.assertj</groupId>
-            <artifactId>assertj-core</artifactId>
-            <version>3.16.1</version>
-            <scope>compile</scope>
+            <artifactId>jjwt</artifactId>
+            <version>0.9.1</version>
         </dependency>
         </dependency>
 
 
         <dependency>
         <dependency>

+ 4 - 5
share_video.iml

@@ -27,17 +27,15 @@
     </content>
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
     <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-api:0.10.7" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: io.jsonwebtoken:jjwt-impl:0.10.7" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: io.jsonwebtoken:jjwt-jackson:0.10.7" level="project" />
+    <orderEntry type="library" name="Maven: com.auth0:java-jwt:3.10.0" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.3" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.3" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.3" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.3" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.3" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.3" level="project" />
-    <orderEntry type="library" name="Maven: org.assertj:assertj-core:3.16.1" level="project" />
+    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.15" level="project" />
+    <orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt:0.9.1" level="project" />
     <orderEntry type="library" name="Maven: com.github.qcloudsms:qcloudsms:1.0.6" level="project" />
     <orderEntry type="library" name="Maven: com.github.qcloudsms:qcloudsms:1.0.6" level="project" />
     <orderEntry type="library" name="Maven: org.json:json:20170516" level="project" />
     <orderEntry type="library" name="Maven: org.json:json:20170516" level="project" />
     <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.13" level="project" />
     <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.13" level="project" />
-    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.15" level="project" />
     <orderEntry type="library" name="Maven: com.tencentcloudapi:tencentcloud-sdk-java:3.1.742" level="project" />
     <orderEntry type="library" name="Maven: com.tencentcloudapi:tencentcloud-sdk-java:3.1.742" level="project" />
     <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
     <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
     <orderEntry type="library" name="Maven: com.squareup.okio:okio:2.10.0" level="project" />
     <orderEntry type="library" name="Maven: com.squareup.okio:okio:2.10.0" level="project" />
@@ -101,6 +99,7 @@
     <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.18.1" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.7.0" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.7.0" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.0" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.0" level="project" />

+ 3 - 0
src/main/java/com/video/api/VideoControllerAPI.java

@@ -1,5 +1,6 @@
 package com.video.api;
 package com.video.api;
 
 
+import com.video.model.utils.CommonResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 
@@ -12,4 +13,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
 @RequestMapping("/api/video")
 @RequestMapping("/api/video")
 @Api(tags = {"VideoController"}, value = "测试接口")
 @Api(tags = {"VideoController"}, value = "测试接口")
 public interface VideoControllerAPI {
 public interface VideoControllerAPI {
+
+    CommonResult list();
 }
 }

+ 5 - 8
src/main/java/com/video/controller/LogInfoController.java

@@ -11,10 +11,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 
 @RestController
 @RestController
 @RequestMapping("/api/logInfo")
 @RequestMapping("/api/logInfo")
@@ -29,16 +26,16 @@ public class LogInfoController implements LogInfoControllerAPI {
 
 
     @Override
     @Override
     @PassToken
     @PassToken
-    @PostMapping("/verify")
-    @ApiOperation(value = "验证手机号phone",httpMethod = "post")
-    public CommonResult verifyPhone(@RequestBody String phone) {
+    @GetMapping("/verify")
+    @ApiOperation(value = "验证手机号phone",httpMethod = "GET")
+    public CommonResult verifyPhone(@RequestParam String phone) {
         return systemUserService.verifyPhone(phone);
         return systemUserService.verifyPhone(phone);
     }
     }
 
 
     @Override
     @Override
     @PassToken
     @PassToken
     @PostMapping("/logIn")
     @PostMapping("/logIn")
-    @ApiOperation(value = "短信验证",httpMethod = "post")
+    @ApiOperation(value = "短信验证",httpMethod = "POST")
     public CommonResult logInfo(String phone, String code) {
     public CommonResult logInfo(String phone, String code) {
         return smsCodeService.logIn(phone,code);
         return smsCodeService.logIn(phone,code);
     }
     }

+ 16 - 0
src/main/java/com/video/controller/VideoController.java

@@ -2,6 +2,13 @@ package com.video.controller;
 
 
 
 
 import com.video.api.VideoControllerAPI;
 import com.video.api.VideoControllerAPI;
+import com.video.model.utils.CommonResult;
+import com.video.services.VideoService;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
@@ -17,5 +24,14 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RestController
 public class VideoController implements VideoControllerAPI {
 public class VideoController implements VideoControllerAPI {
 
 
+    @Autowired
+    VideoService videoService;
+
+    @Override
+    @GetMapping("/video")
+    @ApiOperation(value = "查询视频",httpMethod = "GET")
+    public CommonResult list() {
+        return videoService.getVideo();
+    }
 }
 }
 
 

+ 21 - 7
src/main/java/com/video/core/JwtAuthenticationInterceptor.java

@@ -1,7 +1,14 @@
 package com.video.core;
 package com.video.core;
 
 
+import com.auth0.jwt.interfaces.Claim;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.video.annotation.PassToken;
 import com.video.annotation.PassToken;
+import common.exception.MyCustomException;
+import common.result.ResponseStatusEnum;
+import common.utils.JWTUtil;
+import io.jsonwebtoken.Claims;
 import org.springframework.boot.configurationprocessor.json.JSONObject;
 import org.springframework.boot.configurationprocessor.json.JSONObject;
+import org.springframework.util.StringUtils;
 import org.springframework.web.method.HandlerMethod;
 import org.springframework.web.method.HandlerMethod;
 import org.springframework.web.servlet.HandlerInterceptor;
 import org.springframework.web.servlet.HandlerInterceptor;
 import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.servlet.ModelAndView;
@@ -10,6 +17,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import java.io.PrintWriter;
 import java.io.PrintWriter;
 import java.lang.reflect.Method;
 import java.lang.reflect.Method;
+import java.util.Map;
 
 
 public class JwtAuthenticationInterceptor implements HandlerInterceptor {
 public class JwtAuthenticationInterceptor implements HandlerInterceptor {
 
 
@@ -37,13 +45,19 @@ public class JwtAuthenticationInterceptor implements HandlerInterceptor {
         //endregion
         //endregion
 
 
         //region 获取url传递的参数 Query string传递的参数
         //region 获取url传递的参数 Query string传递的参数
-        /**
-         * //获取url参数 getParameter方法里的参数名和定义的参数名一致
-         * String token = request.getParameter("token");
-         * if("asknocwencnjdhfhwinckalshdw".equals(token)){
-         *      return true;
-         * }
-         * */
+
+          //获取url参数 getParameter方法里的参数名和定义的参数名一致
+          String token = request.getHeader("token");
+        // 验证userToken
+        if (!StringUtils.hasText(token)) {
+            throw new MyCustomException(ResponseStatusEnum.SYSTEM_TOKEN_ERROR);
+        }
+
+        // 解析token
+        Map<String, Claim> stringClaimMap = JWTUtil.verifyToken(token);
+        if (ObjectUtils.isNotEmpty(stringClaimMap)) { // 登录
+            return true;
+        }
         //endregion
         //endregion
 
 
         //region 自定义返回响应的json格式
         //region 自定义返回响应的json格式

+ 1 - 1
src/main/java/com/video/handler/MyMetaObjectHandler.java

@@ -31,7 +31,7 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
     @Override
     @Override
     public void updateFill(MetaObject metaObject) {
     public void updateFill(MetaObject metaObject) {
         HttpServletRequest request = getHttpServletRequest();
         HttpServletRequest request = getHttpServletRequest();
-        String user_id = request.getHeader("user_id") == null ? "1" : request.getHeader("user_id");
+        Long user_id = 1L;
         log.info("start update fill.....");
         log.info("start update fill.....");
         this.setFieldValByName("updateTime",new Date(),metaObject);
         this.setFieldValByName("updateTime",new Date(),metaObject);
         this.setFieldValByName("updateUser",user_id,metaObject);
         this.setFieldValByName("updateUser",user_id,metaObject);

+ 7 - 0
src/main/java/com/video/model/pojo/Video.java

@@ -63,5 +63,12 @@ public class Video implements Serializable {
     @TableLogic
     @TableLogic
     private Long deleted;
     private Long deleted;
 
 
+    @ApiModelProperty(value = "视频封面图片路径")
+    private String pictureUrl;
 
 
+    @ApiModelProperty(value = "视频教程路径")
+    private String courseUrl;
+
+    @ApiModelProperty(value = "视频教程名称")
+    private String courseName;
 }
 }

+ 1 - 3
src/main/java/com/video/model/vo/LoginVO.java

@@ -9,7 +9,7 @@ import lombok.Data;
  * @Date: 2022-08-04 9:58
  * @Date: 2022-08-04 9:58
  * @Version: V1.0
  * @Version: V1.0
  **/
  **/
-@Builder
+
 @Data
 @Data
 public class LoginVO {
 public class LoginVO {
 
 
@@ -17,12 +17,10 @@ public class LoginVO {
      * 用户姓名
      * 用户姓名
      */
      */
     private String userName;
     private String userName;
-
     /**
     /**
      * 手机号码
      * 手机号码
      */
      */
     private String telPhone;
     private String telPhone;
-
     /**
     /**
      * 用户token
      * 用户token
      */
      */

+ 3 - 0
src/main/java/com/video/services/VideoService.java

@@ -2,6 +2,7 @@ package com.video.services;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.video.model.pojo.Video;
 import com.video.model.pojo.Video;
+import com.video.model.utils.CommonResult;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -13,4 +14,6 @@ import com.video.model.pojo.Video;
  */
  */
 public interface VideoService extends IService<Video> {
 public interface VideoService extends IService<Video> {
 
 
+    CommonResult getVideo();
+
 }
 }

+ 20 - 5
src/main/java/com/video/services/impl/SmsCodeServiceImpl.java

@@ -12,6 +12,8 @@ import com.video.services.SmsCodeService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.video.services.SystemUserService;
 import com.video.services.SystemUserService;
 import common.utils.JWTUtil;
 import common.utils.JWTUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
@@ -38,21 +40,34 @@ public class SmsCodeServiceImpl extends ServiceImpl<SmsCodeMapper, SmsCode> impl
         }
         }
         LambdaQueryWrapper<SmsCode> wrapper=new LambdaQueryWrapper<>();
         LambdaQueryWrapper<SmsCode> wrapper=new LambdaQueryWrapper<>();
         wrapper.eq(SmsCode::getPhoneNumber,phone);
         wrapper.eq(SmsCode::getPhoneNumber,phone);
-        wrapper.lt(SmsCode::getExpirationTime,new Date());
+        wrapper.ge(SmsCode::getExpirationTime,new Date());
         wrapper.eq(SmsCode::getIsVerify,"0");
         wrapper.eq(SmsCode::getIsVerify,"0");
         SmsCode one = this.getOne(wrapper);
         SmsCode one = this.getOne(wrapper);
+        if (ObjectUtils.isEmpty(one)) {
+            return CommonResult.fail("500","验证码已过期");
+        }
         String code1 = one.getCode();
         String code1 = one.getCode();
 //            验证
 //            验证
-        if (!code1.equals(code)) {
+        if (!(code1.equals(code))) {
             return CommonResult.fail("500","验证码错误");
             return CommonResult.fail("500","验证码错误");
         }
         }
+
         // 登录成功,生成token
         // 登录成功,生成token
         LambdaQueryWrapper<SystemUser> wrapper2=new LambdaQueryWrapper<>();
         LambdaQueryWrapper<SystemUser> wrapper2=new LambdaQueryWrapper<>();
         wrapper2.eq(SystemUser::getPhoneNumber,phone);
         wrapper2.eq(SystemUser::getPhoneNumber,phone);
         SystemUser one1 = systemUserService.getOne(wrapper2);
         SystemUser one1 = systemUserService.getOne(wrapper2);
-        String token = JWTUtil.geneJsonWebToken(one1);
-        LoginVO.LoginVOBuilder loginVOBuilder = LoginVO.builder().token(token).tokenTtl(JWTUtil.getExpired()).userName(one1.getAccountName()).telPhone(phone);
+        String token = JWTUtil.getToken(one1);
+        LoginVO loginVO =new LoginVO();
+       loginVO.setToken(token);
+         loginVO.setTokenTtl(JWTUtil.expiresDate().getTime());
+         loginVO.setUserName(one1.getAccountName());
+              loginVO.setTelPhone(phone);
 
 
-        return CommonResult.ok(loginVOBuilder);
+//        将未验证更改为已验证
+//        SmsCode smsCode = new SmsCode();
+//        BeanUtils.copyProperties(one,smsCode);
+//        smsCode.setIsVerify("1");
+//        this.updateById(smsCode);
+        return CommonResult.ok(loginVO);
     }
     }
 }
 }

+ 16 - 5
src/main/java/com/video/services/impl/SystemUserServiceImpl.java

@@ -1,5 +1,6 @@
 package com.video.services.impl;
 package com.video.services.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.tencentcloudapi.sms.v20210111.models.SendStatus;
 import com.tencentcloudapi.sms.v20210111.models.SendStatus;
@@ -39,27 +40,37 @@ public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemU
         if (ObjectUtils.isEmpty(phone) || 11 != phone.length()) {
         if (ObjectUtils.isEmpty(phone) || 11 != phone.length()) {
             return CommonResult.resultValue(ResponseStatusEnum.SEND_PARAMS);
             return CommonResult.resultValue(ResponseStatusEnum.SEND_PARAMS);
         }
         }
-
         LambdaQueryWrapper<SystemUser> wrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<SystemUser> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(SystemUser::getPhoneNumber, phone);
         wrapper.eq(SystemUser::getPhoneNumber, phone);
         SystemUser one = this.getOne(wrapper);
         SystemUser one = this.getOne(wrapper);
         if (ObjectUtils.isEmpty(one)) {
         if (ObjectUtils.isEmpty(one)) {
             return CommonResult.resultValue(ResponseStatusEnum.SYSTEM_PHONE_ERROR);
             return CommonResult.resultValue(ResponseStatusEnum.SYSTEM_PHONE_ERROR);
         }
         }
+
+        LambdaQueryWrapper<SmsCode> wrappers=new LambdaQueryWrapper<>();
+        wrappers.eq(SmsCode::getPhoneNumber,phone);
+        wrappers.ge(SmsCode::getExpirationTime,new Date());
+        wrappers.eq(SmsCode::getIsVerify,"0");
+        int count = smsCodeService.count(wrappers);
+        if (count>0) {
+            return CommonResult.fail("500","请不要频繁操作");
+        }
         //         随机验证码
         //         随机验证码
         int vode= ValidateCode.generateValidateCode(6);
         int vode= ValidateCode.generateValidateCode(6);
         String code=String.valueOf(vode);
         String code=String.valueOf(vode);
-
+        SmsCode smsCode = new SmsCode();
+        smsCode.setPhoneNumber(phone);
         phone = "+86" + phone;
         phone = "+86" + phone;
 //        发送短信
 //        发送短信
         SendStatus[] ret = SendSms.sendSms(phone,code);
         SendStatus[] ret = SendSms.sendSms(phone,code);
 //        获取code
 //        获取code
-//        String code1 = ret[0].getCode();
+        String code1 = ret[0].getCode();
 //        判断短信是否发送成功
 //        判断短信是否发送成功
+        if ("LimitExceeded.PhoneNumberDailyLimit".equals(code1)) {
+            return CommonResult.fail("500","手机号已超过发送上限");
+        }
 
 
 //            发送成功后存储到短信表
 //            发送成功后存储到短信表
-            SmsCode smsCode = new SmsCode();
-            smsCode.setPhoneNumber(phone);
             smsCode.setCode(code);
             smsCode.setCode(code);
             long time = new Date().getTime() + 60000L;
             long time = new Date().getTime() + 60000L;
             smsCode.setExpirationTime(new Date(time));
             smsCode.setExpirationTime(new Date(time));

+ 13 - 0
src/main/java/com/video/services/impl/VideoServiceImpl.java

@@ -1,11 +1,16 @@
 package com.video.services.impl;
 package com.video.services.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.video.mapper.VideoMapper;
 import com.video.mapper.VideoMapper;
 import com.video.model.pojo.Video;
 import com.video.model.pojo.Video;
+import com.video.model.utils.CommonResult;
 import com.video.services.VideoService;
 import com.video.services.VideoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  *  服务实现类
  *  服务实现类
@@ -17,4 +22,12 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class VideoServiceImpl extends ServiceImpl<VideoMapper, Video> implements VideoService {
 public class VideoServiceImpl extends ServiceImpl<VideoMapper, Video> implements VideoService {
 
 
+    @Override
+    public CommonResult getVideo() {
+        Wrapper<Video> wrapper=new LambdaQueryWrapper<>();
+        List<Video> list = this.list(wrapper);
+
+        return CommonResult.ok(list);
+
+    }
 }
 }

+ 3 - 1
src/main/java/common/result/ResponseStatusEnum.java

@@ -32,7 +32,9 @@ public enum ResponseStatusEnum implements Code{
     SYSTEM_MYSQL_TIMEOUT_ERROR(554, false, "Mysql连接超时"),
     SYSTEM_MYSQL_TIMEOUT_ERROR(554, false, "Mysql连接超时"),
     SYSTEM_MONGO_TIMEOUT_ERROR(555, false, "Mongo连接超时"),
     SYSTEM_MONGO_TIMEOUT_ERROR(555, false, "Mongo连接超时"),
     SYSTEM_PHONE_ERROR(556,false,"手机号格式错误"),
     SYSTEM_PHONE_ERROR(556,false,"手机号格式错误"),
-    SYSTEM_SEND_PHONE_ERROR(557,false,"发送验证码失败");
+    SYSTEM_SEND_PHONE_ERROR(557,false,"发送验证码失败"),
+    SYSTEM_TOKEN_ERROR(558,false,"token为空"),
+    SYSTEM_LOGIN_ERROR(559,false,"无效token");
 
 
     // 响应业务状态
     // 响应业务状态
     private Integer status;
     private Integer status;

+ 68 - 52
src/main/java/common/utils/JWTUtil.java

@@ -1,13 +1,21 @@
 package common.utils;
 package common.utils;
 
 
 
 
+import com.auth0.jwt.JWT;
+import com.auth0.jwt.JWTVerifier;
+import com.auth0.jwt.algorithms.Algorithm;
+import com.auth0.jwt.interfaces.Claim;
+import com.auth0.jwt.interfaces.DecodedJWT;
 import com.video.model.pojo.SystemUser;
 import com.video.model.pojo.SystemUser;
 import io.jsonwebtoken.Claims;
 import io.jsonwebtoken.Claims;
 import io.jsonwebtoken.Jwts;
 import io.jsonwebtoken.Jwts;
 import io.jsonwebtoken.SignatureAlgorithm;
 import io.jsonwebtoken.SignatureAlgorithm;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 
 
+import java.util.Calendar;
 import java.util.Date;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 
 /**
 /**
  * jwt 工具
  * jwt 工具
@@ -15,78 +23,86 @@ import java.util.Date;
 @Slf4j
 @Slf4j
 public class JWTUtil {
 public class JWTUtil {
 
 
-    /**
-     * 主题
-     */
-    private static final String SUBJECT = "chuanghai-ihotel";
+    private static String SIGNATURE = "token!@#$%^7890";
 
 
     /**
     /**
-     * 加密密钥
+     * 生成token 有过期时间
+     * @return 返回token
      */
      */
-    private static final String SECRET = "chuanghai.ihotel";
+    public static String getToken(SystemUser user){
 
 
-    /**
-     * 令牌前缀
-     */
-    private static final String TOKEN_PREFIX = "ihotel";
+        // 签发时间
+        Date iatDate = new Date();
 
 
+//        // 过期时间
+//        Calendar nowTime = Calendar.getInstance();
+//        nowTime.add(Calendar.DAY_OF_WEEK, 3);
+//        Date expiresDate = nowTime.getTime();
 
 
-    /**
-     * token过期时间,7天
-     */
-    private static final long EXPIRED = 1000 * 60 * 60 * 24 * 7;
+        Map<String, Object> map = new HashMap<>();
+        map.put("alg", "HMAC256");
+        map.put("typ", "JWT");
+        String token = JWT.create()
+                .withHeader(map) // header
+                .withClaim("phone", user.getPhoneNumber()) // payload
+                .withClaim("roleId", user.getRoleId())
+                .withExpiresAt(expiresDate()) // 设置过期时间。过期时间要大于签发时间
+                .withIssuedAt(iatDate) // 设置签发时间
+                .sign(Algorithm.HMAC256(SIGNATURE)); // 加密
 
 
-    /**
-     * 获取过期时间
-     * @return
-     */
-    public static long getExpired() {
-        return EXPIRED;
+        return token;
+
+//
+//        JWTCreator.Builder builder = JWT.create();
+//        map.forEach((k,v)->{
+//            builder.withClaim(k,v);
+//        });
+//        Calendar instance = Calendar.getInstance();
+//        instance.add(Calendar.SECOND,7);
+//        builder.withExpiresAt(instance.getTime());
+//        return builder.sign(Algorithm.HMAC256(SIGNATURE)).toString();
     }
     }
 
 
+
+
+
     /**
     /**
-     * 生成token
-     *
-     * @param loginUser
-     * @return
+     * 验证token
+     * @param token
      */
      */
-    public static String geneJsonWebToken(SystemUser loginUser) {
-        if (loginUser == null) {
-            throw new NullPointerException("对象为空");
-        }
-
-        String adminIdStr = "";
-        if (loginUser.getId() != null) {
-            adminIdStr = loginUser.getId().toString();
-        }
-        String token = Jwts.builder().setSubject(SUBJECT)
-                //配置payload
-                .claim("phone", loginUser.getPhoneNumber())
-                .claim("role_id", loginUser.getRoleId())
-                .claim("admin_id", adminIdStr)
-                .setIssuedAt(new Date())
-                .setExpiration(new Date(CommonUtil.getCurrentTimestamp() + EXPIRED))
-                .signWith(SignatureAlgorithm.HS256, SECRET).compact();
-
-        token = TOKEN_PREFIX + token;
-        return token;
+    public static void verify(String token){
+        JWT.require(Algorithm.HMAC256(SIGNATURE)).build().verify(token);
     }
     }
 
 
     /**
     /**
-     * 解密jwt
+     * 获取token中payload
      * @param token
      * @param token
      * @return
      * @return
      */
      */
-    public static Claims checkJWT(String token) {
+    public static DecodedJWT getToken(String token){
+        return JWT.require(Algorithm.HMAC256(SIGNATURE)).build().verify(token);
+    }
+
+    public static Date expiresDate(){
+        // 过期时间
+        Calendar nowTime = Calendar.getInstance();
+        nowTime.add(Calendar.DAY_OF_WEEK, 3);
+        Date expiresDate = nowTime.getTime();
+        return expiresDate;
+    }
+
+    /*
+     * 解密Token
+     * */
+    public static Map<String, Claim> verifyToken(String token)  {
+        JWTVerifier verifier = JWT.require(Algorithm.HMAC256(SIGNATURE)).build();
+        DecodedJWT jwt = null;
         try {
         try {
-            final Claims claims = Jwts.parser().setSigningKey(SECRET).parseClaimsJws(token.replace(TOKEN_PREFIX, "")).getBody();
-            return claims;
+            jwt = verifier.verify(token);
         } catch (Exception e) {
         } catch (Exception e) {
-            return null;
+            throw new RuntimeException("登录凭证已过去,请重新登录");
         }
         }
-    }
 
 
-    public static void main(String[] args) {
-//        System.out.println(geneJsonWebToken(LoginUserDTO.builder().adminId(1L).cardNumber("123456").identityType("1").build()));
+        return jwt.getClaims();
     }
     }
 }
 }

二進制
target/classes/com/video/MybatisPlusApplication.class


二進制
target/classes/com/video/api/LogInfoControllerAPI.class


二進制
target/classes/com/video/api/PlaybackRecordControllerAPI.class


二進制
target/classes/com/video/api/SmsCodeControllerAPI.class


二進制
target/classes/com/video/api/VideoControllerAPI.class


二進制
target/classes/com/video/controller/LogInfoController.class


二進制
target/classes/com/video/controller/PlaybackRecordController.class


二進制
target/classes/com/video/controller/SmsCodeController.class


二進制
target/classes/com/video/controller/VideoController.class


二進制
target/classes/com/video/core/JwtAuthenticationInterceptor.class


二進制
target/classes/com/video/handler/MyMetaObjectHandler.class


二進制
target/classes/com/video/model/pojo/Video.class


二進制
target/classes/com/video/model/utils/CommonResult.class


二進制
target/classes/com/video/services/SmsCodeService.class


二進制
target/classes/com/video/services/VideoService.class


二進制
target/classes/com/video/services/impl/SmsCodeServiceImpl.class


二進制
target/classes/com/video/services/impl/SystemUserServiceImpl.class


二進制
target/classes/com/video/services/impl/VideoServiceImpl.class


二進制
target/classes/common/exception/EmsExceptionHandler.class


二進制
target/classes/common/result/ResponseStatusEnum.class