diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2d90d8f..cb00418 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -273,6 +273,14 @@ android:theme="@style/AppThemeStart"> + + + + + + + + + + + + + + + + + + + + + map1 = new HashMap<>(); map1.put("code", 0); map1.put("error", "金币被封禁"); + callBackFunction.onCallBack(GsonUtils.beanToJSONString(map1)); + toRengong(); return; } diff --git a/app/src/main/java/com/hbl/lewan/main/mine/BuyAccountActivity.java b/app/src/main/java/com/hbl/lewan/main/mine/BuyAccountActivity.java new file mode 100644 index 0000000..af9a56f --- /dev/null +++ b/app/src/main/java/com/hbl/lewan/main/mine/BuyAccountActivity.java @@ -0,0 +1,447 @@ +package com.hbl.lewan.main.mine; + +import android.content.Intent; +import android.graphics.Color; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.os.Bundle; +import android.os.Handler; +import android.text.TextUtils; +import android.view.View; + +import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; +import androidx.core.content.ContextCompat; +import androidx.core.graphics.drawable.DrawableCompat; + +import com.codersun.fingerprintcompat.AonFingerChangeCallback; +import com.codersun.fingerprintcompat.FingerManager; +import com.codersun.fingerprintcompat.SimpleFingerCheckCallback; +import com.hbl.lewan.IMApplication; +import com.hbl.lewan.IMUIKitConfig; +import com.hbl.lewan.R; +import com.hbl.lewan.databinding.ActivityBuyAccountBinding; +import com.hbl.lewan.databinding.ActivityShimingBinding; +import com.hbl.lewan.dialog.ActionConfirmDialog; +import com.hbl.lewan.dialog.PayCashDialog; +import com.hbl.lewan.dialog.PayCashFingerDialog; +import com.hbl.lewan.dialog.PayDialog; +import com.hbl.lewan.dialog.SelectPayTypeDialog; +import com.hbl.lewan.game.JsBridgeActivity; +import com.hbl.lewan.model.BindBean; +import com.hbl.lewan.model.LoginBean; +import com.hbl.lewan.model.PayInfoBean; +import com.hbl.lewan.model.StaffServiceIdBean; +import com.hbl.lewan.model.TopUpBean; +import com.hbl.lewan.model.WalletBean; +import com.hbl.lewan.network.Api; +import com.hbl.lewan.network.BaseObserver; +import com.hbl.lewan.network.Result; +import com.hbl.lewan.pay.CollectionAndPaymentActivity; +import com.hbl.lewan.utils.DataUtils; +import com.hbl.lewan.utils.GsonUtils; +import com.hbl.lewan.utils.LogUtils; +import com.hbl.lewan.wallet.SetPayPasswordActivity; +import com.netease.yunxin.kit.common.ui.activities.BaseActivity; +import com.netease.yunxin.kit.common.ui.utils.ToastX; +import com.netease.yunxin.kit.corekit.im.IMKitClient; + +import java.util.HashMap; +import java.util.Map; + +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; + +public class BuyAccountActivity extends BaseActivity implements SelectPayTypeDialog.OnToTypeListener{ + ActivityBuyAccountBinding viewBinding; + WalletBean walletBean; + BindBean bindBean; + PayCashDialog payDialog; + PayCashFingerDialog payCashFingerDialog; + private int payType = 0; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + getWindow().setDecorFitsSystemWindows(false); + } else { + getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); + } + getWindow().setStatusBarColor(Color.TRANSPARENT); + + super.onCreate(savedInstanceState); + viewBinding = ActivityBuyAccountBinding.inflate(getLayoutInflater()); + setContentView(viewBinding.getRoot()); + payType = DataUtils.get(this,"pay_type",0); + + + + initView(); + getWallet(); + bindInfo(); + } + + + private void bindInfo() { + Api.getInstance().bindInfo(IMKitClient.account()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new BaseObserver>() { + @Override + public void onSuccess(Result feedbackResp) { + bindBean = feedbackResp.data; + LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean)); + } + + @Override + public void onError(int code, String msg) { + LogUtils.i("获取到的错误:" + code + "" + msg); + } + }); + + } + + protected void initView() { + viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish()); + Drawable drawable = viewBinding.contactListActivityTitleBar.getBackImageView().getDrawable().mutate();// + Drawable wrap = DrawableCompat.wrap(drawable); + DrawableCompat.setTint(wrap, ContextCompat.getColor(this,R.color.white)); + viewBinding.contactListActivityTitleBar.getBackImageView().setImageDrawable(wrap); + + viewBinding.sumbitBt.setOnClickListener(v -> { + + +// if(TextUtils.isEmpty(viewBinding.nameEt.getText().toString().trim())){ +// ToastX.showShortToast("请输入您的真实姓名"); +// return; +// } +// +// if(TextUtils.isEmpty(viewBinding.numberEt.getText().toString().trim())){ +// ToastX.showShortToast("请输入您本人的身份证号码"); +// return; +// } + LoginBean loginBean = DataUtils.getLocUserInfo(); + if (loginBean != null && loginBean.getUser() != null) { + if (loginBean.getUser().getForbidQCoin() == 1) { + Map map1 = new HashMap<>(); + map1.put("code", 0); + map1.put("error", "金币被封禁"); + toRengong(); + return; + } +// PayDialog payDialog = new PayDialog(BuyAccountActivity.this, "68", false); +// payDialog.setOntoAlbumListener(new PayDialog.OnListItemClickListener() { +// @Override +// public void onPayPass(String position) { +// +// } +// +// @Override +// public void dimess() { +// +// } +// }); +// payDialog.show(); + + + if (DataUtils.get(BuyAccountActivity.this, "hasFinger", false)) { + showPayCashFingerDialog(); + } else { + showPayCashDialog(); + } + } + }); + + + } + + + + private void showPayCashDialog() { + payDialog = new PayCashDialog(BuyAccountActivity.this,"68",true,0,walletBean, + null,2,"购买副号"); + //免密支付的 要告诉 为什么 没有免密 +// if(DataUtils.get(BuyAccountActivity.this, "hasMianMi", false)){ +// payDialog = new PayCashDialog(BuyAccountActivity.this,"68",true,0,walletBean, +// null,2,"购买副号",getString(R.string.zfjecgxz_txt)); +// } + payDialog.setOntoAlbumListener(new PayCashDialog.OnListItemClickListener() { + @Override + public void onPayPass(String position) { + + toChange(position,false); + } + + @RequiresApi(api = Build.VERSION_CODES.M) + @Override + public void onChangeFinger() { + showPayCashFingerDialog(); + } + + @Override + public void dimess() { +// ActionConfirmDialog actionDialog = new ActionConfirmDialog(BuyAccountActivity.this, +// getString(R.string.quxiaozhifu_dialog_txt),true); +// actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() { +// @Override +// public void toSumbit() { +// cancelPay(); +// } +// +// @Override +// public void toCancel() { +// actionDialog.dismiss(); + payDialog.dismiss(); +// } +// }); +// actionDialog.show(); + + } + }); + payDialog.show(); + } + + private void showPayCashFingerDialog() { + //Context context, String data, boolean showNumber, int payType, WalletBean walletBean, SelectPayTypeDialog.OnToTypeListener onToTypeListener, int isShowFinger + payCashFingerDialog = new PayCashFingerDialog(this,"68",true, + 0,walletBean,null,2,"购买副号"); + + payCashFingerDialog.setOntoAlbumListener(new PayCashFingerDialog.OnListItemClickListener() { + @Override + public void onChangePassword() { + showPayCashDialog(); + } + + @Override + public void toFinger() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + checkPayFinger(); + } + } + + @Override + public void dimess() { +// ActionConfirmDialog actionDialog = new ActionConfirmDialog(BuyAccountActivity.this, +// getString(R.string.quxiaozhifu_dialog_txt),true); +// actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() { +// @Override +// public void toSumbit() { +// cancelPay(); +// } +// +// @Override +// public void toCancel() { +// actionDialog.dismiss(); + payCashFingerDialog.dismiss(); +// } +// }); +// actionDialog.show(); + } + }); + payCashFingerDialog.show(); + } + + private void cancelPay() { + } + + + @RequiresApi(api = Build.VERSION_CODES.M) + private void checkPayFinger() { + + FingerManager.build().setApplication(IMApplication.getInstance()) + .setTitle(" ") + .setDes(" ") + .setNegativeText(" ") + .setFingerCheckCallback(new SimpleFingerCheckCallback() + { + + @Override + public void onSucceed() + { + ToastX.showShortToast("验证成功"); + payCashFingerDialog.dismiss(); + toChange(null,false); + } + + @Override + public void onError(String error) + { + ToastX.showShortToast("验证失败"); + + } + + @Override + public void onCancel() + { + ToastX.showShortToast("您取消了识别"); + + } + }) + .setFingerChangeCallback(new AonFingerChangeCallback() + { + + @Override + protected void onFingerDataChange() + { +// ToastX.showShortToast("指纹数据发生了变化"); + FingerManager.updateFingerData(BuyAccountActivity.this); + new Handler().postDelayed(() -> checkPayFinger(), 1000); + + } + }) + .create() + .startListener(BuyAccountActivity.this); + } + + private void toChange(String password,boolean isMianMi) { + + + } + + private void toRengong() { + ActionConfirmDialog actionDialog = new ActionConfirmDialog(BuyAccountActivity.this, getString(R.string.ndqbbdj_txt), getString(R.string.general_got_it), + getString(R.string.lxkh_txt),false); + actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() { + @Override + public void toSumbit() { + toKefu(); + } + + @Override + public void toCancel() { + + } + }); + actionDialog.show(); + + } + + public void toKefu() { + Api.getInstance().helpCenterStaffServiceId(IMUIKitConfig.SUBSTATIONID, 1) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new BaseObserver>() { + @Override + public void onSuccess(Result feedbackResp) { + toRengongCallTop(feedbackResp.data.getStaffServiceId(), feedbackResp.data.getStaffServiceNickname()); + } + + @Override + public void onError(int code, String msg) { +// WidgetUtils.showToast(JsBridgeActivity.this, msg, WidgetUtils.ToastType.ERROR); +// toRengongCall(400227); + ToastX.showShortToast(msg); + + } + }); + } + public void toRengongCallTop(Integer staffServiceId, String name) { +// Intent i = IntentFactory.createTempChatIntent(JsBridgeActivity.this, staffServiceId+"", name); +// startActivity(i); + } + private void showDialogPay() { + + com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(BuyAccountActivity.this, + getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt)); + actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() { + @Override + public void toSumbit() { +// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class); +// intent.putExtra("type", 5); +// startActivity(intent); + Intent intent = new Intent(BuyAccountActivity.this, SetPayPasswordActivity.class); + startActivity(intent); + } + + @Override + public void toCancel() { + + } + }); + actionDialog.show(); + } + + + private void showDialog() { + + ActionConfirmDialog actionDialog = new ActionConfirmDialog(BuyAccountActivity.this, + getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt)); + actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() { + @Override + public void toSumbit() { + Intent intent = new Intent(BuyAccountActivity.this, ChangeAccoutActionActivity.class); + intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE); + startActivity(intent); + } + + @Override + public void toCancel() { + + } + }); + actionDialog.show(); + } + + private void getWallet() { + Api.getInstance().walletInfo(IMKitClient.account()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new BaseObserver>() { + + @Override + public void onSuccess(Result feedbackResp) { + walletBean = feedbackResp.data; + changeInfo(); + + } + + @Override + public void onError(int code, String msg) { + + } + }); + + + } + + + private void changeInfo() { + if (walletBean != null) { +// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin())); +// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin())); + + } + + } + @Override + protected void onStop() { + super.onStop(); + + } + + + @Override + public void toType(int type) { + DataUtils.set(BuyAccountActivity.this,"pay_type",type); + payType = type; + changePayType(); + } + + + + private void changePayType() { +// viewBinding.yueTv.setVisibility(View.INVISIBLE); +// if(payType == 0){ +// viewBinding.payTypeTv.setText(R.string.species_txt); +// viewBinding.yueTv.setVisibility(View.VISIBLE); +// viewBinding.payTypeIv.setImageResource(R.mipmap.wallet_jinbi_img); +// }else if(payType == 1){ +// viewBinding.payTypeTv.setText("line pay"); +// viewBinding.payTypeIv.setImageResource(R.mipmap.line_pay_img); +// }else{ +// viewBinding.payTypeTv.setText(R.string.neweb_txt); +// viewBinding.payTypeIv.setImageResource(R.mipmap.newebpay_img); +// } + } +} diff --git a/app/src/main/java/com/hbl/lewan/main/mine/MineFragment.java b/app/src/main/java/com/hbl/lewan/main/mine/MineFragment.java index 83a2d99..dc0cc91 100644 --- a/app/src/main/java/com/hbl/lewan/main/mine/MineFragment.java +++ b/app/src/main/java/com/hbl/lewan/main/mine/MineFragment.java @@ -56,6 +56,7 @@ import com.hbl.lewan.utils.LogUtils; import com.hbl.lewan.wallet.GiftInfoActivity; import com.hbl.lewan.wallet.MyWalletActivity; import com.hbl.lewan.wallet.PaySettingActivity; +import com.hbl.lewan.wallet.ShiMingActivity; import com.hbl.lewan.wallet.WalletInfoActivity; import com.hbl.lewan.welcome.WelcomeActivity; //import com.king.app.updater.AppUpdater; @@ -249,6 +250,22 @@ public class MineFragment extends BaseFragment { actionConfirmDialog.show(); }); + binding.tvChange.setOnClickListener(v -> { + ActionConfirmDialog actionConfirmDialog = new ActionConfirmDialog(getActivity(), "当前没有副号,是否需要购买", "取消","购买",true); + actionConfirmDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() { + @Override + public void toSumbit() { + startActivity(new Intent(getActivity(), BuyAccountActivity.class)); + } + + @Override + public void toCancel() { + + } + }); + actionConfirmDialog.show(); + }); + binding.friendTv.setOnClickListener(v -> startActivity(new Intent(getActivity(), FriendPermissionsActivity.class))); binding.toMerchantTv.setOnClickListener(v -> { diff --git a/app/src/main/java/com/hbl/lewan/wallet/AddBankActivity.java b/app/src/main/java/com/hbl/lewan/wallet/AddBankActivity.java new file mode 100644 index 0000000..fb1bcc0 --- /dev/null +++ b/app/src/main/java/com/hbl/lewan/wallet/AddBankActivity.java @@ -0,0 +1,151 @@ +package com.hbl.lewan.wallet; + +import android.content.Intent; +import android.os.Bundle; + +import androidx.annotation.Nullable; + +import com.hbl.lewan.R; +import com.hbl.lewan.databinding.ActivityAddBankBinding; +import com.hbl.lewan.databinding.ActivityShimingBinding; +import com.hbl.lewan.dialog.ActionConfirmDialog; +import com.hbl.lewan.main.mine.ChangeAccoutActionActivity; +import com.hbl.lewan.model.BindBean; +import com.hbl.lewan.model.WalletBean; +import com.hbl.lewan.network.Api; +import com.hbl.lewan.network.BaseObserver; +import com.hbl.lewan.network.Result; +import com.hbl.lewan.utils.GsonUtils; +import com.hbl.lewan.utils.LogUtils; +import com.netease.yunxin.kit.common.ui.activities.BaseActivity; +import com.netease.yunxin.kit.corekit.im.IMKitClient; + +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; + +public class AddBankActivity extends BaseActivity { + ActivityAddBankBinding viewBinding; + WalletBean walletBean; + BindBean bindBean; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + + + super.onCreate(savedInstanceState); + viewBinding = ActivityAddBankBinding.inflate(getLayoutInflater()); + setContentView(viewBinding.getRoot()); + initView(); + getWallet(); + bindInfo(); + } + + + private void bindInfo() { + Api.getInstance().bindInfo(IMKitClient.account()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new BaseObserver<>() { + @Override + public void onSuccess(Result feedbackResp) { + bindBean = feedbackResp.data; + LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean)); + } + + @Override + public void onError(int code, String msg) { + LogUtils.i("获取到的错误:" + code + "" + msg); + } + }); + + } + + protected void initView() { + viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish()); + } + + + private void showDialogPay() { + + com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(AddBankActivity.this, + getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt)); + actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() { + @Override + public void toSumbit() { +// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class); +// intent.putExtra("type", 5); +// startActivity(intent); + Intent intent = new Intent(AddBankActivity.this, SetPayPasswordActivity.class); + startActivity(intent); + } + + @Override + public void toCancel() { + + } + }); + actionDialog.show(); + } + + + private void showDialog() { + + ActionConfirmDialog actionDialog = new ActionConfirmDialog(AddBankActivity.this, + getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt)); + actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() { + @Override + public void toSumbit() { + Intent intent = new Intent(AddBankActivity.this, ChangeAccoutActionActivity.class); + intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE); + startActivity(intent); + } + + @Override + public void toCancel() { + + } + }); + actionDialog.show(); + } + + private void getWallet() { + Api.getInstance().walletInfo(IMKitClient.account()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new BaseObserver<>() { + + @Override + public void onSuccess(Result feedbackResp) { + walletBean = feedbackResp.data; + changeInfo(); + + } + + @Override + public void onError(int code, String msg) { + + } + }); + + + } + + + private void changeInfo() { + if (walletBean != null) { +// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin())); +// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin())); + + } + + } + @Override + protected void onStop() { + super.onStop(); + + } + + + + +} diff --git a/app/src/main/java/com/hbl/lewan/wallet/BankListActivity.java b/app/src/main/java/com/hbl/lewan/wallet/BankListActivity.java new file mode 100644 index 0000000..fa38e52 --- /dev/null +++ b/app/src/main/java/com/hbl/lewan/wallet/BankListActivity.java @@ -0,0 +1,154 @@ +package com.hbl.lewan.wallet; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; + +import androidx.annotation.Nullable; + +import com.hbl.lewan.R; +import com.hbl.lewan.databinding.ActivityBankListBinding; +import com.hbl.lewan.databinding.ActivityShimingBinding; +import com.hbl.lewan.dialog.ActionConfirmDialog; +import com.hbl.lewan.main.mine.ChangeAccoutActionActivity; +import com.hbl.lewan.model.BindBean; +import com.hbl.lewan.model.WalletBean; +import com.hbl.lewan.network.Api; +import com.hbl.lewan.network.BaseObserver; +import com.hbl.lewan.network.Result; +import com.hbl.lewan.utils.GsonUtils; +import com.hbl.lewan.utils.LogUtils; +import com.netease.yunxin.kit.common.ui.activities.BaseActivity; +import com.netease.yunxin.kit.corekit.im.IMKitClient; + +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; + +public class BankListActivity extends BaseActivity { + ActivityBankListBinding viewBinding; + WalletBean walletBean; + BindBean bindBean; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + + + super.onCreate(savedInstanceState); + viewBinding = ActivityBankListBinding.inflate(getLayoutInflater()); + setContentView(viewBinding.getRoot()); + initView(); + getWallet(); + bindInfo(); + } + + + private void bindInfo() { + Api.getInstance().bindInfo(IMKitClient.account()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new BaseObserver>() { + @Override + public void onSuccess(Result feedbackResp) { + bindBean = feedbackResp.data; + LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean)); + } + + @Override + public void onError(int code, String msg) { + LogUtils.i("获取到的错误:" + code + "" + msg); + } + }); + + } + + protected void initView() { + viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish()); + + viewBinding.addBankBt.setOnClickListener(v -> startActivity(new Intent(BankListActivity.this, AddBankActivity.class))); + } + + + private void showDialogPay() { + + com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(BankListActivity.this, + getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt)); + actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() { + @Override + public void toSumbit() { +// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class); +// intent.putExtra("type", 5); +// startActivity(intent); + Intent intent = new Intent(BankListActivity.this, SetPayPasswordActivity.class); + startActivity(intent); + } + + @Override + public void toCancel() { + + } + }); + actionDialog.show(); + } + + + private void showDialog() { + + ActionConfirmDialog actionDialog = new ActionConfirmDialog(BankListActivity.this, + getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt)); + actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() { + @Override + public void toSumbit() { + Intent intent = new Intent(BankListActivity.this, ChangeAccoutActionActivity.class); + intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE); + startActivity(intent); + } + + @Override + public void toCancel() { + + } + }); + actionDialog.show(); + } + + private void getWallet() { + Api.getInstance().walletInfo(IMKitClient.account()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new BaseObserver>() { + + @Override + public void onSuccess(Result feedbackResp) { + walletBean = feedbackResp.data; + changeInfo(); + + } + + @Override + public void onError(int code, String msg) { + + } + }); + + + } + + + private void changeInfo() { + if (walletBean != null) { +// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin())); +// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin())); + + } + + } + @Override + protected void onStop() { + super.onStop(); + + } + + + + +} diff --git a/app/src/main/java/com/hbl/lewan/wallet/BindWeChatOrAliPayActivity.java b/app/src/main/java/com/hbl/lewan/wallet/BindWeChatOrAliPayActivity.java new file mode 100644 index 0000000..86a447f --- /dev/null +++ b/app/src/main/java/com/hbl/lewan/wallet/BindWeChatOrAliPayActivity.java @@ -0,0 +1,479 @@ +package com.hbl.lewan.wallet; + +import android.Manifest; +import android.content.Intent; +import android.graphics.Color; +import android.os.Build; +import android.os.Bundle; +import android.text.TextUtils; +import android.view.View; + +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; + +import com.bumptech.glide.Glide; +import com.hbl.lewan.R; +import com.hbl.lewan.databinding.ActivityBindWechatAlipayBinding; +import com.hbl.lewan.databinding.ActivityShimingBinding; +import com.hbl.lewan.dialog.ActionConfirmDialog; +import com.hbl.lewan.main.mine.ChangeAccoutActionActivity; +import com.hbl.lewan.model.BindBean; +import com.hbl.lewan.model.WalletBean; +import com.hbl.lewan.network.Api; +import com.hbl.lewan.network.BaseObserver; +import com.hbl.lewan.network.Result; +import com.hbl.lewan.utils.GsonUtils; +import com.hbl.lewan.utils.LogUtils; +import com.luck.picture.lib.basic.PictureSelector; +import com.luck.picture.lib.config.SelectMimeType; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.interfaces.OnResultCallbackListener; +import com.luck.picture.lib.style.BottomNavBarStyle; +import com.luck.picture.lib.style.PictureSelectorStyle; +import com.luck.picture.lib.style.SelectMainStyle; +import com.luck.picture.lib.style.TitleBarStyle; +import com.netease.yunxin.kit.chatkit.ui.common.GlideEngine; +import com.netease.yunxin.kit.common.ui.activities.BaseActivity; +import com.netease.yunxin.kit.common.ui.dialog.LoadingDialog; +import com.netease.yunxin.kit.common.ui.photo.PhotoPicker; +import com.netease.yunxin.kit.common.ui.utils.CommonCallback; +import com.netease.yunxin.kit.common.ui.utils.Permission; +import com.netease.yunxin.kit.common.ui.utils.ToastX; +import com.netease.yunxin.kit.common.utils.PermissionUtils; +import com.netease.yunxin.kit.contactkit.ui.utils.ColorUtils; +import com.netease.yunxin.kit.corekit.im.IMKitClient; +import com.qiniu.android.storage.Configuration; +import com.qiniu.android.storage.UploadManager; +import com.qiniu.android.storage.UploadOptions; + +import org.json.JSONException; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; + +public class BindWeChatOrAliPayActivity extends BaseActivity{ + ActivityBindWechatAlipayBinding viewBinding; + WalletBean walletBean; + BindBean bindBean; + boolean isWeChat = true; + protected ActivityResultLauncher permissionLauncher; + File imageFile = null; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + + + super.onCreate(savedInstanceState); + viewBinding = ActivityBindWechatAlipayBinding.inflate(getLayoutInflater()); + setContentView(viewBinding.getRoot()); + isWeChat = getIntent().getBooleanExtra("isWeChat", true); + permissionLauncher = + registerForActivityResult( + new ActivityResultContracts.RequestMultiplePermissions(), + result -> { + if (result != null) { + for (Map.Entry entry : result.entrySet()) { + String permission = entry.getKey().toString(); + boolean grant = (Boolean) entry.getValue(); + if (grant) { + if (TextUtils.equals( + permission, Manifest.permission.READ_EXTERNAL_STORAGE) || TextUtils.equals( + permission, Manifest.permission.READ_MEDIA_IMAGES) || TextUtils.equals( + permission, Manifest.permission.READ_MEDIA_VIDEO)) { + startPickMedia(); + } + } else { + if (shouldShowRequestPermissionRationale(permission)) { + ToastX.showShortToast(getString(com.netease.yunxin.kit.chatkit.ui.R.string.permission_deny_tips)); + } else { + ToastX.showShortToast(getString(com.netease.yunxin.kit.chatkit.ui.R.string.permission_storage)); + } + } + } + } + }); + initView(); + getWallet(); + bindInfo(); + } + + private void startPickMedia() { + + TitleBarStyle whiteTitleBarStyle = new TitleBarStyle(); + whiteTitleBarStyle.setTitleBackgroundColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_white)); + whiteTitleBarStyle.setTitleDrawableRightResource(com.netease.yunxin.kit.chatkit.ui.R.drawable.ic_orange_arrow_down); + whiteTitleBarStyle.setTitleLeftBackResource(com.netease.yunxin.kit.common.ui.R.drawable.ic_back); + whiteTitleBarStyle.setTitleTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_black)); + whiteTitleBarStyle.setTitleCancelTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_53575e)); + whiteTitleBarStyle.setDisplayTitleBarLine(true); + + BottomNavBarStyle whiteBottomNavBarStyle = new BottomNavBarStyle(); + // whiteBottomNavBarStyle.setBottomPreviewSelectText(getResources().getString(R.string.chat_team_ait_all)); + whiteBottomNavBarStyle.setBottomNarBarBackgroundColor(Color.parseColor("#FFFFFF")); + whiteBottomNavBarStyle.setBottomPreviewSelectTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_53575e)); + + whiteBottomNavBarStyle.setBottomPreviewNormalTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_9b)); + whiteBottomNavBarStyle.setBottomPreviewSelectTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.color_222222)); + whiteBottomNavBarStyle.setCompleteCountTips(false); + + whiteBottomNavBarStyle.setBottomEditorTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_53575e)); + whiteBottomNavBarStyle.setBottomOriginalTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_53575e)); + + SelectMainStyle selectMainStyle = new SelectMainStyle(); + selectMainStyle.setStatusBarColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_white)); + selectMainStyle.setDarkStatusBarBlack(true); + selectMainStyle.setSelectNormalTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_9b)); + selectMainStyle.setSelectTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.color_222222)); + selectMainStyle.setPreviewSelectBackground(com.netease.yunxin.kit.chatkit.ui.R.drawable.ps_demo_white_preview_selector); + selectMainStyle.setSelectBackground(com.netease.yunxin.kit.chatkit.ui.R.drawable.ps_checkbox_selector); +// selectMainStyle.setSelectText(R.string.ps_done_front_num); + selectMainStyle.setMainListBackgroundColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_white)); + PictureSelectorStyle selectorStyle = new PictureSelectorStyle(); + selectorStyle.setTitleBarStyle(whiteTitleBarStyle); + selectorStyle.setBottomBarStyle(whiteBottomNavBarStyle); + selectorStyle.setSelectMainStyle(selectMainStyle); + + + PictureSelector.create(this) + .openGallery(SelectMimeType.ofImage()) + .setImageEngine(GlideEngine.createGlideEngine()) + .setMaxSelectNum(1) +// .setMaxVideoSelectNum(9) + .setSelectorUIStyle(selectorStyle) + .forResult(new OnResultCallbackListener() { + @Override + public void onResult(ArrayList result) { + for (int i = 0; i < result.size(); ++i) { + LogUtils.i("地址是啥:" + result.get(i).getRealPath()); + File file = new File(result.get(i).getRealPath()); + toUpdateBg(file); + } + } + + @Override + public void onCancel() { + + } + }); + + } + + + private void bindInfo() { + Api.getInstance().bindInfo(IMKitClient.account()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new BaseObserver>() { + @Override + public void onSuccess(Result feedbackResp) { + bindBean = feedbackResp.data; + LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean)); + } + + @Override + public void onError(int code, String msg) { + LogUtils.i("获取到的错误:" + code + "" + msg); + } + }); + + } + + protected void initView() { + viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish()); + if (!isWeChat) { + viewBinding.contactListActivityTitleBar.getTitleTextView().setText("绑定支付宝"); + viewBinding.typeNameTv.setText("支付宝账号"); + viewBinding.typeImageTv.setText("上传支付宝收款码"); + viewBinding.numberEt.setHint("请输入您本人使用的支付宝账号"); + viewBinding.tipsTv.setText("*请勿上传截图的收款码,请在二维码收款界面,点击保存收款码,上传图片"); + viewBinding.tips1Tv.setText("请务必绑定本人的支付宝账号"); + } + + viewBinding.imageIv.setOnClickListener(v -> choicePhoto()); + + viewBinding.sumbitBt.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if(TextUtils.isEmpty(viewBinding.nameEt.getText().toString().trim())){ + ToastX.showShortToast("请输入您的真实姓名"); + return; + } + + if(TextUtils.isEmpty(viewBinding.numberEt.getText().toString().trim())){ + if(isWeChat){ + ToastX.showShortToast("请输入您本人使用的微信账号"); + }else{ + ToastX.showShortToast("请输入您本人使用的支付宝账号"); + } + return; + } + + if(imageFile == null){ + if(isWeChat){ + ToastX.showShortToast("请上传微信收款码"); + }else{ + ToastX.showShortToast("请上传支付宝收款码"); + } + return; + } + toShangchuanAli(imageFile); + } + }); + } + + private void choicePhoto() { + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + if (PermissionUtils.hasPermissions( + BindWeChatOrAliPayActivity.this, Manifest.permission.READ_MEDIA_IMAGES, Manifest.permission.READ_MEDIA_VIDEO)) { + startPickMedia(); + } else { + permissionLauncher.launch(new String[]{Manifest.permission.READ_MEDIA_IMAGES, Manifest.permission.READ_MEDIA_VIDEO}); + + } + } else { + if (PermissionUtils.hasPermissions( + BindWeChatOrAliPayActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE)) { + startPickMedia(); + } else { + permissionLauncher.launch(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}); + + } + } + + } + + + private void showDialogPay() { + + com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(BindWeChatOrAliPayActivity.this, + getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt)); + actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() { + @Override + public void toSumbit() { +// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class); +// intent.putExtra("type", 5); +// startActivity(intent); + Intent intent = new Intent(BindWeChatOrAliPayActivity.this, SetPayPasswordActivity.class); + startActivity(intent); + } + + @Override + public void toCancel() { + + } + }); + actionDialog.show(); + } + + + private void showDialog() { + + ActionConfirmDialog actionDialog = new ActionConfirmDialog(BindWeChatOrAliPayActivity.this, + getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt)); + actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() { + @Override + public void toSumbit() { + Intent intent = new Intent(BindWeChatOrAliPayActivity.this, ChangeAccoutActionActivity.class); + intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE); + startActivity(intent); + } + + @Override + public void toCancel() { + + } + }); + actionDialog.show(); + } + + private void getWallet() { + Api.getInstance().walletInfo(IMKitClient.account()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new BaseObserver>() { + + @Override + public void onSuccess(Result feedbackResp) { + walletBean = feedbackResp.data; + changeInfo(); + + } + + @Override + public void onError(int code, String msg) { + + } + }); + + + } + + + private void changeInfo() { + if (walletBean != null) { +// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin())); +// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin())); + + } + + } + + @Override + protected void onStop() { + super.onStop(); + + } + + + private void toUpdateBg(File file) { + imageFile = file; + Glide.with(BindWeChatOrAliPayActivity.this) + .load(file.getAbsolutePath()) + .into(viewBinding.imageIv); + +// toShangchuanAli(file); + } + + + String stsCredentialsBean; + + private void toShangchuanAli(File file) { + showLoadingDialog(); + Api.getInstance().stsCredentials1() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new BaseObserver<>() { + @Override + public void onSuccess(Result feedbackResp) { + stsCredentialsBean = feedbackResp.data; +// toAliYunOss(file, isHead); + toQIiNiuYunOss(file); + + } + + @Override + public void onError(int code, String msg) { + dimessLoadingDialog(); + ToastX.showShortToast(msg); + } + }); + } + + public LoadingDialog loadingDialog; + + public void showLoadingDialog() { + if (loadingDialog == null) + loadingDialog = new LoadingDialog(this); + loadingDialog.show(); + } + + public void showLoadingDialog(String msg) { + if (loadingDialog == null) + loadingDialog = new LoadingDialog(this); + loadingDialog.setLoadingText(msg); + loadingDialog.show(); + } + + + public void dimessLoadingDialog() { + if (loadingDialog != null) { + loadingDialog.dismiss(); + } + + } + + + private void toQIiNiuYunOss(File file ) { + String updatePathPic = isWeChat?"wechat":"alipay"; + +// new Handler().post(() -> QiNiuTool.upload(convertFileToBytes(file))); + UploadOptions options = new UploadOptions(null, null, true, + (key, percent) -> { + LogUtils.i("结果是啥进度:" + percent); + }, () -> { + LogUtils.i("结果是啥进度112222222111:"); + return false; + }); +// Zone zone = FixedZone.zoneAs0; + Configuration configuration = new Configuration.Builder() +// .connectTimeout(10) // 链接超时。默认10秒 +// .responseTimeout(60) // 服务器响应超时。默认60秒 +// .zone(zone) // 设置区域,不指定会自动选择。指定不同区域的上传域名、备用域名、备用IP。 + .build(); + UploadManager uploadManager = new UploadManager(configuration); + + String fileName = UUID.randomUUID().toString() + "_" + file.getName(); + LogUtils.i("结果是啥开始:" + stsCredentialsBean + ";;" + file.getAbsolutePath()); +// Uri uri = FileUtils.getMediaUriFromPath(file.getAbsolutePath(),UserHeadEditActivity.this); +// GPX2hnRdNpAvovOSZGrhMxtaa6JP2mPvJ96-tdmD +// immchat + + String files = "media/" + updatePathPic + "/" + fileName; + byte[] sss = convertFileToBytes(file); + LogUtils.i("结果是啥开始:" + sss); + + uploadManager.put(sss, files, stsCredentialsBean, (key, info, response) -> { +// LogUtils.i("结果是啥2:" + GsonUtils.beanToJSONString(info)); + LogUtils.i("结果是啥2:" + GsonUtils.beanToJSONString(response)); + dimessLoadingDialog(); + if (info != null && info.isOK()) { + // 上传成功 + try { + + LogUtils.i("地址是啥:" + response.getString("key")); + toPush("https://qn.hnsdl.com/" + response.getString("key")); + + } catch (JSONException e) { + LogUtils.i("结果是啥失败:" +e); + + } + + + } else { + // 上传失败 + LogUtils.i("结果是啥失败:" + GsonUtils.beanToJSONString(info)); + } + }, options); + } + + private void toPush(String key) { + + } + + // + + public static byte[] convertFileToBytes(File file) { + // 使用ByteArrayOutputStream来收集字节数据 + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] bytesArray = new byte[(int) file.length()]; + fis.read(bytesArray); + fis.close(); + return bytesArray; + + } catch (FileNotFoundException e) { +// throw new RuntimeException(e); + return null; + } catch (IOException e) { +// throw new RuntimeException(e); + return null; + + } + + + } +} diff --git a/app/src/main/java/com/hbl/lewan/wallet/MyWalletActivity.java b/app/src/main/java/com/hbl/lewan/wallet/MyWalletActivity.java index b9b2348..4daf1fe 100644 --- a/app/src/main/java/com/hbl/lewan/wallet/MyWalletActivity.java +++ b/app/src/main/java/com/hbl/lewan/wallet/MyWalletActivity.java @@ -98,6 +98,18 @@ public class MyWalletActivity extends BaseActivity { } } }); + + viewBinding.smrzBt.setOnClickListener(v -> startActivity(new Intent(MyWalletActivity.this, ShiMingActivity.class))); + viewBinding.wdyhkBt.setOnClickListener(v -> startActivity(new Intent(MyWalletActivity.this, BankListActivity.class))); + + viewBinding.wdwxBt.setOnClickListener(v -> startActivity(new Intent(MyWalletActivity.this, ToBindWeChatOrAliPayActivity.class))); + viewBinding.wdzfbBt.setOnClickListener(v ->{ + Intent i = new Intent(MyWalletActivity.this, ToBindWeChatOrAliPayActivity.class); + i.putExtra("isWeChat",false); + startActivity(i); + }); + + } diff --git a/app/src/main/java/com/hbl/lewan/wallet/ShiMingActivity.java b/app/src/main/java/com/hbl/lewan/wallet/ShiMingActivity.java new file mode 100644 index 0000000..6818d21 --- /dev/null +++ b/app/src/main/java/com/hbl/lewan/wallet/ShiMingActivity.java @@ -0,0 +1,197 @@ +package com.hbl.lewan.wallet; + +import android.content.Intent; +import android.graphics.drawable.Drawable; +import android.os.Bundle; +import android.text.TextUtils; +import android.view.View; +import android.widget.Toast; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.core.graphics.drawable.DrawableCompat; + +import com.hbl.lewan.IMApplication; +import com.hbl.lewan.IMUIKitConfig; +import com.hbl.lewan.R; +import com.hbl.lewan.databinding.ActivityShimingBinding; +import com.hbl.lewan.databinding.ActivityWalletInfoNewBinding; +import com.hbl.lewan.dialog.ActionConfirmDialog; +import com.hbl.lewan.main.mine.ChangeAccoutActionActivity; +import com.hbl.lewan.model.BindBean; +import com.hbl.lewan.model.WalletBean; +import com.hbl.lewan.network.Api; +import com.hbl.lewan.network.BaseObserver; +import com.hbl.lewan.network.Result; +import com.hbl.lewan.pay.LipinDuiHuanActivity; +import com.hbl.lewan.utils.AnimUtil; +import com.hbl.lewan.utils.AppUtils; +import com.hbl.lewan.utils.DataUtils; +import com.hbl.lewan.utils.GsonUtils; +import com.hbl.lewan.utils.LogUtils; +import com.hbl.lewan.welcome.WelcomeActivity; +import com.netease.yunxin.kit.chatkit.ui.data.ChatDatabase; +import com.netease.yunxin.kit.common.ui.activities.BaseActivity; +import com.netease.yunxin.kit.common.ui.utils.ToastX; +import com.netease.yunxin.kit.corekit.im.IMKitClient; + +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; + +public class ShiMingActivity extends BaseActivity { + ActivityShimingBinding viewBinding; + WalletBean walletBean; + BindBean bindBean; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + + + super.onCreate(savedInstanceState); + viewBinding = ActivityShimingBinding.inflate(getLayoutInflater()); + setContentView(viewBinding.getRoot()); + initView(); + getWallet(); + bindInfo(); + } + + + private void bindInfo() { + Api.getInstance().bindInfo(IMKitClient.account()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new BaseObserver>() { + @Override + public void onSuccess(Result feedbackResp) { + bindBean = feedbackResp.data; + LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean)); + } + + @Override + public void onError(int code, String msg) { + LogUtils.i("获取到的错误:" + code + "" + msg); + } + }); + + } + + protected void initView() { + viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish()); + + + viewBinding.sumbitBt.setOnClickListener(v -> { + + + if(TextUtils.isEmpty(viewBinding.nameEt.getText().toString().trim())){ + ToastX.showShortToast("请输入您的真实姓名"); + return; + } + + if(TextUtils.isEmpty(viewBinding.numberEt.getText().toString().trim())){ + ToastX.showShortToast("请输入您本人的身份证号码"); + return; + } + + //Context context, String content, String cancel, String sure, boolean showCancel + ActionConfirmDialog actionConfirmDialog = new ActionConfirmDialog(ShiMingActivity.this, "实名认证一经提交,无法更改,请务必确认填写的是真实资料", "取消","确认提交",true); + actionConfirmDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() { + @Override + public void toSumbit() { + + } + + @Override + public void toCancel() { + + } + }); + actionConfirmDialog.show(); + }); + } + + + private void showDialogPay() { + + com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(ShiMingActivity.this, + getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt)); + actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() { + @Override + public void toSumbit() { +// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class); +// intent.putExtra("type", 5); +// startActivity(intent); + Intent intent = new Intent(ShiMingActivity.this, SetPayPasswordActivity.class); + startActivity(intent); + } + + @Override + public void toCancel() { + + } + }); + actionDialog.show(); + } + + + private void showDialog() { + + ActionConfirmDialog actionDialog = new ActionConfirmDialog(ShiMingActivity.this, + getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt)); + actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() { + @Override + public void toSumbit() { + Intent intent = new Intent(ShiMingActivity.this, ChangeAccoutActionActivity.class); + intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE); + startActivity(intent); + } + + @Override + public void toCancel() { + + } + }); + actionDialog.show(); + } + + private void getWallet() { + Api.getInstance().walletInfo(IMKitClient.account()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new BaseObserver>() { + + @Override + public void onSuccess(Result feedbackResp) { + walletBean = feedbackResp.data; + changeInfo(); + + } + + @Override + public void onError(int code, String msg) { + + } + }); + + + } + + + private void changeInfo() { + if (walletBean != null) { +// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin())); +// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin())); + + } + + } + @Override + protected void onStop() { + super.onStop(); + + } + + + + +} diff --git a/app/src/main/java/com/hbl/lewan/wallet/ToBindWeChatOrAliPayActivity.java b/app/src/main/java/com/hbl/lewan/wallet/ToBindWeChatOrAliPayActivity.java new file mode 100644 index 0000000..cf94458 --- /dev/null +++ b/app/src/main/java/com/hbl/lewan/wallet/ToBindWeChatOrAliPayActivity.java @@ -0,0 +1,176 @@ +package com.hbl.lewan.wallet; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; + +import androidx.annotation.Nullable; + +import com.hbl.lewan.R; +import com.hbl.lewan.databinding.ActivityShimingBinding; +import com.hbl.lewan.databinding.ActivityToBindWechatAlipayBinding; +import com.hbl.lewan.dialog.ActionConfirmDialog; +import com.hbl.lewan.main.mine.ChangeAccoutActionActivity; +import com.hbl.lewan.model.BindBean; +import com.hbl.lewan.model.WalletBean; +import com.hbl.lewan.network.Api; +import com.hbl.lewan.network.BaseObserver; +import com.hbl.lewan.network.Result; +import com.hbl.lewan.utils.GsonUtils; +import com.hbl.lewan.utils.LogUtils; +import com.netease.yunxin.kit.common.ui.activities.BaseActivity; +import com.netease.yunxin.kit.corekit.im.IMKitClient; + +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; + +public class ToBindWeChatOrAliPayActivity extends BaseActivity { + ActivityToBindWechatAlipayBinding viewBinding; + WalletBean walletBean; + BindBean bindBean; + boolean isWeChat = true; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + + + super.onCreate(savedInstanceState); + viewBinding = ActivityToBindWechatAlipayBinding.inflate(getLayoutInflater()); + setContentView(viewBinding.getRoot()); + isWeChat =getIntent().getBooleanExtra("isWeChat",true); + initView(); + getWallet(); + bindInfo(); + + } + + + private void bindInfo() { + Api.getInstance().bindInfo(IMKitClient.account()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new BaseObserver>() { + @Override + public void onSuccess(Result feedbackResp) { + bindBean = feedbackResp.data; + LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean)); + } + + @Override + public void onError(int code, String msg) { + LogUtils.i("获取到的错误:" + code + "" + msg); + } + }); + + } + + protected void initView() { + viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish()); + if(!isWeChat){ + viewBinding.contactListActivityTitleBar.getTitleTextView().setText("我的支付宝"); + viewBinding.tipsTv.setText("还没有绑定支付宝"); + viewBinding.tipsTv1.setText("支付宝账号一经绑定,无法修改,若必须修改,如收款码过期等问题,请联系客服进行调整"); + } + + viewBinding.sumbitBt.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent i = new Intent(ToBindWeChatOrAliPayActivity.this, BindWeChatOrAliPayActivity.class); + i.putExtra("isWeChat",isWeChat); + startActivityForResult(i,888); + } + }); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if(requestCode == 888&&resultCode == RESULT_OK){ + + } + } + + private void showDialogPay() { + + com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(ToBindWeChatOrAliPayActivity.this, + getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt)); + actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() { + @Override + public void toSumbit() { +// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class); +// intent.putExtra("type", 5); +// startActivity(intent); + Intent intent = new Intent(ToBindWeChatOrAliPayActivity.this, SetPayPasswordActivity.class); + startActivity(intent); + } + + @Override + public void toCancel() { + + } + }); + actionDialog.show(); + } + + + private void showDialog() { + + ActionConfirmDialog actionDialog = new ActionConfirmDialog(ToBindWeChatOrAliPayActivity.this, + getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt)); + actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() { + @Override + public void toSumbit() { + Intent intent = new Intent(ToBindWeChatOrAliPayActivity.this, ChangeAccoutActionActivity.class); + intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE); + startActivity(intent); + } + + @Override + public void toCancel() { + + } + }); + actionDialog.show(); + } + + private void getWallet() { + Api.getInstance().walletInfo(IMKitClient.account()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new BaseObserver>() { + + @Override + public void onSuccess(Result feedbackResp) { + walletBean = feedbackResp.data; + changeInfo(); + + } + + @Override + public void onError(int code, String msg) { + + } + }); + + + } + + + private void changeInfo() { + if (walletBean != null) { +// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin())); +// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin())); + + } + + } + @Override + protected void onStop() { + super.onStop(); + + } + + + + +} diff --git a/app/src/main/res/drawable/button_true_bg1.xml b/app/src/main/res/drawable/button_true_bg1.xml new file mode 100644 index 0000000..f63884e --- /dev/null +++ b/app/src/main/res/drawable/button_true_bg1.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/button_true_bg11.xml b/app/src/main/res/drawable/button_true_bg11.xml new file mode 100644 index 0000000..e456217 --- /dev/null +++ b/app/src/main/res/drawable/button_true_bg11.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_add_bank.xml b/app/src/main/res/layout/activity_add_bank.xml new file mode 100644 index 0000000..d51942d --- /dev/null +++ b/app/src/main/res/layout/activity_add_bank.xml @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + +