Browse Source

增加修改昵称时限制提示

Pq 3 years ago
parent
commit
355efa2455

+ 27 - 0
BaseLibrary/src/main/java/com/cooleshow/base/bean/QueryParamsConfigBean.java

@@ -0,0 +1,27 @@
+package com.cooleshow.base.bean;
+
+/**
+ * Author by pq, Date on 2022/8/17.
+ */
+public class QueryParamsConfigBean {
+
+    /**
+     * group : OTHER
+     * description : 修改用户名间隔(月)
+     * modifyBy : 0
+     * paramValue : 3
+     * paramName : last_username_month
+     * createOn : 2022-08-09 13:49:37
+     * modifyOn : 2022-08-16 15:46:16
+     * id : 88
+     */
+
+    public String group;
+    public String description;
+    public int modifyBy;
+    public String paramValue;
+    public String paramName;
+    public String createOn;
+    public String modifyOn;
+    public int id;
+}

+ 11 - 0
student/src/main/java/com/cooleshow/student/api/APIService.java

@@ -6,6 +6,7 @@ import static com.cooleshow.base.common.BaseConstant.MALL_PORTAL_SERVER;
 import static com.cooleshow.base.common.BaseConstant.STUDENT_GROUP;
 import static com.cooleshow.base.common.BaseConstant.TEACHER_GROUP;
 
+import com.cooleshow.base.bean.QueryParamsConfigBean;
 import com.cooleshow.base.data.net.BaseResponse;
 import com.cooleshow.student.bean.AddressBean;
 import com.cooleshow.student.bean.AppHomeBean;
