左晓为主开发手持机充值管理机
zuoxiao
2025-04-08 eb53d9c4837b5a0df0db1ca153e05bf305ce498a
generallibrary/src/main/java/com/dayu/general/activity/SearchUserListActivity.kt
@@ -1,5 +1,6 @@
package com.dayu.general.activity
import android.content.Intent
import android.os.Bundle
import androidx.recyclerview.widget.LinearLayoutManager
import com.dayu.baselibrary.net.subscribers.SubscriberListener
@@ -25,12 +26,12 @@
    var binding: ActivitySearchUserGeBinding? = null
    private var userAdapter: SearchUserListAdapter? = null
    var searchDialog: SearchDialog? = null
    // 分页相关变量
    private var currentPage = 1
    private val pageSize = 20
    private var hasMoreData = true
    // 保存当前搜索条件
    private var currentFarmerId = ""
    private var currentFarmerName = ""
@@ -57,11 +58,11 @@
                currentFarmerId = farmerId
                currentFarmerName = farmerName
                currentCardNumber = cardNumber
                // 重置分页状态
                currentPage = 1
                hasMoreData = true
                // 执行搜索
                searchUser(farmerId, farmerName, cardNumber, true)
            }
@@ -79,20 +80,22 @@
            layoutManager = LinearLayoutManager(this@SearchUserListActivity)
            adapter = userAdapter
        }
        // 设置列表项点击事件
        userAdapter?.setOnItemClickListener { user ->
            // 处理用户点击事件
            ToastUtil.show("已选择用户:${user.name}")
            // 这里可以添加跳转到用户详情页面的逻辑
            // val intent = Intent(this, UserDetailActivity::class.java)
            // intent.putExtra("userId", user.id)
            // startActivity(intent)
            // 传递用户信息到开卡界面
            val intent = Intent(this, NewCard2Activity::class.java)
            intent.putExtra("userName", user.name)
            intent.putExtra("idCard", user.idCard)
            intent.putExtra("farmerCode", user.clientNum)
            intent.putExtra("userId", user.id)
            startActivity(intent)
        }
    }
    private fun setupRefreshLayout() {
        binding?.refreshLayout?.apply {
            // 设置刷新和加载更多监听器
@@ -103,7 +106,7 @@
                    hasMoreData = true
                    searchUser(currentFarmerId, currentFarmerName, currentCardNumber, true)
                }
                override fun onLoadMore(refreshLayout: RefreshLayout) {
                    // 如果还有更多数据,加载下一页
                    if (hasMoreData) {
@@ -130,7 +133,12 @@
     * @param cardNumber 银行卡号
     * @param isRefresh 是否为刷新操作
     */
    private fun searchUser(farmerId: String, farmerName: String, cardNumber: String, isRefresh: Boolean = true) {
    private fun searchUser(
        farmerId: String,
        farmerName: String,
        cardNumber: String,
        isRefresh: Boolean = true
    ) {
        val map = mutableMapOf<String, Any>()
        if (farmerId.isNotEmpty()) {
@@ -144,7 +152,7 @@
        if (cardNumber.isNotEmpty()) {
            map["cardNum"] = cardNumber
        }
        // 添加分页参数
        map["pageCurr"] = currentPage
        map["pageSize"] = pageSize
@@ -159,7 +167,7 @@
                override fun onNext(t: BaseResponse<SearchUserResult>) {
                    // 完成刷新或加载动作
                    finishRefreshOrLoad(isRefresh)
                    if (t.success) {
                        // 处理搜索成功的情况
                        val result = t.content
@@ -172,7 +180,7 @@
                                } else {
                                    userAdapter?.addData(result.obj)
                                }
                                // 判断是否还有更多数据:根据当前页码和总页数判断
                                hasMoreData = currentPage < result.pageTotal
                            } else {
@@ -205,7 +213,7 @@
            }
        )
    }
    /**
     * 完成刷新或加载操作
     * @param isRefresh 是否为刷新操作