修改BUG

This commit is contained in:
2025-08-08 10:31:50 +08:00
parent 38337c63a5
commit 4f09ec38c1
126 changed files with 4166 additions and 711 deletions

View File

@@ -9,106 +9,137 @@
android:theme="@style/BaseAppTheme">
<activity
android:name=".activity.WithdrawalListActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.GiftBoxRecordActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.BindCardDetailsActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.BindCardActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.AlbumDetailActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.SettingActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.CreateAlbumActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.RealName1Activity"
android:exported="false" />
<activity
android:name=".activity.RevenueActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.DailyTasksActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.UserHomepageActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.MyBagActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.BriefIntroductionActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.ChangeNicknameActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.CurrencyExchangeActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.WithdrawalActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.RechargeActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.MyMoneyActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.EditUserInfoActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.EditUserActivity"
android:exported="false" />
<activity
android:name=".activity.ChangPassActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.PersonalityActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.RealDetailActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.RoomAllowanceDetailActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.RoomAllowanceActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.RoomDetailsActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.CreatedRoomActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.MyRoomActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.PhoneReplacementActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.ChangePasswordActivity"
android:exported="false" />
<activity
android:name=".activity.BlacklistActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.MessageReminderActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.NotificationActivity"
android:launchMode="singleTask"
android:exported="false" />
<activity
android:name=".activity.UnderageActivity"
android:launchMode="singleTask"
android:exported="true" />
</application>

View File

@@ -25,6 +25,8 @@ import com.qxcm.moduleutil.bean.GiftBoxBean;
import com.qxcm.moduleutil.bean.GiftName;
import com.qxcm.moduleutil.bean.TaskDataBean;
import com.qxcm.moduleutil.bean.TaskItem;
import com.qxcm.moduleutil.dialog.WebViewDialog;
import com.qxcm.moduleutil.service.MyRoomSingleton;
import com.qxcm.moduleutil.utils.ARouteConstants;
import com.qxcm.moduleutil.utils.SpUtil;
@@ -50,6 +52,12 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
@Override
protected void initData() {
}
@Override
protected void onResume() {
super.onResume();
MvpPre.tasksLihen();
}
@@ -75,6 +83,10 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
intent.putExtra("url", "https://vespa.qxmier.com/web/index.html#/pages/other/taskDesc");
intent.putExtra("title", "规则 ");
startActivity(intent);
// WebViewDialog webViewDialog=new WebViewDialog(this,"https://vespa.qxmier.com/web/index.html#/pages/other/taskDesc");
// webViewDialog.show();
});
mTaskBoxAdapter.setOnItemClickListener(position -> {
@@ -129,10 +141,18 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
public void onItemClick(TaskItem taskItem, GiftBoxBean.TaskDataBean.DailyTasksBean item) {
if (taskItem.getTitle().equals("今日任务") || taskItem.getTitle().equals("平台任务")) {
if (item.getTask_status()==2) {
MvpPre.dailyTasksComplete(item.getTask_id() + "");
MvpPre.dailyTasksReceive(item.getTask_id() + "");
}
} else {
ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("room_id", item.getFrom_id() + "").navigation();
if (item.getTask_status() == 2){
MvpPre.dailyTasksReceive(item.getTask_id() + "");
}else if (item.getTask_status() == 1) {
if (item.getTask_id() == 9) {
ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("roomId", item.getFrom_id()).withString("taskId", item.getTask_id() + "").navigation();
} else {
ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("roomId", item.getFrom_id()).withString("taskId", item.getTask_id() + "").navigation();
}
}
}
}
});

View File

