Kaynağa Gözat

优化流程

ZhangXinYu 6 yıl önce
ebeveyn
işleme
76f4c545a0

+ 2 - 2
app/src/main/java/com/webrain/dailypay/http/Api.java

@@ -93,8 +93,8 @@ public class Api {
         Observable<ApiResultBean<ApiNormalBean>> httpChangeApplyStatus(@QueryMap Map<String, Object> args);
 
         //面试邀请
-        @GET("api/position/interviewInvite")
-        Observable<ApiResultBean<ApiNormalBean>> httpInterviewInvite(@QueryMap Map<String, Object> args);
+        @POST("api/position/interviewInvite")
+        Observable<ApiResultBean<ApiNormalBean>> httpInterviewInvite(@Body Map<String, Object> args);
 
     }
 

+ 39 - 2
app/src/main/java/com/webrain/dailypay/ui/activity/MainActivity.java

@@ -6,9 +6,12 @@ import android.support.v7.widget.CardView;
 import android.view.View;
 import android.widget.RelativeLayout;
 
+import com.webrain.baselibrary.AppConstant;
+import com.webrain.baselibrary.EventConstant;
 import com.webrain.baselibrary.widget.TouchViewPager;
 import com.webrain.dailypay.R;
 import com.webrain.dailypay.bean.TabItemBean;
+import com.webrain.dailypay.event.StringEvent;
 import com.webrain.dailypay.ui.activity.identity.IdentityCompanyActivity;
 import com.webrain.dailypay.ui.activity.identity.IdentityHeadActivity;
 import com.webrain.dailypay.ui.activity.identity.IdentityRecruitersActivity;
@@ -18,6 +21,9 @@ import com.webrain.dailypay.ui.base.BaseActivity;
 import com.webrain.dailypay.ui.mvp.contacts.MainContacts;
 import com.webrain.dailypay.ui.mvp.presenter.MainPresenter;
 
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+
 import java.util.List;
 
 import butterknife.BindView;
@@ -49,6 +55,7 @@ public class MainActivity extends BaseActivity<MainPresenter> implements MainCon
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        EventBus.getDefault().register(this);
         mvpPresenter.getTabItem();
     }
 
@@ -74,18 +81,21 @@ public class MainActivity extends BaseActivity<MainPresenter> implements MainCon
 
     @OnClick({R.id.rl_resume, R.id.rl_position, R.id.rl_msg, R.id.rl_me, R.id.cv_release})
     public void onClick(View view) {
-        initTabCheck(view);
         switch (view.getId()) {
             case R.id.rl_resume:
+                initTabCheck(view);
                 vpContent.setCurrentItem(0);
                 break;
             case R.id.rl_position:
+                initTabCheck(view);
                 vpContent.setCurrentItem(1);
                 break;
             case R.id.rl_msg:
+                initTabCheck(view);
                 vpContent.setCurrentItem(2);
                 break;
             case R.id.rl_me:
+                initTabCheck(view);
                 vpContent.setCurrentItem(3);
                 break;
             case R.id.cv_release:
@@ -94,6 +104,19 @@ public class MainActivity extends BaseActivity<MainPresenter> implements MainCon
         }
     }
 
+    @Subscribe
+    public void onEvent(StringEvent event) {
+        if (event.getData().equals(EventConstant.EVENT_USER_AUTHENTICATION_STATUS_CHANGE)) {
+            mvpPresenter.getUserAuthentication();
+        }
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        EventBus.getDefault().unregister(this);
+    }
+
     /**
      * tab选中状态
      *
@@ -114,7 +137,21 @@ public class MainActivity extends BaseActivity<MainPresenter> implements MainCon
             vpContent.setAdapter(mAdapter);
             vpContent.setNoScroll(true);
             vpContent.setOffscreenPageLimit(4);
-            rlRelease.performClick();
+            rlResume.performClick();
+        }
+    }
+
+    /**
+     * 当获得用户认证状态
+     *
+     * @param authentication
+     */
+    @Override
+    public void onUserAuthentication(int authentication) {
+        if (authentication == AppConstant.APPROVE_SUCCESS) {
+            cvRelease.setEnabled(true);
+        } else {
+            cvRelease.setEnabled(false);
         }
     }
 }

+ 2 - 0
app/src/main/java/com/webrain/dailypay/ui/activity/identity/IdentityResultActivity.java

