Jelajahi Sumber

Merge branch 'master' of lhm/ich-android into master

李慧明 3 tahun lalu
induk
melakukan
29e4c836fe

+ 17 - 0
app/build.gradle

@@ -6,6 +6,15 @@ android {
     compileSdkVersion 28
     buildToolsVersion "30.0.3"
 
+    signingConfigs {
+        release {
+            storeFile file(KEY_PATH)
+            storePassword KEY_PASS
+            keyAlias ALIAS_NAME
+            keyPassword ALIAS_PASS
+        }
+    }
+
     defaultConfig {
         applicationId "com.emato.ich"
         minSdkVersion 28
@@ -20,6 +29,14 @@ android {
         release {
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+            buildConfigField "String", "EMQX_HOST", "\"tcp://8.135.102.238:1883\""
+            buildConfigField "String", "ICSP_HOST", "\"http://icsp-api.ds-bay.com\""
+        }
+        debug {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+            buildConfigField "String", "EMQX_HOST", "\"tcp://183.3.221.143:1883\""
+            buildConfigField "String", "ICSP_HOST", "\"http://icsp-testend.ds-bay.com\""
         }
     }
     compileOptions {

+ 5 - 4
app/src/main/java/com/emato/ich/MainActivity.java

@@ -6,6 +6,7 @@ import com.cherry.sdk.controller.utils.ScanGunKeyEventHelper;
 import com.emato.ich.api.ICSPApi;
 import com.emato.ich.api.ICSPClient;
 import com.emato.ich.api.ICSPResponseCodeEnum;
+import com.emato.ich.contant.OpenLockerResponseEnum;
 import com.emato.ich.contant.SystemConfigConstant;
 import com.emato.ich.crash.CrashApplication;
 import com.emato.ich.device.DeviceControl;
@@ -220,7 +221,7 @@ public class MainActivity extends AppCompatActivity  {
                 MqttMessage mqttMessage;
                 if (var1 != 0) {
                     try {
-                        mqttMessage = wrapMessage(message, objectMapper);
+                        mqttMessage = wrapMessage(String.valueOf(var1), message, objectMapper);
                         ichPublishClient.publish(String.format(ICHTopic.CALLBACK_FAILED, BaseUtils.getClientId()), mqttMessage);
                         Log.i(TAG, "openLocker: ==================>发送开锁失败消息成功! 锁板id: " + message.getSection() + ", 端口: " + message.getPort());
                     } catch (JsonProcessingException e) {
@@ -253,7 +254,7 @@ public class MainActivity extends AppCompatActivity  {
 //                    } while(atomicBoolean.get());
                     try {
                         Log.i(TAG, "onCreate: =====================>开锁成功! 锁板id: " + message.getSection() + ", 端口: " + message.getPort());
-                        mqttMessage = wrapMessage(message, objectMapper);
+                        mqttMessage = wrapMessage(String.valueOf(var1), message, objectMapper);
 //                        if (atomicInteger.get() <= 0) {
 //                            message.setCause("长时间未关闭柜门!");
 //                            mqttMessage.setPayload(objectMapper.writeValueAsBytes(message));
@@ -351,11 +352,11 @@ public class MainActivity extends AppCompatActivity  {
                 || super.onSupportNavigateUp();
     }
 
-    private MqttMessage wrapMessage(Message message, ObjectMapper objectMapper) throws JsonProcessingException {
+    private MqttMessage wrapMessage(String code, Message message, ObjectMapper objectMapper) throws JsonProcessingException {
         MqttMessage mqttMessage = new MqttMessage();
         Message failedMsg = new Message();
         // TODO 失败原因枚举
-        failedMsg.setCause("失败原因枚举");
+        failedMsg.setCause(OpenLockerResponseEnum.getResponseInfo(code));
         failedMsg.setMessageId(message.getMessageId());
         failedMsg.setClientId(message.getClientId());
         failedMsg.setCmd(message.getCmd());

+ 6 - 2
app/src/main/java/com/emato/ich/contant/ICSPConstant.java

@@ -1,5 +1,7 @@
 package com.emato.ich.contant;
 
+import com.emato.ich.BuildConfig;
+
 /**
  * ICSP-SERVER  EMQ-X  地址
  */
@@ -7,8 +9,10 @@ public class ICSPConstant {
 
 //    public static final String ICSP_SERVICE = "http://icsp-api.ds-bay.com";
 //    public static final String ICSP_SERVICE = "http://68rfyvi.nat.ipyingshe.com";
-    public static final String ICSP_SERVICE = "http://icsp-testend.ds-bay.com";         // 测试+开发
+//    public static final String ICSP_SERVICE = "http://icsp-testend.ds-bay.com";         // 测试+开发
+    public static final String ICSP_SERVICE = BuildConfig.ICSP_HOST;
 
 //    public static final String MQTT_SERVER_ADDRESS = "tcp://8.135.102.238:1883";
-    public static final String MQTT_SERVER_ADDRESS = "tcp://183.3.221.143:1883";
+//    public static final String MQTT_SERVER_ADDRESS = "tcp://183.3.221.143:1883";
+    public static final String MQTT_SERVER_ADDRESS = BuildConfig.EMQX_HOST;
 }

+ 43 - 0
app/src/main/java/com/emato/ich/contant/OpenLockerResponseEnum.java

@@ -0,0 +1,43 @@
+package com.emato.ich.contant;
+
+public enum OpenLockerResponseEnum {
+
+    SUCCESS("0", "操作成功"),
+    FAILED("1", "操作失败"),
+    TIMEOUT("1701", "串口通讯超时"),
+    OCCUPY("1702", "串口占用"),
+    SEND_DATA_ERROR("1703", "串口发送数据错误"),
+    DATA_VALIDATE_FAILED("1704", "串口数据校验失败"),
+    LOCK_STATUS_ERROR("1705", "开门时返回锁状态错误"),
+    NO_SUPPORTED_OPERATION("1801", "不支持该操作")
+    ;
+
+    private String code;
+
+    private String cause;
+
+    OpenLockerResponseEnum(String code, String cause) {
+        this.code = code;
+        this.cause = cause;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public String getCause() {
+        return cause;
+    }
+
+
+    public static String getResponseInfo(String code){
+        String cause = "开锁未知异常";
+        for (OpenLockerResponseEnum value : OpenLockerResponseEnum.values()) {
+            if (code.equals(value.getCode())) {
+                cause = value.getCause();
+                break;
+            }
+        }
+        return cause;
+    }
+}

+ 7 - 1
gradle.properties

@@ -14,4 +14,10 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
 # AndroidX package structure to make it clearer which packages are bundled with the
 # Android operating system, and which are packaged with your app"s APK
 # https://developer.android.com/topic/libraries/support-library/androidx-rn
-android.useAndroidX=true
+android.useAndroidX=true
+
+# signature
+KEY_PATH = H:/lhm/tools/ich-sign/ematou_key.jks
+KEY_PASS = ematoupsd
+ALIAS_NAME = ematou
+ALIAS_PASS = ematoupsd