| package com.dayu.qiheonlinelibrary.activity; | 
|   | 
| import static com.dayu.baselibrary.view.TitleBar.ClickType_RIGHT_TEXT; | 
|   | 
| import android.content.Intent; | 
| import android.os.Bundle; | 
| import android.view.LayoutInflater; | 
| import android.view.View; | 
|   | 
| import androidx.recyclerview.widget.LinearLayoutManager; | 
|   | 
| import com.dayu.baselibrary.net.subscribers.SubscriberListener; | 
| import com.dayu.qiheonlinelibrary.adapter.UserSearchAdapter; | 
| import com.dayu.qiheonlinelibrary.bean.UserListResult; | 
| import com.dayu.qiheonlinelibrary.databinding.ActivityUserSearchQhlBinding; | 
| import com.dayu.qiheonlinelibrary.dbBean.UserCardBean; | 
| import com.dayu.qiheonlinelibrary.net.ApiManager; | 
| import com.dayu.qiheonlinelibrary.net.BaseResponse; | 
| import com.dayu.qiheonlinelibrary.view.UserSearchDialog; | 
| import com.scwang.smart.refresh.footer.ClassicsFooter; | 
| import com.scwang.smart.refresh.layout.api.RefreshLayout; | 
| import com.scwang.smart.refresh.layout.listener.OnLoadMoreListener; | 
|   | 
| import java.util.ArrayList; | 
| import java.util.HashMap; | 
| import java.util.List; | 
| import java.util.Map; | 
|   | 
| /** | 
|  * author: zuo | 
|  * Date: 2024-08-07 | 
|  * Time: 18:13 | 
|  * 备注:用户搜索 | 
|  */ | 
| public class UserSearchActivityQHOline extends QHOlineBaseActivity { | 
|     public static UserSearchActivityQHOline userSearchActivity; | 
|   | 
|     ActivityUserSearchQhlBinding binding; | 
|     UserSearchDialog userSearchDialog; | 
|     RefreshLayout myRefreshLayout; | 
|     UserSearchAdapter adapter; | 
|   | 
|     int page = 1; | 
|     int size = 10; | 
|     String name; | 
|     String cardID; | 
|     List<UserListResult.Records> records = new ArrayList<>(); | 
|   | 
|     int type;//当前操作类型 | 
|   | 
|     UserCardBean userCardBean = new UserCardBean(); | 
|   | 
|     @Override | 
|     protected void onCreate(Bundle savedInstanceState) { | 
|         super.onCreate(savedInstanceState); | 
|         userSearchActivity = this; | 
|         binding = ActivityUserSearchQhlBinding.inflate(LayoutInflater.from(this)); | 
|         setContentView(binding.getRoot()); | 
|         type = this.getIntent().getIntExtra("type", 0); | 
|         initView(); | 
|         showDialog(); | 
|     } | 
|   | 
|     private void initView() { | 
|         myRefreshLayout = (RefreshLayout) binding.refreshLayout; | 
|         myRefreshLayout.setEnableRefresh(false); | 
|         myRefreshLayout.setRefreshFooter(new ClassicsFooter(this)); | 
|         myRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { | 
|             @Override | 
|             public void onLoadMore(RefreshLayout refreshlayout) { | 
|                 page = page + 1; | 
|                 selectUser(cardID, name, false); | 
|             } | 
|         }); | 
|         adapter = new UserSearchAdapter(this, records, new UserSearchAdapter.OnItemClickListener() { | 
|             @Override | 
|             public void onItemClick(int position) { | 
|                 UserListResult.Records record = records.get(position); | 
|                 userCardBean.setUserName(record.getPeasantName()); | 
|                 userCardBean.setUserID(record.getPeasantIdNumber()); | 
|                 userCardBean.setPhone(record.getPeasantPhone()); | 
|                 userCardBean.setPersonId(record.getPeasantId()); | 
|                 userCardBean.setAddressCode(record.getAdcd()); | 
|                 userCardBean.setAddressName(record.getAdcdName()); | 
|                 Intent intent = new Intent(UserSearchActivityQHOline.this, CardSearchActivityQHOline.class); | 
|                 intent.putExtra("pearsontId", record.getPeasantId()); | 
|                 intent.putExtra("type", type); | 
|                 intent.putExtra("dbUserCard", userCardBean); | 
|                 UserSearchActivityQHOline.this.startActivity(intent); | 
|             } | 
|         }); | 
|         LinearLayoutManager layoutManager = new LinearLayoutManager(this); | 
|         binding.recyclerView.setLayoutManager(layoutManager); | 
|         binding.recyclerView.setAdapter(adapter); | 
|         titleBar.setOnItemclickListner(ClickType_RIGHT_TEXT, new View.OnClickListener() { | 
|             @Override | 
|             public void onClick(View v) { | 
|                 showDialog(); | 
|             } | 
|         }); | 
|   | 
|     } | 
|   | 
|     private void showDialog() { | 
|         userSearchDialog = new UserSearchDialog(this, (name, cardId) -> { | 
|             UserSearchActivityQHOline.this.name = name; | 
|             UserSearchActivityQHOline.this.cardID = cardId; | 
|   | 
|             selectUser(cardId, name, true); | 
|         }); | 
|         userSearchDialog.show(); | 
|     } | 
|   | 
|     /** | 
|      * 查询用户 | 
|      * | 
|      * @param peasantIdNumber | 
|      */ | 
|     private void selectUser(String peasantIdNumber, String name, boolean isRefresh) { | 
|         if (isRefresh) { | 
|             page = 1; | 
|             records.clear(); | 
|         } | 
|         Map<String, Object> data = new HashMap<>(); | 
|         data.put("peasantIdNumber", peasantIdNumber); | 
|         data.put("peasantName", name); | 
|         data.put("current", page); | 
|         data.put("pageSize", size); | 
|         ApiManager.getInstance().requestPostLoading(this, "base/peasant/pagePeasantVo", UserListResult.class, data, new SubscriberListener<BaseResponse<UserListResult>>() { | 
|             @Override | 
|             public void onNext(BaseResponse<UserListResult> t) { | 
|                 if (t.isSuccess()) { | 
|                     if (t.getData().getTotal() == records.size() || size > t.getData().getTotal()) { | 
|                         myRefreshLayout.finishLoadMoreWithNoMoreData(); | 
|                     } | 
|                     records.addAll(t.getData().getRecords()); | 
|                     adapter.notifyDataSetChanged(); | 
|                     myRefreshLayout.finishLoadMore(); | 
|                 } | 
|             } | 
|         }); | 
|     } | 
| } |