| | |
| | | |
| | | // 用户ID |
| | | private var userId: String = "" |
| | | |
| | | // 客户ID |
| | | private var clientId: String = "" |
| | | |
| | | companion object { |
| | | private const val TAG = "NewCard2Activity" |
| | |
| | | val pageSize: Any?, |
| | | val pageTotal: Any? |
| | | ) |
| | | |
| | | // 用户信息数据类 |
| | | data class ClientInfo( |
| | | val clientId: String, |
| | | val clientNum: String, |
| | | val name: String, |
| | | val districtNum: String, |
| | | val phone: String, |
| | | val idCard: String, |
| | | val villageName: String, |
| | | val address: String, |
| | | val cardCount: Int, |
| | | val operateDt: String |
| | | ) |
| | | |
| | | override fun onCreate(savedInstanceState: Bundle?) { |
| | | super.onCreate(savedInstanceState) |
| | | binding = ActivityNewCard1GeBinding.inflate(layoutInflater) |
| | | setContentView(binding.root) |
| | | |
| | | // 获取传递的clientId参数 |
| | | clientId = intent.getStringExtra("clientId") ?: "" |
| | | |
| | | initView() |
| | | |
| | | // 如果有clientId,获取客户信息 |
| | | if (clientId.isNotEmpty()) { |
| | | getClientInfo(clientId) |
| | | } |
| | | |
| | | // 获取支付方式 |
| | | getPaymentMethods() |
| | | initListener() |
| | | } |
| | | |
| | | |
| | | private fun initView() { |
| | | // 初始化标题栏返回按钮 |
| | |
| | | // 初始化NFC读卡容器,初始隐藏 |
| | | binding.nfcContainer.visibility = View.VISIBLE |
| | | |
| | | // 从Intent中获取用户信息(如果有) |
| | | val userName = intent.getStringExtra("userName") ?: "" |
| | | val rawIdCard = intent.getStringExtra("idCard") |
| | | val idCard = if (rawIdCard.isNullOrBlank()) "无" else rawIdCard |
| | | val farmerCode = intent.getStringExtra("farmerCode") ?: "" |
| | | userId = intent.getStringExtra("userId") ?: "" |
| | | |
| | | // 设置用户信息 |
| | | binding.newCardUserName.text = userName |
| | | binding.newCardIdCard.text = idCard |
| | | binding.newCardFarmerCode.text = farmerCode |
| | | |
| | | // 设置金额输入限制为两位小数 |
| | | binding.newCardRechargeAmount.addTextChangedListener(createDecimalTextWatcher()) |
| | | binding.newCardCardFee.addTextChangedListener(createDecimalTextWatcher()) |
| | | } |
| | | |
| | | /** |
| | | * 获取客户详细信息 |
| | | */ |
| | | private fun getClientInfo(clientId: String) { |
| | | ApiManager.getInstance().requestGetLoading( |
| | | this, |
| | | "terminal/client/getTermOne/$clientId", |
| | | ClientInfo::class.java, |
| | | null, |
| | | object : SubscriberListener<BaseResponse<ClientInfo>>() { |
| | | override fun onNext(response: BaseResponse<ClientInfo>) { |
| | | if (response.success) { |
| | | val clientInfo = response.content |
| | | if (clientInfo != null) { |
| | | // 显示客户信息到界面 |
| | | displayClientInfo(clientInfo) |
| | | } else { |
| | | Toast.makeText( |
| | | this@NewCard2Activity, |
| | | "获取客户信息失败: 返回数据为空", |
| | | Toast.LENGTH_SHORT |
| | | ).show() |
| | | } |
| | | } else { |
| | | Toast.makeText( |
| | | this@NewCard2Activity, |
| | | "获取客户信息失败: ${response.msg}", |
| | | Toast.LENGTH_SHORT |
| | | ).show() |
| | | } |
| | | } |
| | | |
| | | override fun onError(e: Throwable?) { |
| | | super.onError(e) |
| | | Toast.makeText( |
| | | this@NewCard2Activity, |
| | | "获取客户信息失败: ${e?.message ?: "网络异常"}", |
| | | Toast.LENGTH_SHORT |
| | | ).show() |
| | | } |
| | | } |
| | | ) |
| | | } |
| | | |
| | | /** |
| | | * 显示客户信息到界面 |
| | | */ |
| | | private fun displayClientInfo(clientInfo: ClientInfo) { |
| | | // 保存用户ID供后续使用 |
| | | userId = clientInfo.clientId |
| | | |
| | | // 显示用户基本信息 |
| | | binding.newCardUserName.text = clientInfo.name |
| | | binding.newCardIdCard.text = if (clientInfo.idCard.isBlank()) "无" else clientInfo.idCard |
| | | binding.newCardFarmerCode.text = clientInfo.clientNum |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 注册新卡 |
| | | */ |
| | | private fun registerNewCard() { |
| | | // 获取充值金额 |
| | | val rechargeAmountStr = binding.newCardRechargeAmount.text.toString() |