Pārlūkot izejas kodu

1.意见反馈接口接入

zhangxinyu 5 gadi atpakaļ
vecāks
revīzija
b88a318c19

+ 8 - 0
app/src/main/java/com/tongyu/luck/happywork/http/Api.java

@@ -446,5 +446,13 @@ public class Api {
         Observable<ApiResultBean<ApiPayBean>> requestAliPayInformation(@Body Map<String, Object> args);
     }
 
+    /**
+     * 投诉建议
+     */
+    public interface ComplaintAdviceInterface {
+        //投诉建议
+        @POST("f/api/hpComplaintAdvice/saveHpComplaintAdvice")
+        Observable<ApiResultBean<ApiNormalBean>> requestComplaintAdvice(@Body Map<String, Object> args);
+    }
 
 }

+ 36 - 0
app/src/main/java/com/tongyu/luck/happywork/http/subscribe/ComplaintAdviceSubscribe.java

@@ -0,0 +1,36 @@
+package com.tongyu.luck.happywork.http.subscribe;
+
+import android.content.Context;
+
+import com.tongyu.luck.happywork.bean.api.ApiApproveBean;
+import com.tongyu.luck.happywork.bean.api.ApiLoginBean;
+import com.tongyu.luck.happywork.bean.api.ApiNormalBean;
+import com.tongyu.luck.happywork.bean.api.ApiResultBean;
+import com.tongyu.luck.happywork.bean.api.ApiResumeBean;
+import com.tongyu.luck.happywork.http.Api;
+import com.tongyu.luck.happywork.http.ApiObserver;
+import com.tongyu.luck.happywork.http.ServiceGenerator;
+
+import java.util.Map;
+
+import io.reactivex.Observable;
+import okhttp3.MultipartBody;
+
+public class ComplaintAdviceSubscribe extends BaseSubscribe {
+    public ComplaintAdviceSubscribe(Context context) {
+        super(context);
+    }
+
+
+    /**
+     * 意见反馈
+     *
+     * @param mObservable
+     */
+    public void requestComplaintAdvice(Map<String, Object> params,ApiObserver<ApiNormalBean> mObservable) {
+        Api.ComplaintAdviceInterface apiService = ServiceGenerator.createService(Api.ComplaintAdviceInterface.class);
+        Observable<ApiResultBean<ApiNormalBean>> observable = apiService.requestComplaintAdvice(params);
+        subscribe(observable, mObservable);
+    }
+
+}

+ 16 - 4
app/src/main/java/com/tongyu/luck/happywork/ui/activity/cclient/mine/FeedBackActivity.java

@@ -2,6 +2,9 @@ package com.tongyu.luck.happywork.ui.activity.cclient.mine;
 
 import android.os.Bundle;
 import android.support.annotation.Nullable;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
@@ -14,6 +17,7 @@ import com.tongyu.luck.happywork.ui.widget.dialog.FeedBackDialog;
 
 import butterknife.BindView;
 import butterknife.OnClick;
