Browse Source

Merge branch 'watch.1.0.0' of http://git.wdklian.com/allen/ncs_android_frame into watch.1.0.0

allen 4 years ago
parent
commit
f262cbcac8
41 changed files with 664 additions and 57 deletions
  1. BIN
      .gradle/4.4/fileChanges/last-build.bin
  2. BIN
      .gradle/4.4/fileContent/fileContent.lock
  3. BIN
      .gradle/4.4/fileHashes/fileHashes.bin
  4. BIN
      .gradle/4.4/fileHashes/fileHashes.lock
  5. BIN
      .gradle/4.4/fileHashes/resourceHashesCache.bin
  6. BIN
      .gradle/4.4/javaCompile/classAnalysis.bin
  7. BIN
      .gradle/4.4/javaCompile/jarAnalysis.bin
  8. BIN
      .gradle/4.4/javaCompile/javaCompile.lock
  9. BIN
      .gradle/4.4/javaCompile/taskHistory.bin
  10. BIN
      .gradle/4.4/javaCompile/taskJars.bin
  11. BIN
      .gradle/4.4/taskHistory/taskHistory.bin
  12. BIN
      .gradle/4.4/taskHistory/taskHistory.lock
  13. BIN
      .gradle/buildOutputCleanup/buildOutputCleanup.lock
  14. 2 2
      .gradle/buildOutputCleanup/cache.properties
  15. BIN
      .gradle/buildOutputCleanup/outputFiles.bin
  16. 0 3
      .idea/.gitignore
  17. BIN
      .idea/caches/build_file_checksums.ser
  18. 116 0
      .idea/codeStyles/Project.xml
  19. 0 6
      .idea/compiler.xml
  20. 2 4
      .idea/gradle.xml
  21. 1 1
      .idea/misc.xml
  22. 2 12
      .idea/modules.xml
  23. 12 0
      .idea/runConfigurations.xml
  24. 1 1
      app/release/output.json
  25. 19 0
      common/src/main/code/com/wdkl/ncs/android/lib/core/framework/JavaShopInstrumentationHook.java
  26. 1 1
      gradle/wrapper/gradle-wrapper.properties
  27. 10 11
      home/build.gradle
  28. 1 1
      home/src/main/AndroidManifest.xml
  29. 219 0
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/EventActivity.kt
  30. 7 2
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchHomeActivity.kt
  31. 0 2
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchRegisterActivity.kt
  32. 2 0
      home/src/main/code/com/wdkl/ncs/android/component/home/di/HomeComponent.kt
  33. 69 9
      home/src/main/code/com/wdkl/ncs/android/component/home/util/NetHelper.java
  34. BIN
      home/src/main/res/drawable-hdpi/wei_chu_li_bg.png
  35. BIN
      home/src/main/res/drawable-hdpi/yi_chu_li_bg.png
  36. BIN
      home/src/main/res/drawable-hdpi/yu_yin_wei_chu_li.png
  37. BIN
      home/src/main/res/drawable-mdpi/wei_chu_li_bg.png
  38. BIN
      home/src/main/res/drawable-mdpi/yi_chu_li_bg.png
  39. BIN
      home/src/main/res/drawable-mdpi/yu_yin_wei_chu_li.png
  40. 160 0
      home/src/main/res/layout/watch_activity_event.xml
  41. 40 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/vo/InteractionVO.java

BIN
.gradle/4.4/fileChanges/last-build.bin


BIN
.gradle/4.4/fileContent/fileContent.lock


BIN
.gradle/4.4/fileHashes/fileHashes.bin


BIN
.gradle/4.4/fileHashes/fileHashes.lock


BIN
.gradle/4.4/fileHashes/resourceHashesCache.bin


BIN
.gradle/4.4/javaCompile/classAnalysis.bin


BIN
.gradle/4.4/javaCompile/jarAnalysis.bin


BIN
.gradle/4.4/javaCompile/javaCompile.lock


BIN
.gradle/4.4/javaCompile/taskHistory.bin


BIN
.gradle/4.4/javaCompile/taskJars.bin


BIN
.gradle/4.4/taskHistory/taskHistory.bin


BIN
.gradle/4.4/taskHistory/taskHistory.lock


BIN
.gradle/buildOutputCleanup/buildOutputCleanup.lock


+ 2 - 2
.gradle/buildOutputCleanup/cache.properties

@@ -1,2 +1,2 @@
-#Fri Mar 12 15:34:54 CST 2021
-gradle.version=4.10.1
+#Wed Apr 07 15:04:31 CST 2021
+gradle.version=4.4

BIN
.gradle/buildOutputCleanup/outputFiles.bin


+ 0 - 3
.idea/.gitignore

@@ -1,3 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml

BIN
.idea/caches/build_file_checksums.ser


+ 116 - 0
.idea/codeStyles/Project.xml

@@ -0,0 +1,116 @@
+<component name="ProjectCodeStyleConfiguration">
+  <code_scheme name="Project" version="173">
+    <codeStyleSettings language="XML">
+      <indentOptions>
+        <option name="CONTINUATION_INDENT_SIZE" value="4" />
+      </indentOptions>
+      <arrangement>
+        <rules>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>xmlns:android</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>xmlns:.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>BY_NAME</order>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*:id</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*:name</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>name</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>style</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>BY_NAME</order>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>ANDROID_ATTRIBUTE_ORDER</order>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>.*</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>BY_NAME</order>
+            </rule>
+          </section>
+        </rules>
+      </arrangement>
+    </codeStyleSettings>
+  </code_scheme>
+</component>

