|
@@ -709,6 +709,7 @@ import static com.telpo.facenormal.utile.Config.CheckList;
|
|
|
public void onClick(View v) {
|
|
|
Main_ClickFace_gifImage.setVisibility(View.VISIBLE);
|
|
|
Main_ClickFace.setVisibility(View.GONE);
|
|
|
+ CardOrCode = "face";
|
|
|
invokeScanFace(Config.mSessionId);
|
|
|
new Handler().postDelayed(new Runnable() {
|
|
|
@Override
|
|
@@ -1018,63 +1019,80 @@ import static com.telpo.facenormal.utile.Config.CheckList;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //身份证及记录上报
|
|
|
+ private boolean AddRecords(SetFederatedPlatformsBean setFederatedPlatformsBean,String type, String name, String Cardid, String Photo, String idCardInfo, String phone){
|
|
|
+ /**
|
|
|
+ * 当未成年模式开启后,CardOrCode.equals("QrCard")时,直接返回错误页,提示
|
|
|
+ * 二维码链路无效
|
|
|
+ * 非CardOrCode.equals("QrCard")时
|
|
|
+ * 根据身份证算出年龄,比较是否在区间内,符合则显示错误结果页,默认显示
|
|
|
+ * 未满十八周岁,禁止进入并且不往后执行
|
|
|
+ * 若未在区间内,则继续执行原有逻辑
|
|
|
+ *
|
|
|
+ * 系统配置上方新增功能配置
|
|
|
+ * 1 是否开启年龄限制
|
|
|
+ * 2 限制区间 默认0-18
|
|
|
+ * 3 禁止进入文本
|
|
|
+ */
|
|
|
+ boolean isExecution = true;
|
|
|
+ boolean start = true;
|
|
|
+ int reasonType = 0;
|
|
|
+ if (Config.getAuthenticationBean().getData().get(0).isOpenAgeLimit()) {//是否开启年龄限制
|
|
|
+ if (CardOrCode.equals("QrCard")) {
|
|
|
+ isExecution = false;
|
|
|
+ //ErroeWindowManager(activity,"二维码链路无效");
|
|
|
+ getFederatedPlatformsBean = new GetFederatedPlatformsBean();
|
|
|
+ GetFederatedPlatformsBean.DataDTO dataDTO = new GetFederatedPlatformsBean.DataDTO();
|
|
|
+ dataDTO.setEnd(true + "");
|
|
|
+ dataDTO.setStatus("LocalError");
|
|
|
+ dataDTO.setIsOpen(-1);
|
|
|
+ getFederatedPlatformsBean.setData(dataDTO);
|
|
|
+ getFederatedPlatformsBean.setMsg("二维码链路无效");
|
|
|
+ addIsvResultView(activity, getFederatedPlatformsBean.getMsg());
|
|
|
+ setEventRecords(type, name, Cardid, Photo, idCardInfo, phone,start,reasonType);
|
|
|
+ return isExecution;
|
|
|
+ }
|
|
|
+ //判断年龄是否在限定区间内
|
|
|
+ int age=Config.getPersonAgeFromIdCard(setFederatedPlatformsBean.getData().get(0).getCardid());
|
|
|
+ if (age == -1) {
|
|
|
+ isExecution = false;
|
|
|
+ getFederatedPlatformsBean = new GetFederatedPlatformsBean();
|
|
|
+ GetFederatedPlatformsBean.DataDTO dataDTO = new GetFederatedPlatformsBean.DataDTO();
|
|
|
+ dataDTO.setEnd(true + "");
|
|
|
+ dataDTO.setStatus("LocalError");
|
|
|
+ dataDTO.setIsOpen(-1);
|
|
|
+ getFederatedPlatformsBean.setData(dataDTO);
|
|
|
+ getFederatedPlatformsBean.setMsg("未获取有效身份证号码");
|
|
|
+ addIsvResultView(activity, getFederatedPlatformsBean.getMsg());
|
|
|
+ setEventRecords(type, name, Cardid, Photo, idCardInfo, phone,start,reasonType);
|
|
|
+ return isExecution;
|
|
|
+ }
|
|
|
+ if (age >= Config.getAuthenticationBean().getData().get(0).getLimitSectionStart() &&
|
|
|
+ age < Config.getAuthenticationBean().getData().get(0).getLimitSectionEnd()) {
|
|
|
+ isExecution = false;
|
|
|
+ start = false;
|
|
|
+ reasonType = 1;
|
|
|
+ if (Config.IsStringNull(Config.getAuthenticationBean().getData().get(0).getAgeForbidText() + "")) {
|
|
|
+ Config.getAuthenticationBean().getData().get(0).setAgeForbidText("未满十八周岁,禁止进入");
|
|
|
+ }
|
|
|
+ getFederatedPlatformsBean = new GetFederatedPlatformsBean();
|
|
|
+ GetFederatedPlatformsBean.DataDTO dataDTO = new GetFederatedPlatformsBean.DataDTO();
|
|
|
+ dataDTO.setEnd(true + "");
|
|
|
+ dataDTO.setStatus("LocalError");
|
|
|
+ dataDTO.setIsOpen(-1);
|
|
|
+ getFederatedPlatformsBean.setData(dataDTO);
|
|
|
+ getFederatedPlatformsBean.setMsg(Config.getAuthenticationBean().getData().get(0).getAgeForbidText());
|
|
|
+ addIsvResultView(activity, getFederatedPlatformsBean.getMsg());
|
|
|
+ setEventRecords(type, name, Cardid, Photo, idCardInfo, phone,start,reasonType);
|
|
|
+ return isExecution;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //推送刷脸刷卡记录
|
|
|
+ setEventRecords(type, name, Cardid, Photo, idCardInfo, phone,start,reasonType);
|
|
|
+ return isExecution;
|
|
|
+ }
|
|
|
private void setMyFederatedPlatforms(SetFederatedPlatformsBean setFederatedPlatformsBean,
|
|
|
String name, String CertNo, String Mobile) {
|
|
|
- /**
|
|
|
- * 当未成年模式开启后,CardOrCode.equals("QrCard")时,直接返回错误页,提示
|
|
|
- * 二维码链路无效
|
|
|
- * 非CardOrCode.equals("QrCard")时
|
|
|
- * 根据身份证算出年龄,比较是否在区间内,符合则显示错误结果页,默认显示
|
|
|
- * 未满十八周岁,禁止进入并且不往后执行
|
|
|
- * 若未在区间内,则继续执行原有逻辑
|
|
|
- *
|
|
|
- * 系统配置上方新增功能配置
|
|
|
- * 1 是否开启年龄限制
|
|
|
- * 2 限制区间 默认0-18
|
|
|
- * 3 禁止进入文本
|
|
|
- */
|
|
|
- if (Config.getAuthenticationBean().getData().get(0).isOpenAgeLimit()) {//是否开启年龄限制
|
|
|
- if (CardOrCode.equals("QrCard")) {
|
|
|
- //ErroeWindowManager(activity,"二维码链路无效");
|
|
|
- getFederatedPlatformsBean = new GetFederatedPlatformsBean();
|
|
|
- GetFederatedPlatformsBean.DataDTO dataDTO = new GetFederatedPlatformsBean.DataDTO();
|
|
|
- dataDTO.setEnd(true + "");
|
|
|
- dataDTO.setStatus("LocalError");
|
|
|
- dataDTO.setIsOpen(-1);
|
|
|
- getFederatedPlatformsBean.setData(dataDTO);
|
|
|
- getFederatedPlatformsBean.setMsg("二维码链路无效");
|
|
|
- addIsvResultView(activity, getFederatedPlatformsBean.getMsg());
|
|
|
- return;
|
|
|
- }
|
|
|
- //判断年龄是否在限定区间内
|
|
|
- int age=Config.getPersonAgeFromIdCard(setFederatedPlatformsBean.getData().get(0).getCardid());
|
|
|
- if (age == -1) {
|
|
|
- getFederatedPlatformsBean = new GetFederatedPlatformsBean();
|
|
|
- GetFederatedPlatformsBean.DataDTO dataDTO = new GetFederatedPlatformsBean.DataDTO();
|
|
|
- dataDTO.setEnd(true + "");
|
|
|
- dataDTO.setStatus("LocalError");
|
|
|
- dataDTO.setIsOpen(-1);
|
|
|
- getFederatedPlatformsBean.setData(dataDTO);
|
|
|
- getFederatedPlatformsBean.setMsg("未获取有效身份证号码");
|
|
|
- addIsvResultView(activity, getFederatedPlatformsBean.getMsg());
|
|
|
- return;
|
|
|
- }
|
|
|
- if (age >= Config.getAuthenticationBean().getData().get(0).getLimitSectionStart() &&
|
|
|
- age < Config.getAuthenticationBean().getData().get(0).getLimitSectionEnd()) {
|
|
|
- if (Config.IsStringNull(Config.getAuthenticationBean().getData().get(0).getAgeForbidText() + "")) {
|
|
|
- Config.getAuthenticationBean().getData().get(0).setAgeForbidText("未满十八周岁,禁止进入");
|
|
|
- }
|
|
|
- getFederatedPlatformsBean = new GetFederatedPlatformsBean();
|
|
|
- GetFederatedPlatformsBean.DataDTO dataDTO = new GetFederatedPlatformsBean.DataDTO();
|
|
|
- dataDTO.setEnd(true + "");
|
|
|
- dataDTO.setStatus("LocalError");
|
|
|
- dataDTO.setIsOpen(-1);
|
|
|
- getFederatedPlatformsBean.setData(dataDTO);
|
|
|
- getFederatedPlatformsBean.setMsg(Config.getAuthenticationBean().getData().get(0).getAgeForbidText());
|
|
|
- addIsvResultView(activity, getFederatedPlatformsBean.getMsg());
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
if (Config.getAuthenticationBean().getData().get(0).isUseLinkage()) {//联动平台开启
|
|
|
if (!Config.IsStringNull(Config.getAuthenticationBean().getData().get(0).getLinkageAds())) {
|
|
|
TimeoutString = "联动平台请求超时";
|
|
@@ -1142,7 +1160,6 @@ import static com.telpo.facenormal.utile.Config.CheckList;
|
|
|
} else if (type.equals("QrCard")) {//刷码
|
|
|
dataDTO.setVerifytype(3);
|
|
|
}
|
|
|
-
|
|
|
dataDTO.setOuttype(0);//0 通⽤ 1进⻔ 2出⻔
|
|
|
dataDTO.setRightno(0);//身份类型
|
|
|
dataDTO.setExtend4("1,5");
|
|
@@ -1192,17 +1209,20 @@ import static com.telpo.facenormal.utile.Config.CheckList;
|
|
|
Type = "FederatedPlatforms";
|
|
|
getFederatedPlatformsBean = new Gson().fromJson(o, GetFederatedPlatformsBean.class);
|
|
|
if (getFederatedPlatformsBean.getCode() != 200) {
|
|
|
- if (getFederatedPlatformsBean.getMsg().isEmpty()) {
|
|
|
- getFederatedPlatformsBean.setMsg("联动平台请求出错");
|
|
|
+ String msg = "联动平台请求出错";
|
|
|
+ if (!Config.IsStringNull(getFederatedPlatformsBean.getMsg())) {
|
|
|
+ msg = getFederatedPlatformsBean.getMsg();
|
|
|
+ } else if (!Config.IsStringNull(getFederatedPlatformsBean.getErrmsg())) {
|
|
|
+ msg = getFederatedPlatformsBean.getErrmsg();
|
|
|
}
|
|
|
// ErroeWindowManager(activity, getFederatedPlatformsBean.getMsg());
|
|
|
GetFederatedPlatformsBean.DataDTO dataDTO = new GetFederatedPlatformsBean.DataDTO();
|
|
|
dataDTO.setEnd(true + "");
|
|
|
dataDTO.setStatus("LocalError");
|
|
|
- getFederatedPlatformsBean.setMsg(getFederatedPlatformsBean.getMsg());
|
|
|
+ getFederatedPlatformsBean.setMsg(msg);
|
|
|
dataDTO.setIsOpen(-1);
|
|
|
getFederatedPlatformsBean.setData(dataDTO);
|
|
|
- addIsvResultView(activity, getFederatedPlatformsBean.getMsg());
|
|
|
+ addIsvResultView(activity, msg);
|
|
|
} else {
|
|
|
optime = getFederatedPlatformsBean.getData().getOpenTimes();
|
|
|
if (Config.IsStringNull(getFederatedPlatformsBean.getData().isEnd() + "")) {
|
|
@@ -1353,9 +1373,12 @@ import static com.telpo.facenormal.utile.Config.CheckList;
|
|
|
Config.SN, 1, 3, Config.QrData,
|
|
|
"", "","");
|
|
|
// data.replace("\\r","");
|
|
|
- invokeQrCode(Config.mSessionId, data);//刷码服务
|
|
|
+ CardOrCode = "QrCard";
|
|
|
//推送刷脸刷卡记录
|
|
|
- setEventRecords("QrCard", "", "", "", "", "");
|
|
|
+ boolean isExecution = AddRecords(Config.getSetFederatedPlatformsBean(),"QrCard", "", "", "", "", "");
|
|
|
+ if (isExecution){
|
|
|
+ invokeQrCode(Config.mSessionId, data);//刷码服务
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
@@ -1529,10 +1552,20 @@ import static com.telpo.facenormal.utile.Config.CheckList;
|
|
|
TimeoutString = "商户平台请求超时";
|
|
|
TimeoutHandler.postDelayed(TimeoutBeatRunnable, Timeout * 1000);
|
|
|
JSONObject jsonObject = JSONObject.parseObject(s1);
|
|
|
+ String avatarBase64 = "";
|
|
|
+ try {
|
|
|
+ if (jsonObject.containsKey("avatarBase64")) {
|
|
|
+ //端上透出的⼈脸图,可⽤于展示。
|
|
|
+ avatarBase64 = jsonObject.getString("avatarBase64");
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
Map jsonToMap = JSONObject.parseObject(jsonObject.toJSONString());
|
|
|
jsonToMap.put("sn", Config.SN);
|
|
|
final String[] value = {""};
|
|
|
AppLogUtils.i(true, "BPaaSApi.startBpaasService()_刷脸map转换前数据 ", new Gson().toJson(jsonToMap));
|
|
|
+ String finalAvatarBase6 = avatarBase64;
|
|
|
pAuthentication.PThirdPartyPlatforms(jsonToMap, new MyPresenter.MyPCallBreak() {
|
|
|
@Override
|
|
|
public void sressco(Object o) {
|
|
@@ -1560,25 +1593,30 @@ import static com.telpo.facenormal.utile.Config.CheckList;
|
|
|
if (!Config.IsStringNull(alipayUserInfoBean.getData().getMobile())){
|
|
|
Mobile=alipayUserInfoBean.getData().getMobile()+"";
|
|
|
}
|
|
|
+ if (!Config.IsStringNull(finalAvatarBase6)){
|
|
|
+ PhotoBase64 = finalAvatarBase6;
|
|
|
+ }
|
|
|
setOpenReaderSignal(CertNo,UserName,PhotoBase64,Mobile);
|
|
|
return;
|
|
|
}
|
|
|
if (alipayUserInfoBean.getErrcode().equals("0")) {
|
|
|
+ if (!Config.IsStringNull(finalAvatarBase6)){
|
|
|
+ alipayUserInfoBean.getData().setPhotoBase64(finalAvatarBase6);
|
|
|
+ }
|
|
|
Config.setFederatedPlatformsBeans(
|
|
|
Config.SN, 1, 2, alipayUserInfoBean.getData().getCertNo(),
|
|
|
alipayUserInfoBean.getData().getUserName(), alipayUserInfoBean.getData().getMobile(),
|
|
|
alipayUserInfoBean.getData().getPhotoBase64());
|
|
|
-
|
|
|
- //推送刷脸刷卡记录
|
|
|
- setEventRecords("face", alipayUserInfoBean.getData().getUserName(),
|
|
|
+ boolean isExecution = AddRecords(Config.getSetFederatedPlatformsBean(),"face", alipayUserInfoBean.getData().getUserName(),
|
|
|
alipayUserInfoBean.getData().getCertNo(),
|
|
|
alipayUserInfoBean.getData().getPhotoBase64(), "",
|
|
|
alipayUserInfoBean.getData().getMobile());
|
|
|
- //联动平台请求
|
|
|
- setMyFederatedPlatforms(Config.getSetFederatedPlatformsBean(),
|
|
|
- Config.getSetFederatedPlatformsBean().getData().get(0).getName(),
|
|
|
- Config.getSetFederatedPlatformsBean().getData().get(0).getCardid(),
|
|
|
- Config.getSetFederatedPlatformsBean().getData().get(0).getPhone());
|
|
|
+ if (isExecution){
|
|
|
+ //联动平台请求
|
|
|
+ setMyFederatedPlatforms(Config.getSetFederatedPlatformsBean(),
|
|
|
+ Config.getSetFederatedPlatformsBean().getData().get(0).getName(),
|
|
|
+ Config.getSetFederatedPlatformsBean().getData().get(0).getCardid(),
|
|
|
+ Config.getSetFederatedPlatformsBean().getData().get(0).getPhone()); }
|
|
|
} else {
|
|
|
if (alipayUserInfoBean.getErrmsg().isEmpty()) {
|
|
|
alipayUserInfoBean.setErrmsg("商户平台请求失败");
|
|
@@ -1742,7 +1780,6 @@ import static com.telpo.facenormal.utile.Config.CheckList;
|
|
|
|
|
|
// 调用刷脸服务
|
|
|
public void invokeScanFace(String mSessionId) {
|
|
|
- CardOrCode = "face";
|
|
|
if (Config.taskStatus.equals("doing") || Config.taskStatus.equals("wait")) {
|
|
|
Config.setFaceScenicUtile(Config.getAuthenticationBean().getData().get(0).getLightMode(),
|
|
|
faceScenicUtile, true,activity);
|
|
@@ -1754,7 +1791,6 @@ import static com.telpo.facenormal.utile.Config.CheckList;
|
|
|
|
|
|
// 调用刷证服务
|
|
|
public void invokeCard(String mSessionId, String no, String name) {
|
|
|
- CardOrCode = "Card";
|
|
|
if (Config.taskStatus.equals("wait")) {
|
|
|
ThreadLocalWindowManager();
|
|
|
Config.taskStatus = "doing";
|
|
@@ -1770,7 +1806,6 @@ import static com.telpo.facenormal.utile.Config.CheckList;
|
|
|
|
|
|
// 调用刷码服务
|
|
|
public void invokeQrCode(String mSessionId, String data) {
|
|
|
- CardOrCode = "QrCard";
|
|
|
if (Config.taskStatus.equals("wait")) {
|
|
|
ThreadLocalWindowManager();
|
|
|
Config.taskStatus = "doing";
|
|
@@ -1786,7 +1821,6 @@ import static com.telpo.facenormal.utile.Config.CheckList;
|
|
|
|
|
|
//调用 1: 1人证服务
|
|
|
public void invokePersonCard(String name, String no, String photo, String mSessionId) {
|
|
|
- CardOrCode = "personCard";
|
|
|
if (Config.taskStatus.equals("wait")) {
|
|
|
Config.taskStatus = "doing";
|
|
|
Config.setFaceScenicUtile(Config.getAuthenticationBean().getData().get(0).getLightMode(),
|
|
@@ -3742,17 +3776,20 @@ import static com.telpo.facenormal.utile.Config.CheckList;
|
|
|
//身份证阅读器结果得到后执行
|
|
|
public void setIDCard(String name, String Cardid, String bmpPhotos, String identityMsg) {
|
|
|
String type = "";
|
|
|
+ //推送刷脸刷卡记录
|
|
|
+ boolean isExecution = AddRecords(Config.getSetFederatedPlatformsBean(),type, name, Cardid, bmpPhotos, identityMsg, "");
|
|
|
+ if (!isExecution){
|
|
|
+ return;
|
|
|
+ }
|
|
|
if (Config.getAuthenticationBean().getData().get(0).isUsePersonCard()) {
|
|
|
- type = "personCard";
|
|
|
+ CardOrCode = "personCard";
|
|
|
AppLogUtils.i(true, "setIDCard 身份证数据返回 ","调用 PersonCard ");
|
|
|
invokePersonCard(name, Cardid, bmpPhotos, Config.mSessionId);
|
|
|
} else {
|
|
|
- type = "Card";
|
|
|
+ CardOrCode = "Card";
|
|
|
AppLogUtils.i(true, "setIDCard 身份证数据返回 ","调用Card ");
|
|
|
invokeCard(Config.mSessionId, Cardid, name);
|
|
|
}
|
|
|
- //推送刷脸刷卡记录
|
|
|
- setEventRecords(type, name, Cardid, bmpPhotos, identityMsg, "");
|
|
|
}
|
|
|
|
|
|
SerialControl ComA;//4个串口
|
|
@@ -3823,9 +3860,12 @@ import static com.telpo.facenormal.utile.Config.CheckList;
|
|
|
Config.SN, 1, 3, Config.QrData,
|
|
|
"", "","");
|
|
|
// data.replace("/r","");
|
|
|
- invokeQrCode(Config.mSessionId, Config.QrData);//刷码服务
|
|
|
//推送刷脸刷卡记录
|
|
|
- setEventRecords("QrCard", "", "", "", "", "");
|
|
|
+ boolean isExecution = AddRecords(Config.getSetFederatedPlatformsBean(),"QrCard", "", "", "", "", "");
|
|
|
+ if (!isExecution){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ invokeQrCode(Config.mSessionId, Config.QrData);//刷码服务
|
|
|
}
|
|
|
data = "";
|
|
|
}
|