package cn.wildfire.chat.kit.contact.newfriend;
|
|
import android.content.Intent;
|
import android.os.Bundle;
|
import android.text.TextUtils;
|
import android.view.MenuItem;
|
import android.view.View;
|
import android.widget.LinearLayout;
|
import butterknife.BindView;
|
import cn.wildfire.chat.kit.R;
|
import cn.wildfire.chat.kit.R2;
|
import cn.wildfire.chat.kit.WfcBaseActivity;
|
import cn.wildfire.chat.kit.contact.model.PhoneDto;
|
import cn.wildfire.chat.kit.contact.model.SearchDoctorList;
|
import cn.wildfire.chat.kit.AppServices;
|
import cn.wildfire.chat.kit.net.BaseResultCallBack;
|
import cn.wildfire.chat.kit.utils.ThreadPool;
|
import cn.wildfire.chat.kit.widget.SearchView;
|
import cn.wildfirechat.model.FriendRequest;
|
import com.alibaba.fastjson.JSON;
|
|
import java.text.MessageFormat;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
public class AddressBookListActivity extends WfcBaseActivity {
|
|
@BindView(R2.id.sv_seatch)
|
SearchView mSvSeatch;
|
@BindView(R2.id.ll_friend_container)
|
LinearLayout mLlFriendContainer;
|
@BindView(R2.id.ll_add_note)
|
LinearLayout mLlAddNote;
|
private FriendRequestListFragment friendRequestListFragment;
|
private String TAG = "AddressBookListActivity";
|
private List<PhoneDto> phoneRawList;
|
|
|
@Override
|
protected void afterViews() {
|
Intent intent = getIntent();
|
|
String data = intent.getStringExtra("data");
|
if (TextUtils.isEmpty(data)) {
|
return;
|
}
|
phoneRawList = JSON.parseArray(data, PhoneDto.class);
|
getCheckDoctor();
|
|
mLlAddNote.setVisibility(View.GONE);
|
mLlFriendContainer.setVisibility(View.VISIBLE);
|
mSvSeatch.setHint("医生姓名/手机号");
|
mSvSeatch.setmActionListener(new SearchView.OnActionQueryListener() {
|
@Override
|
public void onQueryTextChange(String s) {
|
if (friendRequestListFragment != null) {
|
friendRequestListFragment.refreshSearchData(s);
|
}
|
}
|
});
|
}
|
|
private void getCheckDoctor() {
|
if (phoneRawList == null) {
|
return;
|
}
|
List<String> phoneList = new ArrayList<>();
|
for (PhoneDto phoneDto : phoneRawList) {
|
String telPhone = phoneDto.getTelPhone();
|
if (TextUtils.isEmpty(telPhone)) {
|
continue;
|
}
|
phoneList.add(telPhone);
|
}
|
AppServices.Instance().getDoctorListByPhone(phoneList, new BaseResultCallBack<SearchDoctorList>() {
|
@Override
|
public void onUiSuccess(SearchDoctorList searchDoctorList) {
|
if (searchDoctorList == null) {
|
showEmpty();
|
return;
|
}
|
List<SearchDoctorList.DoctorParamVoListDTO> doctorParamETOList = searchDoctorList.getDoctorParamETOList();
|
if (doctorParamETOList == null) {
|
showEmpty();
|
return;
|
}
|
ThreadPool.getInstance().getCachedPools().execute(new Runnable() {
|
@Override
|
public void run() {
|
List<FriendRequest> result= new ArrayList<>();
|
for (SearchDoctorList.DoctorParamVoListDTO doctorParamVoListDTO : doctorParamETOList) {
|
FriendRequest friendRequest = new FriendRequest();
|
friendRequest.portrait = doctorParamVoListDTO.getDoctorAvatar();
|
friendRequest.showName = doctorParamVoListDTO.getDoctorName();
|
friendRequest.target = doctorParamVoListDTO.getMedoDoctorId();
|
String doctorMobile = doctorParamVoListDTO.getDoctorMobile();
|
friendRequest.isRequest = false;
|
friendRequest.phone = doctorMobile;
|
friendRequest.subInfo = MessageFormat.format("{0} {1} {2}", doctorParamVoListDTO.getDoctorProfessional(), doctorParamVoListDTO.getMedoHospitalName(), doctorParamVoListDTO.getMediDiseaseClassifyName02());
|
for (PhoneDto phoneDto : phoneRawList) {
|
String telPhone = phoneDto.getTelPhone();
|
if (doctorMobile.trim().equalsIgnoreCase(telPhone.trim())) {
|
friendRequest.reason = MessageFormat.format("手机联系人:{0}", phoneDto.getName());
|
}
|
}
|
result.add(friendRequest);
|
}
|
friendRequestListFragment = new FriendRequestListFragment();
|
Bundle bundle = new Bundle();
|
bundle.putBoolean("isContact", true);
|
bundle.putString("data", JSON.toJSONString(result));
|
friendRequestListFragment.setArguments(bundle);
|
getSupportFragmentManager().beginTransaction()
|
.replace(R.id.containerFrameLayout, friendRequestListFragment)
|
.commit();
|
}
|
});
|
|
|
}
|
|
|
@Override
|
public void onUiFailure(int code, String msg) {
|
|
}
|
});
|
}
|
|
private void showEmpty() {
|
}
|
|
|
@Override
|
protected int contentLayout() {
|
return R.layout.fragment_container_activity;
|
}
|
|
@Override
|
protected int menu() {
|
return R.menu.channel_list;
|
}
|
|
@Override
|
public boolean onOptionsItemSelected(MenuItem item) {
|
if (item.getItemId() == R.id.more_common) {
|
addContact();
|
return true;
|
}
|
return super.onOptionsItemSelected(item);
|
}
|
|
void addContact() {
|
Intent intent = new Intent(this, SearchUserActivity.class);
|
startActivity(intent);
|
}
|
|
|
}
|