+ 0 - 6
.idea/compiler.xml

@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="CompilerConfiguration">
-    <bytecodeTargetLevel target="1.8" />
-  </component>
-</project>

+ 2 - 4
.idea/gradle.xml

@@ -1,10 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
 <project version="4">
-  <component name="GradleMigrationSettings" migrationVersion="1" />
   <component name="GradleSettings">
   <component name="GradleSettings">
     <option name="linkedExternalProjectsSettings">
     <option name="linkedExternalProjectsSettings">
       <GradleProjectSettings>
       <GradleProjectSettings>
-        <option name="testRunner" value="PLATFORM" />
         <option name="distributionType" value="DEFAULT_WRAPPED" />
         <option name="distributionType" value="DEFAULT_WRAPPED" />
         <option name="externalProjectPath" value="$PROJECT_DIR$" />
         <option name="externalProjectPath" value="$PROJECT_DIR$" />
         <option name="modules">
         <option name="modules">
@@ -19,12 +17,12 @@
             <option value="$PROJECT_DIR$/resource" />
             <option value="$PROJECT_DIR$/resource" />
             <option value="$PROJECT_DIR$/setting" />
             <option value="$PROJECT_DIR$/setting" />
             <option value="$PROJECT_DIR$/shop" />
             <option value="$PROJECT_DIR$/shop" />
+            <option value="$PROJECT_DIR$/starRTC" />
             <option value="$PROJECT_DIR$/welcome" />
             <option value="$PROJECT_DIR$/welcome" />
           </set>
           </set>
         </option>
         </option>
-        <option name="resolveExternalAnnotations" value="false" />
         <option name="resolveModulePerSourceSet" value="false" />
         <option name="resolveModulePerSourceSet" value="false" />
-        <option name="useQualifiedModuleNames" value="true" />
+        <option name="testRunner" value="PLATFORM" />
       </GradleProjectSettings>
       </GradleProjectSettings>
     </option>
     </option>
   </component>
   </component>

+ 1 - 1
.idea/misc.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
 <project version="4">
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/build/classes" />
     <output url="file://$PROJECT_DIR$/build/classes" />
   </component>
   </component>
   <component name="ProjectType">
   <component name="ProjectType">

+ 2 - 12
.idea/modules.xml

@@ -8,21 +8,11 @@
       <module fileurl="file://$PROJECT_DIR$/hello/hello.iml" filepath="$PROJECT_DIR$/hello/hello.iml" />
       <module fileurl="file://$PROJECT_DIR$/hello/hello.iml" filepath="$PROJECT_DIR$/hello/hello.iml" />
       <module fileurl="file://$PROJECT_DIR$/home/home.iml" filepath="$PROJECT_DIR$/home/home.iml" />
       <module fileurl="file://$PROJECT_DIR$/home/home.iml" filepath="$PROJECT_DIR$/home/home.iml" />
       <module fileurl="file://$PROJECT_DIR$/middleware/middleware.iml" filepath="$PROJECT_DIR$/middleware/middleware.iml" />
       <module fileurl="file://$PROJECT_DIR$/middleware/middleware.iml" filepath="$PROJECT_DIR$/middleware/middleware.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/ncs-frame.iml" filepath="$PROJECT_DIR$/.idea/ncs-frame.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/modules/ncs_android_frame.iml" filepath="$PROJECT_DIR$/.idea/modules/ncs_android_frame.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/modules/app/ncs_android_frame.app.iml" filepath="$PROJECT_DIR$/.idea/modules/app/ncs_android_frame.app.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/modules/common/ncs_android_frame.common.iml" filepath="$PROJECT_DIR$/.idea/modules/common/ncs_android_frame.common.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/modules/extra/ncs_android_frame.extra.iml" filepath="$PROJECT_DIR$/.idea/modules/extra/ncs_android_frame.extra.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/modules/hello/ncs_android_frame.hello.iml" filepath="$PROJECT_DIR$/.idea/modules/hello/ncs_android_frame.hello.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/modules/home/ncs_android_frame.home.iml" filepath="$PROJECT_DIR$/.idea/modules/home/ncs_android_frame.home.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/modules/middleware/ncs_android_frame.middleware.iml" filepath="$PROJECT_DIR$/.idea/modules/middleware/ncs_android_frame.middleware.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/modules/resource/ncs_android_frame.resource.iml" filepath="$PROJECT_DIR$/.idea/modules/resource/ncs_android_frame.resource.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/modules/setting/ncs_android_frame.setting.iml" filepath="$PROJECT_DIR$/.idea/modules/setting/ncs_android_frame.setting.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/modules/shop/ncs_android_frame.shop.iml" filepath="$PROJECT_DIR$/.idea/modules/shop/ncs_android_frame.shop.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/modules/welcome/ncs_android_frame.welcome.iml" filepath="$PROJECT_DIR$/.idea/modules/welcome/ncs_android_frame.welcome.iml" />
