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(); 
 | 
                } 
 | 
            } 
 | 
        }); 
 | 
    } 
 | 
} 
 |