@@ -1,22 +1,34 @@
package com.example.modulevocal.activity;
import static com.qxcm.moduleutil.utils.permission.PermissionUtils.TAG;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.text.Html;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.target.CustomTarget;
import com.bumptech.glide.request.transition.Transition;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.example.modulevocal.R;
import com.example.modulevocal.adapter.UserPhotoWallAdapter;
@@ -26,7 +38,11 @@ import com.example.modulevocal.presenter.EditUserPresenter;
import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.PictureMimeType;
import com.luck.picture.lib.engine.CropFileEngine;
import com.luck.picture.lib.entity.LocalMedia;
import com.luck.picture.lib.interfaces.OnExternalPreviewEventListener;
import com.luck.picture.lib.interfaces.OnPreviewInterceptListener;
import com.luck.picture.lib.interfaces.OnResultCallbackListener;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
import com.qxcm.moduleutil.bean.BannerModel;
import com.qxcm.moduleutil.bean.HeatedBean;
@@ -41,11 +57,14 @@ import com.qxcm.moduleutil.utils.MyPictureParameterStyle;
import com.qxcm.moduleutil.utils.SpUtil;
import com.qxcm.moduleutil.widget.Constants;
import com.qxcm.moduleutil.widget.img.FullScreenUtil;
import com.qxcm.moduleutil.widget.picker.PictureSelectorUtil;
import com.stx.xhb.xbanner.XBanner;
import com.tencent.imsdk.v2.V2TIMCallback;
import com.tencent.imsdk.v2.V2TIMManager;
import com.tencent.imsdk.v2.V2TIMUserFullInfo;
import com.tencent.qcloud.tuicore.util.SPUtils;
import com.yalantis.ucrop.UCrop;
import com.yalantis.ucrop.UCropImageEngine;
import org.greenrobot.eventbus.EventBus;
@@ -72,7 +91,7 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
@Override
protected void onResume() {
super.onResume();
MvpPre.getUserHome(SpUtil.getUserId()+"");
MvpPre.getUserHome(SpUtil.getUserId() + "");
}
@Override
@@ -94,10 +113,10 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
String item = list.get(position);
int id = view.getId();
if (id == R.id.iv_close){
if (id == R.id.iv_close) {
uploadedUrls.remove(item);
updateAdapterData();
}else {
} else {
if (item.equals(UserPhotoWallAdapter.ADD_PHOTO)) {
// 点击的是“+”号,启动图片选择
startChoosePhoto(1, PictureConfig.REQUEST_CAMERA, false, 9);
@@ -128,7 +147,6 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
mBinding.rvUserHead.setOnClickListener(this::onClick);
}
private void onClick(View view) {
@@ -171,17 +189,53 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
// .setPictureStyle(MyPictureParameterStyle.Companion.selectPicture())
// .forResult(requestCode); //结果回调onActivityResult code
PictureSelectorUtil pictureSelectorUtil = new PictureSelectorUtil();
PictureSelector.create(this)
.openGallery(mimeType)
.isGif(false)
.setImageEngine(GlideEngine.createGlideEngine())
.isGif(isVideo)
.setMaxSelectNum(type)
.isPreviewImage(true)
.isDisplayCamera(true)
.setOutputCameraDir(Constants.FILE_PATH)
.isOriginalSkipCompress(true)
.isPreviewImage(false)
.setImageEngine(GlideEngine.createGlideEngine())
.setImageEngine(GlideEngine.createGlideEngine()) // 选择器展示不出图片则添加
.setCropEngine(new CropFileEngine() {
@Override
public void onStartCrop(Fragment fragment, Uri srcUri, Uri destinationUri, ArrayList<String> dataSource, int requestCode) {
UCrop.Options options = pictureSelectorUtil.buildOptions();
UCrop uCrop = UCrop.of(srcUri, destinationUri, dataSource);
uCrop.withOptions(options);
uCrop.setImageEngine(new UCropImageEngine() {
@Override
public void loadImage(Context context, String url, ImageView imageView) {
// if (!ImageLoaderUtils.assertValidRequest(context)) {
// return;
// }
Glide.with(context).load(url).override(180, 180).into(imageView);
}
.forResult(requestCode); //结果回调onActivityResult code
@Override
public void loadImage(Context context, Uri url, int maxWidth, int maxHeight, OnCallbackListener<Bitmap> call) {
Glide.with(context).asBitmap().load(url).override(maxWidth, maxHeight).into(new CustomTarget<Bitmap>() {
@Override
public void onResourceReady(@NonNull Bitmap resource, @org.jetbrains.annotations.Nullable Transition<? super Bitmap> transition) {
if (call != null) {
call.onCall(resource);
}
}
@Override
public void onLoadCleared(@org.jetbrains.annotations.Nullable Drawable placeholder) {
if (call != null) {
call.onCall(null);
}
}
});
}
});
uCrop.start(fragment.requireActivity(), fragment, requestCode);
}
})
.forResult(requestCode);
}
@@ -191,6 +245,8 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
if (resultCode == RESULT_OK && data != null) {
switch (requestCode) {
case PictureConfig.REQUEST_GO_SETTING:
PictureSelector.create(EditUserInfoActivity.this)
.openPreview() ;
List<LocalMedia> localMedia1 = PictureSelector.obtainSelectorList(data);
if (localMedia1 != null && localMedia1.size() != 0) {
LocalMedia imgMedia = localMedia1.get(0);
@@ -205,6 +261,9 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
break;
case PictureConfig.CHOOSE_REQUEST:
PictureSelector.create(EditUserInfoActivity.this)
.openPreview() ;
List<LocalMedia> localMedia = PictureSelector.obtainSelectorList(data);
if (localMedia != null && localMedia.size() != 0) {
LocalMedia imgMedia = localMedia.get(0);
@@ -218,6 +277,8 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
}
break;
case PictureConfig.REQUEST_CAMERA:
PictureSelector.create(EditUserInfoActivity.this)
.openPreview() ;
List<LocalMedia> localMediaList = PictureSelector.obtainSelectorList(data);
if (localMediaList != null && !localMediaList.isEmpty()) {
@@ -244,7 +305,6 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
}
@Override
public void getUserHomeSuccess(UserInfo userInfo) {
SpUtil.saveUserInfo(userInfo);
@@ -253,25 +313,25 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
mBinding.tvSex.setText(userInfo.getSex() == 1 ? "" : "");
mBinding.tvSr.setText(userInfo.getBirthday());
uploadedUrls.clear();
List<String> images =userInfo.getHome_bgimages()!=null && !userInfo.getHome_bgimages().isEmpty() ? Arrays.asList(userInfo.getHome_bgimages().split(",")):new ArrayList<>();
for (int i=0;i<images.size();i++) {
uploadedUrls.add( images.get(i));
List<String> images = userInfo.getHome_bgimages() != null && !userInfo.getHome_bgimages().isEmpty() ? Arrays.asList(userInfo.getHome_bgimages().split(",")) : new ArrayList<>();
for (int i = 0; i < images.size(); i++) {
uploadedUrls.add(images.get(i));
}
list.clear();
list.addAll(uploadedUrls);
list.add(UserPhotoWallAdapter.ADD_PHOTO); // 最后加上 ADD_PHOTO
mUserPhotoWallAdapter.setNewData(list);
userInfo1=userInfo;
List<XBannerData> s=new ArrayList<>();
if (userInfo.getHome_bgimages()==null||userInfo.getHome_bgimages().isEmpty()){
userInfo1 = userInfo;
List<XBannerData> s = new ArrayList<>();
if (userInfo.getHome_bgimages() == null || userInfo.getHome_bgimages().isEmpty()) {
if (userInfo.getAvatar()!=null) {
s.add(new XBannerData(0,userInfo.getAvatar(),""));
if (userInfo.getAvatar() != null) {
s.add(new XBannerData(0, userInfo.getAvatar(), ""));
}
mBinding.xbanner.setBannerData(s);
}else {
for (String s1 : uploadedUrls){
s.add(new XBannerData(0,s1,""));
} else {
for (String s1 : uploadedUrls) {
s.add(new XBannerData(0, s1, ""));
}
mBinding.xbanner.setBannerData(s);
}
@@ -279,7 +339,7 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
@Override
public void loadBanner(XBanner banner, Object model, View view, int position) {
XBannerData xBannerData= (XBannerData) model;
XBannerData xBannerData = (XBannerData) model;
ImageUtils.loadHeadCC(xBannerData.getUrl(), (ImageView) view);
}
});
@@ -296,7 +356,7 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
@Override
public void onError(int code, String desc) {
LogUtils.e("@@@", "描述"+desc);
LogUtils.e("@@@", "描述" + desc);
}
});
}
@@ -304,7 +364,7 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
@Override
public void editUserInfoSuccess(String s) {
ToastUtils.showShort(s);
MvpPre.getUserHome(SpUtil.getUserId()+"");
MvpPre.getUserHome(SpUtil.getUserId() + "");
}
@Override
@@ -318,10 +378,10 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
ImageUtils.loadHeadCC(url, mBinding.rvUserHead);
userInfo1.setAvatar(url);
EventBus.getDefault().post(userInfo1);
UserBean userBean =SpUtil.getUserBean();
UserBean userBean = SpUtil.getUserBean();
userBean.setAvatar(url);
EventBus.getDefault().post(userBean);
MvpPre.editUserInfo("", "", "", url, "", "", "");
MvpPre.editUserInfo("", "", "", url, "", "", "");
} else {
// list.add(new UserImgList("1", url));
// mUserPhotoWallAdapter.setNewData(list);
@@ -337,6 +397,7 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
}
}
}
private void updateAdapterData() {
list.clear();
list.addAll(uploadedUrls); // 添加真实图片
@@ -346,11 +407,12 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
// MvpPre.editUserInfo("", "", "", "", imageUrlsString, "", "");
MvpPre.editUserBg(imageUrlsString);
}
@Override
public void selectDate(String year, String month, String day) {
mBinding.tvSr.setText(year + "-" + month + "-" + day);
/* map.put("birthday", year + "-" + month + "-" + day);*/
/* map.put("birthday", year + "-" + month + "-" + day);*/
MvpPre.editUserInfo("", year + "-" + month + "-" + day, "", "", "", "", "");
MvpPre.editUserInfo("", year + "-" + month + "-" + day, "", "", "", "", "");
}
}

View File

@@ -17,10 +17,14 @@ import com.example.modulevocal.databinding.ActivityMyMoneyBinding;
import com.example.modulevocal.presenter.MyMoneyPresenter;
import com.hjq.toast.ToastUtils;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
import com.qxcm.moduleutil.bean.BindType;
import com.qxcm.moduleutil.bean.WalletBean;
import com.qxcm.moduleutil.utils.ARouteConstants;
import com.qxcm.moduleutil.utils.SpUtil;
import java.util.ArrayList;
import java.util.List;
/**
*@author qx
*@data 2025/5/21
@@ -28,6 +32,7 @@ import com.qxcm.moduleutil.utils.SpUtil;
*/
public class MyMoneyActivity extends BaseMvpActivity<MyMoneyPresenter, ActivityMyMoneyBinding> implements MyMoneyConactos.View {
private boolean isBind=false;
@Override
protected void initData() {
@@ -46,6 +51,7 @@ public class MyMoneyActivity extends BaseMvpActivity<MyMoneyPresenter, ActivityM
protected void onResume() {
super.onResume();
MvpPre.wallet();
MvpPre.bindType(SpUtil.getUserId() + "");
}
private void onClick(View view) {
@@ -63,7 +69,11 @@ public class MyMoneyActivity extends BaseMvpActivity<MyMoneyPresenter, ActivityM
startActivity(new Intent(this, PhoneReplacementActivity.class));
return;
}
startActivity(new Intent(this, WithdrawalActivity.class));
if (isBind) {
startActivity(new Intent(this, WithdrawalActivity.class));
}else {
ToastUtils.show("请先绑定银行卡");
}
}else if (view.getId()==R.id.r_3){//钻石换币
startActivity(new Intent(this, CurrencyExchangeActivity.class));
}else if (view.getId()==R.id.r_1){//金币收支
@@ -94,4 +104,32 @@ public class MyMoneyActivity extends BaseMvpActivity<MyMoneyPresenter, ActivityM
mBinding.tv1.setText(walletBean.getCoin());
mBinding.tv2.setText(walletBean.getEarnings());
}
@Override
public void bindType(BindType bindType) {
List<BindType.AllData> allData = new ArrayList<>();
if (bindType.getAli().getIs_with_draw_open().equals("1")) {
allData.add(bindType.getAli());
}
if (bindType.getWx().getIs_with_draw_open().equals("1")) {
allData.add(bindType.getWx());
}
if (bindType.getBank().getIs_with_draw_open().equals("1")) {
allData.add(bindType.getBank());
}
if (bindType.getAli_tl().getIs_with_draw_open().equals("1")) {
allData.add(bindType.getAli_tl());
}
if (bindType.getWx_tl().getIs_with_draw_open().equals("1")) {
allData.add(bindType.getWx_tl());
}
for (BindType.AllData data : allData){
if (data.getIs_bind().equals("1")){
isBind=true;
break;
}
}
}
}

View File

@@ -9,6 +9,7 @@ import androidx.appcompat.app.AlertDialog;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.blankj.utilcode.util.ToastUtils;
import com.example.modulevocal.R;
import com.qxcm.moduleutil.adapter.PayMethodAdapter;
@@ -22,6 +23,7 @@ import com.qxcm.moduleutil.bean.AppPay;
import com.qxcm.moduleutil.bean.BindType;
import com.qxcm.moduleutil.bean.RechargeBean;
import com.qxcm.moduleutil.bean.WalletBean;
import com.qxcm.moduleutil.utils.ARouteConstants;
import com.qxcm.moduleutil.utils.SpUtil;
import com.qxcm.moduleutil.widget.PaymentUtil;
import com.tencent.liteav.base.Log;
@@ -38,6 +40,7 @@ import java.util.List;
* @data 2025/5/21
* @description: 充值
*/
@Route(path = ARouteConstants.RECHARGE_ACTIVITY)
public class RechargeActivity extends BaseMvpActivity<RechargePresenter, ActivityRechargeBinding> implements RechargeConactos.View {
private BalanceRechargeAdapter rechargeAdapter;

View File

@@ -91,6 +91,10 @@ public class RevenueActivity extends BaseMvpActivity<RevenuePresenter, ActivityR
}
@Override
public void finishRefreshLoadMore() {
}
private static class MyFragmentPagerAdapter extends FragmentStatePagerAdapter {
private List<MyBagBean> list;

View File

@@ -119,7 +119,7 @@ public class SettingActivity extends BaseMvpActivity<SettingPresenter, ActivityS
.setNegativeButton("取消", null).create().show();
}else if (view.getId() == R.id.ll_zhxiao){
new AlertDialog.Builder(this).setMessage("确定要注销账号吗?")
.setMessage("注销账号后所有的金币将要清零,是否要注销?")
.setMessage("注销后您当前的账户金币及钻石将无法找回,\n 30天内本账号将无法登陆请谨慎操作")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

View File

@@ -75,7 +75,9 @@ public class UserHomepageActivity extends BaseMvpActivity<UserHomepagePresenter,
@Override
public void setUserDetails(UserInfo data) {
SpUtil.saveUserInfo(data);
if (data.getUser_id()==SpUtil.getUserId()) {
SpUtil.saveUserInfo(data);
}
List<String> homeBgimages = new ArrayList<>();
if (!TextUtils.isEmpty(data.getHome_bgimages())){
homeBgimages = Arrays.asList(data.getHome_bgimages().split(","));
@@ -102,7 +104,7 @@ public class UserHomepageActivity extends BaseMvpActivity<UserHomepagePresenter,
}
});
List<Fragment> fragments = new ArrayList<>();
fragments.add(UserHomepageFragment.newInstance(userId,type));
fragments.add(UserHomepageFragment.newInstance(data,type));
mBinding.viewPager.setAdapter(new MyFragmentPagerAdapter(fragments, getSupportFragmentManager()));
}

