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