删除宝宝

This commit is contained in:
BA7LZD 2020-06-06 23:25:08 +08:00
parent bcc4879db5
commit 735b8c3924
11 changed files with 210 additions and 15 deletions

View File

@ -63,6 +63,14 @@ public interface UpdateService {
Call<Result> addBaby(
@Body AddBabyParams params
);
@POST("/editBaby")
Call<Result> editBaby(
@Body AddBabyParams params
);
@POST("/deleteBaby")
Call<Result> deleteBaby(
@Body AddBabyParams params
);
@POST("/getBabyList")
Call<Result<BabyInfoModel>> getBabyList(

View File

@ -26,6 +26,7 @@ import com.yuxihan.sdu.comm.util.DataUtil;
import com.yuxihan.sdu.comm.util.GlideEngine;
import com.yuxihan.sdu.comm.widget.ActionSheetDialog;
import com.yuxihan.sdu.comm.widget.CommonDialog;
import com.yuxihan.sdu.ui.baby.model.BabyInfoModel;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@ -42,9 +43,11 @@ public class AddBabyActivity extends BaseActivity implements View.OnClickListene
private TextView tv_birthday;
private TextView tv_baby_name;
private TextView tv_baby_gender;
private TextView tv_activity_title;
private ImageView iv_baby_head;
private String selectedDate;
private AddBabyParams addBabyParams = new AddBabyParams();
private BabyInfoModel.BabyBean curBaby = null;
AddBabyViewModel addBabyViewModel;
@ -53,9 +56,17 @@ public class AddBabyActivity extends BaseActivity implements View.OnClickListene
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_baby);
addBabyViewModel = new ViewModelProvider(this).get(AddBabyViewModel.class);
getIntentData();
initView();
}
private void getIntentData() {
Bundle extras = getIntent().getExtras();
if (extras != null) {
curBaby = (BabyInfoModel.BabyBean) extras.get("key");
}
}
private void initView() {
findViewById(R.id.iv_back).setOnClickListener(this);
findViewById(R.id.tv_save).setOnClickListener(this);
@ -67,6 +78,22 @@ public class AddBabyActivity extends BaseActivity implements View.OnClickListene
tv_baby_name = findViewById(R.id.tv_baby_name);
tv_baby_gender = findViewById(R.id.tv_baby_gender);
iv_baby_head = findViewById(R.id.iv_baby_head);
tv_activity_title = findViewById(R.id.tv_activity_title);
if (null != curBaby) {
tv_baby_name.setText(curBaby.getBabyName());
tv_birthday.setText(curBaby.getBabyBirthday());
String gender = "";
if (curBaby.getBabyGender() == 0) {
gender = "";
} else if (curBaby.getBabyGender() == 1) {
gender = "";
}
tv_baby_gender.setText(gender);
Glide.with(AddBabyActivity.this).load(curBaby.getBabyHead()).placeholder(R.drawable.ic_baby_head).into(iv_baby_head);
addBabyParams.setBabyHead(curBaby.getBabyHead());
tv_activity_title.setText("宝宝信息编辑");
}
// addBabyViewModel.getUpdateUserHead().observe(AddBabyActivity.this,
// new Observer<UpdateUserHeadState>() {
@ -91,11 +118,6 @@ public class AddBabyActivity extends BaseActivity implements View.OnClickListene
addBabyParams.setBabyHead(event.getHeadUrl());
}
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(AddBabySuccessEvent event) {
setResult(0);
finish();
}
@Override
public void onClick(View v) {
@ -104,7 +126,13 @@ public class AddBabyActivity extends BaseActivity implements View.OnClickListene
finish();
break;
case R.id.tv_save:
checkParams();
setParams();
if (null != curBaby) {
editBaby();
} else {
addBaby();
}
break;
case R.id.rl_baby_head:
updateUserHead();
@ -130,7 +158,24 @@ public class AddBabyActivity extends BaseActivity implements View.OnClickListene
}
}
private void checkParams() {
private void editBaby() {
if (addBabyParams.isValid()) {
addBabyParams.setBabyId(curBaby.getBabyId());
addBabyViewModel.addBaby(addBabyParams);
} else {
Toast.makeText(SDUApp.getAppContext(), "信息输入不全~", Toast.LENGTH_LONG).show();
}
}
private void addBaby() {
if (addBabyParams.isValid()) {
addBabyViewModel.addBaby(addBabyParams);
} else {
Toast.makeText(SDUApp.getAppContext(), "信息输入不全~", Toast.LENGTH_LONG).show();
}
}
private void setParams() {
addBabyParams.setBabyBirthday(tv_birthday.getText().toString().trim());
if ("".equals(tv_baby_gender.getText().toString())) {
addBabyParams.setBabyGender(0);
@ -140,11 +185,6 @@ public class AddBabyActivity extends BaseActivity implements View.OnClickListene
addBabyParams.setBabyGender(-1);
}
addBabyParams.setBabyName(tv_baby_name.getText().toString());
if (addBabyParams.isValid()) {
addBabyViewModel.addBaby(addBabyParams);
} else {
Toast.makeText(SDUApp.getAppContext(), "信息输入不全~", Toast.LENGTH_LONG).show();
}
}
@Override
@ -356,6 +396,12 @@ public class AddBabyActivity extends BaseActivity implements View.OnClickListene
}
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(AddBabySuccessEvent event) {
setResult(0);
finish();
}
@Override
public void onStart() {
super.onStart();

View File

@ -20,6 +20,15 @@ public class AddBabyParams extends BaseRequestParams {
private String babyHead;
private int babyGender;
private String babyBirthday;
private int babyId;
public int getBabyId() {
return babyId;
}
public void setBabyId(int babyId) {
this.babyId = babyId;
}
public String getBabyName() {
return babyName;

View File

@ -68,6 +68,39 @@ public class AddBabyViewModel extends ViewModel {
}
public void editBaby(AddBabyParams params) {
UpdateService updateService = SDUApp.getRetrofit().create(UpdateService.class);
Call<Result> call = updateService.editBaby(params);
call.enqueue(new Callback<Result>() {
@Override
public void onResponse(Call<Result> call, Response<Result> response) {
//请求成功返回是一个封装为DataBean的响应
if (null == response.body()) {
Toast.makeText(SDUApp.getAppContext(), "Internal Server Error",
Toast.LENGTH_LONG).show();
return;
}
if (Const.ERROR_CODE_NORMAL.equals(response.body().getErrCode())) {
Toast.makeText(SDUApp.getAppContext(), "宝宝信息编辑成功!",
Toast.LENGTH_SHORT).show();
EventBus.getDefault().post(new AddBabySuccessEvent());
} else {
Toast.makeText(SDUApp.getAppContext(), response.body().getErrMsg(),
Toast.LENGTH_LONG).show();
}
}
@Override
public void onFailure(Call<Result> call, Throwable t) {
//请求失败
Log.e("TAG", "请求失败:" + t.getMessage());
Toast.makeText(SDUApp.getAppContext(), "服务器开小差了!",
Toast.LENGTH_LONG).show();
}
});
}
/**
* 上传
*

View File

@ -15,6 +15,10 @@ import com.yuxihan.sdu.comm.BaseActivity;
import com.yuxihan.sdu.ui.baby.adapter.BabyListAdapter;
import com.yuxihan.sdu.ui.baby.model.BabyInfoModel;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
public class BabyListActivity extends BaseActivity implements View.OnClickListener {
BabyListViewModel babyListViewModel;
RecyclerView rv_baby_list;
@ -58,6 +62,7 @@ public class BabyListActivity extends BaseActivity implements View.OnClickListen
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
@ -65,4 +70,31 @@ public class BabyListActivity extends BaseActivity implements View.OnClickListen
babyListViewModel.getBabyList();
}
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(RefreshListEvent event) {
babyListViewModel.getBabyList();
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(DeleteBabyEvent event) {
AddBabyParams addBabyParams = new AddBabyParams();
addBabyParams.setBabyId(event.babyBean.getBabyId());
babyListViewModel.deleteBaby(addBabyParams);
}
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
}

View File

@ -12,6 +12,8 @@ import com.yuxihan.sdu.data.Result;
import com.yuxihan.sdu.data.UpdateService;
import com.yuxihan.sdu.ui.baby.model.BabyInfoModel;
import org.greenrobot.eventbus.EventBus;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
@ -54,4 +56,33 @@ public class BabyListViewModel extends ViewModel {
});
}
public void deleteBaby(AddBabyParams params) {
UpdateService updateService = SDUApp.getRetrofit().create(UpdateService.class);
Call<Result> call = updateService.deleteBaby(params);
call.enqueue(new Callback<Result>() {
@Override
public void onResponse(Call<Result> call, Response<Result> response) {
//请求成功返回是一个封装为DataBean的响应
if (null == response.body()) {
Toast.makeText(SDUApp.getAppContext(), "Internal Server Error",
Toast.LENGTH_LONG).show();
return;
}
if (Const.ERROR_CODE_NORMAL.equals(response.body().getErrCode())) {
EventBus.getDefault().post(new RefreshListEvent());
} else {
Toast.makeText(SDUApp.getAppContext(), response.body().getErrMsg(),
Toast.LENGTH_LONG).show();
}
}
@Override
public void onFailure(Call<Result> call, Throwable t) {
//请求失败
Toast.makeText(SDUApp.getAppContext(), "服务器开小差了!",
Toast.LENGTH_LONG).show();
}
});
}
}

View File

@ -0,0 +1,19 @@
package com.yuxihan.sdu.ui.baby;
import com.yuxihan.sdu.ui.baby.model.BabyInfoModel;
public class DeleteBabyEvent {
BabyInfoModel.BabyBean babyBean;
public DeleteBabyEvent(BabyInfoModel.BabyBean babyBean) {
this.babyBean = babyBean;
}
public BabyInfoModel.BabyBean getBabyBean() {
return babyBean;
}
public void setBabyBean(BabyInfoModel.BabyBean babyBean) {
this.babyBean = babyBean;
}
}

View File

@ -0,0 +1,5 @@
package com.yuxihan.sdu.ui.baby;
public class RefreshListEvent {
}

View File

@ -1,6 +1,8 @@
package com.yuxihan.sdu.ui.baby.adapter;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@ -13,9 +15,13 @@ import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.yuxihan.sdu.R;
import com.yuxihan.sdu.comm.util.CommViewHolder;
import com.yuxihan.sdu.ui.baby.AddBabyActivity;
import com.yuxihan.sdu.ui.baby.DeleteBabyEvent;
import com.yuxihan.sdu.ui.baby.model.BabyInfoModel;
import com.yuxihan.sdu.ui.home.adapter.HomeListAdapter;
import org.greenrobot.eventbus.EventBus;
public class BabyListAdapter extends RecyclerView.Adapter {
private BabyInfoModel babyInfoModel;
private Context mContext;
@ -46,13 +52,17 @@ public class BabyListAdapter extends RecyclerView.Adapter {
CommViewHolder.get(holder.itemView, R.id.ll_delete_baby).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EventBus.getDefault().post(new DeleteBabyEvent(curBaby));
}
});
CommViewHolder.get(holder.itemView, R.id.rl_edit_baby).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mContext, AddBabyActivity.class);
Bundle bundle = new Bundle();
bundle.putSerializable("key", curBaby);
intent.putExtras(bundle);
mContext.startActivity(intent);
}
});
}

View File

@ -1,5 +1,6 @@
package com.yuxihan.sdu.ui.baby.model;
import java.io.Serializable;
import java.util.List;
public class BabyInfoModel {
@ -14,7 +15,7 @@ public class BabyInfoModel {
this.babyList = babyList;
}
public static class BabyBean {
public static class BabyBean implements Serializable {
/**
* familyId : 8
* babyId : 2

View File

@ -25,6 +25,7 @@
android:src="@drawable/ic_arrow_left" />
<TextView
android:id="@+id/tv_activity_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"