From 75f59fa9a615e3584694e820ff83503e8b72ea16 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 14 三月 2025 16:55:31 +0800
Subject: [PATCH] refactor(generallibrary):重构网络请求模块

---
 generallibrary/src/main/java/com/dayu/general/activity/SearchUserActivity.kt |  119 ++++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 88 insertions(+), 31 deletions(-)

diff --git a/generallibrary/src/main/java/com/dayu/general/activity/SearchUserActivity.kt b/generallibrary/src/main/java/com/dayu/general/activity/SearchUserActivity.kt
index c0fb6d5..3cf7116 100644
--- a/generallibrary/src/main/java/com/dayu/general/activity/SearchUserActivity.kt
+++ b/generallibrary/src/main/java/com/dayu/general/activity/SearchUserActivity.kt
@@ -1,11 +1,17 @@
 package com.dayu.general.activity
 
 import android.os.Bundle
-import android.widget.Toast
+import androidx.recyclerview.widget.LinearLayoutManager
+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.adapter.SearchListAdapter
+import com.dayu.general.bean.net.SearchUserResult
 import com.dayu.general.databinding.ActivitySearchUserGeBinding
 import com.dayu.general.dialog.SearchDialog
+import com.dayu.general.net.ApiManager
+import com.dayu.general.net.BaseResponse
 
 /**
  * @author: zuo
@@ -15,60 +21,111 @@
 class SearchUserActivity : BaseActivity() {
 
     var binding: ActivitySearchUserGeBinding? = null
+    private var userAdapter: SearchListAdapter? = null
+    var searchDialog: SearchDialog? = null
+
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         binding = ActivitySearchUserGeBinding.inflate(layoutInflater)
         setContentView(binding?.root)
         initView()
+        setupRecyclerView()
+
     }
 
 
     fun initView() {
+        searchDialog = SearchDialog(this)
+        searchDialog?.show()
         binding?.titleBar?.setOnItemclickListner(ClickType_LEFT_IMAGE) { this.finish() }
+        // 璁剧疆鎼滅储鐩戝惉鍣�
+        searchDialog?.setOnSearchListener(object : SearchDialog.OnSearchListener {
+            override fun onSearch(farmerId: String, farmerName: String, cardNumber: String) {
+                // 澶勭悊鎼滅储缁撴灉
+                // 杩欓噷鍙槸绀轰緥锛屽疄闄呭簲鐢ㄤ腑鍙兘闇�瑕佽皟鐢ˋPI鎴栨煡璇㈡暟鎹簱
+                val message =
+                    "鎼滅储鏉′欢锛歕n鍐滄埛缂栧彿锛�$farmerId\n鍐滄埛鍚嶇О锛�$farmerName\n鍗″彿锛�$cardNumber"
+                // 鎵ц瀹為檯鐨勬悳绱㈤�昏緫
+                searchUser(farmerId, farmerName, cardNumber)
+            }
+        })
         binding?.titleBar?.setOnItemclickListner(ClickType_RIGHT_IMAGE) {
             // 鍒涘缓鎼滅储瀵硅瘽妗�
-            val searchDialog = SearchDialog(this)
-
-            // 璁剧疆鎼滅储鐩戝惉鍣�
-            searchDialog.setOnSearchListener(object : SearchDialog.OnSearchListener {
-                override fun onSearch(farmerId: String, farmerName: String, cardNumber: String) {
-                    // 澶勭悊鎼滅储缁撴灉
-                    // 杩欓噷鍙槸绀轰緥锛屽疄闄呭簲鐢ㄤ腑鍙兘闇�瑕佽皟鐢ˋPI鎴栨煡璇㈡暟鎹簱
-                    val message =
-                        "鎼滅储鏉′欢锛歕n鍐滄埛缂栧彿锛�$farmerId\n鍐滄埛鍚嶇О锛�$farmerName\n鍗″彿锛�$cardNumber"
-                    // 鎵ц瀹為檯鐨勬悳绱㈤�昏緫
-                    performSearch(farmerId, farmerName, cardNumber)
-                }
-            })
             // 鏄剧ず瀵硅瘽妗�
-            searchDialog.show()
+            searchDialog?.show()
         }
     }
-    /**
-     * 鎵ц鎼滅储閫昏緫
-     * 杩欓噷鍙槸涓�涓ず渚嬫柟娉曪紝瀹為檯搴旂敤涓渶瑕佹牴鎹叿浣撻渶姹傚疄鐜�
-     */
-    private fun performSearch(farmerId: String, farmerName: String, cardNumber: String) {
-        // 杩欓噷鍙互瀹炵幇瀹為檯鐨勬悳绱㈤�昏緫
-        // 渚嬪锛氳皟鐢ˋPI銆佹煡璇㈡暟鎹簱绛�
 
-        // 绀轰緥锛氭瀯寤烘悳绱㈡潯浠�
-        val searchConditions = mutableMapOf<String, String>()
+    private fun setupRecyclerView() {
+        userAdapter = SearchListAdapter()
+        binding?.recyclerView?.apply {
+            layoutManager = LinearLayoutManager(this@SearchUserActivity)
+            adapter = userAdapter
+        }
+    }
+
+    /**
+     * 鏍规嵁鍐滄皯ID銆佸鍚嶅拰閾惰鍗″彿鎼滅储鐢ㄦ埛
+     *
+     * 姝ゅ嚱鏁版瀯寤轰竴涓弬鏁版槧灏勶紝鏍规嵁鎻愪緵鐨勫啘姘慖D銆佸鍚嶅拰閾惰鍗″彿鏉ユ悳绱㈢敤鎴�
+     * 瀹冧粎鍖呭惈鏈夋晥鐨勩�侀潪绌虹殑鎼滅储鍙傛暟锛屼互纭繚鎼滅储璇锋眰鐨勫噯纭�у拰鏁堢巼
+     *
+     * @param farmerId 鍐滄皯鐨勫敮涓�鏍囪瘑绗�
+     * @param farmerName 鍐滄皯鐨勫鍚�
+     * @param cardNumber 閾惰鍗″彿
+     */
+    private fun searchUser(farmerId: String, farmerName: String, cardNumber: String) {
+        val map = mutableMapOf<String, Any>()
 
         if (farmerId.isNotEmpty()) {
-            searchConditions["farmerId"] = farmerId
+            map["farmerId"] = farmerId
         }
 
         if (farmerName.isNotEmpty()) {
-            searchConditions["farmerName"] = farmerName
+            map["farmerName"] = farmerName
         }
 
         if (cardNumber.isNotEmpty()) {
-            searchConditions["cardNumber"] = cardNumber
+            map["cardNumber"] = cardNumber
         }
 
-        // 鏍规嵁鎼滅储鏉′欢鎵ц鎼滅储
-        // 瀹為檯搴旂敤涓紝杩欓噷鍙兘鏄綉缁滆姹傛垨鏁版嵁搴撴煡璇�
-        // searchRepository.search(searchConditions)
+        // 浣跨敤姝g‘鐨勭被鍨嬪弬鏁�
+        ApiManager.getInstance().requestGetLoading(
+            this,
+            "sell/client/get",
+            SearchUserResult::class.java,
+            map,
+            object : SubscriberListener<BaseResponse<SearchUserResult>>() {
+                override fun onNext(t: BaseResponse<SearchUserResult>) {
+                    if (t.success) {
+                        // 澶勭悊鎼滅储鎴愬姛鐨勬儏鍐�
+                        val result = t.content
+                        if (result != null) {
+                            // 澶勭悊鎼滅储缁撴灉
+                            if (result.obj.isNotEmpty()) {
+                                userAdapter?.setData(result.obj)
+                            } else {
+                                ToastUtil.show("鏈壘鍒板尮閰嶇殑鐢ㄦ埛")
+                            }
+                        } else {
+                            ToastUtil.show("鏈壘鍒板尮閰嶇殑鐢ㄦ埛")
+                        }
+                    } else {
+                        // 澶勭悊鎼滅储澶辫触鐨勬儏鍐�
+                        ToastUtil.show(t.msg)
+                    }
+                }
+
+                override fun onError(e: Throwable?) {
+                    super.onError(e)
+                    ToastUtil.show("鎼滅储澶辫触: ${e?.message ?: "鏈煡閿欒"}")
+                }
+            }
+        )
     }
-}
\ No newline at end of file
+
+    /**
+     * 澶勭悊鎼滅储缁撴灉
+     */
+
+}

--
Gitblit v1.8.0