123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 |
- package com.edufound.reader.presenter;
- import android.content.Intent;
- import android.widget.Toast;
- import com.alibaba.fastjson.JSONObject;
- import com.edufound.reader.apiserver.UserApiServerImpl;
- import com.edufound.reader.base.BaseActivity;
- import com.edufound.reader.base.BasePresenter;
- import com.edufound.reader.bean.HttpResultBean;
- import com.edufound.reader.bean.MyInfoBean;
- import com.edufound.reader.bean.UserBean;
- import com.edufound.reader.contract.UserInfoSettingContract;
- import com.edufound.reader.model.UserInfoSettingModel;
- import com.edufound.reader.receiver.BackPageReceiver;
- import com.edufound.reader.util.Consts;
- import com.edufound.reader.util.DeviceUuidFactory;
- import com.edufound.reader.util.EfunboxUtil;
- import com.edufound.reader.util.MMKVEncodeKey;
- import com.edufound.reader.util.MMKVUtil;
- import com.google.gson.reflect.TypeToken;
- import com.okhttplib.HttpInfo;
- import com.okhttplib.callback.Callback;
- import com.orhanobut.logger.Logger;
- import org.json.JSONException;
- import java.io.IOException;
- import java.util.HashMap;
- import java.util.Map;
- public class UserInfoSettingPresenter extends BasePresenter<UserInfoSettingContract.View> implements UserInfoSettingContract.Presenter {
- UserInfoSettingModel mModel;
- UserApiServerImpl mUserApi;
- String mGradeEnum;
- public UserInfoSettingPresenter() {
- mModel = new UserInfoSettingModel();
- mUserApi = new UserApiServerImpl();
- }
- @Override
- public void getMyInfo() {
- mUserApi.getMyInfo(mView.getActivity(), new Callback() {
- @Override
- public void onSuccess(HttpInfo info) throws IOException {
- HttpResultBean<MyInfoBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<MyInfoBean>>() {
- }.getType());
- Consts.setmConstsUserBean(bean.getData().getUser());
- mView.getUserInfoSuccess(bean.getData().getUser());
- mGradeEnum = bean.getData().getUser().getGrade();
- }
- @Override
- public void onFailure(HttpInfo info) throws IOException {
- }
- });
- }
- @Override
- public String getGradeEnum() {
- return mGradeEnum;
- }
- @Override
- public void upadteMyInfo(UserBean bean) {
- mModel.updateMyInfo(mView.getActivity(), ((BaseActivity) mView.getActivity()).getGson().toJson(bean), new Callback() {
- @Override
- public void onSuccess(HttpInfo info) throws IOException {
- HttpResultBean<UserBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<UserBean>>() {
- }.getType());
- Consts.setmConstsUserBean(bean.getData());
- mView.getUserInfoSuccess(bean.getData());
- mGradeEnum = bean.getData().getGrade();
- }
- @Override
- public void onFailure(HttpInfo info) throws IOException {
- }
- });
- }
- @Override
- public void activityDestory() {
- Intent intent = new Intent(BackPageReceiver.BACK_HOME_REF_USER_INFO);
- mView.getActivity().sendBroadcast(intent);
- }
- @Override
- public void loginOut() {
- mUserApi.userLoginOut(mView.getActivity(), new Callback() {
- @Override
- public void onSuccess(HttpInfo info) throws IOException {
- Consts.setmConstsUserBean(null);
- Consts.setUID(Consts.getDefaultUid());
- mView.loginOutSuccess();
- Consts.setIsYFVip(false);
- }
- @Override
- public void onFailure(HttpInfo info) throws IOException {
- }
- });
- }
- @Override
- public void getBaiDuPhone(String token) {
- mUserApi.getBaiDuUserPhone(mView.getActivity(), token, new Callback() {
- @Override
- public void onSuccess(HttpInfo info) throws IOException {
- JSONObject object = JSONObject.parseObject(info.getRetDetail().toString());
- String phone = JSONObject.parseObject(object.getString("data")).getString("phone");
- registerMobile(phone);
- }
- @Override
- public void onFailure(HttpInfo info) throws IOException {
- Logger.e("获取百度手机号失败:" + info.getRetDetail());
- }
- });
- }
- @Override
- public void registerMobile(String phone) {
- if (EfunboxUtil.isMobileNO(phone)) {
- Map<String, String> map = new HashMap<>();
- map.put("deviceCode", DeviceUuidFactory.getUuid());
- map.put("channel", Consts.getUMengChannel());
- map.put("mobileNo", phone);
- if (MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE).equals("") || MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE) == null) {
- //如果没有,默认给一年级
- map.put("grade", "PRIMARY_FIRST_GRADE");
- } else {
- map.put("grade", MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE));
- }
- String json = ((BaseActivity) mView.getActivity()).getGson().toJson(map);
- mUserApi.registerMobile(mView.getActivity(), json, new Callback() {
- @Override
- public void onSuccess(HttpInfo info) throws IOException {
- HttpResultBean<UserBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<UserBean>>() {
- }.getType());
- Consts.setUID(bean.getData().getUid());
- //用户是否登录,登录了,创建Consts的userbean
- String nickName = EfunboxUtil.setPhoneMiddle(bean.getData().getMobile());
- bean.getData().setNickName(nickName);
- Consts.setmConstsUserBean(bean.getData());
- }
- @Override
- public void onFailure(HttpInfo info) throws IOException {
- Toast.makeText(mView.getActivity(), "注册失败", Toast.LENGTH_SHORT).show();
- // CusToast.getInstance(mView.getActivity()).show("注册失败",2000);
- }
- });
- } else {
- Toast.makeText(mView.getActivity(), "手机号不正确", Toast.LENGTH_SHORT).show();
- }
- }
- @Override
- public void userCancellation() {
- mUserApi.userCancellation(mView.getActivity(), new Callback() {
- @Override
- public void onSuccess(HttpInfo info) throws IOException {
- Logger.e("注销成功:" + info.getRetDetail());
- Consts.setmConstsUserBean(null);
- Consts.setUID(Consts.getDefaultUid());
- mView.loginOutSuccess();
- Consts.setIsYFVip(false);
- }
- @Override
- public void onFailure(HttpInfo info) throws IOException {
- Logger.e("注销失败:" + info.getRetDetail());
- }
- });
- }
- @Override
- public void checkLogin() {
- mUserApi.isLogin(mView.getActivity(), DeviceUuidFactory.getUuid(), new Callback() {
- @Override
- public void onSuccess(HttpInfo info) throws IOException {
- try {
- Logger.e("info:" + info.getRetDetail());
- org.json.JSONObject object = new org.json.JSONObject(info.getRetDetail());
- if (object.getString("code").equals("300") || object.getInt("code") == 300) {
- } else {
- HttpResultBean<UserBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<UserBean>>() {
- }.getType());
- Consts.setUID(bean.getData().getUid());
- //用户是否登录,登录了,创建Consts的userbean
- Consts.setmConstsUserBean(bean.getData());
- }
- } catch (JSONException e) {
- e.printStackTrace();
- } finally {
- //无论如何最后走判断
- //获取是否是vip
- EfunboxUtil.getYFVip(mView.getActivity(), null);
- }
- }
- @Override
- public void onFailure(HttpInfo info) throws IOException {
- EfunboxUtil.getYFVip(mView.getActivity(), null);
- }
- });
- }
- }
|