@@ -72,6 +72,7 @@ public class IdentityResultActivity extends BaseActivity<IdentityResultPresenter
                         "您的公民资料仅用于实名认证,不会用于其他渠道。");
                 btnReplay.setVisibility(View.VISIBLE);
                 tvResult.setText(R.string.identity_result_going);
+                btnReplay.setVisibility(View.GONE);
             } else if (statue == AppConstant.APPROVE_FAIL) {
                 tvTips.setText("您的实名认证未通过,可能存在以下原因:\n" +
                         "\n" +
@@ -91,6 +92,7 @@ public class IdentityResultActivity extends BaseActivity<IdentityResultPresenter
                         "您的企业资料仅用于实名认证,不会用于其他渠道。");
                 btnReplay.setVisibility(View.VISIBLE);
                 tvResult.setText(R.string.identity_result_going);
+                btnReplay.setVisibility(View.GONE);
             } else if (statue == AppConstant.APPROVE_FAIL) {
                 tvTips.setText("您的实名认证未通过,可能存在以下原因:\n" +
                         "\n" +

+ 7 - 0
app/src/main/java/com/webrain/dailypay/ui/mvp/contacts/MainContacts.java

@@ -12,13 +12,20 @@ import java.util.List;
 public class MainContacts {
     public interface IMainView extends IView {
         void onTabItem(List<TabItemBean> tabItemBeanList);
+
+        void onUserAuthentication(int authentication);
     }
 
     public interface IMainPresenter extends IPresenter {
         void getTabItem();//获取首页的TabItemBean
+
+        void getUserAuthentication();
+
     }
 
     public interface IMainModel {
         List<TabItemBean> getTabItem(Context mContext);
+
+        int getUserAuthentication();
     }
 }

+ 2 - 0
app/src/main/java/com/webrain/dailypay/ui/mvp/contacts/PositionListFragmentContacts.java

@@ -51,6 +51,8 @@ public class PositionListFragmentContacts {
 
         boolean isLoading();
 
+        boolean isInit();
+
         void refreshPageNum();
 
         void doRefresh(PositionBean bean, MvpDataCallBack<Boolean> callBack);

+ 2 - 0
app/src/main/java/com/webrain/dailypay/ui/mvp/contacts/ResumeFragmentContacts.java

@@ -33,6 +33,8 @@ public class ResumeFragmentContacts {
 
         boolean isLoading();
 
+        boolean isInit();
+
         void refreshPageNum();
 
     }

+ 14 - 0
app/src/main/java/com/webrain/dailypay/ui/mvp/model/MainModel.java

@@ -3,6 +3,8 @@ package com.webrain.dailypay.ui.mvp.model;
 import android.content.Context;
 import android.view.View;
 
+import com.webrain.baselibrary.AppConstant;
+import com.webrain.dailypay.AppCacheManager;
 import com.webrain.dailypay.R;
 import com.webrain.dailypay.bean.TabItemBean;
 import com.webrain.dailypay.ui.base.BaseModel;
@@ -29,4 +31,16 @@ public class MainModel extends BaseModel implements MainContacts.IMainModel {
         }
         return mTabList;
     }
+
+    /**
+     * 获取认证状态
+     *
+     * @return
+     */
+    @Override
+    public int getUserAuthentication() {
+        if (AppCacheManager.getInstance().isLogin())
+            return AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus();
+        return AppConstant.APPROVE_NONE;
+    }
 }

+ 2 - 2
app/src/main/java/com/webrain/dailypay/ui/mvp/model/PositionApplyManagerModel.java

@@ -60,7 +60,7 @@ public class PositionApplyManagerModel extends BaseModel implements PositionAppl
         params.put("pageNo", pageNum + 1);
         params.put("pageSize", 10);
         params.put("positionId", mIntentBean.getId());
-        params.put("positionCategory", mIntentBean.getPositionCategory() == 0 ? 6 : 7);//兼容服务端C端
+        params.put("positionCategory", mIntentBean.getPositionCategory());//兼容服务端C端
         params.put("type", type);
         new PositionSubscribe(mContext).requestPositionResume(params.getRequestParams(), new ApiObserver<ApiPositionResumeListBean>(mContext, isShowDialog, false) {
             @Override
@@ -150,7 +150,7 @@ public class PositionApplyManagerModel extends BaseModel implements PositionAppl
         RetrofitHttpParams params = new RetrofitHttpParams(mContext);
         params.put("user_id1", user_ids);
         params.put("positionId", mIntentBean.getId());
-        params.put("positionCategory", mIntentBean.getPositionCategory() == 0 ? 6 : 7);//兼容服务端C端
+        params.put("positionCategory", mIntentBean.getPositionCategory());//兼容服务端C端
         params.put("type", type);
         if (!TextUtils.isEmpty(isRefuse))
             params.put("isRefuse", isRefuse);

+ 9 - 2
app/src/main/java/com/webrain/dailypay/ui/mvp/model/PositionListFragmentModel.java

@@ -31,6 +31,7 @@ public class PositionListFragmentModel extends BaseModel implements PositionList
     private int authenticationStatus = -1;//(1:等待认证 2:未通过 3:已认证)
     private int isOn = -1;//(0:下架 1:上架)
     private int isPause = -1;//(0:不是 1:是)
+    private boolean isInit;//是否初始化过
 
 
     public PositionListFragmentModel(Context mContext) {
@@ -48,7 +49,8 @@ public class PositionListFragmentModel extends BaseModel implements PositionList
      * @param callBack
      */
     private void httpPositionList(final MvpDataCallBack<List<PositionListBean>> callBack, boolean isShowDialog, final boolean isInit) {
-//        if (AppCacheManager.getInstance().isLogin() && AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus() == AppConstant.APPROVE_SUCCESS) {//身份认证成功后才可
+        if (AppCacheManager.getInstance().isLogin() && AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus() == AppConstant.APPROVE_SUCCESS) {//身份认证成功后才可
+            this.isInit = true;
             isLoading = true;
             RetrofitHttpParams params = new RetrofitHttpParams(mContext);
             params.put("pageNo", pageNum + 1);
@@ -95,7 +97,7 @@ public class PositionListFragmentModel extends BaseModel implements PositionList
                 }
 
             });
-//        }
+        }
     }
 
     /**
@@ -118,6 +120,11 @@ public class PositionListFragmentModel extends BaseModel implements PositionList
         return isLoading;
     }
 
+    @Override
+    public boolean isInit() {
+        return isInit;
+    }
+
     /**
      * 刷新页码
      */

+ 51 - 37
app/src/main/java/com/webrain/dailypay/ui/mvp/model/ResumeFragmentModel.java

@@ -3,6 +3,8 @@ package com.webrain.dailypay.ui.mvp.model;
 import android.content.Context;
 import android.text.TextUtils;
 
+import com.webrain.baselibrary.AppConstant;
+import com.webrain.dailypay.AppCacheManager;
 import com.webrain.dailypay.bean.ResumeBean;
 import com.webrain.dailypay.bean.api.ApiResumeListBean;
 import com.webrain.dailypay.callback.MvpDataCallBack;
@@ -22,6 +24,7 @@ public class ResumeFragmentModel extends BaseModel implements ResumeFragmentCont
     private int pageNum = 0;//第一页为1开始 初始为0
     private boolean isLoading = false;//是否加载中
     private boolean isLastPage;//是否已经最后一页
+    private boolean isInit;//是否初始化过
     private String searchKey;
 
 
@@ -40,47 +43,48 @@ public class ResumeFragmentModel extends BaseModel implements ResumeFragmentCont
      * @param callBack
      */
     private void httpPositionList(final MvpDataCallBack<List<ResumeBean>> callBack, boolean isShowDialog, final boolean isInit) {
-//        if (AppCacheManager.getInstance().isLogin() && AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus() == AppConstant.APPROVE_SUCCESS) {//身份认证成功后才可
-        isLoading = true;
-        RetrofitHttpParams params = new RetrofitHttpParams(mContext);
-        params.put("pageNo", pageNum + 1);
-        params.put("pageSize", 10);
-        if (!TextUtils.isEmpty(searchKey))
-            params.put("search_key", searchKey);
-        new ResumeSubscribe(mContext).requestApplyResume(params.getRequestParams(), new ApiObserver<ApiResumeListBean>(mContext, isShowDialog, false) {
-            @Override
-            public void onSuccess(ApiResumeListBean data) {
-                if (data != null) {
-                    pageNum = data.getPageNum();
-                    isLastPage = data.isLastPage();
-                    if (pageNum == 1 || pageNum == 0) {
-                        mPositionData.clear();
-                    }
-                    if (data.getApplyResume() != null && !data.getApplyResume().isEmpty()) {
-                        mPositionData.addAll(data.getApplyResume());
+        if (AppCacheManager.getInstance().isLogin() && AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus() == AppConstant.APPROVE_SUCCESS) {//身份认证成功后才可
+            this.isInit = true;
+            isLoading = true;
+            RetrofitHttpParams params = new RetrofitHttpParams(mContext);
+            params.put("pageNo", pageNum + 1);
+            params.put("pageSize", 10);
+            if (!TextUtils.isEmpty(searchKey))
+                params.put("search_key", searchKey);
+            new ResumeSubscribe(mContext).requestApplyResume(params.getRequestParams(), new ApiObserver<ApiResumeListBean>(mContext, isShowDialog, false) {
+                @Override
+                public void onSuccess(ApiResumeListBean data) {
+                    if (data != null) {
+                        pageNum = data.getPageNum();
+                        isLastPage = data.isLastPage();
+                        if (pageNum == 1 || pageNum == 0) {
+                            mPositionData.clear();
+                        }
+                        if (data.getApplyResume() != null && !data.getApplyResume().isEmpty()) {
+                            mPositionData.addAll(data.getApplyResume());
+                        }
                     }
                 }
-            }
-
-            @Override
-            public void onError(ApiResumeListBean data, ApiException exception) {
-                super.onError(data, exception);
-                if (isInit)
-                    isError = true;
-            }
-
-            @Override
-            public void onFinish() {
-                callBack.onData(mPositionData);
-                if (isError) {
-                    callBack.onError();
+
+                @Override
+                public void onError(ApiResumeListBean data, ApiException exception) {
+                    super.onError(data, exception);
+                    if (isInit)
+                        isError = true;
+                }
+
+                @Override
+                public void onFinish() {
+                    callBack.onData(mPositionData);
+                    if (isError) {
+                        callBack.onError();
+                    }
+                    isError = false;
+                    isLoading = false;
                 }
-                isError = false;
-                isLoading = false;
-            }
 
-        });
-//        }
+            });
+        }
     }
 
     /**
@@ -114,6 +118,16 @@ public class ResumeFragmentModel extends BaseModel implements ResumeFragmentCont
     }
 
     /**
+     * 是否初始化过
+     *
+     * @return
+     */
+    @Override
+    public boolean isInit() {
+        return isInit;
+    }
+
+    /**
      * 刷新页码
      */
     @Override

+ 8 - 0
app/src/main/java/com/webrain/dailypay/ui/mvp/presenter/MainPresenter.java

@@ -18,8 +18,16 @@ public class MainPresenter extends BasePresenter<MainActivity> implements MainCo
     @Override
     public void getTabItem() {
         if (isViewAttach()) {
+            getUserAuthentication();
             mvpReference.get().onTabItem(mMainModel.getTabItem(mvpReference.get()));
             SharedPreferencesUtils.setHistoryAppVersion(mvpReference.get(), AppUtils.getVersionName(mvpReference.get()));
         }
     }
+
+    @Override
+    public void getUserAuthentication() {
+        if (isViewAttach()) {
+            mvpReference.get().onUserAuthentication(mMainModel.getUserAuthentication());
+        }
+    }
 }

+ 5 - 2
app/src/main/java/com/webrain/dailypay/ui/mvp/presenter/MeFragmentPresenter.java

@@ -3,6 +3,7 @@ package com.webrain.dailypay.ui.mvp.presenter;
 import android.content.Intent;
 
 import com.webrain.baselibrary.AppConstant;
+import com.webrain.baselibrary.EventConstant;
 import com.webrain.baselibrary.IntentConstant;
 import com.webrain.baselibrary.utils.ToastUtils;
 import com.webrain.dailypay.AppCacheManager;
@@ -18,6 +19,8 @@ import com.webrain.dailypay.ui.fragment.MeFragment;
 import com.webrain.dailypay.ui.mvp.contacts.MeFragmentContacts;
 import com.webrain.dailypay.ui.mvp.model.MeFragmentModel;
 
+import org.greenrobot.eventbus.EventBus;
+
 public class MeFragmentPresenter extends BasePresenter<MeFragment> implements MeFragmentContacts.IMeFragmentPresenter {
     private MeFragmentModel mMeFragmentModel;
 
@@ -49,8 +52,8 @@ public class MeFragmentPresenter extends BasePresenter<MeFragment> implements Me
                 @Override
                 public void onData(Boolean data) {
                     if (isViewAttach()) {
-                        mvpReference.get().onUserBean(AppCacheManager.getInstance().getLoginModel());
-                        mvpReference.get().onCompanyBean(AppCacheManager.getInstance().getCompanyModel());
+                        EventBus.getDefault().post(EventConstant.EVENT_USER_AUTHENTICATION_STATUS_CHANGE);
+                        EventBus.getDefault().post(EventConstant.EVENT_COMPANY_AUTHENTICATION_STATUS_CHANGE);
                         if (isQueryUserState) {
                             if (AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus() == AppConstant.APPROVE_SUCCESS) {//认证成功状态,提示认证成功
                                 ToastUtils.show(mvpReference.get().getContext(), R.string.toast_yes_authentication);

+ 9 - 7
app/src/main/java/com/webrain/dailypay/ui/mvp/presenter/PositionListFragmentPresenter.java

@@ -17,6 +17,7 @@ import java.util.List;
 public class PositionListFragmentPresenter extends BasePresenter<PositionListFragment> implements PositionListFragmentContacts.IPositionListFragmentPresenter {
     private PositionListFragmentModel mPositionListFragmentModel;
 
+
     public PositionListFragmentPresenter(PositionListFragment view) {
         super(view);
         this.mPositionListFragmentModel = new PositionListFragmentModel(mvpReference.get().getContext());
@@ -106,13 +107,14 @@ public class PositionListFragmentPresenter extends BasePresenter<PositionListFra
      */
     @Override
     public void init() {
-//        if (AppCacheManager.getInstance().isLogin()) {
-//            if (AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus() != AppConstant.APPROVE_SUCCESS) {
-//                mvpReference.get().onNoRealAuthentication(AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus());
-//            } else {
-                getHttpPositionList(false, false, true);
-//            }
-//        }
+        if (AppCacheManager.getInstance().isLogin()) {
+            if (AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus() != AppConstant.APPROVE_SUCCESS) {
+                mvpReference.get().onNoRealAuthentication(AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus());
+            } else {
+                if (!mPositionListFragmentModel.isInit())
+                    getHttpPositionList(false, false, true);
+            }
+        }
     }
 
     /**

+ 13 - 9
app/src/main/java/com/webrain/dailypay/ui/mvp/presenter/ResumeFragmentPresenter.java

@@ -1,5 +1,7 @@
 package com.webrain.dailypay.ui.mvp.presenter;
 
+import com.webrain.baselibrary.AppConstant;
+import com.webrain.dailypay.AppCacheManager;
 import com.webrain.dailypay.bean.ResumeBean;
 import com.webrain.dailypay.callback.MvpDataCallBack;
 import com.webrain.dailypay.ui.base.BasePresenter;
@@ -51,6 +53,7 @@ public class ResumeFragmentPresenter extends BasePresenter<ResumeFragment> imple
 
     /**
      * 设置搜索key
+     *
      * @param searchKey
      */
     @Override
@@ -64,14 +67,15 @@ public class ResumeFragmentPresenter extends BasePresenter<ResumeFragment> imple
      */
     @Override
     public void init() {
-//        if (isViewAttach()) {
-//            if (AppCacheManager.getInstance().isLogin()) {
-//                if (AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus() != AppConstant.APPROVE_SUCCESS) {
-//                    mvpReference.get().onNoRealAuthentication(AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus());
-//                } else {
-        getHttpPositionList(false, false, true);
-//                }
-//            }
-//        }
+        if (isViewAttach()) {
+            if (AppCacheManager.getInstance().isLogin()) {
+                if (AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus() != AppConstant.APPROVE_SUCCESS) {
+                    mvpReference.get().onNoRealAuthentication(AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus());
+                } else {
+                    if (!mResumeFragmentModel.isInit())
+                        getHttpPositionList(false, false, true);
+                }
+            }
+        }
     }
 }

+ 1 - 4
app/src/main/res/drawable/radio_tab_release.xml

@@ -1,8 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@mipmap/tab_release_p" android:state_pressed="true" />
-    <item android:drawable="@mipmap/tab_release_p" android:state_checked="true" />
-    <item android:drawable="@mipmap/tab_release_p" android:state_selected="true" />
     <item android:drawable="@mipmap/tab_release_n" android:state_enabled="false" />
-    <item android:drawable="@mipmap/tab_release_n" />
+    <item android:drawable="@mipmap/tab_release_p" />
 </selector>