yinds 3 dni temu
rodzic
commit
b640aad1c5

+ 12 - 0
app/src/main/java/com/hw/nativeapp/httpnet/entity/GoodsRealEntity.java

@@ -0,0 +1,12 @@
+package com.hw.nativeapp.httpnet.entity;
+
+public class GoodsRealEntity {
+
+    public Integer realType;
+    /**
+     * 实名数量
+     */
+    public Integer realNum;
+    public String realTypeName;
+
+}

+ 7 - 0
app/src/main/java/com/hw/nativeapp/httpnet/entity/SeatGoodsEntity.java

@@ -1,6 +1,7 @@
 package com.hw.nativeapp.httpnet.entity;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 public class SeatGoodsEntity {
     /**
@@ -23,4 +24,10 @@ public class SeatGoodsEntity {
      * 商品包含人数
      */
     public Integer personnelNum;
+    /**
+     * 是否需要实名(1需要,2不需要)
+     */
+    public Integer isAuth;
+
+    public List<GoodsRealEntity> realList;
 }

+ 68 - 3
app/src/main/java/com/hw/nativeapp/ui/activity/PurchaseInfoActivity.java

@@ -2,6 +2,7 @@ package com.hw.nativeapp.ui.activity;
 
 import android.annotation.SuppressLint;
 import android.app.ProgressDialog;
