左晓为主开发手持机充值管理机
zuoxiao
2025-03-07 0ec9693c39a910233fc186a8cefab9f61030df78
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
package com.dayu.general.activity
 
import android.os.Bundle
import com.dayu.baselibrary.net.subscribers.SubscriberListener
import com.dayu.baselibrary.utils.ToastUtil
import com.dayu.baselibrary.view.TitleBar.ClickType_LEFT_IMAGE
import com.dayu.baselibrary.view.TitleBar.ClickType_RIGHT_IMAGE
import com.dayu.general.bean.net.SearchUserResult
import com.dayu.general.databinding.ActivitySearchUserGeBinding
import com.dayu.general.dialog.SearchDialog
import com.dayu.general.net.BaseResponse
import com.dayu.qiheonlinelibrary.net.ApiManager
 
/**
 * @author: zuo
 * @date: 2023/6/26 16:09
 * @description:搜索用户
 */
class SearchUserActivity : BaseActivity() {
 
    var binding: ActivitySearchUserGeBinding? = null
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivitySearchUserGeBinding.inflate(layoutInflater)
        setContentView(binding?.root)
        initView()
    }
 
 
    fun initView() {
        binding?.titleBar?.setOnItemclickListner(ClickType_LEFT_IMAGE) { this.finish() }
        binding?.titleBar?.setOnItemclickListner(ClickType_RIGHT_IMAGE) {
            // 创建搜索对话框
            val searchDialog = SearchDialog(this)
 
            // 设置搜索监听器
            searchDialog.setOnSearchListener(object : SearchDialog.OnSearchListener {
                override fun onSearch(farmerId: String, farmerName: String, cardNumber: String) {
                    // 处理搜索结果
                    // 这里只是示例,实际应用中可能需要调用API或查询数据库
                    val message =
                        "搜索条件:\n农户编号:$farmerId\n农户名称:$farmerName\n卡号:$cardNumber"
                    // 执行实际的搜索逻辑
                    performSearch(farmerId, farmerName, cardNumber)
                }
            })
            // 显示对话框
            searchDialog.show()
        }
    }
 
    /**
     * 执行搜索逻辑
     * 这里只是一个示例方法,实际应用中需要根据具体需求实现
     */
    private fun performSearch(farmerId: String, farmerName: String, cardNumber: String) {
        // 调用实际的搜索API
        searchUser(farmerId, farmerName, cardNumber)
    }
 
    private fun searchUser(farmerId: String, farmerName: String, cardNumber: String) {
        val map = mutableMapOf<String, String>()
        
        if (farmerId.isNotEmpty()) {
            map["farmerId"] = farmerId
        }
        
        if (farmerName.isNotEmpty()) {
            map["farmerName"] = farmerName
        }
        
        if (cardNumber.isNotEmpty()) {
            map["cardNumber"] = cardNumber
        }
 
        // 使用正确的类型参数
        ApiManager.getInstance().requestGetLoading(
            this,
            "searchUser",
            SearchUserResult::class.java,
            map,
            object : SubscriberListener<BaseResponse<SearchUserResult>>() {
                override fun onNext(t: BaseResponse<SearchUserResult>) {
                    if (t.success) {
                        // 处理搜索成功的情况
                        val result = t.content
                        if (result != null) {
                            // 处理搜索结果
                            handleSearchResult(result)
                        } else {
                            ToastUtil.show("未找到匹配的用户")
                        }
                    } else {
                        // 处理搜索失败的情况
                        ToastUtil.show(t.msg)
                    }
                }
                
                override fun onError(e: Throwable?) {
                    super.onError(e)
                    ToastUtil.show("搜索失败: ${e?.message ?: "未知错误"}")
                }
            }
        )
    }
    
    /**
     * 处理搜索结果
     */
    private fun handleSearchResult(result: SearchUserResult) {
        // 在这里实现搜索结果的处理逻辑
        // 例如:更新UI显示搜索结果列表
        // 或者跳转到结果详情页面
    }
 
}