View File

@@ -17,6 +17,7 @@ import androidx.appcompat.app.AlertDialog;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.example.modulevocal.R;
import com.qxcm.moduleutil.adapter.PayMethodAdapter;
import com.example.modulevocal.conacts.WithdrawalConacts;
@@ -25,6 +26,7 @@ import com.example.modulevocal.presenter.WithdrawalPresenter;
import com.google.android.material.textfield.TextInputEditText;
import com.hjq.toast.ToastUtils;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
import com.qxcm.moduleutil.base.CommonAppContext;
import com.qxcm.moduleutil.bean.BindType;
import com.qxcm.moduleutil.bean.WalletBean;
import com.qxcm.moduleutil.bean.WalletConfig;
@@ -72,11 +74,15 @@ public class WithdrawalActivity extends BaseMvpActivity<WithdrawalPresenter, Act
});
mBinding.tvPayment.setOnClickListener(v -> {
if (mBinding.etCustomAmount.getText().toString().isEmpty()){
if (!mBinding.cbPrivacy.isChecked()) {
ToastUtils.show("请先阅读就业协议并同意协议");
return;
}
if (mBinding.etCustomAmount.getText().toString().isEmpty()) {
ToastUtils.show("请输入提现金额");
return;
}
if (selectedItem == null){
if (selectedItem == null) {
ToastUtils.show("请选择提现方式");
return;
}
@@ -88,11 +94,16 @@ public class WithdrawalActivity extends BaseMvpActivity<WithdrawalPresenter, Act
mBinding.etCustomAmount.setText(earnings);
});
mBinding.tvLhjy.setOnClickListener(v -> {
ARouter.getInstance().build(ARouteConstants.H5).withString("url",walletBean.getUrl()).withString("title", walletBean.getTitle()).navigation();
});
TextInputEditText etCustomAmount = mBinding.etCustomAmount;
// 限制只能输入数字和小数点后一位
etCustomAmount.setKeyListener(DigitsKeyListener.getInstance("0123456789."));
etCustomAmount.setFilters(new InputFilter[]{ (source, start, end, dest, dstart, dend) -> {
etCustomAmount.setFilters(new InputFilter[]{(source, start, end, dest, dstart, dend) -> {
// 防止输入负号
if (source.toString().contains("-")) {
return "";
@@ -120,10 +131,12 @@ public class WithdrawalActivity extends BaseMvpActivity<WithdrawalPresenter, Act
// 可选:添加 TextWatcher 来监听输入内容变化
etCustomAmount.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
@@ -138,6 +151,7 @@ public class WithdrawalActivity extends BaseMvpActivity<WithdrawalPresenter, Act
}
});
}
private String truncateToFirstDecimalPlace(String value) {
if (TextUtils.isEmpty(value)) return "0.0";
@@ -268,6 +282,9 @@ public class WithdrawalActivity extends BaseMvpActivity<WithdrawalPresenter, Act
public void wallet(WalletBean walletBean) {
this.walletBean = walletBean;
mBinding.tvJb.setText(walletBean.getEarnings());
if (walletBean.getTitle() != null) {
mBinding.tvLhjy.setText(walletBean.getTitle());
}
}
@Override

View File

@@ -18,6 +18,12 @@ public class RevenueAdapter extends BaseQuickAdapter<RevenueBean, BaseViewHolder
helper.setText(R.id.tv_time, time);
helper.setText(R.id.tv_name, item.getRemarks());
helper.setText(R.id.tv_jb, item.getChange_value());
if (item.getType()==2){
helper.getView(R.id.im_ty).setBackgroundResource(com.qxcm.moduleutil.R.mipmap.gift_t);
}else if (item.getType()==1){
helper.getView(R.id.im_ty).setBackgroundResource(com.qxcm.moduleutil.R.mipmap.jinb);
}
}
}
}

View File

@@ -27,7 +27,7 @@ public class DailyTasksConacts {
void dailyTasksOpenBox(String gift_box_id);
void dailyTasksComplete(String task_id);
void dailyTasksReceive(String task_id);
}
}

View File

@@ -4,6 +4,7 @@ import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
import com.qxcm.moduleutil.bean.BindType;
import com.qxcm.moduleutil.bean.WalletBean;
import java.io.File;
@@ -11,10 +12,15 @@ import java.io.File;
public final class MyMoneyConactos {
public interface View extends IView<Activity> {
void wallet(WalletBean walletBean);
void bindType(BindType bindType);
}
public interface IMePre extends IPresenter {
void wallet();
void bindType(String userId);
}
}

View File

@@ -11,6 +11,8 @@ import java.util.List;
public class RevenueConacts {
public interface View extends IView<Activity> {
void saveRevenueData(List<RevenueBean> bean);
void finishRefreshLoadMore();
}
public interface IMePre extends IPresenter {

View File

@@ -180,7 +180,9 @@ public class MyCreateFragment extends BaseMvpFragment<MyRoomPresenter, RoomFragm
@Override
public void delfootSuccess() {
page = 1;
MvpPre.getMyFoot(page);
// MvpPre.getMyFoot(page);
viewItems = new ArrayList<>();
MvpPre.getCharmList(0,page+"");//我创建的
ToastUtils.show("清空足迹成功");
}

View File

@@ -2,6 +2,7 @@ package com.example.modulevocal.fragment;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
@@ -22,8 +23,11 @@ import com.qxcm.moduleutil.base.BaseMvpFragment;
import com.qxcm.moduleutil.bean.RevenueBean;
import com.qxcm.moduleutil.dialog.DoubleDatePickerDialog;
import com.qxcm.moduleutil.widget.DoubleTimePickerBottomSheet;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashSet;
@@ -43,6 +47,7 @@ public class RevenueFragment extends BaseMvpFragment<RevenuePresenter, FragmentR
private RevenueAdapter adapter;
private boolean isLoaded = false;
private int page = 1;
@Override
protected RevenuePresenter bindPresenter() {
return new RevenuePresenter(this,getActivity());
@@ -80,7 +85,7 @@ public class RevenueFragment extends BaseMvpFragment<RevenuePresenter, FragmentR
}
private void loadData() {
MvpPre.getRevenueData("1","50",revenueType,"","",type);
MvpPre.getRevenueData(page+"","50",revenueType,"","",type);
}
@Override
@@ -108,6 +113,40 @@ public class RevenueFragment extends BaseMvpFragment<RevenuePresenter, FragmentR
adapter = new RevenueAdapter();
mBinding.revenueView.setAdapter(adapter);
mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
@Override
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
page++;
String startDate = mBinding.tv2.getText().toString();
String endDate = mBinding.tv22.getText().toString();
if ( startDate!=null && !startDate.equals("") ){
if ( endDate!=null && !endDate.equals("") ){
MvpPre.getRevenueData(page+"","50",revenueType,startDate,endDate,revenueType);
}else {
MvpPre.getRevenueData(page+"","50",revenueType,"",endDate,type);
}
}
// MvpPre.getRevenueData(page+"","50",revenueType,"","",type);
}
@Override
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
// EventBus.getDefault().post(new BannerRefreshEvent());
page = 1;
// MvpPre.getRevenueData(page+"","50",revenueType,"","",type);
String startDate = mBinding.tv2.getText().toString();
String endDate = mBinding.tv22.getText().toString();
if ( startDate!=null && !startDate.equals("") ){
if ( endDate!=null && !endDate.equals("") ){
MvpPre.getRevenueData(page+"","50",revenueType,startDate,endDate,revenueType);
}else {
MvpPre.getRevenueData(page+"","50",revenueType,"",endDate,type);
}
}
}
});
}
@Override
@@ -117,6 +156,25 @@ public class RevenueFragment extends BaseMvpFragment<RevenuePresenter, FragmentR
@Override
public void saveRevenueData(List<RevenueBean> bean) {
adapter.setNewData(bean);
if (bean !=null || bean.size() > 0) {
List<RevenueBean> list = new ArrayList<>();
for (RevenueBean revenueBean : bean) {
revenueBean.setType(Integer.parseInt(type));
list.add(revenueBean);
}
if (page == 1) {
adapter.setNewData(list);
}else {
adapter.addData(list);
}
}else {
adapter.setNewData(new ArrayList<>());
}
}
@Override
public void finishRefreshLoadMore() {
mBinding.smartRefreshLayout.finishRefresh();
mBinding.smartRefreshLayout.finishLoadMore();
}
}