+      <module fileurl="file://$PROJECT_DIR$/ncs_android_frame.iml" filepath="$PROJECT_DIR$/ncs_android_frame.iml" />
       <module fileurl="file://$PROJECT_DIR$/resource/resource.iml" filepath="$PROJECT_DIR$/resource/resource.iml" />
       <module fileurl="file://$PROJECT_DIR$/resource/resource.iml" filepath="$PROJECT_DIR$/resource/resource.iml" />
       <module fileurl="file://$PROJECT_DIR$/setting/setting.iml" filepath="$PROJECT_DIR$/setting/setting.iml" />
       <module fileurl="file://$PROJECT_DIR$/setting/setting.iml" filepath="$PROJECT_DIR$/setting/setting.iml" />
       <module fileurl="file://$PROJECT_DIR$/shop/shop.iml" filepath="$PROJECT_DIR$/shop/shop.iml" />
       <module fileurl="file://$PROJECT_DIR$/shop/shop.iml" filepath="$PROJECT_DIR$/shop/shop.iml" />
+      <module fileurl="file://$PROJECT_DIR$/starRTC/starRTC.iml" filepath="$PROJECT_DIR$/starRTC/starRTC.iml" />
       <module fileurl="file://$PROJECT_DIR$/welcome/welcome.iml" filepath="$PROJECT_DIR$/welcome/welcome.iml" />
       <module fileurl="file://$PROJECT_DIR$/welcome/welcome.iml" filepath="$PROJECT_DIR$/welcome/welcome.iml" />
     </modules>
     </modules>
   </component>
   </component>

+ 12 - 0
.idea/runConfigurations.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RunConfigurationProducerService">
+    <option name="ignoredProducers">
+      <set>
+        <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
+        <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
+        <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
+      </set>
+    </option>
+  </component>
+</project>

+ 1 - 1
app/release/output.json

@@ -1 +1 @@
-[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1},"path":"app-release.apk","properties":{"packageId":"com.enation.app.javashop","split":"","minSdkVersion":"17"}}]
+[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1},"path":"app-release.apk","properties":{"packageId":"com.wdkl.app.ncs.watch","split":"","minSdkVersion":"17"}}]

+ 19 - 0
common/src/main/code/com/wdkl/ncs/android/lib/core/framework/JavaShopInstrumentationHook.java

@@ -43,6 +43,25 @@ public class JavaShopInstrumentationHook extends Instrumentation {
     }
     }
 
 
     /**
     /**
+     * 兼容安卓8.0以上的会报错的问题
+     * @param cl
+     * @param className
+     * @param intent
+     * @return
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    public Activity newActivity(ClassLoader cl, String className,
+                                Intent intent)
+            throws InstantiationException, IllegalAccessException,
+            ClassNotFoundException {
+
+        return oldInstrumentation.newActivity(cl, className, intent);
+    }
+
+
+    /**
      * @author  LDD
      * @author  LDD
      * @From   com.wdkl.ncs.android.lib.core.framework
      * @From   com.wdkl.ncs.android.lib.core.framework
      * @Data   2017/12/26 上午8:42
      * @Data   2017/12/26 上午8:42

+ 1 - 1
gradle/wrapper/gradle-wrapper.properties

@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

+ 10 - 11
home/build.gradle

@@ -1,8 +1,7 @@
-
-if (componentTag){
+if (componentTag) {
     apply plugin: 'com.android.application'
     apply plugin: 'com.android.application'
     apply plugin: 'com.enation.javashop.aspectjrt'
     apply plugin: 'com.enation.javashop.aspectjrt'
-}else{
+} else {
     apply plugin: 'com.android.library'
     apply plugin: 'com.android.library'
 }
 }
 
 
@@ -22,7 +21,7 @@ android {
     buildToolsVersion build_tools_version
     buildToolsVersion build_tools_version
 
 
     defaultConfig {
     defaultConfig {
-        if (componentTag){
+        if (componentTag) {
             applicationId "com.wdkl.ncs.android.component.home"
             applicationId "com.wdkl.ncs.android.component.home"
             multiDexEnabled true
             multiDexEnabled true
         }
         }
@@ -37,7 +36,6 @@ android {
 
 
     }
     }
 
 
-  
 
 
     lintOptions {
     lintOptions {
         abortOnError false
         abortOnError false
@@ -50,9 +48,9 @@ android {
     }
     }
     sourceSets {
     sourceSets {
         main.java.srcDirs += 'src/main/code'
         main.java.srcDirs += 'src/main/code'
-        if(componentTag){
+        if (componentTag) {
             main.manifest.srcFile 'src/main/ApkBuildDir/AndroidManifest.xml'
             main.manifest.srcFile 'src/main/ApkBuildDir/AndroidManifest.xml'
-        }else{
+        } else {
             main.manifest.srcFile 'src/main/AndroidManifest.xml'
             main.manifest.srcFile 'src/main/AndroidManifest.xml'
             main.java {
             main.java {
                 exclude 'apkbuild/**'
                 exclude 'apkbuild/**'
@@ -62,6 +60,7 @@ android {
 }
 }
 
 
 dependencies {
 dependencies {
+    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile fileTree(dir: 'libs', include: ['*.jar'])
     androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
     androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
         exclude group: 'com.android.support', module: 'support-annotations'
         exclude group: 'com.android.support', module: 'support-annotations'
@@ -84,7 +83,7 @@ dependencies {
      */
      */
     compile project(':middleware')
     compile project(':middleware')
 
 
