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.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.net.subscribers.SubscriberListener;
|
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 UserSearchActivity extends BaseActivity {
|
public static UserSearchActivity 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(UserSearchActivity.this, CardSearchActivity.class);
|
intent.putExtra("pearsontId", record.getPeasantId());
|
intent.putExtra("type", type);
|
intent.putExtra("dbUserCard", userCardBean);
|
UserSearchActivity.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) -> {
|
UserSearchActivity.this.name = name;
|
UserSearchActivity.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();
|
}
|
}
|
});
|
}
|
}
|