|  |  |  | 
|---|
|  |  |  | package com.dayu.henanlibrary.activity; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import static android.app.Activity.RESULT_OK; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import android.content.Intent; | 
|---|
|  |  |  | import android.os.Bundle; | 
|---|
|  |  |  | import android.text.InputFilter; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import androidx.annotation.NonNull; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.dayu.baselibrary.activity.BaseActivity; | 
|---|
|  |  |  | import com.dayu.baselibrary.activity.BaseNfcActivity; | 
|---|
|  |  |  | import com.dayu.baselibrary.tools.BcdUtil; | 
|---|
|  |  |  | import com.dayu.baselibrary.tools.HexUtil; | 
|---|
|  |  |  | import com.dayu.baselibrary.tools.Utils; | 
|---|
|  |  |  | import com.dayu.baselibrary.utils.CRC8; | 
|---|
|  |  |  | import com.dayu.henanlibrary.utils.DeviceNumberUtils; | 
|---|
|  |  |  | import com.dayu.baselibrary.utils.TipUtil; | 
|---|
|  |  |  | import com.dayu.baselibrary.utils.ToastUtil; | 
|---|
|  |  |  | import com.dayu.henanlibrary.HeNanApplication; | 
|---|
|  |  |  | import com.dayu.henanlibrary.card.UserCard; | 
|---|
|  |  |  | import com.dayu.henanlibrary.databinding.ActivityNewCardBinding; | 
|---|
|  |  |  | import com.dayu.henanlibrary.card.UserCardHN; | 
|---|
|  |  |  | import com.dayu.henanlibrary.databinding.ActivityNewCardHnBinding; | 
|---|
|  |  |  | import com.dayu.henanlibrary.dbBean.AdminDataBean; | 
|---|
|  |  |  | import com.dayu.henanlibrary.dbBean.ElectricPriceBean; | 
|---|
|  |  |  | import com.dayu.henanlibrary.dbBean.IpBean; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.dayu.henanlibrary.net.SocketData; | 
|---|
|  |  |  | import com.dayu.henanlibrary.net.SocketNet; | 
|---|
|  |  |  | import com.dayu.henanlibrary.socketBean.InitCardRequestBean; | 
|---|
|  |  |  | import com.dayu.henanlibrary.utils.DeviceNumberUtils; | 
|---|
|  |  |  | import com.dayu.henanlibrary.utils.SocketUtil; | 
|---|
|  |  |  | import com.dayu.henanlibrary.view.ProgressDialog; | 
|---|
|  |  |  | import com.hjq.permissions.OnPermissionCallback; | 
|---|
|  |  |  | 
|---|
|  |  |  | * Date: 2023-11-10 19:52 | 
|---|
|  |  |  | * Description: 新卡注册 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public class NewCardActivity extends BaseNfcActivity { | 
|---|
|  |  |  | public class NewCardActivity extends HNBaseActivity { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static final int SCAN_IDCARD_REQUEST = 1; | 
|---|
|  |  |  | UserCardBean userCardBean; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ActivityNewCardBinding newCardBinding; | 
|---|
|  |  |  | ActivityNewCardHnBinding newCardBinding; | 
|---|
|  |  |  | AdminDataBean adminData; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | static NewCardActivity newCardActivity; | 
|---|
|  |  |  | 
|---|
|  |  |  | protected void onCreate(Bundle savedInstanceState) { | 
|---|
|  |  |  | super.onCreate(savedInstanceState); | 
|---|
|  |  |  | newCardActivity = this; | 
|---|
|  |  |  | newCardBinding = ActivityNewCardBinding.inflate(LayoutInflater.from(this)); | 
|---|
|  |  |  | newCardBinding = ActivityNewCardHnBinding.inflate(LayoutInflater.from(this)); | 
|---|
|  |  |  | setContentView(newCardBinding.getRoot()); | 
|---|
|  |  |  | setData(); | 
|---|
|  |  |  | initView(); | 
|---|
|  |  |  | 
|---|
|  |  |  | private void initView() { | 
|---|
|  |  |  | newCardBinding.newCardName.setFilters(new InputFilter[]{new ChineseInputFilter()}); | 
|---|
|  |  |  | newCardBinding.newCardId.setFilters(new InputFilter[]{new AlphaNumericXFilter(), new InputFilter.LengthFilter(18)}); | 
|---|
|  |  |  | //身份证识别 | 
|---|
|  |  |  | newCardBinding.newCardScanBtn.setOnClickListener(new View.OnClickListener() { | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void onClick(View v) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | getPermission(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | newCardBinding.newCardRegistBtn.setOnClickListener(v -> { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private void getPermission() { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | XXPermissions.with(this) | 
|---|
|  |  |  | // 申请单个权限 | 
|---|
|  |  |  | //                    .permission(Permission.RECORD_AUDIO) | 
|---|
|  |  |  | // 申请多个权限 | 
|---|
|  |  |  | .permission(Permission.CAMERA) | 
|---|
|  |  |  | // 设置权限请求拦截器(局部设置) | 
|---|
|  |  |  | //.interceptor(new PermissionInterceptor()) | 
|---|
|  |  |  | // 设置不触发错误检测机制(局部设置) | 
|---|
|  |  |  | //.unchecked() | 
|---|
|  |  |  | .request(new OnPermissionCallback() { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void onGranted(@NonNull List<String> permissions, boolean allGranted) { | 
|---|
|  |  |  | if (allGranted) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) { | 
|---|
|  |  |  | if (doNotAskAgain) { | 
|---|
|  |  |  | // 如果是被永久拒绝就跳转到应用权限系统设置页面 | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | //                                toast("获取录音和日历权限失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } catch ( | 
|---|
|  |  |  | Throwable e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | protected void onActivityResult(int requestCode, int resultCode, Intent data) { | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String initPeasantCode = HexUtil.bytesToHex(Arrays.copyOfRange(readData.getBodyBytes(), 10, 26)); | 
|---|
|  |  |  | String serial = baseDao.adminDao().findFirst().getSerial(); | 
|---|
|  |  |  | UserCard userCard = new UserCard(); | 
|---|
|  |  |  | UserCardHN userCard = new UserCardHN(); | 
|---|
|  |  |  | userCard.setRechargeTimes(0); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ElectricPriceBean electricPriceBean = baseDao.electricPriceDao().findFirst(); | 
|---|