+import butterknife.OnTextChanged;
 
 /**
  * 意见反馈
@@ -25,8 +29,6 @@ public class FeedBackActivity extends BaseActivity<FeedBackPresenter> implements
     @BindView(R.id.btn_submit)
     Button btnSubmit;
 
-    private FeedBackDialog mDialog;
-
     @Override
     public int getLayoutId() {
         return R.layout.activity_feed_back;
@@ -43,9 +45,19 @@ public class FeedBackActivity extends BaseActivity<FeedBackPresenter> implements
         setTitle(R.string.mine_complaints_suggestions);
     }
 
+    @OnTextChanged(R.id.et_feed_back)
+    public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+        if (TextUtils.isEmpty(charSequence.toString())) {
+            btnSubmit.setEnabled(false);
+        } else {
+            btnSubmit.setEnabled(true);
+        }
+    }
+
+
     @OnClick(R.id.btn_submit)
     public void onClick(View view) {
-        mDialog = new FeedBackDialog(mContext);
-        mDialog.show();
+        mvpPresenter.httpSubmit(etFeedBack.getText().toString());
+
     }
 }

+ 6 - 0
app/src/main/java/com/tongyu/luck/happywork/ui/mvp/cclient/contacts/FeedBackContacts.java

@@ -1,5 +1,7 @@
 package com.tongyu.luck.happywork.ui.mvp.cclient.contacts;
 
+import com.tongyu.luck.happywork.bean.VersionBean;
+import com.tongyu.luck.happywork.callback.MvpDataCallBack;
 import com.tongyu.luck.happywork.ui.base.IPresenter;
 import com.tongyu.luck.happywork.ui.base.IView;
 
@@ -8,8 +10,12 @@ public class FeedBackContacts {
     }
 
     public interface IFeedBackPresenter extends IPresenter {
+
+        void httpSubmit(String content);
     }
 
     public interface IFeedBackModel {
+
+        void httpSubmit(String content, MvpDataCallBack<Boolean> callBack);
     }
 }

+ 40 - 1
app/src/main/java/com/tongyu/luck/happywork/ui/mvp/cclient/model/FeedBackModel.java

@@ -1,6 +1,45 @@
 package com.tongyu.luck.happywork.ui.mvp.cclient.model;
 
+import android.content.Context;
+
+import com.tongyu.luck.happywork.AppCacheManager;
+import com.tongyu.luck.happywork.baselibrary.utils.AppUtils;
+import com.tongyu.luck.happywork.bean.api.ApiCheckVersion;
+import com.tongyu.luck.happywork.bean.api.ApiNormalBean;
+import com.tongyu.luck.happywork.callback.MvpDataCallBack;
+import com.tongyu.luck.happywork.http.ApiObserver;
+import com.tongyu.luck.happywork.http.RetrofitHttpParams;
+import com.tongyu.luck.happywork.http.subscribe.ComplaintAdviceSubscribe;
+import com.tongyu.luck.happywork.http.subscribe.MessageSubscribe;
+import com.tongyu.luck.happywork.ui.base.BaseModel;
 import com.tongyu.luck.happywork.ui.mvp.cclient.contacts.FeedBackContacts;
 
-public class FeedBackModel implements FeedBackContacts.IFeedBackModel {
+public class FeedBackModel extends BaseModel implements FeedBackContacts.IFeedBackModel {
+
+    public FeedBackModel(Context mContext) {
+        super(mContext);
+    }
+
+    /**
+     * 意见反馈提交
+     *
+     * @param content
+     * @param callBack
+     */
+    @Override
+    public void httpSubmit(String content, final MvpDataCallBack<Boolean> callBack) {
+        RetrofitHttpParams params = new RetrofitHttpParams(mContext);
+        params.put("phone", AppCacheManager.getInstance().getMemberModel().getPhone());
+        params.put("content", content);
+        new ComplaintAdviceSubscribe(mContext).requestComplaintAdvice(params.getRequestParams(), new ApiObserver<ApiNormalBean>(mContext, true) {
+            @Override
+            public void onSuccess(ApiNormalBean data) {
+                callBack.onData(true);
+            }
+
+            @Override
+            public void onFinish() {
+            }
+        });
+    }
 }

+ 28 - 1
app/src/main/java/com/tongyu/luck/happywork/ui/mvp/cclient/presenter/FeedBackPresenter.java

@@ -1,5 +1,10 @@
 package com.tongyu.luck.happywork.ui.mvp.cclient.presenter;
 
+import android.text.TextUtils;
+
+import com.tongyu.luck.happywork.AppCacheManager;
+import com.tongyu.luck.happywork.baselibrary.utils.ToastUtils;
+import com.tongyu.luck.happywork.callback.MvpDataCallBack;
 import com.tongyu.luck.happywork.ui.activity.cclient.mine.FeedBackActivity;
 import com.tongyu.luck.happywork.ui.base.BasePresenter;
 import com.tongyu.luck.happywork.ui.mvp.cclient.contacts.FeedBackContacts;
@@ -10,7 +15,29 @@ public class FeedBackPresenter extends BasePresenter<FeedBackActivity> implement
 
     public FeedBackPresenter(FeedBackActivity view) {
         super(view);
-        this.mFeedBackModel = new FeedBackModel();
+        this.mFeedBackModel = new FeedBackModel(mvpReference.get());
     }
 
+    /**
+     * 提交意见反馈
+     *
+     * @param content
+     */
+    @Override
+    public void httpSubmit(String content) {
+        if (isViewAttach()) {
+            if (TextUtils.isEmpty(content) || AppCacheManager.getInstance().getMemberModel() == null || TextUtils.isEmpty(AppCacheManager.getInstance().getMemberModel().getPhone())) {
+                return;
+            }
+            mFeedBackModel.httpSubmit(content, new MvpDataCallBack<Boolean>() {
+                @Override
+                public void onData(Boolean data) {
+                    if (data) {//提交成功
+                        ToastUtils.show(mvpReference.get(), "提交成功");
+                        mvpReference.get().finish();
+                    }
+                }
+            });
+        }
+    }
 }

+ 1 - 0
app/src/main/res/layout/activity_feed_back.xml

@@ -33,6 +33,7 @@
         android:layout_marginTop="29dp"
         android:layout_marginRight="14dp"
         android:background="@drawable/corners_blue_btn_5dp"
+        android:enabled="false"
         android:text="@string/submit"
         android:textColor="@color/white"
         android:textSize="@dimen/px48_16sp" />