Commit f3836898 by 罗翻

人脸识别增加错误码,主界面增加获取用户信息接口

parent 242a5793
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout
android:id="@+id/liveness_layout_rootRel" android:id="@+id/liveness_layout_rootRel"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
......
...@@ -78,5 +78,11 @@ public interface MainContract { ...@@ -78,5 +78,11 @@ public interface MainContract {
*/ */
public abstract void dumpReceActivity(); public abstract void dumpReceActivity();
/**
* 获取用户信息.
* @param accountId
*/
public abstract void getUserInfo(int accountId);
} }
} }
...@@ -7,6 +7,7 @@ import com.dayu.bigfish.api.ApiFactory; ...@@ -7,6 +7,7 @@ import com.dayu.bigfish.api.ApiFactory;
import com.dayu.common.Constants; import com.dayu.common.Constants;
import com.dayu.event.UserInfo; import com.dayu.event.UserInfo;
import com.dayu.order.api.OrderApiFactory; import com.dayu.order.api.OrderApiFactory;
import com.dayu.usercenter.api.UserApiFactory;
import com.dayu.utils.AppUtils; import com.dayu.utils.AppUtils;
import com.dayu.utils.SPUtils; import com.dayu.utils.SPUtils;
import com.dayu.utils.UserManager; import com.dayu.utils.UserManager;
...@@ -43,6 +44,7 @@ public class MainPresenter extends MainContract.Presenter { ...@@ -43,6 +44,7 @@ public class MainPresenter extends MainContract.Presenter {
getNewVersion(AppUtils.getPackageNum()); getNewVersion(AppUtils.getPackageNum());
getReceiveOrder(Constants.WATING_ORDER, mAccountId, mSiteId, 1, 20); getReceiveOrder(Constants.WATING_ORDER, mAccountId, mSiteId, 1, 20);
getHxNum(mUser.getHxAccount()); getHxNum(mUser.getHxAccount());
getUserInfo(Integer.parseInt(mUser.getAccountId()));
} }
...@@ -100,4 +102,10 @@ public class MainPresenter extends MainContract.Presenter { ...@@ -100,4 +102,10 @@ public class MainPresenter extends MainContract.Presenter {
mView.dumpReceActivity(); mView.dumpReceActivity();
} }
@Override
public void getUserInfo(int accountId) {
UserApiFactory.getEngineerInfo(accountId).subscribe(baseObserver(
engineerInfo -> SPUtils.put("USER_IDENTITY", engineerInfo.getIdentity())));
}
} }
...@@ -12,16 +12,16 @@ public class Constants { ...@@ -12,16 +12,16 @@ public class Constants {
/** /**
* 测试环境配置. * 测试环境配置.
*/ */
public static final int LOG_LEVEL = LogUtils.LEVEL_ALL; // public static final int LOG_LEVEL = LogUtils.LEVEL_ALL;
public static final String ENVIROMENT = "debug"; // public static final String ENVIROMENT = "debug";
public static final String BASE_URL = "http://47.94.101.239:3112"; // public static final String BASE_URL = "http://47.94.101.239:3112";
public final static String UP_PHOTO = "/file/uploadMore?targetPath=test/sp/mobile/android/business/checkApply"; // public final static String UP_PHOTO = "/file/uploadMore?targetPath=test/sp/mobile/android/business/checkApply";
public final static String WEB_SOP = "http://47.94.101.239:9004/#/sop"; // public final static String WEB_SOP = "http://47.94.101.239:9004/#/sop";
public final static String CHECK_MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manyServiceResult"; // public final static String CHECK_MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manyServiceResult";
public final static String MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manySop"; // public final static String MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manySop";
public final static String WEB_SOP_DETAIL = "http://47.94.101.239:9004/#/sopdetail"; // public final static String WEB_SOP_DETAIL = "http://47.94.101.239:9004/#/sopdetail";
public final static String WEB_ZHI_SHI = "http://47.94.101.239:9004/#/detail"; // public final static String WEB_ZHI_SHI = "http://47.94.101.239:9004/#/detail";
public static final boolean IS_DEBUG = true; // public static final boolean IS_DEBUG = true;
/** /**
* uat环境配置. * uat环境配置.
...@@ -40,16 +40,16 @@ public class Constants { ...@@ -40,16 +40,16 @@ public class Constants {
/** /**
* 正式环境. * 正式环境.
*/ */
// public static final String ENVIROMENT = "release"; public static final String ENVIROMENT = "release";
// public static final int LOG_LEVEL = LogUtils.LEVEL_ALL; public static final int LOG_LEVEL = LogUtils.LEVEL_ALL;
// public static final String BASE_URL = "https://mobile.kf.ai"; public static final String BASE_URL = "https://mobile.kf.ai";
// public final static String UP_PHOTO = "/file/uploadMore?targetPath=online/sp/mobile/android/business/checkApply"; public final static String UP_PHOTO = "/file/uploadMore?targetPath=online/sp/mobile/android/business/checkApply";
// public final static String WEB_SOP = "https://sop.kf.ai/#/sop"; public final static String WEB_SOP = "https://sop.kf.ai/#/sop";
// public final static String WEB_SOP_DETAIL = "https://sop.kf.ai/#/sopdetail"; public final static String WEB_SOP_DETAIL = "https://sop.kf.ai/#/sopdetail";
// public final static String WEB_ZHI_SHI = "https://sop.kf.ai/#/detail"; public final static String WEB_ZHI_SHI = "https://sop.kf.ai/#/detail";
// public final static String CHECK_MULTI_WEB_SOP = "https://sop.kf.ai/#/manyServiceResult"; public final static String CHECK_MULTI_WEB_SOP = "https://sop.kf.ai/#/manyServiceResult";
// public final static String MULTI_WEB_SOP = "https://sop.kf.ai/#/manySop"; public final static String MULTI_WEB_SOP = "https://sop.kf.ai/#/manySop";
// public static final boolean IS_DEBUG = false; public static final boolean IS_DEBUG = false;
/** /**
* 演示环境 * 演示环境
......
...@@ -352,7 +352,6 @@ ...@@ -352,7 +352,6 @@
<string name="click_and_signature">点击此处让客户去签名</string> <string name="click_and_signature">点击此处让客户去签名</string>
<!--消息--> <!--消息-->
<string name="message_system">系统通知</string> <string name="message_system">系统通知</string>
<string name="message_dayu">大鱼通知</string> <string name="message_dayu">大鱼通知</string>
...@@ -457,7 +456,15 @@ ...@@ -457,7 +456,15 @@
<string name="certificaiton_notice">&#160;1.&#160;&#160;&#160;&#160;请摘下帽子口罩,不要遮挡面部\n <string name="certificaiton_notice">&#160;1.&#160;&#160;&#160;&#160;请摘下帽子口罩,不要遮挡面部\n
2.&#160;&#160;&#160;&#160;保证光线充足,保持水平拍摄\n 2.&#160;&#160;&#160;&#160;保证光线充足,保持水平拍摄\n
3.&#160;&#160;&#160;&#160;镜头对准您的脸,按提示操作\n</string> 3.&#160;&#160;&#160;&#160;镜头对准您的脸,按提示操作\n</string>
<string name="cert_name_identity_not_match">身份证号码与姓名不匹配</string>
<string name="cert_no_identity_record">没有此身份证号码的记录</string>
<string name="cert_error_name">姓名位数或编码有误</string>
<string name="cert_invalid_identity">身份证号码无效</string>
<string name="cert_error_data">数据源错误,请联系客服</string>
<string name="cert_pic_low_quality">校验图像质量低于阈值</string>
<string name="cert_pic_big">上传的图像太大</string>
<string name="cert_multi_face">图像中发现有多张脸</string>
<string name="crt_no_face">没有识别出人脸</string>
<!--error--> <!--error-->
<string name="not_show">not_show</string> <string name="not_show">not_show</string>
......
...@@ -69,7 +69,7 @@ public class OrderDetail implements Serializable { ...@@ -69,7 +69,7 @@ public class OrderDetail implements Serializable {
private int spuId; private int spuId;
private Integer anyContacts; private Integer anyContacts;
private Integer kaCompanyId; private Integer kaCompanyId;
private Integer createdSource; //1.服务商自己填写的工单2.厂商系统派3.ka系统4.多任务 private Integer createdSource; //1.自建单2.厂商系统派3.ka系统4.多任务5,sp的eu报修
private List<accessories> accessories; private List<accessories> accessories;
private List<Spu> spus; private List<Spu> spus;
private Integer needEsignature;//1:需要2:不需要. private Integer needEsignature;//1:需要2:不需要.
......
...@@ -69,7 +69,7 @@ public class MultipleProcessPresenter extends MultipleProcessContract.Presenter ...@@ -69,7 +69,7 @@ public class MultipleProcessPresenter extends MultipleProcessContract.Presenter
public void process() { public void process() {
File file = new File(SignatureActivity.path); File file = new File(SignatureActivity.path);
if (mNeedEsignature == 1 && !file.exists()) { if (mNeedEsignature != null && mNeedEsignature == 1 && !file.exists()) {
ToastUtils.showShortToast(R.string.signature_name); ToastUtils.showShortToast(R.string.signature_name);
return; return;
} }
...@@ -96,7 +96,7 @@ public class MultipleProcessPresenter extends MultipleProcessContract.Presenter ...@@ -96,7 +96,7 @@ public class MultipleProcessPresenter extends MultipleProcessContract.Presenter
parts = packPhoto(imageUrl); parts = packPhoto(imageUrl);
mView.showDialog(); mView.showDialog();
BaseApiFactory.uploadPhoto(parts).subscribe(baseObserver(list -> { BaseApiFactory.uploadPhoto(parts).subscribe(baseObserver(list -> {
if (mNeedEsignature == 1) { if (mNeedEsignature != null && mNeedEsignature == 1) {
mView.showDialog(); mView.showDialog();
File file = new File(SignatureActivity.path); File file = new File(SignatureActivity.path);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file); RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
...@@ -112,7 +112,7 @@ public class MultipleProcessPresenter extends MultipleProcessContract.Presenter ...@@ -112,7 +112,7 @@ public class MultipleProcessPresenter extends MultipleProcessContract.Presenter
} }
})); }));
} else { } else {
if (mNeedEsignature == 1) { if (mNeedEsignature != null && mNeedEsignature == 1) {
mView.showDialog(); mView.showDialog();
File file = new File(SignatureActivity.path); File file = new File(SignatureActivity.path);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file); RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
...@@ -191,7 +191,7 @@ public class MultipleProcessPresenter extends MultipleProcessContract.Presenter ...@@ -191,7 +191,7 @@ public class MultipleProcessPresenter extends MultipleProcessContract.Presenter
} }
mView.setRepairType(); mView.setRepairType();
mNeedEsignature = detail.getNeedEsignature(); mNeedEsignature = detail.getNeedEsignature();
if (mNeedEsignature == 1) { if (mNeedEsignature != null && mNeedEsignature == 1) {
mView.showSignature(); mView.showSignature();
} }
Integer isPay = detail.getIsPay(); Integer isPay = detail.getIsPay();
......
...@@ -104,6 +104,24 @@ public class OrderLivenessPresenter extends OrderLivenessContract.Presenter { ...@@ -104,6 +104,24 @@ public class OrderLivenessPresenter extends OrderLivenessContract.Presenter {
ToastUtils.showShortToast(R.string.server_error); ToastUtils.showShortToast(R.string.server_error);
} else if ("DETECT_ERROR00005".equals(responeThrowable.subCode)) { } else if ("DETECT_ERROR00005".equals(responeThrowable.subCode)) {
ToastUtils.showShortToast(R.string.please_upload_identity_front); ToastUtils.showShortToast(R.string.please_upload_identity_front);
} else if ("ID_NUMBER_NAME_NOT_MATCH".equals(responeThrowable.subCode)) {
ToastUtils.showShortToast(R.string.cert_name_identity_not_match);
} else if ("NO_SUCH_ID_NUMBER".equals(responeThrowable.subCode)) {
ToastUtils.showShortToast(R.string.cert_no_identity_record);
} else if ("INVALID_NAME_FORMAT".equals(responeThrowable.subCode)) {
ToastUtils.showShortToast(R.string.cert_error_name);
} else if ("INVALID_IDCARD_NUMBER".equals(responeThrowable.subCode)) {
ToastUtils.showShortToast(R.string.cert_invalid_identity);
} else if ("DATA_SOURCE_ERROR".equals(responeThrowable.subCode)) {
ToastUtils.showShortToast(R.string.cert_error_data);
} else if ("LOW_QUALITY".equals(responeThrowable.subCode)) {
ToastUtils.showShortToast(R.string.cert_pic_low_quality);
} else if ((responeThrowable.subCode).startsWith("INVALID_IMAGE_SIZE")) {
ToastUtils.showShortToast(R.string.cert_pic_big);
} else if ((responeThrowable.subCode).startsWith("MULTIPLE_FACES")) {
ToastUtils.showShortToast(R.string.cert_multi_face);
} else if ((responeThrowable.subCode).startsWith("NO_FACE_FOUND")) {
ToastUtils.showShortToast(R.string.crt_no_face);
} else { } else {
ToastUtils.showShortToast(R.string.certification_not_pass); ToastUtils.showShortToast(R.string.certification_not_pass);
} }
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout
android:id="@+id/liveness_layout_rootRel"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextureView
android:id="@+id/liveness_layout_textureview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.megvii.idcardlib.view.AutoRatioImageview
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/liveness_layout_camera_mask" />
<com.megvii.idcardlib.FaceMask
android:id="@+id/liveness_layout_facemask"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
<com.megvii.idcardlib.view.AutoRatioImageview
android:id="@+id/liveness_layout_head_mask"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:src="@drawable/liveness_layout_head_mask" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/liveness_layout_head_mask"
android:background="#F6F5F4">
<include
android:id="@+id/activity_main_bottomTitle"
layout="@layout/bottom_title_layout"
android:layout_width="match_parent"
android:layout_height="40dip"
android:layout_alignParentBottom="true"
android:visibility="gone" />
<include
android:id="@+id/liveness_layout_first_layout"
layout="@layout/liveness_detection_step"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/activity_main_bottomTitle"
android:layout_marginBottom="15dip"
android:layout_marginTop="15dip"
android:visibility="invisible" />
<include
android:id="@+id/liveness_layout_second_layout"
layout="@layout/liveness_detection_step"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/activity_main_bottomTitle"
android:layout_marginBottom="15dip"
android:layout_marginTop="15dip"
android:visibility="gone" />
<LinearLayout
android:id="@+id/liveness_layout_bottom_tips_head"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/activity_main_bottomTitle"
android:layout_centerHorizontal="true"
android:gravity="center"
android:orientation="vertical"
android:visibility="visible">
<TextView
android:id="@+id/liveness_layout_promptText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:text="@string/meglive_prompt"
android:textColor="#00ACDF"
android:textSize="16dp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:src="@drawable/liveness_phoneimage" />
</LinearLayout>
<RelativeLayout
android:id="@+id/detection_step_timeoutRel"
android:layout_width="35dip"
android:layout_height="35dip"
android:layout_alignParentRight="true"
android:layout_margin="5dip"
android:visibility="invisible">
<TextView
android:id="@+id/detection_step_timeout_garden"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="10"
android:textColor="#00BEE2"
android:textSize="20sp" />
<com.megvii.idcardlib.view.CircleProgressBar
android:id="@+id/detection_step_timeout_progressBar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true" />
</RelativeLayout>
</RelativeLayout>
<ImageView
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="20dp"
android:scaleType="centerInside"
android:src="@drawable/liveness_faceppinside"
android:visibility="gone" />
<ProgressBar
android:id="@+id/liveness_layout_progressbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:visibility="invisible" />
</RelativeLayout>
</layout>
\ No newline at end of file
...@@ -3,6 +3,7 @@ package com.dayu.usercenter.presenter.login; ...@@ -3,6 +3,7 @@ package com.dayu.usercenter.presenter.login;
import com.dayu.base.ui.presenter.BasePresenter; import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.common.BaseView; import com.dayu.common.BaseView;
import com.dayu.event.UserInfo;
import com.dayu.widgets.listener.OnCloseListener; import com.dayu.widgets.listener.OnCloseListener;
...@@ -40,6 +41,11 @@ public interface LoginContract { ...@@ -40,6 +41,11 @@ public interface LoginContract {
public abstract void login(); public abstract void login();
/** /**
* 跳转到主界面并保存用户信息.
*/
public abstract void dumpAndSave(UserInfo info);
/**
* 跳转到用户须知. * 跳转到用户须知.
*/ */
public abstract void dumpAgreement(); public abstract void dumpAgreement();
...@@ -52,13 +58,5 @@ public interface LoginContract { ...@@ -52,13 +58,5 @@ public interface LoginContract {
*/ */
public abstract void loginHx(String hxAccount, String hxPwd); public abstract void loginHx(String hxAccount, String hxPwd);
/**
* 跳转到主界面.
*
*/
public abstract void dump();
public abstract void getUserInfo(int accountId);
} }
} }
...@@ -5,13 +5,13 @@ import android.text.TextUtils; ...@@ -5,13 +5,13 @@ import android.text.TextUtils;
import com.alibaba.android.arouter.launcher.ARouter; import com.alibaba.android.arouter.launcher.ARouter;
import com.dayu.common.BaseApplication; import com.dayu.common.BaseApplication;
import com.dayu.event.UserInfo;
import com.dayu.provider.router.RouterPath; import com.dayu.provider.router.RouterPath;
import com.dayu.usercenter.R; import com.dayu.usercenter.R;
import com.dayu.usercenter.api.UserApiFactory; import com.dayu.usercenter.api.UserApiFactory;
import com.dayu.usercenter.ui.activity.AgreementActivity; import com.dayu.usercenter.ui.activity.AgreementActivity;
import com.dayu.usercenter.ui.activity.IdentityCertificationActivity; import com.dayu.usercenter.ui.activity.IdentityCertificationActivity;
import com.dayu.utils.LogUtils; import com.dayu.utils.LogUtils;
import com.dayu.utils.SPUtils;
import com.dayu.utils.ToastUtils; import com.dayu.utils.ToastUtils;
import com.dayu.utils.UIUtils; import com.dayu.utils.UIUtils;
import com.dayu.utils.UserManager; import com.dayu.utils.UserManager;
...@@ -72,9 +72,7 @@ public class LoginPresenter extends LoginContract.Presenter { ...@@ -72,9 +72,7 @@ public class LoginPresenter extends LoginContract.Presenter {
UserApiFactory.login(userName.get(), password.get()).subscribe(baseObserver(userInfo -> { UserApiFactory.login(userName.get(), password.get()).subscribe(baseObserver(userInfo -> {
if (userInfo.getDetectStatus() == 1) { if (userInfo.getDetectStatus() == 1) {
loginHx(userInfo.getHxAccount(), userInfo.getHxPwd()); loginHx(userInfo.getHxAccount(), userInfo.getHxPwd());
UserManager.getInstance().saveUser(userInfo); dumpAndSave(userInfo);
mView.showDialog();
getUserInfo(Integer.parseInt(userInfo.getAccountId()));
} else if (userInfo.getDetectStatus() == 2 || userInfo.getDetectStatus() == 3) { } else if (userInfo.getDetectStatus() == 2 || userInfo.getDetectStatus() == 3) {
showLoginDialog(); showLoginDialog();
UserManager.getInstance().saveUser(userInfo); UserManager.getInstance().saveUser(userInfo);
...@@ -106,6 +104,12 @@ public class LoginPresenter extends LoginContract.Presenter { ...@@ -106,6 +104,12 @@ public class LoginPresenter extends LoginContract.Presenter {
} }
} }
@Override
public void dumpAndSave(UserInfo info) {
UserManager.getInstance().saveUser(info);
ARouter.getInstance().build(RouterPath.PATH_MAIN).navigation();
}
private void showLoginDialog() { private void showLoginDialog() {
mView.showLoginDialog((dialog, confirm) -> { mView.showLoginDialog((dialog, confirm) -> {
if (confirm) { if (confirm) {
...@@ -115,19 +119,6 @@ public class LoginPresenter extends LoginContract.Presenter { ...@@ -115,19 +119,6 @@ public class LoginPresenter extends LoginContract.Presenter {
} }
@Override @Override
public void dump() {
ARouter.getInstance().build(RouterPath.PATH_MAIN).navigation();
}
@Override
public void getUserInfo(int accountId) {
UserApiFactory.getEngineerInfo(accountId).subscribe(baseObserver(engineerInfo -> {
SPUtils.put("USER_IDENTITY", engineerInfo.getIdentity());
dump();
}));
}
@Override
public void dumpAgreement() { public void dumpAgreement() {
mView.startActivity(AgreementActivity.class); mView.startActivity(AgreementActivity.class);
MobclickAgent.onEvent(BaseApplication.getContext(), "customer_agreement"); MobclickAgent.onEvent(BaseApplication.getContext(), "customer_agreement");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment