Ver código fonte

从oms获取手机号

lhm 3 anos atrás
pai
commit
6c23cd674d

+ 2 - 1
app/src/main/java/com/emato/ich/MainActivity.java

@@ -86,6 +86,7 @@ public class MainActivity extends AppCompatActivity  {
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+//        ((CrashApplication) getApplication()).addActivity(MainActivity.this);
         binding = ActivityMainBinding.inflate(getLayoutInflater());
         // 强制关闭输入法
         getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
@@ -294,7 +295,7 @@ public class MainActivity extends AppCompatActivity  {
         cabinet.setAndroidVersion(androidVersion);
         cabinet.setSoftwareType("android");
         cabinet.setImei(BaseUtils.getIMEI(getApplicationContext()));
-        cabinet.setMacIpv4("111");
+        cabinet.setMacIpv4(BaseUtils.getIp());
         cabinet.setMacIpv6("unknown");
         cabinet.setNetType("111");
         cabinet.setPlatType("S905");

+ 4 - 0
app/src/main/java/com/emato/ich/api/ICSPApi.java

@@ -30,6 +30,10 @@ public enum  ICSPApi {
      * 获取配置
      */
     GET_SYSTEM_CONFIG(ICSPConstant.ICSP_SERVICE + "/config/cabinet/get", "POST"),
+    /**
+     * 获取用户手机号
+     */
+    GET_USER_PHONE_NUMBER(ICSPConstant.ICSP_SERVICE + "?", "POST")
     ;
 
 

+ 24 - 0
app/src/main/java/com/emato/ich/api/ICSPClient.java

@@ -185,6 +185,30 @@ public class ICSPClient {
 
     }
 
+    /**
+     * 根据运单号获取用户手机号
+     * @param token         凭证
+     * @param clientId      客户端id
+     * @param mailNo        运单号
+     * @param callback      回调
+     */
+    public static void getUserPhoneNumber(String token, String clientId, String mailNo, Callback callback) {
+
+        MediaType mediaType = MediaType.parse(MEDIA_TYPE_JSON);
+        RequestBody requestBody = null;
+
+        try {
+            requestBody = RequestBody.create("{\"mailNo\": \"" + mailNo + "\"}", mediaType);
+        } catch (RuntimeException e) {
+            Log.e(TAG, "getUserPhoneNumber: 获取用户手机号异常! ", e);
+        }
+
+        Request request = postRequest(ICSPApi.GET_USER_PHONE_NUMBER.getUrl(), requestBody, token);
+
+        client.newCall(request).enqueue(callback);
+
+    }
+
 
     public static String isSuccessfulAndParseResponse(Response response) {
 

+ 1 - 1
app/src/main/java/com/emato/ich/api/ICSPResponseCodeEnum.java

@@ -11,7 +11,7 @@ public enum ICSPResponseCodeEnum {
 
     OK("0", ""),
     SYSTEM_ERROR("50000", "系统异常"),
-    FILED_VALID_FAILED("50001", "参数校验失败"),
+    FILED_VALID_FAILED("50001", "请输入正确的信息"),
     DELIVERER_AUTH("50003", "需要登录快递员操作才能操作"),
     CABINET_NOT_FOUND("50004", "机柜信息不存在"),
     DELIVERER_NOT_FOUND("50005", "投递员信息不存在"),

+ 5 - 0
app/src/main/java/com/emato/ich/crash/CrashApplication.java

@@ -46,4 +46,9 @@ public class CrashApplication extends Application {
         android.os.Process.killProcess(android.os.Process.myPid());
     }
 
+    @Override
+    public void onLowMemory() {
+        super.onLowMemory();
+        System.gc();
+    }
 }

+ 4 - 2
app/src/main/java/com/emato/ich/crash/UncaughtExceptionHandlerImpl.java

@@ -13,6 +13,8 @@ import android.os.Looper;
 import android.util.Log;
 import android.widget.Toast;
 
+import com.emato.ich.MainActivity;
+
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.PrintWriter;
@@ -85,8 +87,8 @@ public class UncaughtExceptionHandlerImpl implements Thread.UncaughtExceptionHan
                 mAlarmManager.set(AlarmManager.RTC, System.currentTimeMillis() + this.mRestartTime, restartIntent);
             }
 
-            android.os.Process.killProcess(android.os.Process.myPid());
-//            ((CrashApplication)this.mContext.getApplicationContext()).removeAllActivity();
+//            android.os.Process.killProcess(android.os.Process.myPid());
+            ((CrashApplication)this.mContext.getApplicationContext()).removeAllActivity();
         }
 
     }

+ 35 - 0
app/src/main/java/com/emato/ich/fragment/InputInfoFragment.java

@@ -81,6 +81,41 @@ public class InputInfoFragment extends Fragment {
                 // 扫码成功回调
                 Log.d(TAG, "onScanSuccess: " + s);
                 binding.mailNo.setText(s);
+
+                // TODO 预定义,实际参数可能不一致 oms获取用户手机号 自动填充
+                /*ICSPClient.getUserPhoneNumber(LocalStorage.getInstance().getSession().getToken(), BaseUtils.getClientId(), s, new Callback() {
+                    @Override
+                    public void onFailure(@NotNull Call call, @NotNull IOException e) {
+                        // 请求失败
+                        Snackbar.make(view, "服务器异常! 请手动输入! ", Snackbar.LENGTH_LONG).show();
+                    }
+
+                    @Override
+                    public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+
+                        getActivity().runOnUiThread(() -> {
+                            String parseResponse = ICSPClient.isSuccessfulAndParseResponse(response);
+                            try {
+                                ResponseData<PreparedOrderResponseVo> responseData = new ObjectMapper().readValue(parseResponse, new TypeReference<ResponseData<PreparedOrderResponseVo>>() {
+                                });
+
+                                PreparedOrderResponseVo data = responseData.getData();
+                                if (null != responseData && ICSPResponseCodeEnum.OK.getCode().equals(responseData.getCode())) {
+                                    String collectorPhone = data.getCollectorPhone();
+                                    binding.delivererPhone.setText(collectorPhone);
+                                }
+
+                                ICSPResponseCodeEnum.responseHint(view, responseData);
+
+                            } catch (JsonProcessingException e) {
+                                Log.e(TAG, "onResponse: 服务器响应错误! 自动获取用户手机号失败! ", e);
+                            } catch (RuntimeException e) {
+                                Log.e(TAG, "onResponse: 获取用户手机号未知错误! ", e);
+                            }
+                        });
+
+                    }
+                });*/
             });
 
         } catch (RuntimeException e) {

+ 4 - 0
app/src/main/java/com/emato/ich/utils/BaseUtils.java

@@ -265,6 +265,10 @@ public class BaseUtils {
 
     }
 
+    /**
+     * 禁用EditText弹出输入框
+     * @param editText  输入框
+     */
     public static void disableEditText(EditText editText) {
 
         if (Build.VERSION.SDK_INT <= 10) {