View File

@@ -64,10 +64,10 @@ public class UserHomepageFragment extends BaseMvpFragment<UserHomepagePresenter,
public void userGuanzSuccess(String s) {
if (userInfo.getIs_follow() == 1) {
userInfo.setIs_follow(0);
SpUtil.saveUserInfo(userInfo);
// SpUtil.saveUserInfo(userInfo);
} else {
userInfo.setIs_follow(1);
SpUtil.saveUserInfo(userInfo);
// SpUtil.saveUserInfo(userInfo);
}
refreshView();
}
@@ -77,10 +77,10 @@ public class UserHomepageFragment extends BaseMvpFragment<UserHomepagePresenter,
}
public static UserHomepageFragment newInstance(String userId, int type) {
public static UserHomepageFragment newInstance(UserInfo userInfo, int type) {
UserHomepageFragment fragment = new UserHomepageFragment();
Bundle args = new Bundle();
args.putString("userId", userId);
args.putSerializable("userInfo", userInfo);
args.putInt("type", type);
fragment.setArguments(args);
return fragment;
@@ -89,7 +89,7 @@ public class UserHomepageFragment extends BaseMvpFragment<UserHomepagePresenter,
@Override
public void initArgs(Bundle arguments) {
super.initArgs(arguments);
userId = arguments.getString("userId");
userInfo = (UserInfo) arguments.getSerializable("userInfo");
type = arguments.getInt("type");
}
@@ -100,12 +100,14 @@ public class UserHomepageFragment extends BaseMvpFragment<UserHomepagePresenter,
@Override
protected void initData() {
userInfo = SpUtil.getUserInfo();
if (userInfo == null) {
userInfo = SpUtil.getUserInfo();
}
list = new ArrayList<>();
list.add(new MyBagBean("动态", "1"));
list.add(new MyBagBean("礼物墙", "2"));
list.add(new MyBagBean("我的相册", "3"));
mBinding.viewPager.setAdapter(new MyFragmentPagerAdapter(getChildFragmentManager(), list, userId));
mBinding.viewPager.setAdapter(new MyFragmentPagerAdapter(getChildFragmentManager(), list, userInfo.getUser_id()+""));
mBinding.slidingTabLayout.setViewPager(mBinding.viewPager);
if (type == 1) {
mBinding.slidingTabLayout.setCurrentTab(1);
@@ -152,8 +154,11 @@ public class UserHomepageFragment extends BaseMvpFragment<UserHomepagePresenter,
};
mBinding.headerInfo.recycleView2.setAdapter(adapter);
if (!userInfo.getTag_list().isEmpty()) {
adapter.setNewData(userInfo.getTag_list());
if (userInfo != null) {
if (userInfo.getTag_list() != null && !userInfo.getTag_list().isEmpty()) {
adapter.setNewData(userInfo.getTag_list());
}
}
@@ -163,7 +168,7 @@ public class UserHomepageFragment extends BaseMvpFragment<UserHomepagePresenter,
}
private void refreshView() {
if (SpUtil.getUserId() == Integer.parseInt(userId)) {
if (SpUtil.getUserId() == userInfo.getUser_id()) {
mBinding.headerInfo.tvGsSx.setVisibility(View.GONE);
mBinding.headerInfo.tvGz.setVisibility(View.GONE);
} else {

View File

@@ -14,11 +14,15 @@ public class ZhuangBanShangChengConactos {
void getDecorateList(List<ZhuangBanShangChengBean> zhuangBanShangChengBeans);
void setUserDecorate();
void cancelUserDecorate();
}
public interface ICreatedRoomPre extends IPresenter {
void getDecorateList(String type);
void setUserDecorate(String udid);
void cancelUserDecorate(String type);
}
}

View File

@@ -12,6 +12,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
import com.example.modulevocal.R;
import com.example.modulevocal.databinding.ZhuangbanRecyclerviewNorefBinding;
import com.example.modulevocal.fragment.MyRoomListFragment;
import com.hjq.toast.ToastUtils;
import com.qxcm.moduleutil.base.BaseMvpFragment;
import com.qxcm.moduleutil.bean.zhuangb.ZhuangBanShangChengBean;
import com.qxcm.moduleutil.widget.AvatarFrameView;
@@ -127,7 +128,11 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
protected void initView() {
mBinding.zhuangbanBuy.setOnClickListener(v -> {
MvpPre.setUserDecorate(did);
if (did == null || did.isEmpty()){
MvpPre.cancelUserDecorate(type+"");
}else {
MvpPre.setUserDecorate(did);
}
});
}
@@ -138,6 +143,9 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
@Override
public void getDecorateList(List<ZhuangBanShangChengBean> zhuangBanShangChengBeans) {
ZhuangBanShangChengBean zhuangBanShangChengBean = new ZhuangBanShangChengBean();
zhuangBanShangChengBean.setTitle("");
zhuangBanShangChengBeans.add(0,zhuangBanShangChengBean);
adapter.setNewData(zhuangBanShangChengBeans);
}
@@ -145,4 +153,9 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
public void setUserDecorate() {
Toast.makeText(getSelfActivity(), "设置成功", Toast.LENGTH_SHORT).show();
}
@Override
public void cancelUserDecorate() {
ToastUtils.show("取消成功");
}
}

View File

@@ -45,4 +45,20 @@ public class ZhuangBanShangChengPresenter extends BasePresenter<ZhuangBanShangCh
}
});
}
@Override
public void cancelUserDecorate(String type) {
api.cancelUserDecorate(type, new BaseObserver<String>() {
@Override
public void onSubscribe(Disposable d) {
addDisposable(d);
}
@Override
public void onNext(String s) {
MvpRef.get().cancelUserDecorate();
}
});
}
}

