Commit 61a8c475 authored by linfeng's avatar linfeng

钱包和启动页修改

parent 43809fec
......@@ -85,6 +85,8 @@ public class UserInfoBean extends BaseBean implements Serializable {
private String positionName;// 职位名称
private boolean isBindAliPay; //是否绑定支付宝
public Integer getId() {
return id;
......@@ -301,5 +303,13 @@ public class UserInfoBean extends BaseBean implements Serializable {
public void setBigIcon(String bigIcon) {
this.bigIcon = bigIcon;
}
public boolean isBindAliPay() {
return isBindAliPay;
}
public void setBindAliPay(boolean bindAliPay) {
isBindAliPay = bindAliPay;
}
}
}
......@@ -48,6 +48,7 @@
<color name="gray_ffcc0000">#ffcc0000</color>
<color name="gray_ffff4444">#ffff4444</color>
<color name="gray_F1F1F1">#F1F1F1</color>
<color name="gray_FFF3E2">#FFF3E2</color>
<!--end-->
</resources>
package com.rv.component.dialog;
import android.content.Context;
import android.support.annotation.NonNull;
import android.view.Gravity;
import android.view.ViewGroup;
import com.ruiwenliu.wrapper.dialog.BaseDialog;
/**
* 钱包温馨提示
*/
public class WalletTipsDialog extends BaseDialog {
public WalletTipsDialog(@NonNull Context context) {
super(context);
setDialogParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.CENTER);
}
@Override
public int getViewLayout() {
return R.layout.rv_dialog_tips_wallet;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_40"
android:layout_marginRight="@dimen/size_40"
android:background="@color/colorWrite"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_60"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="温馨提示"
android:textColor="@color/colorMain"
android:textSize="@dimen/text_18" />
</LinearLayout>
<TextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_15"
android:layout_marginRight="@dimen/size_15"
android:layout_marginBottom="@dimen/size_26"
android:text="您的账号暂时无法提现!如有疑问请咨询客服。"
android:textColor="@color/colorMain"
android:textSize="@dimen/size_16" />
<include layout="@layout/common_line" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_50"
android:background="@color/gray_FFB74B"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_ok"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="确认" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
......@@ -687,6 +687,23 @@ public class DateUtils {
return day;
}
/**
*将yyyy-MM-dd HH:mm:ss格式成dd
*
* @param dateStr yyyy-MM-dd HH:mm:ss
* @return dd
*/
public static String formatDate24(String dateStr) {
String day = "";
try {
Date date = sdf.parse(dateStr);
day = sdf16.format(date);
} catch (Exception e) {
e.printStackTrace();
}
return day;
}
/**
* 将yyyy-MM-dd HH:mm:ss格式成MM-dd
*
......
......@@ -95,7 +95,7 @@ public class ApiConfig {
public static String HTTP_URL_CONSUME_LIST = RvFrameConfig.HOST + "/api/admin/walletDetail/page";
public static String HTTP_URL_GROUP_INCOME = RvFrameConfig.HOST + "/api/admin/team/teams" ;
public static String HTTP_URL_GROUP_INCOME = RvFrameConfig.HOST + "/api/admin/team/teams";
/**
* 用户收益
......@@ -158,7 +158,12 @@ public class ApiConfig {
public static String HTTP_URL_GET_PWD = RvFrameConfig.HOST + "/api/admin/app/user/im/getPwd";
/**
* 订单详情
* 订单详情
*/
public static String HTTP_URL_PRICE_BASEORDER = RvFrameConfig.HOST + "/api/order/baseOrder/";
/**
* 获取价格日历
*/
public static String HTTP_URL_CALENDAR_PRICE = RvFrameConfig.HOST + "/vehicle/vehicle_model/calendar_price/app/unauth/list/";
}
......@@ -34,11 +34,13 @@ import com.ruiwenliu.wrapper.base.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.main.home.adapter.AttributeListAdapter;
import com.rv.home.rv.module.ui.main.home.adapter.CarRentalListAdapter;
import com.rv.home.rv.module.ui.main.home.bean.CarAttributeListBean;
import com.rv.home.rv.module.ui.main.home.bean.CarRentalPriceBean;
import com.rv.home.rv.module.ui.main.home.bean.CarTypeListBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderDataBean;
import com.rv.home.rv.module.ui.main.home.dialog.CarAttributePw;
import com.rv.home.rv.module.ui.main.home.dialog.CheckPriceDialog;
import com.rv.home.rv.module.ui.main.home.dialog.SelectAttributeDialog;
import com.yuyife.okgo.OkGoUtil;
import java.text.ParseException;
import java.util.ArrayList;
......@@ -155,19 +157,18 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
CarTypeListBean.DataBeanX.DataBean bean = mAdapter.getItem(position);
if (view.getId() == R.id.tv_item_loook_price) {
if (checkPriceDialog == null) {
checkPriceDialog = new CheckPriceDialog(mActivity);
}
if (checkPriceDialog != null) {
// checkPriceDialog.setNewData(DetailsData);
checkPriceDialog.show();
}
getCheckPrice(bean.getVehicleModel().getId());
}
}
});
}
@Override
protected void loadData(Bundle savedInstanceState, Intent intent) {
getCarAttrList();
......@@ -185,9 +186,13 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
case 1:
processData((CarTypeListBean) result);
break;
case 2:
checkPrice((CarRentalPriceBean) result);
break;
}
}
private void initData(CarAttributeListBean data) {
attributeListBean = data;
// .get(0).getChildren();
......@@ -269,6 +274,21 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
}
}
/**
* 获取价格日历
*
* @param id
*/
private void getCheckPrice(int id) {
Map<String, Object> headMap = new LinkedHashMap<>();
if (OkGoUtil.getToken() != null)
headMap.put("Authorization", OkGoUtil.getToken());
Map<String, Object> map = new LinkedHashMap<>();
map.put("start", DateUtils.formatDate16(begDate));
map.put("end", DateUtils.formatDate16(endDate));
mPresenter.getData(RvFrameConfig.HOST, 2, ApiConfig.HTTP_URL_CALENDAR_PRICE + id, CarRentalPriceBean.class, map, headMap, true);
}
/**
* 获取车辆属性列表
......@@ -327,6 +347,20 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
getCarList(mPage);
}
/**
* 设置价格日历
*
* @param result
*/
private void checkPrice(CarRentalPriceBean result) {
if (checkPriceDialog != null) {
checkPriceDialog.setNewData(result.getData());
checkPriceDialog.show();
}
}
private void processData(CarTypeListBean bean) {
if (mPage == 1) {
countPage = bean.getData().getTotalPage();
......
......@@ -25,7 +25,6 @@ import android.widget.TextView;
import com.alibaba.android.arouter.launcher.ARouter;
import com.alibaba.fastjson.JSON;
import com.alipay.sdk.app.PayTask;
import com.base.utils.ui.datetime.selector.util.TextUtil;
import com.frame.base.bus.LoginUserInfoEvent;
import com.frame.base.bus.Observer;
import com.frame.base.bus.PaymentFailedEvent;
......@@ -35,11 +34,9 @@ import com.frame.base.url.Constance;
import com.frame.base.view.StarBar;
import com.frame.rv.config.RvFrameConfig;
import com.frame.rv.widget.PayResult;
import com.ruiwenliu.wrapper.SPConstance;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.bean.BeanUserInfo;
import com.ruiwenliu.wrapper.util.UtilsManager;
import com.ruiwenliu.wrapper.base.presenter.CommonPresenter;
import com.ruiwenliu.wrapper.util.ViewHolder;
import com.ruiwenliu.wrapper.util.glide.GlideManager;
import com.ruiwenliu.wrapper.weight.TitleView;
......@@ -52,7 +49,6 @@ import com.rv.component.utils.DisplayUtil;
import com.rv.home.R;
import com.rv.home.R2;
import com.rv.home.rv.module.ApiConfig;
import com.ruiwenliu.wrapper.base.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.main.home.adapter.SelectedItemAdapter;
import com.rv.home.rv.module.ui.main.home.bean.CarTypeListBean;
import com.rv.home.rv.module.ui.main.home.bean.ConfirmOrderBean;
......@@ -72,7 +68,6 @@ import com.xxrv.coupon.api.CouponApi;
import com.xxrv.coupon.bean.CarCouponBean;
import com.yuyife.okgo.OkGoUtil;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.LinkedHashMap;
......@@ -113,8 +108,6 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
LinearLayout llAddDriving;
@BindView(R2.id.tv_deposit)
TextView tvDeposit;
@BindView(R2.id.tv_car_not_hurt)
TextView tvCarNotHurt;
@BindView(R2.id.tv_car_not_hurt_money)
TextView tvCarNotHurtMoney;
@BindView(R2.id.tv_passenger_know)
......@@ -157,11 +150,12 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
TextView tvCouponAmount;
@BindView(R2.id.rv_content_select)
FlowLayout rvContentSelect;
@BindView(R2.id.tv_mark)
TextView tvMark;
private final int TYPE_REQUEST_DRIVING = 3;
private boolean serviceFeeShow = true;
private boolean cleanFeeShow = true;
private OrderDataBean dataBean;
......@@ -377,8 +371,8 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
@OnClick({R2.id.rl_goods, R2.id.tv_get_car_address, R2.id.tv_out_car_address, R2.id.iv_add_driving,
R2.id.tv_detail, R2.id.tv_confirm_order, R2.id.tv_delete, R2.id.rb_xin_driving, R2.id.ll_item_xin_driving,
R2.id.rb_user_driving, R2.id.tv_user_driving_hint, R2.id.tv_contract_agreement, R2.id.tv_service_fee_show, R2.id.tv_vehicle_cleaning_fee_show,
R2.id.tv_lab3, R2.id.tv_deposit_hint, R2.id.tv_privilege_service_hint, R2.id.tv_booking_instructions_hint, R2.id.rl_item_select_coupon,
R2.id.rb_user_driving, R2.id.tv_user_driving_hint, R2.id.tv_contract_agreement, R2.id.ll_item_service_fee, R2.id.ll_item_vehicle_cleaning_fee,
R2.id.tv_lab3, R2.id.tv_deposit_hint, R2.id.rl_item_privilege_service_hint, R2.id.tv_booking_instructions_hint, R2.id.rl_item_select_coupon,
R2.id.tv_item_caritem, R2.id.tv_item_select_caritem})
public void onViewClicked(View view) {
int id = view.getId();
......@@ -421,14 +415,14 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
.withInt("type", 25)
.navigation();
// startActivity(WebActivity.getIntent(mActivity, mActivity.getString(R.string.rv_contract_agreement), ApiConfig.HTTP_URL_CAR_TYPE_NOTICE));
} else if (id == R.id.tv_service_fee_show) {
} else if (id == R.id.ll_item_service_fee) {
if (serviceFeeShow) {
tvLayoutServiceFee.setVisibility(View.VISIBLE);
} else {
tvLayoutServiceFee.setVisibility(View.GONE);
}
serviceFeeShow = !serviceFeeShow;
} else if (id == R.id.tv_vehicle_cleaning_fee_show) {
} else if (id == R.id.ll_item_vehicle_cleaning_fee) {
if (cleanFeeShow) {
llLayoutCleanFee.setVisibility(View.VISIBLE);
} else {
......@@ -451,7 +445,7 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
.withString("url", ApiConfig.HTTP_URL_CAR_TYPE_NOTICE)
.withInt("type", 4)
.navigation();
} else if (id == R.id.tv_privilege_service_hint) {
} else if (id == R.id.rl_item_privilege_service_hint) {
//尊享服务
ARouter.getInstance().build(Constance.ACTIVITY_URL_WEBVIEW)
.withString("title", "尊享服务")
......@@ -643,6 +637,8 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
icon = mCarBean.getVehicleModel().getIcon();
}
GlideManager.getInstance(mActivity).loadImage(icon, ivGoods);
float score = (float) mCarBean.getVehicleModel().getScore() / 10;
tvMark.setText(score + "分");
tvName.setText(mCarBean.getVehicleModel().getName());
tvContent.setText(mCarBean.getVehicleModel().getKeyword());
......@@ -671,7 +667,7 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
dataBean.setRentFreeDay(1);
couponAmount = 0;
getPayMoney();
}else {
} else {
dataBean.setRentFreeDay(0);
isMemberType = 0;
}
......@@ -727,15 +723,17 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
double payMoney = 0.00;
double dayPrice = mCarBean.getVehicleModel().getSum();
int dayNum = dataBean.getDayNum();
OrderPriceDetailBean.ChildrenBean childrenBean2 = new OrderPriceDetailBean.ChildrenBean();
childrenBean2.setKey("车辆租赁费");
childrenBean2.setDetail(dayNum + "天");
childrenBean2.setVal("¥" + new BigDecimal(dayPrice * dayNum).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
childrenBeanList.add(childrenBean2);
if (isMemberType == 0) { //是否使用会员 0 不使用
payMoney = dayPrice * dayNum + priceBean.getData().getDeposit(); //租车和押金价格
carAmount = dayPrice * dayNum;
OrderPriceDetailBean.ChildrenBean childrenBean2 = new OrderPriceDetailBean.ChildrenBean();
childrenBean2.setKey("车辆租赁费");
childrenBean2.setDetail("¥" + dayPrice + "/天 *" + dayNum + "天");
childrenBean2.setVal("¥" + new BigDecimal(dayPrice * dayNum).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
childrenBeanList.add(childrenBean2);
} else {
if (memberData != null) {
if (dayNum > memberData.getRentFreeDays()) {
......@@ -743,13 +741,19 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
carAmount = dayPrice * (dayNum - memberData.getRentFreeDays());
OrderPriceDetailBean.ChildrenBean childrenBean1 = new OrderPriceDetailBean.ChildrenBean();
childrenBean1.setKey("车辆租赁费");
childrenBean1.setDetail("¥" + dayPrice + "/天 *" + (dayNum - memberData.getRentFreeDays()) + "天");
childrenBean1.setVal("¥" + new BigDecimal(dayPrice * (dayNum - memberData.getRentFreeDays())).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
childrenBean1.setKey("免费天数");
childrenBean1.setDetail("会员天数" + (dayNum - memberData.getRentFreeDays()) + "天");
childrenBean1.setVal("-¥" + new BigDecimal(dayPrice * memberData.getRentFreeDays()).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
childrenBeanList.add(childrenBean1);
} else if (dayNum <= memberData.getRentFreeDays()) {
payMoney = priceBean.getData().getDeposit();
carAmount = 0;
OrderPriceDetailBean.ChildrenBean childrenBean1 = new OrderPriceDetailBean.ChildrenBean();
childrenBean1.setKey("免费天数");
childrenBean1.setDetail("会员天数" + dayNum + "天");
childrenBean1.setVal("-¥" + new BigDecimal(dayPrice * dayNum).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
childrenBeanList.add(childrenBean1);
}
}
}
......
......@@ -2,19 +2,41 @@ package com.rv.home.rv.module.ui.main.home.adapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.rv.component.utils.DateUtils;
import com.rv.home.R;
import com.rv.home.rv.module.ui.main.home.bean.CarRentalPriceBean;
import com.rv.home.rv.module.ui.main.home.bean.SearchBean;
/**
* 租车价格查看
*/
public class CarRentalCheckPriceAdapter extends BaseQuickAdapter<String, BaseViewHolder> {
public class CarRentalCheckPriceAdapter extends BaseQuickAdapter<CarRentalPriceBean.DataBean, BaseViewHolder> {
private boolean type;
public CarRentalCheckPriceAdapter() {
super(R.layout.rv_item_carrental_check_price);
}
@Override
protected void convert(BaseViewHolder helper, String item) {
protected void convert(BaseViewHolder helper, CarRentalPriceBean.DataBean item) {
helper.setText(R.id.tv_date, DateUtils.formatDate24(item.getDate()));
if (item.getSelect()) {
helper.setBackgroundColor(R.id.ll_item_bg, mContext.getResources().getColor(R.color.gray_FFF3E2));
} else {
helper.setBackgroundColor(R.id.ll_item_bg, mContext.getResources().getColor(R.color.colorWrite));
}
if (type) {
helper.setText(R.id.tv_price, item.getFreeDays());
} else {
helper.setText(R.id.tv_price, "¥" + item.getPrice());
}
}
public void setType(boolean type) {
this.type = type;
}
}
package com.rv.home.rv.module.ui.main.home.bean;
import com.ruiwenliu.wrapper.base.BaseBean;
import java.io.Serializable;
import java.util.List;
public class CarRentalPriceBean extends BaseBean {
private List<DataBean> data;
private boolean rel;
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public boolean isRel() {
return rel;
}
public void setRel(boolean rel) {
this.rel = rel;
}
public static class DataBean implements Serializable {
private String date;
private String price;
private String freeDays;
private boolean isSelect;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getFreeDays() {
return freeDays;
}
public void setFreeDays(String freeDays) {
this.freeDays = freeDays;
}
public boolean getSelect() {
return isSelect;
}
public void setSelect(boolean select) {
isSelect = select;
}
}
}
......@@ -14,8 +14,10 @@ import com.ruiwenliu.wrapper.util.ViewHolder;
import com.rv.home.R;
import com.rv.home.rv.module.ui.main.home.HomeFragment;
import com.rv.home.rv.module.ui.main.home.adapter.CarRentalCheckPriceAdapter;
import com.rv.home.rv.module.ui.main.home.bean.CarRentalPriceBean;
import java.util.ArrayList;
import java.util.List;
/**
* 查看租车每天价格
......@@ -52,28 +54,29 @@ public class CheckPriceDialog extends BaseDialog {
tvCash.setTextColor(getContext().getResources().getColor(R.color.colorWrite));
tvMember.setSelected(false);
tvMember.setTextColor(getContext().getResources().getColor(R.color.gray_FFB74B));
adapter.setType(false);
adapter.notifyDataSetChanged();
} else if (id == R.id.tv_item_use_member) {
tvCash.setSelected(false);
tvCash.setTextColor(getContext().getResources().getColor(R.color.gray_FFB74B));
tvMember.setSelected(true);
tvMember.setTextColor(getContext().getResources().getColor(R.color.colorWrite));
adapter.setType(true);
adapter.notifyDataSetChanged();
}
}
}, R.id.tv_item_use_cash, R.id.tv_item_use_member);
initData();
}
private void initData() {
ArrayList<String> strings = new ArrayList<>();
for (int i = 0; i < 30; i++) {
strings.add("" + i);
}
adapter.addData(strings);
}
@Override
public int getViewLayout() {
return R.layout.rv_dialog_check_price;
}
public void setNewData(List<CarRentalPriceBean.DataBean> data) {
if (adapter != null && data != null) {
adapter.setNewData(data);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_item_bg"
android:layout_width="match_parent"
android:layout_height="@dimen/size_70"
android:layout_height="@dimen/size_60"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/tv_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="15"
......@@ -13,6 +15,7 @@
android:textSize="@dimen/text_16" />
<TextView
android:id="@+id/tv_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_3"
......
package com.rv.rvmine.traveler;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.alipay.sdk.app.AuthTask;
import com.base.utils.ui.datetime.selector.util.TextUtil;
import com.base.utils.ui.image.round.RoundImageView;
import com.bigkoo.pickerview.TimePickerView;
......@@ -29,7 +32,6 @@ import com.ruiwenliu.wrapper.util.permission.RxPermission;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.dialog.PickerDialog;
import com.rv.component.utils.IsAppInstall;
import com.rv.component.utils.MyTextWatcher;
import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.ui.main.home.bean.ImageUploadBean;
import com.rv.rvmine.R;
......@@ -40,6 +42,9 @@ import com.umeng.socialize.UMAuthListener;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.utils.SocializeUtils;
import com.xxrv.wallet.api.WalletApi;
import com.xxrv.wallet.bean.AuthResult;
import com.xxrv.wallet.bean.WalletAuthInfoBean;
import com.yuyife.okgo.OkGoUtil;
import java.io.File;
......@@ -85,6 +90,10 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
LinearLayout llItemBindingQq;
@BindView(R2.id.ll_item_binding_wechat)
LinearLayout llItemBindingWechat;
@BindView(R2.id.tv_binding_alipy)
TextView tvBindingAlipy;
@BindView(R2.id.ll_item_binding_alipy)
LinearLayout llItemBindingAlipy;
private UserInfoBean.UserInfo info;
private String ivAvatarUrl;
public ProgressDialog dialog;
......@@ -97,8 +106,10 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
private String mWXOpenid;
private String mUnionid;
private String mHeadImg;
private String aliCode;
private String birthday = "";
private static final int SDK_AUTH_FLAG = 2;
public static Intent getIntent(Context context, UserInfoBean.UserInfo info) {
return new Intent(context, PersonalInformationActivity.class)
......@@ -178,6 +189,14 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
tvBindingQq.setText("已绑定");
llItemBindingQq.setEnabled(false);
}
if (info.isBindAliPay()) {
tvBindingAlipy.setText("已绑定");
llItemBindingAlipy.setEnabled(false);
} else {
tvBindingAlipy.setText("去授权绑定支付宝");
llItemBindingAlipy.setEnabled(true);
}
}
}
......@@ -192,6 +211,9 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
RxBus.post(new UserInfoEvent());
finish();
break;
case 2:
alipayAuthV2((WalletAuthInfoBean) result);
break;
}
}
......@@ -215,7 +237,7 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
}
@OnClick({R2.id.rl_item_avatar, R2.id.ll_item_date_of_birth, R2.id.ll_item_sex, R2.id.ll_item_binding_qq, R2.id.ll_item_binding_wechat})
@OnClick({R2.id.rl_item_avatar, R2.id.ll_item_date_of_birth, R2.id.ll_item_sex, R2.id.ll_item_binding_qq, R2.id.ll_item_binding_wechat, R2.id.ll_item_binding_alipy})
public void onViewClicked(View view) {
int id = view.getId();
if (id == R.id.rl_item_avatar) {
......@@ -244,9 +266,18 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
return;
}
bindThirdParty(SHARE_MEDIA.WEIXIN);
} else if (id == R.id.ll_item_binding_alipy) {
getAuthInfo();
}
}
private void getAuthInfo() {
Map<String, Object> map = new LinkedHashMap<>();
map.put("apiName", "com.xinxin.rv");
map.put("appName", "滴房车");
mPresenter.getData(RvFrameConfig.HOST, 2, WalletApi.HTTP_URL_WALLET_UNAUTH_GETPARAM, WalletAuthInfoBean.class, map, false);
}
private void bindThirdParty(SHARE_MEDIA share_media) {
UMShareAPI.get(mActivity).getPlatformInfo(mActivity, share_media, this);
}
......@@ -342,7 +373,7 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
break;
}
}else{
} else {
new AppSettingsDialog.Builder(PersonalInformationActivity.this).
setTitle("需要获取相机权限、存储权限")
.setRationale("如果没有此权限,此应用程序可能无法正常工作,是否打开设置修改该应用权限")
......@@ -362,6 +393,59 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
}
}
/**
* 支付宝授权
*/
private void alipayAuthV2(final WalletAuthInfoBean bean) {
Runnable authRunnable = new Runnable() {
@Override
public void run() {
// 构造AuthTask 对象
AuthTask authTask = new AuthTask(PersonalInformationActivity.this);
// 调用授权接口,获取授权结果
Map<String, String> result = authTask.authV2(bean.getData(), true);
Message msg = new Message();
msg.what = SDK_AUTH_FLAG;
msg.obj = result;
mHandler.sendMessage(msg);
}
};
// 必须异步调用
Thread authThread = new Thread(authRunnable);
authThread.start();
}
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
@SuppressWarnings("unused")
public void handleMessage(Message msg) {
switch (msg.what) {
case SDK_AUTH_FLAG: {
@SuppressWarnings("unchecked")
AuthResult authResult = new AuthResult((Map<String, String>) msg.obj, true);
String resultStatus = authResult.getResultStatus();
// 判断resultStatus 为“9000”且result_code
// 为“200”则代表授权成功,具体状态码代表含义可参考授权接口文档
if (TextUtils.equals(resultStatus, "9000") && TextUtils.equals(authResult.getResultCode(), "200")) {
// 传入,则支付账户为该授权账户
aliCode = authResult.getAuthCode();
tvBindingAlipy.setText("已绑定");
showToast("授权成功!");
} else {
// 其他状态值则为授权失败
}
break;
}
default:
break;
}
}
};
/**
* 上传文件
......@@ -402,7 +486,7 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
if (info == null) {
return;
}
mPresenter.postBodyData(RvFrameConfig.ADMIN_POST, 1, ApiConfig.HTTP_URL_UPUSER_EDIT, BaseBean.class, new UserInfo(info.getId() + "", info.getUserid() + "", info.getUsername(), "0", nickName, info.getRealname(), ivAvatarUrl, birthday, sex, mWXOpenid, mUnionid, mQQOpenid), getHeadMap(), true);
mPresenter.postBodyData(RvFrameConfig.ADMIN_POST, 1, ApiConfig.HTTP_URL_UPUSER_EDIT, BaseBean.class, new UserInfo(info.getId() + "", info.getUserid() + "", info.getUsername(), "0", nickName, info.getRealname(), ivAvatarUrl, birthday, sex, mWXOpenid, mUnionid, mQQOpenid, aliCode), getHeadMap(), true);
// mPresenter.postBodyData(RvFrameConfig.ADMIN_POST, 1, ApiConfig.HTTP_URL_UPUSER_EDIT, BaseBean.class, new UserInfo(info.getId() + "", info.getUserid() + "", info.getUsername(), "0", nickName, info.getRealname(), ivAvatarUrl, birthday, sex, "", "", ""), getHeadMap(), true);
}
......@@ -481,8 +565,9 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
private String wxOpenid;
private String unionid;
private String openid;
private String aliCode;
public UserInfo(String id, String userid, String username, String status, String nickname, String realname, String headimgurl, String birthday, int sex, String wxOpenid, String unionid, String openid) {
public UserInfo(String id, String userid, String username, String status, String nickname, String realname, String headimgurl, String birthday, int sex, String wxOpenid, String unionid, String openid, String aliCode) {
this.id = id;
this.userid = userid;
this.username = username;
......@@ -495,6 +580,7 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
this.wxOpenid = wxOpenid;
this.unionid = unionid;
this.openid = openid;
this.aliCode = aliCode;
}
public String getId() {
......@@ -592,6 +678,14 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
public void setOpenid(String openid) {
this.openid = openid;
}
public String getAliCode() {
return aliCode;
}
public void setAliCode(String aliCode) {
this.aliCode = aliCode;
}
}
......
......@@ -57,11 +57,11 @@
android:layout_marginLeft="@dimen/size_15"
android:layout_weight="1"
android:background="@null"
android:ellipsize="end"
android:gravity="right|center_vertical"
android:hint="请输入昵称"
android:maxLength="32"
android:singleLine="true"
android:ellipsize="end"
android:textColor="@color/colorMain"
android:textColorHint="@color/colorGray"
android:textSize="@dimen/text_16" />
......@@ -323,5 +323,41 @@
android:layout_marginLeft="@dimen/size_8"
android:src="@drawable/common_icon_rig_black" />
</LinearLayout>
<include layout="@layout/common_line" />
<LinearLayout
android:id="@+id/ll_item_binding_alipy"
android:layout_width="match_parent"
android:layout_height="@dimen/size_50"
android:gravity="center_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="支付宝"
android:textColor="@color/text_Main"
android:textSize="@dimen/text_16" />
<TextView
android:id="@+id/tv_binding_alipy"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/size_15"
android:layout_weight="1"
android:gravity="right|center_vertical"
android:hint="去授权绑定支付宝"
android:text=""
android:textColor="@color/colorMain"
android:textColorHint="@color/colorGray"
android:textSize="@dimen/text_16" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_8"
android:src="@drawable/common_icon_rig_black" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
......@@ -25,6 +25,8 @@ import com.ruiwenliu.wrapper.statusbar.StatusBarUtil;
import com.ruiwenliu.wrapper.util.ViewHolder;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.dialog.VerifiedTipsDialog;
import com.rv.component.dialog.WalletTipsDialog;
import com.rv.home.rv.module.ApiConfig;
import com.xxrv.wallet.R;
import com.xxrv.wallet.R2;
import com.xxrv.wallet.api.WalletApi;
......@@ -64,6 +66,7 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
private BeanUserInfo.UserInfo userInfo;
private static final int SDK_AUTH_FLAG = 2;
private String isFrozen;
@Override
......@@ -162,6 +165,7 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
private void setWalletData(WalletBean bean) {
if (bean != null && bean.getData() != null) {
isFrozen = bean.getData().getIsFrozen();
balance = bean.getData().getBalance();
tvWalletBalance.setText("¥" + bean.getData().getBalance());
tvTodayAmount.setText(bean.getData().getTodayAmount());
......@@ -188,14 +192,43 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
}
@OnClick({R2.id.iv_back, R2.id.tv_item_withdraw, R2.id.rl_item_consumer_details, R2.id.rl_item_commission_record, R2.id.rl_item_withdrawals_record})
@OnClick({R2.id.iv_back, R2.id.tv_item_wallet_hint, R2.id.tv_item_withdraw, R2.id.rl_item_consumer_details, R2.id.rl_item_commission_record, R2.id.rl_item_withdrawals_record})
public void onViewClicked(View view) {
int id = view.getId();
final int id = view.getId();
if (id == R.id.iv_back) {
finish();
} else if (id == R.id.tv_item_wallet_hint) {
//钱包提现规则
ARouter.getInstance().build(Constance.ACTIVITY_URL_WEBVIEW)
.withString("title", "提现规则")
.withString("url", ApiConfig.HTTP_URL_CAR_TYPE_NOTICE)
.withInt("type", 24)
.navigation();
} else if (id == R.id.tv_item_withdraw) {
//提现
if (!TextUtils.isEmpty(isFrozen)) { //// 0 正常 1冻结
if ("1".equals(isFrozen)) {
new WalletTipsDialog(mActivity) {
@Override
public void helper(ViewHolder helper) {
super.helper(helper);
helper.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v.getId() == R.id.tv_ok) {
dismiss();
}
}
}, R.id.tv_ok);
}
}.show();
return;
}
}
if (userInfo != null) { ////实名认证状态:0-未认证,1-已认证
if (0 == userInfo.getCertificationStatus()) {
new VerifiedTipsDialog(mActivity) {
......@@ -264,7 +297,6 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
map.put("apiName", "com.xinxin.rv");
map.put("appName", "滴房车");
mPresenter.getData(RvFrameConfig.HOST, 2, WalletApi.HTTP_URL_WALLET_UNAUTH_GETPARAM, WalletAuthInfoBean.class, map, false);
}
private void getAccountNumber() {
......@@ -315,10 +347,9 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
if (TextUtils.equals(resultStatus, "9000") && TextUtils.equals(authResult.getResultCode(), "200")) {
// 传入,则支付账户为该授权账户
putAlipayCode(authResult.getAuthCode());
showToast(authResult.toString());
showToast("授权成功!");
} else {
// 其他状态值则为授权失败
showToast(authResult.toString());
}
break;
}
......
package com.xxrv.wallet.bean;
import com.ruiwenliu.wrapper.base.BaseBean;
import java.io.Serializable;
/**
......@@ -30,43 +31,44 @@ public class WalletBean extends BaseBean {
}
public static class DataBean implements Serializable {
private String userId;// ": 78, 用户id
private String balance;// ": 0.20, 余额
private String totalAmount;// ": 0.20, 总收益
private String todayAmount;// ": 0.20 今日收益
private String unbooked; //未入账(元)
public String getUserId() {
return userId;
}
private String userId;// ": 78, 用户id
private String balance;// ": 0.20, 余额
private String totalAmount;// ": 0.20, 总收益
private String todayAmount;// ": 0.20 今日收益
private String unbooked; //未入账(元)
private String isFrozen;// 0 正常 1冻结
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getBalance() {
return balance;
}
public String getBalance() {
return balance;
}
public void setBalance(String balance) {
this.balance = balance;
}
public void setBalance(String balance) {
this.balance = balance;
}
public String getTotalAmount() {
return totalAmount;
}
public String getTotalAmount() {
return totalAmount;
}
public void setTotalAmount(String totalAmount) {
this.totalAmount = totalAmount;
}
public void setTotalAmount(String totalAmount) {
this.totalAmount = totalAmount;
}
public String getTodayAmount() {
return todayAmount;
}
public String getTodayAmount() {
return todayAmount;
}
public void setTodayAmount(String todayAmount) {
this.todayAmount = todayAmount;
}
public void setTodayAmount(String todayAmount) {
this.todayAmount = todayAmount;
}
public String getUnbooked() {
return unbooked;
......@@ -75,5 +77,13 @@ public class WalletBean extends BaseBean {
public void setUnbooked(String unbooked) {
this.unbooked = unbooked;
}
public String getIsFrozen() {
return isFrozen;
}
public void setIsFrozen(String isFrozen) {
this.isFrozen = isFrozen;
}
}
}
......@@ -65,6 +65,69 @@
android:src="@drawable/selector_rv_icon_mark" />
</LinearLayout>
<include layout="@layout/common_line" />
<LinearLayout
android:visibility="gone"
android:id="@+id/ll_item_select2"
android:layout_width="match_parent"
android:layout_height="@dimen/size_60"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingLeft="@dimen/size_15"
android:paddingRight="@dimen/size_15">
<ImageView
android:id="@+id/iv_icon2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_name2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_8"
android:text=""
android:textColor="@color/textMain"
android:textSize="@dimen/text_16" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
<ImageView
android:id="@+id/iv_select2"
android:layout_width="@dimen/size_16"
android:layout_height="@dimen/size_16"
android:src="@drawable/selector_rv_icon_mark" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_item_select3"
android:layout_width="match_parent"
android:layout_height="@dimen/size_60"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingLeft="@dimen/size_15"
android:paddingRight="@dimen/size_15">
<ImageView
android:id="@+id/iv_icon3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/common_icon_add" />
<TextView
android:id="@+id/tv_name3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_8"
android:text="添加支付宝提现,绑定支付宝"
android:textColor="@color/textMain"
android:textSize="@dimen/text_16" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/size_half"
......
......@@ -41,7 +41,7 @@
android:id="@+id/tv_pay_amount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="50元"
android:text=""
android:textColor="@color/textGray"
android:textSize="@dimen/text_16" />
</LinearLayout>
......@@ -67,7 +67,7 @@
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="end"
android:text="xxxxx"
android:text=""
android:textColor="@color/textGray"
android:textSize="@dimen/text_16" />
</LinearLayout>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment