package com.application.zhangshi_app_android.ui.function; import static com.android.app_base.base.BaseConfig.CODE_SUCCESS; import android.app.Application; import androidx.annotation.NonNull; import androidx.lifecycle.MutableLiveData; 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.base.viewmodel.BaseViewModel; import com.android.app_base.utils.rxbus.MessageEvent; import com.android.app_base.utils.rxbus.RxBus; import com.application.zhangshi_app_android.bean.GrowthExperienceAbroadConditionBean; import com.application.zhangshi_app_android.bean.GrowthExperienceAutobiographyBean; import com.application.zhangshi_app_android.bean.GrowthExperienceBean; import com.application.zhangshi_app_android.bean.GrowthExperienceHolderConditionBean; import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean; import com.application.zhangshi_app_android.bean.GrowthExperienceRelationshipBean; import com.application.zhangshi_app_android.data.DataRepository; import java.util.List; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; /** * @author Gss * @date 2023.03.31. 21:33 * @desc 成长经历 viewModel */ public class GrowthExperienceActivityViewModel extends BaseViewModel { private MutableLiveData> experienceListLiveData;//成长经历列表 private MutableLiveData infoLiveData;//个人信息 private MutableLiveData> autobiographyLiveData;//自传列表 private MutableLiveData> relationLiveData;//关系列表 private MutableLiveData> holderLiveData;//持证情况列表 private MutableLiveData> abroadLiveData;//出国情况列表 private MutableLiveData isExperienceExpendedLiveData;//成长经历是否展开 private MutableLiveData isRelationExpendedLiveData;//关系是否展开 private MutableLiveData isHolderExpendedLiveData;//持证情况是否展开 private MutableLiveData isAbroadExpendedLiveData;//出国情况是否展开 public GrowthExperienceActivityViewModel(@NonNull Application application) { super(application); } @Override protected DataRepository initModel() { return DataRepository.getInstance(); } /** * 获取成长经历 */ public void getGrowthExperience(){ model.getGrowthExperience() .compose(RxUtils.schedulersTransformer()) .subscribe(new Observer>>() { @Override public void onSubscribe(Disposable d) { addSubscribe(d); } @Override public void onNext(ResultData> data) { if (data.getCode() == CODE_SUCCESS){ experienceListLiveData.postValue(data.getData()); }else { messageLiveData.postValue(data.getMsg()); } } @Override public void onError(Throwable e) { messageLiveData.postValue(e.getMessage()); } @Override public void onComplete() { } }); } /** * 获取个人信息 */ public void getInfo(){ model.getGrowthExperienceInformation() .compose(RxUtils.schedulersTransformer()) .subscribe(new Observer>() { @Override public void onSubscribe(Disposable d) { addSubscribe(d); } @Override public void onNext(ResultData data) { if (data.getCode() == CODE_SUCCESS){ GrowthExperienceInformationBean informationBean = data.getData(); infoLiveData.postValue(informationBean); 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()); } } @Override public void onError(Throwable e) { messageLiveData.postValue(e.getMessage()); } @Override public void onComplete() { } }); } /** * 获取自传 */ public void getGrowthExperienceAutobiography(){ model.getGrowthExperienceAutobiography() .compose(RxUtils.schedulersTransformer()) .subscribe(new Observer>>() { @Override public void onSubscribe(Disposable d) { addSubscribe(d); } @Override public void onNext(ResultData> data) { if (data.getCode() == CODE_SUCCESS) { if (autobiographyLiveData != null) { autobiographyLiveData.postValue(data.getData()); } } else { if (messageLiveData != null) { messageLiveData.postValue(data.getMsg()); } } } @Override public void onError(Throwable e) { messageLiveData.postValue(e.getMessage()); } @Override public void onComplete() { } }); } /** * 获取关系情况 */ public void getRelation(){ model.getGrowthExperienceRelationship() .compose(RxUtils.schedulersTransformer()) .subscribe(new Observer>>() { @Override public void onSubscribe(Disposable d) { addSubscribe(d); } @Override public void onNext(ResultData> data) { if (data.getCode() == CODE_SUCCESS){ relationLiveData.postValue(data.getData()); }else { messageLiveData.postValue(data.getMsg()); } } @Override public void onError(Throwable e) { messageLiveData.postValue(e.getMessage()); } @Override public void onComplete() { } }); } /** * 获取持有出入境证件情况 */ public void getHolder(){ model.getGrowthExperienceHolderCondition() .compose(RxUtils.schedulersTransformer()) .subscribe(new Observer>>() { @Override public void onSubscribe(Disposable d) { addSubscribe(d); } @Override public void onNext(ResultData> data) { if (data.getCode() == CODE_SUCCESS){ holderLiveData.postValue(data.getData()); }else { messageLiveData.postValue(data.getMsg()); } } @Override public void onError(Throwable e) { messageLiveData.postValue(e.getMessage()); } @Override public void onComplete() { } }); } /** * 获取出国境情况 */ public void getAbroad(){ model.getGrowthExperienceAbroadCondition() .compose(RxUtils.schedulersTransformer()) .subscribe(new Observer>>() { @Override public void onSubscribe(Disposable d) { addSubscribe(d); } @Override public void onNext(ResultData> data) { if (data.getCode() == CODE_SUCCESS){ abroadLiveData.postValue(data.getData()); }else { messageLiveData.postValue(data.getMsg()); } } @Override public void onError(Throwable e) { messageLiveData.postValue(e.getMessage()); } @Override public void onComplete() { } }); } public MutableLiveData> getExperienceListLiveData() { if (experienceListLiveData == null){ experienceListLiveData = new MutableLiveData<>(); } return experienceListLiveData; } public void setExperienceListLiveData(MutableLiveData> experienceListLiveData) { this.experienceListLiveData = experienceListLiveData; } public MutableLiveData> getRelationLiveData() { if (relationLiveData == null){ relationLiveData = new MutableLiveData<>(); } return relationLiveData; } public void setRelationLiveData(MutableLiveData> relationLiveData) { this.relationLiveData = relationLiveData; } public MutableLiveData getInfoLiveData() { if (infoLiveData == null){ infoLiveData = new MutableLiveData<>(); } return infoLiveData; } public void setInfoLiveData(MutableLiveData infoLiveData) { this.infoLiveData = infoLiveData; } public void setHolderLiveData(MutableLiveData> holderLiveData) { this.holderLiveData = holderLiveData; } public MutableLiveData> getHolderLiveData() { if (holderLiveData == null){ holderLiveData = new MutableLiveData<>(); } return holderLiveData; } public void setAbroadLiveData(MutableLiveData> abroadLiveData) { this.abroadLiveData = abroadLiveData; } public MutableLiveData> getAbroadLiveData() { if (abroadLiveData == null){ abroadLiveData = new MutableLiveData<>(); } return abroadLiveData; } public MutableLiveData> getAutobiographyLiveData() { if (autobiographyLiveData == null){ autobiographyLiveData = new MutableLiveData<>(); } return autobiographyLiveData; } public void setAutobiographyLiveData(MutableLiveData> autobiographyLiveData) { this.autobiographyLiveData = autobiographyLiveData; } public MutableLiveData getIsExperienceExpendedLiveData() { if (isExperienceExpendedLiveData == null){ isExperienceExpendedLiveData = new MutableLiveData<>(); isExperienceExpendedLiveData.setValue(false); } return isExperienceExpendedLiveData; } public void setIsExperienceExpendedLiveData(MutableLiveData isExperienceExpendedLiveData) { this.isExperienceExpendedLiveData = isExperienceExpendedLiveData; } public MutableLiveData getIsRelationExpendedLiveData() { if (isRelationExpendedLiveData == null){ isRelationExpendedLiveData = new MutableLiveData<>(); isRelationExpendedLiveData.setValue(false); } return isRelationExpendedLiveData; } public void setIsRelationExpendedLiveData(MutableLiveData isRelationExpendedLiveData) { this.isRelationExpendedLiveData = isRelationExpendedLiveData; } public MutableLiveData getIsHolderExpendedLiveData() { if (isHolderExpendedLiveData == null){ isHolderExpendedLiveData = new MutableLiveData<>(); isHolderExpendedLiveData.setValue(false); } return isHolderExpendedLiveData; } public void setIsHolderExpendedLiveData(MutableLiveData isHolderExpendedLiveData) { this.isHolderExpendedLiveData = isHolderExpendedLiveData; } public MutableLiveData getIsAbroadExpendedLiveData() { if (isAbroadExpendedLiveData == null){ isAbroadExpendedLiveData = new MutableLiveData<>(); isAbroadExpendedLiveData.setValue(false); } return isAbroadExpendedLiveData; } public void setIsAbroadExpendedLiveData(MutableLiveData isAbroadExpendedLiveData) { this.isAbroadExpendedLiveData = isAbroadExpendedLiveData; } }