@@ -93,6 +94,16 @@ public interface APIService {
     @POST(AUTH_GROUP + "user/submitSetDetail")
     Observable<BaseResponse<SetDetailBean>> submitSetDetail(@Body RequestBody body);
 
+
+    /**
+     * 获取修改名称限制时间
+     *
+     * @param
+     * @return
+     */
+    @GET(STUDENT_GROUP + "sysConfig/queryByParamName")
+    Observable<BaseResponse<QueryParamsConfigBean>> queryModifyNickConfig(@Query("paramName") String last_username_month);
+
     /**
      * 校验用户手机号和密码
      *

+ 3 - 0
student/src/main/java/com/cooleshow/student/contract/ModifyNickNameContract.java

@@ -1,5 +1,6 @@
 package com.cooleshow.student.contract;
 
+import com.cooleshow.base.bean.QueryParamsConfigBean;
 import com.cooleshow.base.presenter.view.BaseView;
 import com.cooleshow.usercenter.bean.SetDetailBean;
 
@@ -12,6 +13,8 @@ import com.cooleshow.usercenter.bean.SetDetailBean;
 public interface ModifyNickNameContract {
     interface ModifyNickNameView extends BaseView {
         void submitSetDetailSuccess(SetDetailBean setDetailBean);
+
+        void queryModifyConfigSuccess(QueryParamsConfigBean bean);
     }
 
     interface Presenter {

+ 20 - 0
student/src/main/java/com/cooleshow/student/presenter/mine/ModifyNickNamePresenter.java

@@ -1,5 +1,6 @@
 package com.cooleshow.student.presenter.mine;
 
+import com.cooleshow.base.bean.QueryParamsConfigBean;
 import com.cooleshow.base.presenter.BasePresenter;
 import com.cooleshow.base.rx.BaseObserver;
 import com.cooleshow.base.utils.RequestBodyUtil;
@@ -37,4 +38,23 @@ public class ModifyNickNamePresenter extends BasePresenter<ModifyNickNameContrac
             }
         });
     }
+
+    public void queryModifyConfig() {
+        getView().showLoading();
+        String params = "last_username_month";
+        addSubscribe(create(APIService.class).queryModifyNickConfig(params), new BaseObserver<QueryParamsConfigBean>(getView()) {
+            @Override
+            protected void onSuccess(QueryParamsConfigBean data) {
+                if (getView() != null) {
+                    getView().queryModifyConfigSuccess(data);
+                }
+            }
+
+            @Override
+            public void onError(Throwable e) {
+                super.onError(e);
+
+            }
+        });
+    }
 }

+ 18 - 0
student/src/main/java/com/cooleshow/student/ui/mine/ModifyNickNameActivity.java

@@ -9,6 +9,7 @@ import androidx.annotation.Nullable;
 
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.launcher.ARouter;
+import com.cooleshow.base.bean.QueryParamsConfigBean;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
 import com.cooleshow.base.utils.ToastUtil;
@@ -79,6 +80,12 @@ public class ModifyNickNameActivity extends BaseMVPActivity<ActivityModifyNickna
     }
 
     @Override
+    public void initData() {
+        super.initData();
+        presenter.queryModifyConfig();
+    }
+
+    @Override
     protected ActivityModifyNicknameBinding getLayoutView() {
         return ActivityModifyNicknameBinding.inflate(getLayoutInflater());
     }
@@ -95,4 +102,15 @@ public class ModifyNickNameActivity extends BaseMVPActivity<ActivityModifyNickna
         setResult(RESULT_OK,intent);
         finish();
     }
+
+    @Override
+    public void queryModifyConfigSuccess(QueryParamsConfigBean bean) {
+        if (!checkActivityExist()) {
+            return;
+        }
+        if (bean == null) {
+            return;
+        }
+        viewBinding.tvModifyConfig.setText(String.format("每隔%s个月可修改一次", bean.paramValue));
+    }
 }

+ 10 - 0
student/src/main/res/layout/activity_modify_nickname.xml

@@ -40,4 +40,14 @@
             app:layout_constraintBottom_toBottomOf="parent"
             android:src="@drawable/icon_et_close"/>
     </androidx.constraintlayout.widget.ConstraintLayout>
+
+    <TextView
+        android:id="@+id/tv_modify_config"
+        android:paddingStart="14dp"
+        android:textColor="@color/color_999999"
+        android:textSize="@dimen/sp_12"
+        android:layout_marginTop="10dp"
+        android:text="每隔3个月可修改一次"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"/>
 </LinearLayout>

+ 13 - 2
teacher/src/main/java/com/cooleshow/teacher/api/APIService.java

@@ -1,6 +1,7 @@
 package com.cooleshow.teacher.api;
 
 import com.common.im.bean.ContactRoomListBean;
+import com.cooleshow.base.bean.QueryParamsConfigBean;
 import com.cooleshow.base.data.net.BaseResponse;
 import com.cooleshow.teacher.bean.HomeHotAlbumListBean;
 import com.cooleshow.teacher.bean.HomeHotMusicSheetBean;
@@ -63,6 +64,7 @@ import io.reactivex.rxjava3.core.Observable;
 import okhttp3.RequestBody;
 import okhttp3.ResponseBody;
 import retrofit2.http.Body;
+import retrofit2.http.Field;
 import retrofit2.http.FieldMap;
 import retrofit2.http.FormUrlEncoded;
 import retrofit2.http.GET;
@@ -363,6 +365,15 @@ public interface APIService {
     Observable<BaseResponse<SetDetailBean>> submitSetDetail(@Body RequestBody body);
 
     /**
+     * 获取修改名称限制时间
+     *
+     * @param
+     * @return
+     */
+    @GET(TEACHER_GROUP + "sysConfig/queryByParamName")
+    Observable<BaseResponse<QueryParamsConfigBean>> queryModifyNickConfig(@Query("paramName") String last_username_month);
+
+    /**
      * 校验用户手机号和密码
      *
      * @param phone
@@ -395,8 +406,8 @@ public interface APIService {
     /**
      * 发送登录短信验证码
      *
-     * @param  mobile 手机号
-     *             type:类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)
+     * @param mobile 手机号
+     *               type:类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)
      * @return
      */
     @FormUrlEncoded

+ 3 - 0
teacher/src/main/java/com/cooleshow/teacher/contract/ModifyNickNameContract.java

@@ -1,5 +1,6 @@
 package com.cooleshow.teacher.contract;
 
+import com.cooleshow.base.bean.QueryParamsConfigBean;
 import com.cooleshow.base.presenter.view.BaseView;
 import com.cooleshow.teacher.bean.TeacherSelfStyleInfoBean;
 import com.cooleshow.usercenter.bean.SetDetailBean;
@@ -13,6 +14,8 @@ import com.cooleshow.usercenter.bean.SetDetailBean;
 public interface ModifyNickNameContract {
     interface ModifyNickNameView extends BaseView {
         void submitSetDetailSuccess(SetDetailBean setDetailBean);
+
+        void queryModifyConfigSuccess(QueryParamsConfigBean bean);
     }
 
     interface Presenter {

+ 22 - 1
teacher/src/main/java/com/cooleshow/teacher/presenter/mine/ModifyNickNamePresenter.java

@@ -1,5 +1,6 @@
 package com.cooleshow.teacher.presenter.mine;
 
+import com.cooleshow.base.bean.QueryParamsConfigBean;
 import com.cooleshow.base.presenter.BasePresenter;
 import com.cooleshow.base.rx.BaseObserver;
 import com.cooleshow.base.utils.RequestBodyUtil;
@@ -16,7 +17,7 @@ import com.cooleshow.usercenter.bean.SetDetailBean;
  */
 public class ModifyNickNamePresenter extends BasePresenter<ModifyNickNameContract.ModifyNickNameView> implements ModifyNickNameContract.Presenter {
 
-    public void submitSetDetail(String jsonStr){
+    public void submitSetDetail(String jsonStr) {
         getView().showLoading();
         addSubscribe(create(APIService.class).submitSetDetail(RequestBodyUtil.convertToRequestBodyJson(jsonStr)), new BaseObserver<SetDetailBean>(getView()) {
             @Override
@@ -31,6 +32,26 @@ public class ModifyNickNamePresenter extends BasePresenter<ModifyNickNameContrac
                 super.onComplete();
                 getView().hideLoading();
             }
+
+            @Override
+            public void onError(Throwable e) {
+                super.onError(e);
+
+            }
+        });
+    }
+
+    public void queryModifyConfig() {
+        getView().showLoading();
+        String params = "last_username_month";
+        addSubscribe(create(APIService.class).queryModifyNickConfig(params), new BaseObserver<QueryParamsConfigBean>(getView()) {
+            @Override
+            protected void onSuccess(QueryParamsConfigBean data) {
+                if (getView() != null) {
+                    getView().queryModifyConfigSuccess(data);
+                }
+            }
+
             @Override
             public void onError(Throwable e) {
                 super.onError(e);

+ 26 - 5
teacher/src/main/java/com/cooleshow/teacher/ui/mine/ModifyNickNameActivity.java

@@ -9,6 +9,7 @@ import androidx.annotation.Nullable;
 
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.launcher.ARouter;
+import com.cooleshow.base.bean.QueryParamsConfigBean;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
 import com.cooleshow.base.utils.ToastUtil;
@@ -38,7 +39,7 @@ public class ModifyNickNameActivity extends BaseMVPActivity<ActivityModifyNickna
         switch (view.getId()) {
             case R.id.tv_right_text:
                 String userName = viewBinding.etNickname.getText().toString().trim();
-                if (TextUtils.isEmpty(userName)){
+                if (TextUtils.isEmpty(userName)) {
                     ToastUtil.getInstance().showShort("请输入昵称!");
                     break;
                 }
@@ -58,11 +59,13 @@ public class ModifyNickNameActivity extends BaseMVPActivity<ActivityModifyNickna
 
         }
     }
+
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         StatusBarUtil.setStatusBarDarkTheme(this, true);
     }
+
     @Override
     protected void initView() {
         ARouter.getInstance().inject(this);
@@ -72,13 +75,19 @@ public class ModifyNickNameActivity extends BaseMVPActivity<ActivityModifyNickna
         viewBinding.toolbarInclude.tvRightText.setText("保存");
         viewBinding.toolbarInclude.tvRightText.setOnClickListener(this);
         String userName = getIntent().getStringExtra("userName");
-        if (!TextUtils.isEmpty(userName)){
+        if (!TextUtils.isEmpty(userName)) {
             viewBinding.etNickname.setText(userName);
         }
         viewBinding.imClose.setOnClickListener(this);
     }
 
     @Override
+    public void initData() {
+        super.initData();
+        presenter.queryModifyConfig();
+    }
+
+    @Override
     protected ActivityModifyNicknameBinding getLayoutView() {
         return ActivityModifyNicknameBinding.inflate(getLayoutInflater());
     }
@@ -90,9 +99,21 @@ public class ModifyNickNameActivity extends BaseMVPActivity<ActivityModifyNickna
 
     @Override
     public void submitSetDetailSuccess(SetDetailBean setDetailBean) {
-        Intent intent=new Intent();
-        intent.putExtra("userName",setDetailBean.username);
-        setResult(RESULT_OK,intent);
+        Intent intent = new Intent();
+        intent.putExtra("userName", setDetailBean.username);
+        setResult(RESULT_OK, intent);
         finish();
     }
+
+    @Override
+    public void queryModifyConfigSuccess(QueryParamsConfigBean bean) {
+        if (!checkActivityExist()) {
+            return;
+        }
+        if (bean == null) {
+            return;
+        }
+        viewBinding.tvModifyConfig.setText(String.format("每隔%s个月可修改一次", bean.paramValue));
+    }
+
 }

+ 12 - 0
teacher/src/main/res/layout/activity_modify_nickname.xml

@@ -39,5 +39,17 @@
             android:padding="13dp"
             app:layout_constraintBottom_toBottomOf="parent"
             android:src="@drawable/icon_et_close"/>
+
+
     </androidx.constraintlayout.widget.ConstraintLayout>
+
+    <TextView
+        android:id="@+id/tv_modify_config"
+        android:paddingStart="14dp"
+        android:textColor="@color/color_999999"
+        android:textSize="@dimen/sp_12"
+        android:layout_marginTop="10dp"
+        android:text="每隔3个月可修改一次"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"/>
 </LinearLayout>