+import android.content.DialogInterface;
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.CountDownTimer;
@@ -71,6 +72,8 @@ public class PurchaseInfoActivity extends BaseActivity  {
     TextView tx_player;
     @BindView(R.id.tx_personnelNum)
     TextView tx_personnelNum;
+    @BindView(R.id.tx_isAuth)
+    TextView tx_isAuth;
 
     public static final Integer COUNTDOWN_TIME = 240000;
     private CountDownTimer timer;
@@ -88,6 +91,7 @@ public class PurchaseInfoActivity extends BaseActivity  {
     private String date = "";
     private String goodsId = "";
     private Integer personnelNum = 1;
+    private Integer isAuth = 1;
     private Integer goodsSaleNum = 1;
     private String salePeice = "";
     private String performTimeId = "";
@@ -170,10 +174,29 @@ public class PurchaseInfoActivity extends BaseActivity  {
             ToastUtils.showShortToast(this, "身份证信息为空");
             return;
         }
-        if (!IdNumberUtils.isValidatedAllIdcard(idcard)){
-            ToastUtils.showShortToast(this, "身份证格式错误");
-            return;
+        if (isAuth != null && isAuth.equals(1)){
+            if (!IdNumberUtils.isValidatedAllIdcard(idcard)){
+                ToastUtils.showShortToast(this, "身份证格式错误");
+                return;
+            }
+            factorAuth(name, idcard, new OnAuthCall() {
+                @Override
+                public void success() {
+                    addTouristSuccess(name, idcard);
+                }
+
+                @Override
+                public void fail() {
+                    ToastUtils.showLongToast(PurchaseInfoActivity.this,name +":实名认证失败");
+                }
+            });
+        }else {
+            addTouristSuccess(name, idcard);
         }
+
+    }
+
+    private void addTouristSuccess(String name, String idcard){
         TouristEntity touristEntity = new TouristEntity();
         touristEntity.name = name;
         touristEntity.idcard = idcard;
@@ -298,6 +321,7 @@ public class PurchaseInfoActivity extends BaseActivity  {
         auditoriumId = transmitIntent.getStringExtra("auditoriumId");
         goodsId = transmitIntent.getStringExtra("goodsId");
         personnelNum = transmitIntent.getIntExtra("personnelNum",1);
+        isAuth = transmitIntent.getIntExtra("isAuth",1);
         salePeice = transmitIntent.getStringExtra("salePeice");
         performTimeId = transmitIntent.getStringExtra("performTimeId");
         seatTypeId = transmitIntent.getStringExtra("seatTypeId");
@@ -305,6 +329,11 @@ public class PurchaseInfoActivity extends BaseActivity  {
         if (!StringUtils.isEmpty(mMobile)){
             tx_player.setText(mMobile);
         }
+        if (isAuth != null && isAuth.equals(1)){
+            tx_isAuth.setText("(需实名)");
+        }else {
+            tx_isAuth.setText("(无需实名)");
+        }
         tx_personnelNum.setText(String.valueOf(personnelNum));
     }
 
@@ -444,4 +473,40 @@ public class PurchaseInfoActivity extends BaseActivity  {
         }
     }
 
+
+    // 二要数认证
+    @SuppressLint("CheckResult")
+    private void factorAuth(String name, String idcard, OnAuthCall call){
+        JSONObject options = new  JSONObject();
+        options.put("name", name);
+        options.put("idcard", idcard);
+        MApplication.getApiService().factorAuth( options, System.currentTimeMillis() / 1000)
+                .compose(RxUtil.applyObservableAsync())
+                .subscribe(new ResponseConsumer<JSONObject>() {
+                    @Override
+                    public void onSuccess(JSONObject data) {
+                        if(data.getIntValue("status") == 1) {
+                            if (call != null){
+                                call.success();
+                            }
+                        } else {
+                            if (call != null){
+                                call.fail();
+                            }
+                        }
+                    }
+
+                    @Override
+                    public void onFailed(int code, String msg) {
+                        if (call != null){
+                            call.fail();
+                        }
+                    }
+                }, new ErrorConsumer());
+    }
+
+    public interface OnAuthCall{
+        void success();
+        void fail();
+    }
 }

+ 1 - 0
app/src/main/java/com/hw/nativeapp/ui/activity/SelectV2InfoActivity.java

@@ -190,6 +190,7 @@ public class SelectV2InfoActivity extends BaseActivity  {
         bundle.putString("goodsId", selectGoodsItem.goodsId);
         bundle.putInt("personnelNum", selectGoodsItem.personnelNum);
         bundle.putString("salePeice", selectGoodsItem.salePrice);
+        bundle.putInt("isAuth", selectGoodsItem.isAuth);
         bundle.putString("mobile", mobile);
         ActivityUtils.launchActivity(this,PurchaseInfoActivity.class, bundle);
     }

+ 1 - 0
app/src/main/java/com/hw/nativeapp/ui/activity/TicketCollectionActivity.java

@@ -70,6 +70,7 @@ public class TicketCollectionActivity extends BaseActivity  {
 
 
     public static final Integer COUNTDOWN_TIME = 120000;
+    public static final Integer COUNTDOWN_ERRTIME = 10000;
     private CountDownTimer timer = null;
     private TitleBar titleBar;
 

+ 3 - 2
app/src/main/java/com/hw/nativeapp/utils/StringUtils.java

@@ -189,10 +189,11 @@ public class StringUtils {
         String res = "";
         if (!StringUtils.isEmpty(idCard)) {
             StringBuilder stringBuilder = new StringBuilder(idCard);
-            if(stringBuilder.length() == 18){
+            //真实身份证长度才进行脱敏处理
+            if(IdNumberUtils.isValidatedAllIdcard(idCard)){
                 res = stringBuilder.replace(4, 14, "********").toString();
             } else {
-                res = stringBuilder.replace(4, 11, "********").toString();
+                res = stringBuilder.toString();
             }
         }
         return res;

+ 8 - 0
app/src/main/res/layout/activity_purchase_info.xml

@@ -170,6 +170,14 @@
                                         android:textSize="20sp"
                                         android:textColor="@color/blue"
                                         android:text="观影人信息"/>
+
+                                    <TextView
+                                        android:id="@+id/tx_isAuth"
+                                        android:layout_width="match_parent"
+                                        android:layout_height="wrap_content"
+                                        android:textSize="20sp"
+                                        android:textColor="@color/green"
+                                        android:text="(需实名)"/>
                                 </LinearLayout>
                             </LinearLayout>