-    if(componentTag){
+    if (componentTag) {
         debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1'
         debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1'
         releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
         releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
         testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
         testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
@@ -108,7 +107,7 @@ dependencies {
     /**
     /**
      *  constraint-layout布局依赖
      *  constraint-layout布局依赖
      */
      */
-    compile 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
+    implementation 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
 
 
     compile project(':starRTC')
     compile project(':starRTC')
@@ -117,12 +116,12 @@ dependencies {
 /**
 /**
  * kawo组件化框架配置
  * kawo组件化框架配置
  */
  */
-if(componentTag){
+if (componentTag) {
     kawo {
     kawo {
         /**
         /**
          * Aop注解排除Jar
          * Aop注解排除Jar
          */
          */
-        aspectExcludeJarFilter 'com.enation.geamtear.pay','AlipaySdk'
+        aspectExcludeJarFilter 'com.enation.geamtear.pay', 'AlipaySdk'
     }
     }
 }
 }
 repositories {
 repositories {

+ 1 - 1
home/src/main/AndroidManifest.xml

@@ -14,7 +14,7 @@
         <activity android:name=".activity.WatchCallRecordsActivity" />
         <activity android:name=".activity.WatchCallRecordsActivity" />
         <activity android:name="com.wdkl.ncs.android.component.home.activity.RTCVoipAudioRingingActivity" />
         <activity android:name="com.wdkl.ncs.android.component.home.activity.RTCVoipAudioRingingActivity" />
         <activity android:name="com.wdkl.ncs.android.component.home.activity.RTCVoipAudioActivity" />
         <activity android:name="com.wdkl.ncs.android.component.home.activity.RTCVoipAudioActivity" />
-
+        <activity android:name=".activity.EventActivity" />
         <service android:name="com.starrtc.demo.demo.service.KeepLiveService">
         <service android:name="com.starrtc.demo.demo.service.KeepLiveService">
             <intent-filter>
             <intent-filter>
                 <action android:name="com.starrtc.demo.service.KeepLiveService" />
                 <action android:name="com.starrtc.demo.service.KeepLiveService" />

+ 219 - 0
home/src/main/code/com/wdkl/ncs/android/component/home/activity/EventActivity.kt

@@ -0,0 +1,219 @@
+package com.wdkl.ncs.android.component.home.activity
+
+import android.util.Log
+import android.view.View
+import com.enation.javashop.net.engine.model.NetState
+import com.google.gson.Gson
+import com.wdkl.ncs.android.component.home.R
+import com.wdkl.ncs.android.component.home.databinding.WatchActivityEventBinding
+import com.wdkl.ncs.android.component.home.databinding.WatchActivityHomeBinding
+import com.wdkl.ncs.android.component.home.launch.HomeLaunch
+import com.wdkl.ncs.android.component.nursehome.common.Constants
+import com.wdkl.ncs.android.component.nursehome.util.MediaPlayer
+import com.wdkl.ncs.android.component.nursehome.util.TimeTransition
+import com.wdkl.ncs.android.lib.base.BaseActivity
+import com.wdkl.ncs.android.lib.utils.showMessage
+import com.wdkl.ncs.android.middleware.logic.contract.home.WatchHomeActivityContract
+import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchHomeActivityPresenter
+import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
+import com.wdkl.ncs.android.middleware.tcp.TcpClient
+import com.wdkl.ncs.android.middleware.tcp.channel.EventUtil
+import com.wdkl.ncs.android.middleware.tcp.channel.ImUtil
+import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
+import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
+import kotlinx.android.synthetic.main.watch_activity_event.*
+
+class EventActivity : BaseActivity<WatchHomeActivityPresenter, WatchActivityEventBinding>(), WatchHomeActivityContract.View, View.OnClickListener {
+
+    var TAG = EventActivity::class.java.simpleName
+
+    var tcpModel = TcpModel()
+    var interactionVO: InteractionVO? = null
+
+
+    override fun getLayId(): Int {
+        return R.layout.watch_activity_event
+    }
+
+    override fun bindDagger() {
+        HomeLaunch.component.inject(this)
+    }
+
+    override fun init() {
+        tcpModel = intent.getSerializableExtra("TcpModel") as TcpModel
+        interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
+
+        //是否已播放 已响应
+//        if (interactionVO.actionEnd != null) {
+        Log.e(TAG, "" + (interactionVO!!.actionEnd) + " ")
+        Log.e(TAG, "" + interactionVO!!.actionType + " ")
+        Log.e(TAG, "" + interactionVO!!.data + " ")
+
+        Log.e(TAG, "" + interactionVO!!.actionType + " ")
+        Log.e(TAG, "" + TcpType.IM.name + " ")
+
+
+//            //判断是呼入还是呼出 1 分机到主机 2主机到分机
+//            if(interactionVO.actionDirectionType == 1){
+//                interactionVO.sickbedTv.text = itemData.fromFrameFullName
+//                interactionVO.nameTv.text = itemData.fromMemberName
+//                //TODO 图标显示不正常 暂时没放完整图标
+//                binding.callStatusImagev.setImageResource(R.drawable.hu_ru_yi_jie)
+//            }else if(interactionVO.actionDirectionType == 2 || itemData.actionDirectionType == 3){
+//                binding.sickbedTv.text = interactionVO.toFrameFullName
+//                binding.nameTv.text = interactionVO.toMemberName
+//                binding.callStatusImagev.setImageResource(R.drawable.hu_chu_yi_jie)
+//            }
+//
+//            if(itemData.actionType == TcpType.EVENT.name){//事件已经响应 相应的数据
+//                binding.playTv.visibility = View.GONE
+//                binding.projectTv.visibility = View.VISIBLE
+//                binding.conductorNameTv.visibility = View.VISIBLE
+//                binding.projectTv.text = interactionVO.data
+//                binding.conductorNameTv.text = interactionVO.toMemberName
+//                binding.processingTimeTv.text = TimeTransition().stampToDate(interactionVO.actionEnd*1000)
+//                binding.projectTv.setBackgroundResource(R.drawable.sp_event_handled)
+//            }else if (interactionVO.actionType == TcpType.IM.name){//语音已播放
+//
+//                binding.projectTv.visibility = View.GONE
+//                binding.playTv.visibility = View.VISIBLE
+//                binding.conductorNameTv.visibility = View.GONE
+//                binding.playTv.setBackgroundResource(R.drawable.yi_bo_fang)
+//                binding.processingTimeTv.text = "已播放"
+//
+//            }else if(interactionVO.actionType == TcpType.VOICE.name){ //语音呼叫已接听
+//                binding.projectTv.visibility = View.GONE
+//                binding.playTv.visibility = View.VISIBLE
+//                binding.treatmentStateImagev.visibility = View.GONE
+//                binding.processingTimeTv.visibility = View.GONE
+//
+//            }else if(interactionVO.actionType == TcpType.VIDEO.name){ //视频呼叫已接听
+//
+//                binding.projectTv.visibility = View.GONE
+//                binding.playTv.visibility = View.VISIBLE
+//                binding.treatmentStateImagev.visibility = View.GONE
+//                binding.processingTimeTv.visibility = View.GONE
+//            }
+//
+//        } else {
+//            Log.e(TAG, "" + interactionVO.actionEnd+" ")
+//            Log.e(TAG, "" + interactionVO.actionType+" ")
+//            Log.e(TAG, "" + interactionVO.data+" ")
+//            Log.e(TAG, "" + interactionVO.actionDirectionType+" ")
+//            //判断是呼入还是呼出 1 分机到主机 2主机到分机
+//            if(interactionVO.actionDirectionType == 1){
+//                Log.e(TAG, "进入。。。。" )
+//                binding.sickbedTv.text = interactionVO.fromFrameFullName
+//                binding.nameTv.text = interactionVO.fromMemberName
+//                // 图标显示不正常 暂时没放完整图标
+//                binding.callStatusImagev.setImageResource(R.drawable.hu_ru_wei_jie)
+//            }else if(interactionVO.actionDirectionType == 2 || interactionVO.actionDirectionType == 3){
+//                binding.sickbedTv.text = interactionVO.toFrameFullName
+//                binding.nameTv.text = interactionVO.toMemberName
+//                binding.callStatusImagev.setImageResource(R.drawable.hu_chu_wei_jie)
+//            }
+//
+//            binding.treatmentStateImagev.setImageResource(R.drawable.wei_chu_li)
+////                binding.callStatusImagev.setImageResource(R.drawable.wei_jie)
+//            binding.conductorNameTv.visibility = View.GONE
+//            binding.treatmentStateImagev.visibility = View.VISIBLE
+//            binding.processingTimeTv.visibility = View.VISIBLE
+//            if(itemData.actionType == TcpType.EVENT.name){//事件未处理
+//                binding.playTv.visibility = View.GONE
+//                binding.projectTv.visibility = View.VISIBLE
+//                binding.projectTv.text = interactionVO.data
+//                binding.projectTv.setBackgroundResource(R.drawable.sp_event_unhandled_bg)
+//                binding.processingTimeTv.text = "未处理"
+//            }else if (interactionVO.actionType == TcpType.IM.name){//语音未播放
+//                binding.projectTv.visibility = View.GONE
+//                binding.playTv.visibility = View.VISIBLE
+//                binding.playTv.setBackgroundResource(R.drawable.bo_fang)
+//                binding.processingTimeTv.text = "未播放"
+//            }else if(interactionVO.actionType == TcpType.VOICE.name){ //语音呼叫未接听
+//                binding.projectTv.visibility = View.GONE
+//                binding.playTv.visibility = View.GONE
+//                binding.treatmentStateImagev.visibility = View.GONE
+//                binding.processingTimeTv.visibility = View.GONE
+//            }else if(interactionVO.actionType == TcpType.VIDEO.name){ //视频呼叫未接听
+//                binding.projectTv.visibility = View.GONE
+//                binding.playTv.visibility = View.GONE
+//                binding.treatmentStateImagev.visibility = View.GONE
+//                binding.processingTimeTv.visibility = View.GONE
+//
+//            }
+//    }
+        if (interactionVO!!.createDate != null) {
+            call_time_tv.text = TimeTransition().stampToDate(interactionVO!!.createDate * 1000)
+        }
+        sickbed_tv.text = interactionVO!!.fromFrameFullName
+        name_tv.text = interactionVO!!.fromMemberName
+
+        if (interactionVO!!.actionType == TcpType.EVENT.name) {
+            project_tv.visibility = View.VISIBLE
+            play_tv.visibility = View.GONE
+            processing_time_tv.text = "未处理"
+            event_state_tv.text = "未处理"
+        } else if (interactionVO!!.actionType == TcpType.IM.name) {
+            play_tv.visibility = View.VISIBLE
+            project_tv.visibility = View.GONE
+            processing_time_tv.text = "未播放"
+            event_state_tv.text = "未播放"
+
+        }
+
+        event_button_relyout.setOnClickListener(this)
+
+
+    }
+
+    override fun bindEvent() {
+
+    }
+
+    override fun destory() {
+
+    }
+
+    override fun render() {
+
+    }
+
+    override fun onError(message: String, type: Int) {
+    }
+
+    override fun complete(message: String, type: Int) {
+    }
+
+    override fun start() {
+    }
+
+    override fun networkMonitor(state: NetState) {
+    }
+
+    override fun onClick(p0: View?) {
+        if (interactionVO!!.actionType == TcpType.EVENT.name) {
+            if (!Constants.ids.equals("")) {
+                var eventTcpModel = EventUtil.eventResponse(Constants.ids.toInt(), interactionVO!!.fromDeviceId, interactionVO!!.id)
+                TcpClient.getInstance().sendMsg(eventTcpModel.toJson())
+            } else {
+                showMessage("获取不到当给前设备id")
+            }
+
+        } else if (interactionVO!!.actionType == TcpType.IM.name) {
+            if (!Constants.ids.equals("")) {
+                var imUtilTcpModel = ImUtil.imRead(Constants.ids.toInt(), interactionVO!!.fromDeviceId, interactionVO!!.id)
+                TcpClient.getInstance().sendMsg(imUtilTcpModel.toJson())
+                var mediaPlayer = MediaPlayer()
+                mediaPlayer.startMediaPlayer(Constants.eth_ip + interactionVO!!.data)
+                mediaPlayer.setVolume(0.3f)
+
+            } else {
+                showMessage("获取不到当给前设备id")
+            }
+
+        }
+
+    }
+
+
+}

+ 7 - 2
home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchHomeActivity.kt

@@ -16,8 +16,10 @@ import com.wdkl.ncs.android.lib.utils.push
 import com.wdkl.ncs.android.lib.utils.showMessage
 import com.wdkl.ncs.android.lib.utils.showMessage
 import com.wdkl.ncs.android.middleware.logic.contract.home.WatchHomeActivityContract
 import com.wdkl.ncs.android.middleware.logic.contract.home.WatchHomeActivityContract
 import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchHomeActivityPresenter
 import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchHomeActivityPresenter
-import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
+
 import com.wdkl.ncs.android.middleware.tcp.TcpClient
 import com.wdkl.ncs.android.middleware.tcp.TcpClient
+
+import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
 import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
 import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
@@ -46,9 +48,12 @@ class WatchHomeActivity : BaseActivity<WatchHomeActivityPresenter, WatchActivity
 
 
         Thread ( Runnable {
         Thread ( Runnable {
             run {
             run {
-                TcpClient.getInstance().init("192.168.1.138",5080,10)
+                TcpClient.getInstance().init("192.168.1.138", 5080, 9)
+//                TcpClient.getInstance().init("47.106.200.55", 5080, 9)
             }
             }
         }).start()
         }).start()
+
+
     }
     }
 
 
     override fun bindEvent() {
     override fun bindEvent() {

+ 0 - 2
home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchRegisterActivity.kt

@@ -45,8 +45,6 @@ class WatchRegisterActivity: BaseActivity<WatchDevicePresenter, WatchActivityReg
         Log.e(TAG,"mac "+Constants.mac)
         Log.e(TAG,"mac "+Constants.mac)
         presenter.loadData(Constants.mac)
         presenter.loadData(Constants.mac)
 
 
-
-
     }
     }
 
 
     override fun bindEvent() {
     override fun bindEvent() {

+ 2 - 0
home/src/main/code/com/wdkl/ncs/android/component/home/di/HomeComponent.kt

@@ -30,4 +30,6 @@ interface HomeComponent {
 
 
     fun inject(activity: WatchRegisterActivity)
     fun inject(activity: WatchRegisterActivity)
 
 
+    fun inject(activity: EventActivity)
+
 }
 }

+ 69 - 9
home/src/main/code/com/wdkl/ncs/android/component/home/util/NetHelper.java

@@ -5,6 +5,7 @@ import android.content.Context;
 import android.net.ConnectivityManager;
 import android.net.ConnectivityManager;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
 import android.net.wifi.WifiManager;
+import android.os.Build;
 import android.text.TextUtils;
 import android.text.TextUtils;
 
 
 import com.wdkl.ncs.android.lib.base.BaseApplication;
 import com.wdkl.ncs.android.lib.base.BaseApplication;
@@ -313,21 +314,80 @@ public class NetHelper {
      * @return String
      * @return String
      */
      */
     public String getMacAddress() {
     public String getMacAddress() {
-        String mac = "";
-        try {
-            mac = getLocalMacAddressFromIp();
-            if (TextUtils.isEmpty(mac)) {
-                mac = getNetworkMac();
+        if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.O){//小于安卓8 走这里
+            String mac = "";
+            try {
+                mac = getLocalMacAddressFromIp();
+                if (TextUtils.isEmpty(mac)) {
+                    mac = getNetworkMac();
+                }
+                if (TextUtils.isEmpty(mac)) {
+                    mac = tryGetWifiMac();
+                }
+            } catch (Exception e) {
             }
             }
-            if (TextUtils.isEmpty(mac)) {
-                mac = tryGetWifiMac();
+            return mac;
+        }else {//大于安卓8走这里
+            List<NetworkInterface> interfaces = null;
+            try {
+                interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
+                for (NetworkInterface networkInterface : interfaces) {
+                    if (networkInterface != null && TextUtils.isEmpty(networkInterface.getName()) == false) {
+                        if ("wlan0".equalsIgnoreCase(networkInterface.getName())) {
+                            byte[] macBytes = networkInterface.getHardwareAddress();
+                            if (macBytes != null && macBytes.length > 0) {
+                                StringBuilder str = new StringBuilder();
+                                for (byte b : macBytes) {
+                                    str.append(String.format("%02X:", b));
+                                }
+                                if (str.length() > 0) {
+                                    str.deleteCharAt(str.length() - 1);
+                                }
+                                return str.toString();
+                            }
+                        }
+                    }
+                }
+            } catch (SocketException e) {
+                e.printStackTrace();
             }
             }
-        } catch (Exception e) {
+            return "unknown";
+
+        }
+    }
+
+    /**
+     * 兼容安卓5-10 获取Mac地址
+     * @return
+     */
+    public String getMacAddress2() {
+        List<NetworkInterface> interfaces = null;
+        try {
+            interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
+            for (NetworkInterface networkInterface : interfaces) {
+                if (networkInterface != null && TextUtils.isEmpty(networkInterface.getName()) == false) {
+                    if ("wlan0".equalsIgnoreCase(networkInterface.getName())) {
+                        byte[] macBytes = networkInterface.getHardwareAddress();
+                        if (macBytes != null && macBytes.length > 0) {
+                            StringBuilder str = new StringBuilder();
+                            for (byte b : macBytes) {
+                                str.append(String.format("%02X:", b));
+                            }
+                            if (str.length() > 0) {
+                                str.deleteCharAt(str.length() - 1);
+                            }
+                            return str.toString();
+                        }
+                    }
+                }
+            }
+        } catch (SocketException e) {
             e.printStackTrace();
             e.printStackTrace();
         }
         }
-        return mac;
+        return "unknown";
     }
     }
 
 
+
     /**
     /**
      * 通过WiFiManager获取mac地址
      * 通过WiFiManager获取mac地址
      * 这个方法Android 7.0是获取不到的,返回的是null,其实是返回“02:00:00:00:00:00”
      * 这个方法Android 7.0是获取不到的,返回的是null,其实是返回“02:00:00:00:00:00”

BIN
home/src/main/res/drawable-hdpi/wei_chu_li_bg.png


BIN
home/src/main/res/drawable-hdpi/yi_chu_li_bg.png


BIN
home/src/main/res/drawable-hdpi/yu_yin_wei_chu_li.png


BIN
home/src/main/res/drawable-mdpi/wei_chu_li_bg.png


BIN
home/src/main/res/drawable-mdpi/yi_chu_li_bg.png


BIN
home/src/main/res/drawable-mdpi/yu_yin_wei_chu_li.png


+ 160 - 0
home/src/main/res/layout/watch_activity_event.xml

@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout>
+
+    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="#FBE5E8">
+
+        <LinearLayout
+            android:id="@+id/tab_linyout"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerVertical="true"
+            android:layout_marginLeft="9px"
+            android:orientation="vertical">
+
+            <ImageView
+                android:id="@+id/tab_imagev"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:src="@drawable/bao_ma_tou_xiang" />
+
+            <ImageView
+                android:id="@+id/call_status_imagev"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="2px"
+                android:visibility="gone" />
+        </LinearLayout>
+
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginTop="4px"
+            android:layout_marginRight="9px"
+            android:layout_toRightOf="@+id/tab_linyout">
+
+            <RelativeLayout
+                android:id="@+id/room_name_linlyout"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="6px">
+
+                <TextView
+                    android:id="@+id/sickbed_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="05房01床"
+                    android:textSize="14px" />
+
+                <TextView
+                    android:id="@+id/call_time_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_alignParentRight="true"
+                    android:text="12:00:00"
+                    android:textSize="12px" />
+
+            </RelativeLayout>
+
+            <RelativeLayout
+                android:id="@+id/nursing_project_relalyout"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_below="@+id/room_name_linlyout"
+                android:layout_marginLeft="6px"
+                android:layout_marginTop="4px"
+                android:orientation="vertical">
+
+                <TextView
+                    android:id="@+id/name_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="zhangx"
+                    android:textSize="14px" />
+
+                <LinearLayout
+                    android:id="@+id/incident_linlyou"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_alignParentRight="true"
+                    android:orientation="horizontal">
+
+                    <ImageView
+                        android:id="@+id/treatment_state_imagev"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center"
+                        android:layout_marginRight="6px"
+                        android:src="@drawable/yi_chu_li"
+                        android:visibility="gone" />
+
+
+                    <TextView
+                        android:id="@+id/project_tv"
+                        android:layout_width="59px"
+                        android:layout_height="20px"
+                        android:background="@drawable/sp_event_handled"
+                        android:gravity="center"
+                        android:text="啊哈哈"
+                        android:textSize="12px" />
+
+                    <ImageView
+                        android:id="@+id/play_tv"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:background="@drawable/wei_bo_fang"
+                        android:gravity="center"
+                        android:visibility="gone" />
+
+                </LinearLayout>
+            </RelativeLayout>
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_below="@+id/nursing_project_relalyout"
+                android:layout_alignParentRight="true"
+                android:layout_marginTop="4px"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:id="@+id/conductor_name_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginRight="10px"
+                    android:text="处理人"
+                    android:textSize="12px"
+                    android:visibility="gone" />
+
+                <TextView
+                    android:id="@+id/processing_time_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="12:00:00"
+                    android:textSize="12px" />
+            </LinearLayout>
+        </RelativeLayout>
+
+        <RelativeLayout
+            android:id="@+id/event_button_relyout"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentBottom="true"
+            android:layout_centerHorizontal="true"
+            android:background="@drawable/wei_chu_li_bg">
+
+            <TextView
+                android:id="@+id/event_state_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerInParent="true"
+                android:text="未处理"
+                android:textSize="8sp" />
+
+
+        </RelativeLayout>
+
+    </RelativeLayout>
+</layout>

+ 40 - 2
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/vo/InteractionVO.java

@@ -72,6 +72,10 @@ public class InteractionVO extends InteractionDO {
     @ApiModelProperty(value = "发起端设备的SIP账号", required = false)
     @ApiModelProperty(value = "发起端设备的SIP账号", required = false)
     private String fromSipId;
     private String fromSipId;
 
 
+    @Column(name = "from_device_type")
+    @ApiModelProperty(value = "发起端设备的设备类型", required = false)
+    private Integer fromDeviceType;
+
 
 
     @Column(name = "to_eth_mac")
     @Column(name = "to_eth_mac")
     @ApiModelProperty(value = "目的端设备的有线以太网卡MAC地址", required = false)
     @ApiModelProperty(value = "目的端设备的有线以太网卡MAC地址", required = false)
@@ -86,6 +90,10 @@ public class InteractionVO extends InteractionDO {
     @ApiModelProperty(value = "目的端设备的SIP账号", required = false)
     @ApiModelProperty(value = "目的端设备的SIP账号", required = false)
     private String toSipId;
     private String toSipId;
 
 
+    @Column(name = "to_device_type")
+    @ApiModelProperty(value = "目的端设备的设备类型", required = false)
+    private Integer toDeviceType;
+
     /** 空间结构 **/
     /** 空间结构 **/
 
 
     @Column(name = "from_frame_type")
     @Column(name = "from_frame_type")
@@ -116,15 +124,18 @@ public class InteractionVO extends InteractionDO {
     private String toFrameFullName;
     private String toFrameFullName;
 
 
 
 
-
     @Column(name = "relative_id")
     @Column(name = "relative_id")
     @ApiModelProperty(value = "亲属id,外部来电时,from_member亲属的memberId", required = false)
     @ApiModelProperty(value = "亲属id,外部来电时,from_member亲属的memberId", required = false)
     private Integer relativeId;
     private Integer relativeId;
 
 
     @Column(name = "relative_name")
     @Column(name = "relative_name")
-    @ApiModelProperty(value = "外部来电时,from_member亲属名字", required = false)
+    @ApiModelProperty(value = "外部来电时,from_member亲属关系", required = false)
     private String relativeName;
     private String relativeName;
 
 
+    @Column(name = "outerior_action_name")
+    @ApiModelProperty(value = "外部来电时,from_member亲属名字", required = false)
+    private String outeriorActionName;
+
 
 
     public Integer getFromCustomerId() {
     public Integer getFromCustomerId() {
         return fromCustomerId;
         return fromCustomerId;
@@ -318,6 +329,30 @@ public class InteractionVO extends InteractionDO {
         this.relativeName = relativeName;
         this.relativeName = relativeName;
     }
     }
 
 
+    public String getOuteriorActionName() {
+        return outeriorActionName;
+    }
+
+    public void setOuteriorActionName(String outeriorActionName) {
+        this.outeriorActionName = outeriorActionName;
+    }
+
+    public Integer getFromDeviceType() {
+        return fromDeviceType;
+    }
+
+    public void setFromDeviceType(Integer fromDeviceType) {
+        this.fromDeviceType = fromDeviceType;
+    }
+
+    public Integer getToDeviceType() {
+        return toDeviceType;
+    }
+
+    public void setToDeviceType(Integer toDeviceType) {
+        this.toDeviceType = toDeviceType;
+    }
+
     @Override
     @Override
     public String toString() {
     public String toString() {
         return "InteractionVO{" +
         return "InteractionVO{" +
@@ -334,9 +369,11 @@ public class InteractionVO extends InteractionDO {
                 ", fromEthMac='" + fromEthMac + '\'' +
                 ", fromEthMac='" + fromEthMac + '\'' +
                 ", fromEthIp='" + fromEthIp + '\'' +
                 ", fromEthIp='" + fromEthIp + '\'' +
                 ", fromSipId='" + fromSipId + '\'' +
                 ", fromSipId='" + fromSipId + '\'' +
+                ", fromDeviceType='" + fromDeviceType + '\'' +
                 ", toEthMac='" + toEthMac + '\'' +
                 ", toEthMac='" + toEthMac + '\'' +
                 ", toEthIp='" + toEthIp + '\'' +
                 ", toEthIp='" + toEthIp + '\'' +
                 ", toSipId='" + toSipId + '\'' +
                 ", toSipId='" + toSipId + '\'' +
+                ", toDeviceType='" + toDeviceType + '\'' +
                 ", fromFrameType=" + fromFrameType +
                 ", fromFrameType=" + fromFrameType +
                 ", fromFrameName='" + fromFrameName + '\'' +
                 ", fromFrameName='" + fromFrameName + '\'' +
                 ", fromFrameFullName='" + fromFrameFullName + '\'' +
                 ", fromFrameFullName='" + fromFrameFullName + '\'' +
@@ -345,6 +382,7 @@ public class InteractionVO extends InteractionDO {
                 ", toFrameFullName='" + toFrameFullName + '\'' +
                 ", toFrameFullName='" + toFrameFullName + '\'' +
                 ", relativeId=" + relativeId +
                 ", relativeId=" + relativeId +
                 ", relativeName='" + relativeName + '\'' +
                 ", relativeName='" + relativeName + '\'' +
+                ", outeriorActionName='" + outeriorActionName + '\'' +
                 '}';
                 '}';
     }
     }
 }
 }