From 454a84caa83c4ebc1b4c422f10166bddfb0e03ec Mon Sep 17 00:00:00 2001
From: Linjiajia <319408893@qq.com>
Date: 星期四, 21 九月 2023 21:53:30 +0800
Subject: [PATCH] 1、修复添加按钮消失问题\n2、修改家族导图\n3、新增便捷添加功能\n4、新增修改头像功能\n5、个人财产增加搜索条件

---
 app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java |   87 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 87 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java
index 4f0edf6..a359b70 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java
@@ -7,14 +7,29 @@
 import androidx.annotation.NonNull;
 import androidx.lifecycle.MutableLiveData;
 
+import com.android.app_base.base.StateViewEnum;
 import com.android.app_base.base.viewmodel.BaseViewModel;
 import com.android.app_base.http.ResultData;
+import com.android.app_base.manager.UserManager;
 import com.android.app_base.utils.RxUtils;
+import com.android.app_base.utils.rxbus.MessageEvent;
+import com.android.app_base.utils.rxbus.RxBus;
+import com.application.zhangshi_app_android.bean.BannerBean;
 import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean;
+import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
 import com.application.zhangshi_app_android.data.DataRepository;
 
+import java.io.File;
+
+import io.reactivex.ObservableSource;
 import io.reactivex.Observer;
 import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
+import io.reactivex.functions.Consumer;
+import io.reactivex.functions.Function;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
 
 /**
  * @author Ljj
@@ -48,6 +63,12 @@
                     public void onNext(ResultData<GrowthExperienceInformationBean> data) {
                         if (data.getCode() == CODE_SUCCESS){
                             getInfoLiveData().postValue(data.getData());
+                            GrowthExperienceInformationBean informationBean = data.getData();
+                            if(informationBean != null){
+                                UserManager.getInstance().setUserName(informationBean.getNickName());
+                                UserManager.getInstance().setUserAvatar(informationBean.getImg());
+                                RxBus.getInstance().post(new MessageEvent(MessageEvent.EVENT_UPDATE_USER_INFO,informationBean));
+                            }
                         }else {
                             messageLiveData.postValue(data.getMsg());
                         }
@@ -66,6 +87,72 @@
                 });
     }
 
+    /**
+     * 淇敼涓汉淇℃伅锛堝ご鍍忥級
+     */
+    public void updateInfo(String realPath) {
+        File file = new File(realPath);
+        RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
+        MultipartBody.Part body = MultipartBody.Part.createFormData("uploadFile", file.getName(), requestBody);
+        model.uploadFile(body)
+                .flatMap(new Function<ResultData<UploadFileResponseBean>, ObservableSource<ResultData<String>>>() {
+                    @Override
+                    public ObservableSource<ResultData<String>> apply(ResultData<UploadFileResponseBean> resultData) throws Exception {
+                        GrowthExperienceInformationBean bean = getInfoLiveData().getValue();
+                        if (bean == null){
+                            bean = new GrowthExperienceInformationBean();
+                        }
+                        bean.setImg(resultData.getData().getUrl());
+                        infoLiveData.postValue(bean);
+                        return model.updateGrowthExperienceInformation(bean);
+                    }
+                })
+                .compose(RxUtils.schedulersTransformer())
+                .doOnSubscribe(new Consumer<Disposable>() {
+                    @Override
+                    public void accept(Disposable disposable) throws Exception {
+                        changeStateView(StateViewEnum.DIALOG_LOADING);
+                    }
+                })
+                .doFinally(new Action() {
+                    @Override
+                    public void run() throws Exception {
+                        changeStateView(StateViewEnum.DIALOG_DISMISS);
+                    }
+                })
+                .subscribe(new Observer<ResultData<String>>() {
+                    @Override
+                    public void onSubscribe(Disposable d) {
+                        addSubscribe(d);
+                    }
+
+                    @Override
+                    public void onNext(ResultData<String> data) {
+                        if (data.getCode() == CODE_SUCCESS){
+                            messageLiveData.postValue("澶村儚宸蹭笂浼�");
+                            GrowthExperienceInformationBean informationBean = getInfoLiveData().getValue();
+                            if(informationBean != null){
+                                UserManager.getInstance().setUserName(informationBean.getNickName());
+                                UserManager.getInstance().setUserAvatar(informationBean.getUrl());
+                                RxBus.getInstance().post(new MessageEvent(MessageEvent.EVENT_UPDATE_USER_INFO,informationBean));
+                            }
+                        }else {
+                            messageLiveData.postValue(data.getMsg());
+                        }
+                    }
+
+                    @Override
+                    public void onError(Throwable e) {
+                        messageLiveData.postValue(e.getMessage());
+                    }
+
+                    @Override
+                    public void onComplete() {
+
+                    }
+                });
+    }
+
 
     public MutableLiveData<GrowthExperienceInformationBean> getInfoLiveData() {
         if (infoLiveData == null){

--
Gitblit v1.9.1