View File

@@ -51,8 +51,8 @@ public class DailyTasksPresenter extends BasePresenter<DailyTasksConacts.View> i
}
@Override
public void dailyTasksComplete(String task_id) {
api.dailyTasksComplete(task_id, new BaseObserver<String>() {
public void dailyTasksReceive(String task_id) {
api.dailyTasksReceive(task_id, new BaseObserver<String>() {
@Override
public void onSubscribe(Disposable d) {

View File

@@ -3,6 +3,7 @@ package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.MyMoneyConactos;
import com.qxcm.moduleutil.bean.BindType;
import com.qxcm.moduleutil.bean.WalletBean;
import com.qxcm.moduleutil.http.BaseObserver;
import com.qxcm.moduleutil.presenter.BasePresenter;
@@ -28,4 +29,19 @@ public class MyMoneyPresenter extends BasePresenter<MyMoneyConactos.View> implem
}
});
}
@Override
public void bindType(String userId) {
api.bindType(userId, new BaseObserver<BindType>() {
@Override
public void onSubscribe(Disposable d) {
addDisposable(d);
}
@Override
public void onNext(BindType bindType) {
MvpRef.get().bindType(bindType);
}
});
}
}

View File

@@ -11,6 +11,8 @@ import com.qxcm.moduleutil.http.BaseModel;
import com.qxcm.moduleutil.http.BaseObserver;
import com.qxcm.moduleutil.presenter.BasePresenter;
import java.lang.ref.WeakReference;
import io.reactivex.disposables.Disposable;
import retrofit2.Call;
import retrofit2.Callback;
@@ -19,9 +21,11 @@ import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class RealNamePresenter extends BasePresenter<RealNameConacts.View> implements RealNameConacts.IMePre{
private RealNameConacts.View mView;
public RealNamePresenter(RealNameConacts.View view, Context context) {
super(view, context);
mView = view;
}
@Override
@@ -35,6 +39,9 @@ public class RealNamePresenter extends BasePresenter<RealNameConacts.View> imple
@Override
public void onNext(RealNameBean realNameBean) {
if (MvpRef==null){
MvpRef = new WeakReference<>(mView);
}
MvpRef.get().realNameSuccess(realNameBean);
}
});
@@ -51,6 +58,9 @@ public class RealNamePresenter extends BasePresenter<RealNameConacts.View> imple
@Override
public void onNext(String s) {
if (MvpRef==null){
MvpRef = new WeakReference<>(mView);
}
MvpRef.get().sendCodeSuccess();
}
});

View File

@@ -7,14 +7,17 @@ import com.qxcm.moduleutil.bean.RevenueBean;
import com.qxcm.moduleutil.http.BaseObserver;
import com.qxcm.moduleutil.presenter.BasePresenter;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.disposables.Disposable;
public class RevenuePresenter extends BasePresenter<RevenueConacts.View> implements RevenueConacts.IMePre {
RevenueConacts.View mView;
public RevenuePresenter(RevenueConacts.View view, Context context) {
super(view, context);
mView = view;
}
@@ -28,7 +31,11 @@ public class RevenuePresenter extends BasePresenter<RevenueConacts.View> impleme
@Override
public void onNext(List<RevenueBean> revenueBeans) {
if (MvpRef==null){
MvpRef = new WeakReference<>(mView);
}
MvpRef.get().saveRevenueData(revenueBeans);
MvpRef.get().finishRefreshLoadMore();
}
});
}

View File

@@ -114,7 +114,7 @@
android:layout_centerInParent="true"
android:layout_toRightOf="@+id/t_4"
android:background="@null"
android:hint="请输入充值金额(300-50000元)"
android:hint="请输入充值金额"
android:inputType="numberDecimal"
android:textColorHint="@color/color_FF999999"
android:textSize="@dimen/sp_14" />

View File

@@ -28,7 +28,8 @@
<LinearLayout
android:id="@+id/ll_notification"
style="@style/My_Info_Item_LL_Style"
android:background="@drawable/bg_r15_white">
android:background="@drawable/bg_r15_white"
android:visibility="gone">
<TextView
style="@style/My_Info_Item_Title_Style"
@@ -44,13 +45,15 @@
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:layout_alignParentBottom="true"
android:background="#E2E2E2" />
android:background="#E2E2E2"
android:visibility="gone"/>
<LinearLayout
android:id="@+id/ll_youth"
style="@style/My_Info_Item_LL_Style"
android:background="@drawable/bg_r15_white">
android:background="@drawable/bg_r15_white"
>
<TextView
style="@style/My_Info_Item_Title_Style"

View File

@@ -217,6 +217,43 @@
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintTop_toBottomOf="@+id/t_6" />
<LinearLayout
android:id="@+id/ll_agreement"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/tv_payment"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="@dimen/dp_15"
android:gravity="center"
android:orientation="horizontal">
<CheckBox
android:id="@+id/cb_privacy"
android:layout_width="@dimen/dp_15"
android:layout_height="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_5"
android:background="@drawable/selector_login_agreement"
android:button="@null" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我已阅读并同意"
android:textColor="@color/color_FFA8A8A8"
android:textSize="@dimen/sp_11"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_lhjy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="《灵活就业协议》"
android:textColor="#7ECFFA"
android:textSize="@dimen/sp_11"
android:textStyle="bold" />
</LinearLayout>
<TextView
android:id="@+id/tv_payment"

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".fragment.RevenueFragment">
@@ -63,6 +64,13 @@
android:src="@mipmap/data2" />
</LinearLayout>
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/smart_refresh_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:srlEnableLoadMore="true"
app:srlEnableRefresh="true">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/revenue_view"
android:layout_width="match_parent"
@@ -74,6 +82,7 @@
android:background="@color/color_FFF5F5F5"
android:orientation="vertical"
tools:listitem="@layout/item_revenue" />
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</LinearLayout>
</layout>

View File

@@ -44,7 +44,6 @@
android:id="@+id/im_ty"
android:layout_width="@dimen/dp_16"
android:layout_height="@dimen/dp_16"
android:src="@mipmap/jinb"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginStart="@dimen/dp_1"

View File

@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="@dimen/dp_77"
android:layout_height="@dimen/dp_119"
android:layout_height="@dimen/dp_129"
android:layout_marginTop="@dimen/dp_10"
android:background="@mipmap/gift_bj"
android:gravity="center_horizontal"