Commit 71275687 authored by youjj's avatar youjj

Merge remote-tracking branch 'origin/master'

parents 40cd2a05 46c5bda4
...@@ -260,6 +260,12 @@ ...@@ -260,6 +260,12 @@
android:name="com.rv.home.rv.module.ui.main.home.CarDetailMapActivity" android:name="com.rv.home.rv.module.ui.main.home.CarDetailMapActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
<activity android:name="com.rv.home.rv.module.ui.main.home.order.PickUpTheCarQRCodeActivity"
android:screenOrientation="portrait" />
<activity android:name="com.rv.home.rv.module.ui.main.home.order.GetOnTheCarQRCodeActivity"
android:screenOrientation="portrait" />
<!--=================================================================--> <!--=================================================================-->
<!-- 旅行模块 --> <!-- 旅行模块 -->
...@@ -378,6 +384,16 @@ ...@@ -378,6 +384,16 @@
<activity android:name="com.rv.home.rv.module.ui.main.home.order.TravelOrderDetailsActivity" <activity android:name="com.rv.home.rv.module.ui.main.home.order.TravelOrderDetailsActivity"
android:launchMode="singleTask" android:launchMode="singleTask"
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
<!--个人资料-->
<activity android:name="com.rv.rvmine.traveler.PersonalInformationActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait" />
<!--认证成功-->
<activity android:name="com.rv.rvmine.personal.SuccessfulCertificationActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait" />
<!--=================================================================--> <!--=================================================================-->
......
...@@ -42,6 +42,8 @@ public class ApiConfig { ...@@ -42,6 +42,8 @@ public class ApiConfig {
public static String HTTP_URL_BASEORDER_CANCEL = RvFrameConfig.VEHICLE_ORDER + "baseOrder/cancel/";//重置密码 public static String HTTP_URL_BASEORDER_CANCEL = RvFrameConfig.VEHICLE_ORDER + "baseOrder/cancel/";//重置密码
public static String HTTP_URL_CAR_TYPE_TRAVELORDERDETAIL = RvFrameConfig.HOST + "/h5/appHtml/view/travelOrderDetail.html";//旅游订单详情页 public static String HTTP_URL_CAR_TYPE_TRAVELORDERDETAIL = RvFrameConfig.HOST + "/h5/appHtml/view/travelOrderDetail.html";//旅游订单详情页
public static String HTTP_URL_CAR_TYPE_COSTDETAIL= RvFrameConfig.HOST+"/h5/appHtml/view/costDetail.html";//费用明细 public static String HTTP_URL_CAR_TYPE_COSTDETAIL= RvFrameConfig.HOST+"/h5/appHtml/view/costDetail.html";//费用明细
public static String HTTP_URL_APP_USER_INFO= RvFrameConfig.ADMIN_POST+"app/user/info";//获取用户信息
public static String HTTP_URL_CERTIFICATE = RvFrameConfig.VEHICLE_UPLOAD + "certif/app/Certificate";//实名认证
} }
...@@ -11,14 +11,20 @@ import com.chad.library.adapter.base.entity.MultiItemEntity; ...@@ -11,14 +11,20 @@ import com.chad.library.adapter.base.entity.MultiItemEntity;
import com.frame.rv.config.RvFrameConfig; import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseFragment; import com.ruiwenliu.wrapper.base.BaseFragment;
import com.ruiwenliu.wrapper.util.ViewHolder;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout; import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshView; import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshView;
import com.rv.home.R; import com.rv.home.R;
import com.rv.home.R2; import com.rv.home.R2;
import com.rv.home.rv.module.ApiConfig; import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.presenter.CommonPresenter; import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean;
import com.rv.home.rv.module.ui.main.home.dialog.PaymentTypeSelection;
import com.rv.home.rv.module.ui.main.home.order.adapter.OrderListAdapter; import com.rv.home.rv.module.ui.main.home.order.adapter.OrderListAdapter;
import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean; import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean;
import com.tencent.mm.opensdk.modelpay.PayReq;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
import com.yuyife.okgo.OkGoUtil; import com.yuyife.okgo.OkGoUtil;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -42,6 +48,7 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B ...@@ -42,6 +48,7 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B
OrderListAdapter mAdapter; OrderListAdapter mAdapter;
private int mPage; private int mPage;
private int countPage; private int countPage;
private IWXAPI api;
public static AllOrderFragment getInstance(int type) { public static AllOrderFragment getInstance(int type) {
Bundle bundl = new Bundle(); Bundle bundl = new Bundle();
...@@ -58,7 +65,7 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B ...@@ -58,7 +65,7 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B
@Override @Override
protected void initView(Bundle savedInstanceState) { protected void initView(Bundle savedInstanceState) {
api = WXAPIFactory.createWXAPI(_mActivity, RvFrameConfig.APP_ID);
recyclerView.setLayoutManager(new LinearLayoutManager(_mActivity)); recyclerView.setLayoutManager(new LinearLayoutManager(_mActivity));
mAdapter = new OrderListAdapter(new ArrayList<MultiItemEntity>()); mAdapter = new OrderListAdapter(new ArrayList<MultiItemEntity>());
mAdapter.setOnLoadMoreListener(this, recyclerView); mAdapter.setOnLoadMoreListener(this, recyclerView);
...@@ -71,12 +78,47 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B ...@@ -71,12 +78,47 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
OrderListBean.DataBeanX.DataBean dataBean = (OrderListBean.DataBeanX.DataBean) adapter.getItem(position); OrderListBean.DataBeanX.DataBean dataBean = (OrderListBean.DataBeanX.DataBean) adapter.getItem(position);
if (1 ==dataBean.getType()) { if (1 ==dataBean.getType()) {
startActivityForResult(OrderDetailActivity.getIntent(_mActivity, dataBean.getNo(), dataBean.getStatusX(),dataBean.getOrderAmount(),dataBean.getType()), 1); startActivityForResult(OrderDetailActivity.getIntent(_mActivity, dataBean), 1);
}else if (2== dataBean.getType()){ }else if (2== dataBean.getType()){
startActivityForResult(TravelOrderDetailsActivity.getIntent(_mActivity, dataBean.getNo(), dataBean.getStatusX(),dataBean.getType()), 2); startActivityForResult(TravelOrderDetailsActivity.getIntent(_mActivity, dataBean), 2);
} }
} }
}); });
mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
int id = view.getId();
OrderListBean.DataBeanX.DataBean dataBean = (OrderListBean.DataBeanX.DataBean) adapter.getItem(position);
// 0–删除 1–创建订单 2–取消 3–待付款 4–待出行 5–出行中(进行中) 6–已完成
switch (dataBean.getStatusX()){
case 3:
if (id == R.id.tv_process){
payShowSelect(dataBean.getNo(),dataBean.getOrderAmount());
}else if (id == R.id.tv_camp_process){
payShowSelect(dataBean.getNo(),dataBean.getOrderAmount());
}
break;
case 4:
if (id == R.id.tv_process){
startActivity(PickUpTheCarQRCodeActivity.getIntent(_mActivity,dataBean));
}else if (id == R.id.tv_camp_process){
startActivity(GetOnTheCarQRCodeActivity.getIntent(_mActivity,dataBean));
}
break;
case 5:
if (id == R.id.tv_process){
}else if (id == R.id.tv_camp_process){
startActivity(GetOnTheCarQRCodeActivity.getIntent(_mActivity,dataBean));
}
break;
case 6:
break;
}
}
});
} }
@Override @Override
...@@ -90,6 +132,9 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B ...@@ -90,6 +132,9 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B
case 0: case 0:
processData((OrderListBean) result); processData((OrderListBean) result);
break; break;
case 1:
pay((OrderPayBean) result);
break;
} }
} }
...@@ -150,5 +195,101 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B ...@@ -150,5 +195,101 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B
} }
/**
* 支付类型选择
*/
private void payShowSelect(final String no, final double orderAmount) {
PaymentTypeSelection dialog = new PaymentTypeSelection(_mActivity) {
@Override
public void helper(final ViewHolder helper) {
super.helper(helper);
helper.setText(R.id.tv_amount, String.format("¥%1$s", orderAmount));
helper.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int id = v.getId();
if (id == R.id.iv_close){
dismiss();
}else if (id == R.id.ll_item_wechat){
helper.setChecked(R.id.rb_wechat, true);
helper.setChecked(R.id.rb_alipay, false);
}else if (id == R.id.ll_item_alipay){
showToast("该功能还没有开通!");
}else if (id == R.id.tv_pay_immediately){
dismiss();
createOrder(no, 1, 1);
}
}
},R.id.iv_close, R.id.ll_item_wechat, R.id.ll_item_alipay, R.id.tv_pay_immediately);
}
};
dialog.setCanceledOnTouchOutside(false);
dialog.show();
}
private void createOrder(String orderNo, int payWay, int type) {
Map<String, Object> headMap = new LinkedHashMap<>();
headMap.put("Authorization", OkGoUtil.getToken());
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 1, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderPayBean.class, new payBody(orderNo, payWay, type), headMap, true);
}
public class payBody {
private String orderNo;
private int payWay;
private int type;
public payBody(String orderNo, int payWay, int type) {
this.orderNo = orderNo;
this.payWay = payWay;
this.type = type;
}
public String getOrderNo() {
return orderNo;
}
public void setOrderNo(String orderNo) {
this.orderNo = orderNo;
}
public int getPayWay() {
return payWay;
}
public void setPayWay(int payWay) {
this.payWay = payWay;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
}
private void pay(OrderPayBean data) {
try {
PayReq req = new PayReq();
req.appId = data.getData().getAppid();
req.partnerId = data.getData().getPartnerid();
req.prepayId = data.getData().getPrepayid();
req.nonceStr = data.getData().getNoncestr();
req.timeStamp = data.getData().getTimestamp();
req.packageValue = data.getData().getPackageX();
req.sign = data.getData().getSign();
req.extData = "app data"; // optional
api.sendReq(req);
} catch (Exception e) {
showToast("异常");
}
}
} }
...@@ -69,10 +69,12 @@ public class CompletedFragment extends BaseFragment<CommonPresenter>implements B ...@@ -69,10 +69,12 @@ public class CompletedFragment extends BaseFragment<CommonPresenter>implements B
mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() { mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override @Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) { public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
OrderListBean.DataBeanX.DataBean dataBean = (OrderListBean.DataBeanX.DataBean) adapter.getItem(position);
int i = view.getId(); int i = view.getId();
if (i == R.id.tv_process) { if (i == R.id.tv_process) {
startActivityForResult(EvaluationActivity.getIntent(_mActivity), TYPE_REQUEST_EVALUATION); startActivityForResult(EvaluationActivity.getIntent(_mActivity,dataBean), TYPE_REQUEST_EVALUATION);
}else if (i == R.id.tv_camp_process){
startActivityForResult(EvaluationActivity.getIntent(_mActivity,dataBean), TYPE_REQUEST_EVALUATION);
} }
} }
}); });
...@@ -82,9 +84,9 @@ public class CompletedFragment extends BaseFragment<CommonPresenter>implements B ...@@ -82,9 +84,9 @@ public class CompletedFragment extends BaseFragment<CommonPresenter>implements B
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
OrderListBean.DataBeanX.DataBean dataBean = (OrderListBean.DataBeanX.DataBean) adapter.getItem(position); OrderListBean.DataBeanX.DataBean dataBean = (OrderListBean.DataBeanX.DataBean) adapter.getItem(position);
if (1 ==dataBean.getType()) { if (1 ==dataBean.getType()) {
startActivityForResult(OrderDetailActivity.getIntent(_mActivity, dataBean.getNo(), dataBean.getStatusX(),dataBean.getOrderAmount(),dataBean.getType()), 1); startActivityForResult(OrderDetailActivity.getIntent(_mActivity, dataBean), 1);
}else if (2== dataBean.getType()){ }else if (2== dataBean.getType()){
startActivityForResult(TravelOrderDetailsActivity.getIntent(_mActivity, dataBean.getNo(), dataBean.getStatusX(),dataBean.getType()), 2); startActivityForResult(TravelOrderDetailsActivity.getIntent(_mActivity, dataBean), 2);
} }
} }
}); });
......
...@@ -17,7 +17,9 @@ import android.widget.TextView; ...@@ -17,7 +17,9 @@ import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.frame.rv.config.RvFrameConfig; import com.frame.rv.config.RvFrameConfig;
import com.frame.base.glide.GlideManager;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.util.TimeManager;
import com.ruiwenliu.wrapper.util.listener.TextChangedListener; import com.ruiwenliu.wrapper.util.listener.TextChangedListener;
import com.rv.home.R; import com.rv.home.R;
import com.rv.home.R2; import com.rv.home.R2;
...@@ -30,6 +32,7 @@ import com.rv.home.rv.module.basic.dialog.PickerDialog; ...@@ -30,6 +32,7 @@ import com.rv.home.rv.module.basic.dialog.PickerDialog;
import com.rv.home.rv.module.basic.presenter.PickerPresenter; import com.rv.home.rv.module.basic.presenter.PickerPresenter;
import com.rv.home.rv.module.ui.main.home.bean.ImageUploadBean; import com.rv.home.rv.module.ui.main.home.bean.ImageUploadBean;
import com.rv.home.rv.module.ui.main.home.order.adapter.EvaluationAdapter; import com.rv.home.rv.module.ui.main.home.order.adapter.EvaluationAdapter;
import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -72,9 +75,11 @@ public class EvaluationActivity extends BaseStatusActivity<PickerPresenter> { ...@@ -72,9 +75,11 @@ public class EvaluationActivity extends BaseStatusActivity<PickerPresenter> {
private EvaluationAdapter mAdapter; private EvaluationAdapter mAdapter;
private List<String> listImg; private List<String> listImg;
private OrderListBean.DataBeanX.DataBean dataBean;
public static Intent getIntent(Context context) { public static Intent getIntent(Context context, OrderListBean.DataBeanX.DataBean dataBean) {
return new Intent(context, EvaluationActivity.class); return new Intent(context, EvaluationActivity.class)
.putExtra("dataBean", dataBean);
} }
...@@ -91,6 +96,14 @@ public class EvaluationActivity extends BaseStatusActivity<PickerPresenter> { ...@@ -91,6 +96,14 @@ public class EvaluationActivity extends BaseStatusActivity<PickerPresenter> {
@Override @Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle(mActivity.getString(R.string.rv_to_appointment_evaluation)); titleView.setTitle(mActivity.getString(R.string.rv_to_appointment_evaluation));
dataBean = (OrderListBean.DataBeanX.DataBean) intent.getSerializableExtra("dataBean");
if (dataBean !=null){
tvName.setText(dataBean.getName());
GlideManager.getInstance(mActivity).loadImage(dataBean.getPicture(), ivCar);
}
intiEt(); intiEt();
listImg = new ArrayList<>(); listImg = new ArrayList<>();
mAdapter = new EvaluationAdapter(); mAdapter = new EvaluationAdapter();
......
...@@ -79,9 +79,9 @@ public class ForPaymentFragment extends BaseFragment<CommonPresenter> implements ...@@ -79,9 +79,9 @@ public class ForPaymentFragment extends BaseFragment<CommonPresenter> implements
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
OrderListBean.DataBeanX.DataBean dataBean = (OrderListBean.DataBeanX.DataBean) adapter.getItem(position); OrderListBean.DataBeanX.DataBean dataBean = (OrderListBean.DataBeanX.DataBean) adapter.getItem(position);
if (1 ==dataBean.getType()) { if (1 ==dataBean.getType()) {
startActivityForResult(OrderDetailActivity.getIntent(_mActivity, dataBean.getNo(), dataBean.getStatusX(),dataBean.getOrderAmount(),dataBean.getType()), 1); startActivityForResult(OrderDetailActivity.getIntent(_mActivity, dataBean), 1);
}else if (2== dataBean.getType()){ }else if (2== dataBean.getType()){
startActivityForResult(TravelOrderDetailsActivity.getIntent(_mActivity, dataBean.getNo(), dataBean.getStatusX(),dataBean.getType()), 2); startActivityForResult(TravelOrderDetailsActivity.getIntent(_mActivity, dataBean), 2);
} }
} }
}); });
......
package com.rv.home.rv.module.ui.main.home.order;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.frame.base.glide.GlideManager;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.util.TimeManager;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.home.R;
import com.rv.home.R2;
import com.rv.home.rv.module.basic.BaseStatusActivity;
import com.rv.home.rv.module.basic.presenter.PickerPresenter;
import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean;
import java.util.HashMap;
import java.util.Map;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
/**
* 出示上车二维码
*/
public class GetOnTheCarQRCodeActivity extends BaseStatusActivity<PickerPresenter> {
@BindView(R2.id.iv_zxing)
ImageView ivZxing;
@BindView(R2.id.iv_back)
ImageView ivBack;
@BindView(R2.id.tv_center)
TextView tvCenter;
@BindView(R2.id.iv_customer_service)
TextView ivCustomerService;
@BindView(R2.id.iv_goods)
ImageView ivGoods;
@BindView(R2.id.tv_car_type)
TextView tvCarType;
@BindView(R2.id.tv_get_time)
TextView tvGetTime;
@BindView(R2.id.tv_out_address)
TextView tvOutAddress;
@BindView(R2.id.tv_get_address)
TextView tvGetAddress;
private OrderListBean.DataBeanX.DataBean dataBean;
public static Intent getIntent(Context context, OrderListBean.DataBeanX.DataBean dataBean) {
return new Intent(context, GetOnTheCarQRCodeActivity.class)
.putExtra("dataBean", dataBean);
}
@Override
protected int setLayout() {
return R.layout.activity_get_on_the_car_qrcode;
}
@Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
showTitle(false);
dataBean = (OrderListBean.DataBeanX.DataBean) intent.getSerializableExtra("dataBean");
if (dataBean != null) {
tvCarType.setText(dataBean.getName());
OrderListBean.DataBeanX.DataBean.OrderTourDetail detail = dataBean.getOrderTourDetail();
if (detail != null) {
tvGetTime.setText(TimeManager.stampToDate(String.valueOf(detail.getStartTime()))+"-"+TimeManager.stampToDate(String.valueOf(detail.getEndTime())));
tvGetAddress.setText(detail.getStartAddr());
tvOutAddress.setText(detail.getEndAddr());
GlideManager.getInstance(mActivity).loadImage(dataBean.getPicture(), ivGoods);
}
}
//生成带中间图标的二维码
Bitmap success = createQRImage("33333333333333333333333", 100, 100,
BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));
ivZxing.setImageBitmap(success);
}
@Override
public void onShowResult(int requestType, BaseBean result) {
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO: add setContentView(...) invocation
ButterKnife.bind(this);
}
@OnClick({R2.id.iv_back, R2.id.iv_customer_service})
public void onViewClicked(View view) {
int id = view.getId();
if (id == R.id.iv_back) {
finish();
} else if (id == R.id.iv_customer_service) {
}
}
public static Bitmap createQRImage(String content, int widthPix, int heightPix,
Bitmap logoBm) {
try {
//配置参数
Map<EncodeHintType, Object> hints = new HashMap<>();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
//容错级别
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
//设置空白边距的宽度
hints.put(EncodeHintType.MARGIN, 1); //default is 4
// 图像数据转换,使用了矩阵转换
BitMatrix bitMatrix = null;
try {
bitMatrix = new QRCodeWriter().encode(content, BarcodeFormat.QR_CODE, widthPix,
heightPix, hints);
} catch (WriterException e) {
e.printStackTrace();
}
int[] pixels = new int[widthPix * heightPix];
// 下面这里按照二维码的算法,逐个生成二维码的图片,
// 两个for循环是图片横列扫描的结果
for (int y = 0; y < heightPix; y++) {
for (int x = 0; x < widthPix; x++) {
if (bitMatrix.get(x, y)) {
pixels[y * widthPix + x] = 0xff000000;
} else {
pixels[y * widthPix + x] = 0xffffffff;
}
}
}
// 生成二维码图片的格式,使用ARGB_8888
Bitmap bitmap = Bitmap.createBitmap(widthPix, heightPix, Bitmap.Config.ARGB_8888);
bitmap.setPixels(pixels, 0, widthPix, 0, 0, widthPix, heightPix);
if (logoBm != null) {
bitmap = Logo(bitmap, logoBm);
}
//必须使用compress方法将bitmap保存到文件中再进行读取。直接返回的bitmap是没有任何压缩的,
// 内存消耗巨大!
return bitmap;
// return bitmap != null && bitmap.compress(Bitmap.CompressFormat.JPEG, 100);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
private static Bitmap Logo(Bitmap src, Bitmap logo) {
if (src == null) {
return null;
}
if (logo == null) {
return src;
}
//获取图片的宽高
int srcWidth = src.getWidth();
int srcHeight = src.getHeight();
int logoWidth = logo.getWidth();
int logoHeight = logo.getHeight();
if (srcWidth == 0 || srcHeight == 0) {
return null;
}
if (logoWidth == 0 || logoHeight == 0) {
return src;
}
//logo大小为二维码整体大小的1/5
float scaleFactor = srcWidth * 1.0f / 5 / logoWidth;
Bitmap bitmap = Bitmap.createBitmap(srcWidth, srcHeight, Bitmap.Config.ARGB_8888);
try {
Canvas canvas = new Canvas(bitmap);
canvas.drawBitmap(src, 0, 0, null);
canvas.scale(scaleFactor, scaleFactor, srcWidth / 2, srcHeight / 2);
canvas.drawBitmap(logo, (srcWidth - logoWidth) / 2, (srcHeight - logoHeight) / 2, null);
canvas.save();
canvas.restore();
} catch (Exception e) {
bitmap = null;
e.getStackTrace();
}
return bitmap;
}
}
...@@ -69,9 +69,20 @@ public class HaveToTravelFragment extends BaseFragment<CommonPresenter>implement ...@@ -69,9 +69,20 @@ public class HaveToTravelFragment extends BaseFragment<CommonPresenter>implement
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
OrderListBean.DataBeanX.DataBean dataBean = (OrderListBean.DataBeanX.DataBean) adapter.getItem(position); OrderListBean.DataBeanX.DataBean dataBean = (OrderListBean.DataBeanX.DataBean) adapter.getItem(position);
if (1 ==dataBean.getType()) { if (1 ==dataBean.getType()) {
startActivityForResult(OrderDetailActivity.getIntent(_mActivity, dataBean.getNo(), dataBean.getStatusX(),dataBean.getOrderAmount(),dataBean.getType()), 1); startActivityForResult(OrderDetailActivity.getIntent(_mActivity, dataBean), 1);
}else if (2== dataBean.getType()){ }else if (2== dataBean.getType()){
startActivityForResult(TravelOrderDetailsActivity.getIntent(_mActivity, dataBean.getNo(), dataBean.getStatusX(),dataBean.getType()), 2); startActivityForResult(TravelOrderDetailsActivity.getIntent(_mActivity, dataBean), 2);
}
}
});
mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
int id = view.getId();
if (id == R.id.tv_process){
OrderListBean.DataBeanX.DataBean dataBean = (OrderListBean.DataBeanX.DataBean) adapter.getItem(position);
startActivity(PickUpTheCarQRCodeActivity.getIntent(_mActivity,dataBean));
} }
} }
}); });
......
...@@ -27,6 +27,7 @@ import com.rv.home.rv.module.basic.WebActivity; ...@@ -27,6 +27,7 @@ import com.rv.home.rv.module.basic.WebActivity;
import com.rv.home.rv.module.basic.presenter.PickerPresenter; import com.rv.home.rv.module.basic.presenter.PickerPresenter;
import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean; import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean;
import com.rv.home.rv.module.ui.main.home.dialog.PaymentTypeSelection; import com.rv.home.rv.module.ui.main.home.dialog.PaymentTypeSelection;
import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean;
import com.tencent.mm.opensdk.modelpay.PayReq; import com.tencent.mm.opensdk.modelpay.PayReq;
import com.tencent.mm.opensdk.openapi.IWXAPI; import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory; import com.tencent.mm.opensdk.openapi.WXAPIFactory;
...@@ -42,7 +43,7 @@ import butterknife.OnClick; ...@@ -42,7 +43,7 @@ import butterknife.OnClick;
import static com.ruiwenliu.wrapper.weight.webview.SafeWebView.hasKitkat; import static com.ruiwenliu.wrapper.weight.webview.SafeWebView.hasKitkat;
/** /**
* 订单详情页 * 租车订单详情页
* type 0–删除 * type 0–删除
* 1–创建订单 * 1–创建订单
* 2–取消 * 2–取消
...@@ -72,13 +73,11 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> { ...@@ -72,13 +73,11 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
private final int TYPE_REQUEST_EVALUATION = 1; private final int TYPE_REQUEST_EVALUATION = 1;
private IWXAPI api; private IWXAPI api;
private double orderAmount; private double orderAmount;
private OrderListBean.DataBeanX.DataBean dataBean;
public static Intent getIntent(Context context, String orderId, int status, double orderAmount, int type) { public static Intent getIntent(Context context, OrderListBean.DataBeanX.DataBean dataBean) {
return new Intent(context, OrderDetailActivity.class) return new Intent(context, OrderDetailActivity.class)
.putExtra("orderId", orderId) .putExtra("dataBean", dataBean);
.putExtra("status", status)
.putExtra("orderAmount", orderAmount)
.putExtra("type", type);
} }
@Override @Override
...@@ -127,9 +126,13 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> { ...@@ -127,9 +126,13 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
showTitle(false); showTitle(false);
api = WXAPIFactory.createWXAPI(mActivity, RvFrameConfig.APP_ID); api = WXAPIFactory.createWXAPI(mActivity, RvFrameConfig.APP_ID);
status = intent.getIntExtra("status", 0); dataBean = (OrderListBean.DataBeanX.DataBean) intent.getSerializableExtra("dataBean");
no = intent.getStringExtra("orderId"); if (dataBean !=null){
orderAmount = intent.getDoubleExtra("orderAmount", 0); status = dataBean.getStatusX();
no = dataBean.getNo();
orderAmount = dataBean.getOrderAmount();
}
switch (status) { switch (status) {
case 3: case 3:
tvCancelOrder.setText(mActivity.getString(R.string.rv_cancel_order)); tvCancelOrder.setText(mActivity.getString(R.string.rv_cancel_order));
...@@ -204,11 +207,13 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> { ...@@ -204,11 +207,13 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
payShowSelect(no, orderAmount); payShowSelect(no, orderAmount);
break; break;
case 4: case 4:
startActivity(PickUpTheCarQRCodeActivity.getIntent(mActivity,dataBean));
break; break;
case 5: case 5:
startActivity(PickUpTheCarQRCodeActivity.getIntent(mActivity,dataBean));
break; break;
case 6: case 6:
startActivityForResult(EvaluationActivity.getIntent(mActivity), TYPE_REQUEST_EVALUATION); startActivityForResult(EvaluationActivity.getIntent(mActivity,dataBean), TYPE_REQUEST_EVALUATION);
break; break;
} }
} }
...@@ -220,8 +225,10 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> { ...@@ -220,8 +225,10 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
startActivityForResult(CancelTheTripActivity.getIntent(mActivity, no), 1); startActivityForResult(CancelTheTripActivity.getIntent(mActivity, no), 1);
break; break;
case 5: case 5:
showToast("该功能还在开发中...");
break; break;
case 6: case 6:
showToast("该功能还在开发中...");
break; break;
} }
} }
......
package com.rv.home.rv.module.ui.main.home.order;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.frame.base.glide.GlideManager;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.util.TimeManager;
import com.ruiwenliu.wrapper.util.UtilsManager;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.home.R;
import com.rv.home.R2;
import com.rv.home.rv.module.basic.BaseStatusActivity;
import com.rv.home.rv.module.basic.presenter.PickerPresenter;
import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean;
import java.util.HashMap;
import java.util.Map;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
/**
* 取车二维码
*/
public class PickUpTheCarQRCodeActivity extends BaseStatusActivity<PickerPresenter> {
@BindView(R2.id.tv_center)
TextView tvCenter;
@BindView(R2.id.lay_title)
RelativeLayout layTitle;
@BindView(R2.id.iv_goods)
ImageView ivGoods;
@BindView(R2.id.tv_car_type)
TextView tvCarType;
@BindView(R2.id.tv_get_time)
TextView tvGetTime;
@BindView(R2.id.tv_get_address)
TextView tvGetAddress;
@BindView(R2.id.ll_get)
LinearLayout llGet;
@BindView(R2.id.tv_out_time)
TextView tvOutTime;
@BindView(R2.id.tv_out_address)
TextView tvOutAddress;
@BindView(R2.id.ll_out)
LinearLayout llOut;
@BindView(R2.id.tv_price)
TextView tvPrice;
@BindView(R2.id.iv_zxing)
ImageView ivZxing;
private OrderListBean.DataBeanX.DataBean dataBean;
public static Intent getIntent(Context context, OrderListBean.DataBeanX.DataBean dataBean) {
return new Intent(context, PickUpTheCarQRCodeActivity.class)
.putExtra("dataBean", dataBean);
}
@Override
protected int setLayout() {
return R.layout.activity_pick_up_the_car_qrcode;
}
@Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
showTitle(false);
dataBean = (OrderListBean.DataBeanX.DataBean) intent.getSerializableExtra("dataBean");
if (dataBean != null){
if (4==dataBean.getStatusX()){
tvCenter.setText("出示取车二维码");
}else if (5==dataBean.getStatusX()){
tvCenter.setText("出示还车二维码");
}
tvCarType.setText(dataBean.getName());
OrderListBean.DataBeanX.DataBean.OrderRentVehicleDetail detail = dataBean.getOrderRentVehicleDetail();
if (detail !=null){
tvGetAddress.setText(detail.getStart_addr());
tvGetTime.setText(TimeManager.stampToDate(String.valueOf(detail.getStart_time())));
tvOutAddress.setText(detail.getEnd_addr());
tvOutTime.setText(TimeManager.stampToDate(String.valueOf(detail.getEnd_time())));
tvPrice.setText(String.format("¥%1$s", dataBean.getOrderAmount()));
GlideManager.getInstance(mActivity).loadImage(dataBean.getPicture(), ivGoods);
}
}
//生成带中间图标的二维码
Bitmap success =createQRImage("33333333333333333333333", 100, 100,
BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));
ivZxing.setImageBitmap(success);
}
@Override
public void onShowResult(int requestType, BaseBean result) {
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO: add setContentView(...) invocation
ButterKnife.bind(this);
}
@OnClick({R2.id.iv_back, R2.id.iv_customer_service})
public void onViewClicked(View view) {
int id = view.getId();
if (id == R.id.iv_back) {
finish();
} else if (id == R.id.iv_customer_service) {
showToast("该功能还在开发中...");
}
}
public static Bitmap createQRImage(String content, int widthPix, int heightPix,
Bitmap logoBm) {
try {
//配置参数
Map<EncodeHintType, Object> hints = new HashMap<>();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
//容错级别
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
//设置空白边距的宽度
hints.put(EncodeHintType.MARGIN, 1); //default is 4
// 图像数据转换,使用了矩阵转换
BitMatrix bitMatrix = null;
try {
bitMatrix = new QRCodeWriter().encode(content, BarcodeFormat.QR_CODE, widthPix,
heightPix, hints);
} catch (WriterException e) {
e.printStackTrace();
}
int[] pixels = new int[widthPix * heightPix];
// 下面这里按照二维码的算法,逐个生成二维码的图片,
// 两个for循环是图片横列扫描的结果
for (int y = 0; y < heightPix; y++) {
for (int x = 0; x < widthPix; x++) {
if (bitMatrix.get(x, y)) {
pixels[y * widthPix + x] = 0xff000000;
} else {
pixels[y * widthPix + x] = 0xffffffff;
}
}
}
// 生成二维码图片的格式,使用ARGB_8888
Bitmap bitmap = Bitmap.createBitmap(widthPix, heightPix, Bitmap.Config.ARGB_8888);
bitmap.setPixels(pixels, 0, widthPix, 0, 0, widthPix, heightPix);
if (logoBm != null) {
bitmap = Logo(bitmap, logoBm);
}
//必须使用compress方法将bitmap保存到文件中再进行读取。直接返回的bitmap是没有任何压缩的,
// 内存消耗巨大!
return bitmap;
// return bitmap != null && bitmap.compress(Bitmap.CompressFormat.JPEG, 100);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
private static Bitmap Logo(Bitmap src, Bitmap logo) {
if (src == null) {
return null;
}
if (logo == null) {
return src;
}
//获取图片的宽高
int srcWidth = src.getWidth();
int srcHeight = src.getHeight();
int logoWidth = logo.getWidth();
int logoHeight = logo.getHeight();
if (srcWidth == 0 || srcHeight == 0) {
return null;
}
if (logoWidth == 0 || logoHeight == 0) {
return src;
}
//logo大小为二维码整体大小的1/5
float scaleFactor = srcWidth * 1.0f / 5 / logoWidth;
Bitmap bitmap = Bitmap.createBitmap(srcWidth, srcHeight, Bitmap.Config.ARGB_8888);
try {
Canvas canvas = new Canvas(bitmap);
canvas.drawBitmap(src, 0, 0, null);
canvas.scale(scaleFactor, scaleFactor, srcWidth / 2, srcHeight / 2);
canvas.drawBitmap(logo, (srcWidth - logoWidth) / 2, (srcHeight - logoHeight) / 2, null);
canvas.save();
canvas.restore();
} catch (Exception e) {
bitmap = null;
e.getStackTrace();
}
return bitmap;
}
}
...@@ -68,9 +68,23 @@ public class ToTravelFragment extends BaseFragment<CommonPresenter> implements B ...@@ -68,9 +68,23 @@ public class ToTravelFragment extends BaseFragment<CommonPresenter> implements B
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
OrderListBean.DataBeanX.DataBean dataBean = (OrderListBean.DataBeanX.DataBean) adapter.getItem(position); OrderListBean.DataBeanX.DataBean dataBean = (OrderListBean.DataBeanX.DataBean) adapter.getItem(position);
if (1 ==dataBean.getType()) { if (1 ==dataBean.getType()) {
startActivityForResult(OrderDetailActivity.getIntent(_mActivity, dataBean.getNo(), dataBean.getStatusX(),dataBean.getOrderAmount(),dataBean.getType()), 1); startActivityForResult(OrderDetailActivity.getIntent(_mActivity, dataBean), 1);
}else if (2== dataBean.getType()){ }else if (2== dataBean.getType()){
startActivityForResult(TravelOrderDetailsActivity.getIntent(_mActivity, dataBean.getNo(), dataBean.getStatusX(),dataBean.getType()), 2); startActivityForResult(TravelOrderDetailsActivity.getIntent(_mActivity, dataBean), 2);
}
}
});
mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
int id = view.getId();
if (id == R.id.tv_process){
OrderListBean.DataBeanX.DataBean dataBean = (OrderListBean.DataBeanX.DataBean) adapter.getItem(position);
startActivity(PickUpTheCarQRCodeActivity.getIntent(_mActivity,dataBean));
}else if (id == R.id.tv_camp_process){
OrderListBean.DataBeanX.DataBean dataBean = (OrderListBean.DataBeanX.DataBean) adapter.getItem(position);
startActivity(GetOnTheCarQRCodeActivity.getIntent(_mActivity,dataBean));
} }
} }
}); });
......
...@@ -26,6 +26,7 @@ import com.rv.home.rv.module.ApiConfig; ...@@ -26,6 +26,7 @@ import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.presenter.PickerPresenter; import com.rv.home.rv.module.basic.presenter.PickerPresenter;
import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean; import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean;
import com.rv.home.rv.module.ui.main.home.dialog.PaymentTypeSelection; import com.rv.home.rv.module.ui.main.home.dialog.PaymentTypeSelection;
import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean;
import com.tencent.mm.opensdk.modelpay.PayReq; import com.tencent.mm.opensdk.modelpay.PayReq;
import com.tencent.mm.opensdk.openapi.IWXAPI; import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory; import com.tencent.mm.opensdk.openapi.WXAPIFactory;
...@@ -46,6 +47,7 @@ import static com.ruiwenliu.wrapper.weight.webview.SafeWebView.hasKitkat; ...@@ -46,6 +47,7 @@ import static com.ruiwenliu.wrapper.weight.webview.SafeWebView.hasKitkat;
public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresenter> { public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresenter> {
private static final int TYPE_REQUEST_EVALUATION = 102;
@BindView(R2.id.webView) @BindView(R2.id.webView)
WebView mWebView; WebView mWebView;
@BindView(R2.id.tv_cancel_order) @BindView(R2.id.tv_cancel_order)
...@@ -57,16 +59,15 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent ...@@ -57,16 +59,15 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
private String webUrl; private String webUrl;
private int status; private int status;
private int type;
private String no; private String no;
private IWXAPI api; private IWXAPI api;
private double orderAmount;
private OrderListBean.DataBeanX.DataBean dataBean;
public static Intent getIntent(Context context, String orderId, int status, int type) { public static Intent getIntent(Context context, OrderListBean.DataBeanX.DataBean dataBean) {
return new Intent(context, TravelOrderDetailsActivity.class) return new Intent(context, TravelOrderDetailsActivity.class)
.putExtra("no", orderId) .putExtra("dataBean", dataBean);
.putExtra("status", status)
.putExtra("type", type);
} }
@Override @Override
...@@ -113,10 +114,13 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent ...@@ -113,10 +114,13 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
@Override @Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
showTitle(false); showTitle(false);
api = WXAPIFactory.createWXAPI(mActivity, RvFrameConfig.APP_ID); api = WXAPIFactory.createWXAPI(mActivity, RvFrameConfig.APP_ID);
status = intent.getIntExtra("status", 0); dataBean = (OrderListBean.DataBeanX.DataBean) intent.getSerializableExtra("dataBean");
no = intent.getStringExtra("no"); if (dataBean !=null) {
type = intent.getIntExtra("type", 0); status = dataBean.getStatusX();
no = dataBean.getNo();
orderAmount = dataBean.getOrderAmount();
}
/** /**
* *
(query) (query)
...@@ -163,7 +167,11 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent ...@@ -163,7 +167,11 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
@Override @Override
public void onShowResult(int requestType, BaseBean result) { public void onShowResult(int requestType, BaseBean result) {
switch (requestType) {
case 0:
pay((OrderPayBean) result);
break;
}
} }
@Override @Override
...@@ -199,14 +207,15 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent ...@@ -199,14 +207,15 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
private void okOnclick() { private void okOnclick() {
switch (status) { switch (status) {
case 3: case 3:
// payShowSelect(no, orderAmount); payShowSelect(no, orderAmount);
break; break;
case 4: case 4:
startActivity(GetOnTheCarQRCodeActivity.getIntent(mActivity,dataBean));
break; break;
case 5: case 5:
break; break;
case 6: case 6:
// startActivityForResult(EvaluationActivity.getIntent(mActivity), TYPE_REQUEST_EVALUATION); startActivityForResult(EvaluationActivity.getIntent(mActivity,dataBean), TYPE_REQUEST_EVALUATION);
break; break;
} }
} }
...@@ -215,7 +224,7 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent ...@@ -215,7 +224,7 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
switch (status) { switch (status) {
case 3: case 3:
case 4: case 4:
startActivityForResult(CancelTheTripActivity.getIntent(mActivity, no), 1);
break; break;
case 5: case 5:
break; break;
...@@ -380,7 +389,6 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent ...@@ -380,7 +389,6 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
// TODO: add setContentView(...) invocation
ButterKnife.bind(this); ButterKnife.bind(this);
} }
...@@ -404,5 +412,4 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent ...@@ -404,5 +412,4 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
} }
} }
} }
...@@ -5,6 +5,7 @@ import com.google.gson.annotations.SerializedName; ...@@ -5,6 +5,7 @@ import com.google.gson.annotations.SerializedName;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.rv.home.rv.module.ui.main.home.order.adapter.OrderListAdapter; import com.rv.home.rv.module.ui.main.home.order.adapter.OrderListAdapter;
import java.io.Serializable;
import java.util.List; import java.util.List;
/** /**
...@@ -95,7 +96,7 @@ public class OrderListBean extends BaseBean { ...@@ -95,7 +96,7 @@ public class OrderListBean extends BaseBean {
this.data = data; this.data = data;
} }
public static class DataBean implements MultiItemEntity { public static class DataBean implements MultiItemEntity,Serializable {
/** /**
* no : 4a0c200a-c4f0-4c37-8cdc-d2ee5cc08c20 * no : 4a0c200a-c4f0-4c37-8cdc-d2ee5cc08c20
* type : 1 订单类型 1–租车;2–旅游 * type : 1 订单类型 1–租车;2–旅游
...@@ -294,7 +295,7 @@ public class OrderListBean extends BaseBean { ...@@ -294,7 +295,7 @@ public class OrderListBean extends BaseBean {
return type; return type;
} }
public static class OrderRentVehicleDetail { public static class OrderRentVehicleDetail implements Serializable {
/** /**
* start_city_name : 东莞市 * start_city_name : 东莞市
* end_addr : 廊坊分公司 * end_addr : 廊坊分公司
...@@ -520,7 +521,7 @@ public class OrderListBean extends BaseBean { ...@@ -520,7 +521,7 @@ public class OrderListBean extends BaseBean {
} }
} }
public static class OrderTourDetail { public static class OrderTourDetail implements Serializable{
/** /**
* contactEmail string * contactEmail string
* 联系邮箱 * 联系邮箱
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="8dp" />
<solid android:color="@color/gray_BA58EB" />
</shape>
\ No newline at end of file
<?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="match_parent"
android:background="@color/colorMain"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_55">
<ImageView
android:id="@+id/iv_back"
android:layout_width="@dimen/size_32"
android:layout_height="@dimen/size_32"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/size_5"
android:padding="@dimen/size_8"
android:src="@drawable/rv_common_icon_back_dark" />
<TextView
android:id="@+id/tv_center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:ellipsize="end"
android:gravity="center"
android:maxWidth="320dp"
android:maxLines="1"
android:text="出示上车二维码"
android:textColor="@color/colorWrite"
android:textSize="@dimen/text_18" />
<TextView
android:id="@+id/iv_customer_service"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/size_8"
android:padding="@dimen/size_8"
android:text="帮助"
android:textColor="@color/colorWrite" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_15"
android:layout_marginTop="@dimen/size_20"
android:layout_marginRight="@dimen/size_15"
android:background="@color/colorWrite">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWrite"
android:orientation="horizontal"
android:paddingLeft="@dimen/size_15"
android:paddingTop="@dimen/size_15"
android:paddingRight="@dimen/size_15"
android:paddingBottom="@dimen/size_15">
<ImageView
android:id="@+id/iv_goods"
android:layout_width="@dimen/size_100"
android:layout_height="@dimen/size_100"
android:scaleType="centerCrop"
android:src="@drawable/common_icon_wechat_pay" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center_vertical"
android:layout_marginLeft="@dimen/size_8">
<TextView
android:id="@+id/tv_car_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="草原大漠,6天5晚,穿越沙漠..."
android:textColor="@color/textMain"
android:textSize="@dimen/text_14" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_3"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="活动日期:"
android:textColor="@color/textGray"
android:textSize="@dimen/text_10" />
<TextView
android:id="@+id/tv_get_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_2"
android:ellipsize="end"
android:maxLines="1"
android:text="2019-06-12周三~2019-06-18周二"
android:textColor="@color/textGray"
android:textSize="@dimen/text_10" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_3"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="出发地:"
android:textColor="@color/textGray"
android:textSize="@dimen/text_10" />
<TextView
android:id="@+id/tv_out_address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_2"
android:ellipsize="end"
android:maxLines="1"
android:text="欣新房车(松山湖)有限公司"
android:textColor="@color/textGray"
android:textSize="@dimen/text_10" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_3"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="目的地:"
android:textColor="@color/textGray"
android:textSize="@dimen/text_10" />
<TextView
android:id="@+id/tv_get_address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_2"
android:ellipsize="end"
android:maxLines="1"
android:text="呼伦贝尔大草原"
android:textColor="@color/textGray"
android:textSize="@dimen/text_10" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorWrite"
android:layout_marginTop="@dimen/size_50"
android:layout_marginLeft="@dimen/size_50"
android:layout_marginRight="@dimen/size_50"
android:layout_marginBottom="@dimen/size_50"
android:gravity="center_horizontal"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="@dimen/size_60"
android:gravity="center_vertical"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="刘伟 159****2558"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="身份证号 541120********2210"/>
</LinearLayout>
<include layout="@layout/common_line"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center"
android:layout_weight="1">
<ImageView
android:id="@+id/iv_zxing"
android:layout_width="@dimen/size_200"
android:layout_height="@dimen/size_200"
android:scaleType="centerCrop"/>
</LinearLayout>
<TextView
android:background="@color/gray_f5f5f5"
android:layout_width="match_parent"
android:layout_height="@dimen/size_30"
android:textSize="@dimen/text_12"
android:gravity="center"
android:text="*欣新管家扫码验票完成后,才能上车哦!"/>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
This diff is collapsed.
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
android:id="@+id/rating_serve_bar" android:id="@+id/rating_serve_bar"
style="@style/fiveRatingBar" style="@style/fiveRatingBar"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="@dimen/size_16" android:layout_height="wrap_content"
android:layout_below="@id/tv_context" android:layout_below="@id/tv_context"
android:layout_marginLeft="@dimen/size_20" android:layout_marginLeft="@dimen/size_20"
android:numStars="5" android:numStars="5"
...@@ -139,6 +139,7 @@ ...@@ -139,6 +139,7 @@
</LinearLayout> </LinearLayout>
<RelativeLayout <RelativeLayout
android:visibility="gone"
android:focusableInTouchMode="true" android:focusableInTouchMode="true"
android:focusable="true" android:focusable="true"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -171,6 +172,7 @@ ...@@ -171,6 +172,7 @@
</RelativeLayout> </RelativeLayout>
<android.support.v7.widget.RecyclerView <android.support.v7.widget.RecyclerView
android:visibility="gone"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_15" android:layout_marginLeft="@dimen/size_15"
...@@ -185,7 +187,7 @@ ...@@ -185,7 +187,7 @@
android:layout_height="@dimen/size_50" android:layout_height="@dimen/size_50"
android:layout_marginBottom="@dimen/size_15" android:layout_marginBottom="@dimen/size_15"
android:layout_marginLeft="@dimen/size_15" android:layout_marginLeft="@dimen/size_15"
android:layout_marginTop="@dimen/size_15" android:layout_marginTop="@dimen/size_80"
android:layout_marginRight="@dimen/size_15" android:layout_marginRight="@dimen/size_15"
android:background="@drawable/shape_rv_bg_yellow" android:background="@drawable/shape_rv_bg_yellow"
android:gravity="center" android:gravity="center"
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:orientation="vertical" android:layout_height="wrap_content"
android:layout_height="wrap_content"> android:orientation="vertical">
<TextView <TextView
android:id="@+id/tv_order_time"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="@dimen/text_12" android:background="@color/colorLine"
android:padding="@dimen/size_15"
android:text="" android:text=""
android:textColor="@color/textGray" android:textColor="@color/textGray"
android:padding="@dimen/size_15" android:textSize="@dimen/text_12" />
android:background="@color/colorLine"
android:id="@+id/tv_order_time"
/>
<RelativeLayout <RelativeLayout
android:padding="@dimen/size_15"
android:background="@color/colorWrite"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:background="@color/colorWrite"
android:padding="@dimen/size_15">
<TextView <TextView
android:id="@+id/tv_city" android:id="@+id/tv_city"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/textGray"
android:textSize="@dimen/text_12"
android:text="" android:text=""
/> android:textColor="@color/textGray"
android:textSize="@dimen/text_12" />
<TextView <TextView
android:layout_alignParentRight="true"
android:id="@+id/tv_order_state" android:id="@+id/tv_order_state"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/textMain" android:layout_alignParentRight="true"
android:textSize="@dimen/text_12"
android:text="" android:text=""
/> android:textColor="@color/textMain"
android:textSize="@dimen/text_12" />
</RelativeLayout> </RelativeLayout>
<LinearLayout <LinearLayout
android:paddingRight="@dimen/size_15"
android:paddingLeft="@dimen/size_15"
android:paddingBottom="@dimen/size_15"
android:orientation="horizontal"
android:background="@color/colorWrite"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
<ImageView android:background="@color/colorWrite"
android:layout_width="@dimen/size_100" android:orientation="horizontal"
android:layout_height="@dimen/size_100" android:paddingLeft="@dimen/size_15"
android:id="@+id/iv_goods" android:paddingRight="@dimen/size_15"
android:scaleType="centerCrop" android:paddingBottom="@dimen/size_15">
/>
<RelativeLayout <RelativeLayout
android:layout_marginLeft="@dimen/size_8" android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_goods"
android:layout_width="@dimen/size_100"
android:layout_height="@dimen/size_100"
android:scaleType="centerCrop" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_rv_bg_purple"
android:padding="@dimen/size_5"
android:text="房车游"
android:textColor="@color/colorWrite"
android:textSize="@dimen/text_10" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_8">
<TextView <TextView
android:id="@+id/tv_car_type"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:ellipsize="end" android:ellipsize="end"
android:maxLines="1" android:maxLines="1"
android:id="@+id/tv_car_type"
android:text="" android:text=""
android:textColor="@color/textMain" android:textColor="@color/textMain"
android:textSize="@dimen/text_16" android:textSize="@dimen/text_16" />
/>
<TextView <TextView
android:id="@+id/tv_out_time"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="@dimen/text_12"
android:id="@+id/tv_out_time"
android:text=""
android:layout_marginTop="@dimen/size_8"
android:layout_below="@id/tv_car_type" android:layout_below="@id/tv_car_type"
android:layout_marginLeft="@dimen/size_5" android:layout_marginLeft="@dimen/size_5"
android:layout_marginTop="@dimen/size_8"
android:text=""
android:textColor="@color/textGray" android:textColor="@color/textGray"
/> android:textSize="@dimen/text_12" />
<TextView <TextView
android:layout_below="@id/tv_out_time" android:id="@+id/tv_count_person"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="@dimen/text_12" android:layout_below="@id/tv_out_time"
android:id="@+id/tv_count_person"
android:text=""
android:layout_marginLeft="@dimen/size_5" android:layout_marginLeft="@dimen/size_5"
android:text=""
android:textColor="@color/textGray" android:textColor="@color/textGray"
/> android:textSize="@dimen/text_12" />
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/size_15" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_count_person" android:layout_below="@id/tv_count_person"
android:orientation="horizontal" android:layout_marginTop="@dimen/size_15"
android:gravity="center_vertical" android:gravity="center_vertical"
android:layout_width="match_parent" android:orientation="horizontal">
android:layout_height="wrap_content">
<TextView <TextView
android:id="@+id/tv_price"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:id="@+id/tv_price"
android:textColor="@color/colorAuxiliaryRed"
android:textSize="@dimen/text_16"
android:text="" android:text=""
/> android:textColor="@color/colorAuxiliaryRed"
android:textSize="@dimen/text_16" />
<TextView <TextView
android:id="@+id/tv_camp_process"
android:layout_width="@dimen/size_70" android:layout_width="@dimen/size_70"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/tv_camp_process" android:background="@drawable/shape_rv_bg_yellow"
android:textColor="@color/colorWrite"
android:textSize="@dimen/text_12"
android:text="立即支付"
android:gravity="center" android:gravity="center"
android:paddingTop="@dimen/size_5" android:paddingTop="@dimen/size_5"
android:paddingBottom="@dimen/size_5" android:paddingBottom="@dimen/size_5"
android:background="@drawable/shape_rv_bg_yellow" android:text="立即支付"
/> android:textColor="@color/colorWrite"
android:textSize="@dimen/text_12" />
</LinearLayout> </LinearLayout>
</RelativeLayout> </RelativeLayout>
</LinearLayout> </LinearLayout>
......
...@@ -2,5 +2,4 @@ ...@@ -2,5 +2,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.rv.rvmine"> package="com.rv.rvmine">
</manifest> </manifest>
\ No newline at end of file
package com.rv.rvmine; package com.rv.rvmine;
import android.annotation.SuppressLint;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
...@@ -15,6 +16,7 @@ import com.base.utils.tools.android.IntentUtil; ...@@ -15,6 +16,7 @@ import com.base.utils.tools.android.IntentUtil;
import com.base.utils.ui.image.round.RoundImageView; import com.base.utils.ui.image.round.RoundImageView;
import com.frame.base.browse.ActivityImageBrowseInt; import com.frame.base.browse.ActivityImageBrowseInt;
import com.frame.base.glide.GlideManager; import com.frame.base.glide.GlideManager;
import com.frame.rv.config.RvFrameConfig;
import com.frame.rv.widget.BaseTabLayout; import com.frame.rv.widget.BaseTabLayout;
import com.frame.rv.ModuleEventUtil; import com.frame.rv.ModuleEventUtil;
import com.frame.rv.OnModuleEventListener; import com.frame.rv.OnModuleEventListener;
...@@ -22,10 +24,20 @@ import com.ruiwenliu.wrapper.base.BaseBean; ...@@ -22,10 +24,20 @@ import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity; import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.util.UtilsManager; import com.ruiwenliu.wrapper.util.UtilsManager;
import com.ruiwenliu.wrapper.weight.TitleView; import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.presenter.CommonPresenter; import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.login.LoginRvActivity; import com.rv.home.rv.module.ui.login.LoginRvActivity;
import com.rv.home.rv.module.ui.main.home.ConfirmOrderActivity;
import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean;
import com.rv.home.rv.module.ui.main.home.order.OrderListActivity; import com.rv.home.rv.module.ui.main.home.order.OrderListActivity;
import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean;
import com.rv.home.rv.until.bus.PaymentFailedEvent;
import com.rv.home.rv.until.bus.PaymentSuccessfulEvent;
import com.rv.home.rv.until.bus.RxBus;
import com.rv.rvmine.bean.UserInfo;
import com.rv.rvmine.personal.IDCardCertificationActivity; import com.rv.rvmine.personal.IDCardCertificationActivity;
import com.rv.rvmine.rxbusevent.UserInfoEvent;
import com.rv.rvmine.traveler.PersonalInformationActivity;
import com.rv.rvmine.traveler.SettingActivity; import com.rv.rvmine.traveler.SettingActivity;
import com.yuyife.banner.Banner; import com.yuyife.banner.Banner;
import com.yuyife.banner.BannerConfig; import com.yuyife.banner.BannerConfig;
...@@ -34,11 +46,18 @@ import com.yuyife.banner.loader.ImageLoader; ...@@ -34,11 +46,18 @@ import com.yuyife.banner.loader.ImageLoader;
import com.yuyife.okgo.OkGoUtil; import com.yuyife.okgo.OkGoUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import butterknife.BindView; import butterknife.BindView;
import butterknife.OnClick; import butterknife.OnClick;
import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers;
/**
* 我的
*/
public class MineActivity extends BaseStatusActivity<CommonPresenter> { public class MineActivity extends BaseStatusActivity<CommonPresenter> {
@BindView(R2.id.travel_tab_layout) @BindView(R2.id.travel_tab_layout)
...@@ -107,9 +126,29 @@ public class MineActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -107,9 +126,29 @@ public class MineActivity extends BaseStatusActivity<CommonPresenter> {
tvLogin.setVisibility(View.GONE); tvLogin.setVisibility(View.GONE);
tvVerified.setVisibility(View.VISIBLE); tvVerified.setVisibility(View.VISIBLE);
// Log.i("Mineactivityty", "initView: " + UtilsManager.getInstance(mActivity).getSPStringCode("city_json", "headerurl")); // Log.i("Mineactivityty", "initView: " + UtilsManager.getInstance(mActivity).getSPStringCode("city_json", "headerurl"));
GlideManager.getInstance(mActivity).loadImage(UtilsManager.getInstance(mActivity).getSPStringCode("city_json", "headerurl"), ivAvatar);
tvNickname.setText(UtilsManager.getInstance(mActivity).getSPStringCode("city_json", "username"));
} }
initRxBus();
}
@SuppressLint("CheckResult")
private void initRxBus() {
RxBus.tObservable(UserInfoEvent.class)
.observeOn(Schedulers.newThread())
.subscribe(new Consumer<UserInfoEvent>() {
@Override
public void accept(UserInfoEvent info) throws Exception {
getUserData();
}
});
}
@Override
protected void loadData(Bundle savedInstanceState, Intent intent) {
super.loadData(savedInstanceState, intent);
getUserData();
} }
@Override @Override
...@@ -125,55 +164,66 @@ public class MineActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -125,55 +164,66 @@ public class MineActivity extends BaseStatusActivity<CommonPresenter> {
if (id == R.id.iv_avatar) { if (id == R.id.iv_avatar) {
//头像 //头像
if (isLogin()) return; if (isLogin()) return;
} else if (id == R.id.tv_login) { } else if (id == R.id.tv_login) {
//登录 //登录
startActivity(LoginRvActivity.getIntent(mActivity)); startActivity(LoginRvActivity.getIntent(mActivity));
} else if (id == R.id.tv_verified) { } else if (id == R.id.tv_verified) {
//实名认证 //实名认证
if (isLogin()) return; if (isLogin()) return;
startActivity(IDCardCertificationActivity.getIntent(mActivity)); startActivity(IDCardCertificationActivity.getIntent(mActivity));
} else if (id == R.id.rl_item_to_be_paid) { } else if (id == R.id.rl_item_to_be_paid) {
//待支付 //待支付
if (isLogin()) return; if (isLogin()) return;
startActivity(OrderListActivity.getIntent(mActivity, 0)); startActivity(OrderListActivity.getIntent(mActivity, 0));
} else if (id == R.id.rl_item_staying) { } else if (id == R.id.rl_item_staying) {
//待出行 //待出行
if (isLogin()) return; if (isLogin()) return;
startActivity(OrderListActivity.getIntent(mActivity, 1)); startActivity(OrderListActivity.getIntent(mActivity, 1));
} else if (id == R.id.rl_item_traveling) { } else if (id == R.id.rl_item_traveling) {
//出行中 //出行中
if (isLogin()) return; if (isLogin()) return;
startActivity(OrderListActivity.getIntent(mActivity, 2)); startActivity(OrderListActivity.getIntent(mActivity, 2));
} else if (id == R.id.rl_item_completed) { } else if (id == R.id.rl_item_completed) {
//已完成 //已完成
if (isLogin()) return; if (isLogin()) return;
startActivity(OrderListActivity.getIntent(mActivity, 3)); startActivity(OrderListActivity.getIntent(mActivity, 3));
} else if (id == R.id.rl_item_all) { } else if (id == R.id.rl_item_all) {
//全部 //全部
if (isLogin()) return; if (isLogin()) return;
startActivity(OrderListActivity.getIntent(mActivity, 4)); startActivity(OrderListActivity.getIntent(mActivity, 4));
} else if (id == R.id.rl_item_collection) { } else if (id == R.id.rl_item_collection) {
//收藏 //收藏
if (isLogin()) return; if (isLogin()) return;
showToast("该功能还在开发中"); showToast("该功能还在开发中");
} else if (id == R.id.rl_item_personal_information) { } else if (id == R.id.rl_item_personal_information) {
//个人资料 //个人资料
if (isLogin()) return; if (isLogin()) return;
showToast("该功能还在开发中"); startActivity(PersonalInformationActivity.getIntent(mActivity));
} else if (id == R.id.rl_item_information) { } else if (id == R.id.rl_item_information) {
//信息 //信息
if (isLogin()) return; if (isLogin()) return;
showToast("该功能还在开发中"); showToast("该功能还在开发中");
} else if (id == R.id.rl_item_setting) { } else if (id == R.id.rl_item_setting) {
//设置 //设置
startActivityForResult(SettingActivity.getIntent(mActivity),101); startActivityForResult(SettingActivity.getIntent(mActivity), 101);
} }
} }
@Override @Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 101 && resultCode ==201){ if (requestCode == 101 && resultCode == 201) {
ivAvatar.setImageResource(R.drawable.common_icon_avatar_default); ivAvatar.setImageResource(R.drawable.common_icon_avatar_default);
tvNickname.setVisibility(View.GONE); tvNickname.setVisibility(View.GONE);
ivMember.setVisibility(View.GONE); ivMember.setVisibility(View.GONE);
...@@ -224,8 +274,16 @@ public class MineActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -224,8 +274,16 @@ public class MineActivity extends BaseStatusActivity<CommonPresenter> {
mineBanner.updateBannerStyle(BannerConfig.CIRCLE_INDICATOR); mineBanner.updateBannerStyle(BannerConfig.CIRCLE_INDICATOR);
} }
/**
* 获取用户信息请求
*/
private void getUserData() {
Map<String, Object> headMap = new LinkedHashMap<>();
if (OkGoUtil.getToken() != null) {
headMap.put("Authorization", OkGoUtil.getToken());
mPresenter.getData(RvFrameConfig.ADMIN_POST, 0, ApiConfig.HTTP_URL_APP_USER_INFO, UserInfo.class, headMap, false);
}
}
/** /**
* 判断是否登录 * 判断是否登录
...@@ -242,7 +300,25 @@ public class MineActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -242,7 +300,25 @@ public class MineActivity extends BaseStatusActivity<CommonPresenter> {
@Override @Override
public void onShowResult(int requestType, BaseBean result) { public void onShowResult(int requestType, BaseBean result) {
switch (requestType) {
case 0:
userInfoData((UserInfo) result);
break;
}
}
private void userInfoData(UserInfo info) {
if (info !=null) {
GlideManager.getInstance(mActivity).loadImage(info.getHeadimgurl(), ivAvatar);
tvNickname.setText(info.getUsername());
if (info.getCertificationStatus() ==0){ //实名认证状态:0-未认证,1-已认证
tvVerified.setText("未实名认证");
tvVerified.setEnabled(true);
}else if (info.getCertificationStatus() == 1){
tvVerified.setText("已实名认证");
tvVerified.setEnabled(false);
}
}
} }
@Override @Override
......
package com.rv.rvmine.bean;
import com.ruiwenliu.wrapper.base.BaseBean;
/**
* 获取用户信息
*/
public class UserInfo extends BaseBean {
//用户id
private int userid;
//imid
private int imUserid;
///账号(手机号)
private String username;
//微信openid
private String wxOpenid;
//微信unionid
private String unionid;
//qq
private String openid;
//状态:0-启用,1-禁用
private int status;
//身份证号
private String idNumber;
//实名认证状态:0-未认证,1-已认证
private int certificationStatus;
//会员
private int isMember;
//昵称
private String nickname;
//真实姓名
private String realname;
//头像
private String headimgurl;
//邮箱
private String email;
//性别 0-女,1-男
private int sex;
//生日
private String birthday;
//个性签名
private String personSign;
//备注
private String remark;
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public int getImUserid() {
return imUserid;
}
public void setImUserid(int imUserid) {
this.imUserid = imUserid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getWxOpenid() {
return wxOpenid;
}
public void setWxOpenid(String wxOpenid) {
this.wxOpenid = wxOpenid;
}
public String getUnionid() {
return unionid;
}
public void setUnionid(String unionid) {
this.unionid = unionid;
}
public String getOpenid() {
return openid;
}
public void setOpenid(String openid) {
this.openid = openid;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getIdNumber() {
return idNumber;
}
public void setIdNumber(String idNumber) {
this.idNumber = idNumber;
}
public int getCertificationStatus() {
return certificationStatus;
}
public void setCertificationStatus(int certificationStatus) {
this.certificationStatus = certificationStatus;
}
public int getIsMember() {
return isMember;
}
public void setIsMember(int isMember) {
this.isMember = isMember;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getRealname() {
return realname;
}
public void setRealname(String realname) {
this.realname = realname;
}
public String getHeadimgurl() {
return headimgurl;
}
public void setHeadimgurl(String headimgurl) {
this.headimgurl = headimgurl;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getPersonSign() {
return personSign;
}
public void setPersonSign(String personSign) {
this.personSign = personSign;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
package com.rv.rvmine.personal;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import com.rv.rvmine.R2;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.home.rv.module.basic.presenter.PickerPresenter;
import com.rv.rvmine.R;
import butterknife.ButterKnife;
import butterknife.OnClick;
/**
* 实名认证成功
*/
public class SuccessfulCertificationActivity extends BaseStatusActivity<PickerPresenter> {
public static Intent getIntent(Context context) {
return new Intent(context, SuccessfulCertificationActivity.class);
}
@Override
protected int setLayout() {
return R.layout.activity_successful_certification;
}
@Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("身份证认证");
}
@Override
public void onShowResult(int requestType, BaseBean result) {
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO: add setContentView(...) invocation
ButterKnife.bind(this);
}
@OnClick(R2.id.tv_ok)
public void onViewClicked() {
finish();
}
}
package com.rv.rvmine.rxbusevent;
import com.rv.home.rv.until.bus.Event;
public class UserInfoEvent extends Event {
}
package com.rv.rvmine.traveler;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.rvmine.R;
import com.rv.rvmine.R2;
/**
* 个人资料
*/
public class PersonalInformationActivity extends BaseStatusActivity<CommonPresenter> {
public static Intent getIntent(Context context) {
return new Intent(context, PersonalInformationActivity.class);
}
@Override
protected int setLayout() {
return R.layout.activity_personal_information;
}
@Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("个人资料");
}
@Override
public void onShowResult(int requestType, BaseBean result) {
}
}
...@@ -59,6 +59,7 @@ ...@@ -59,6 +59,7 @@
</RelativeLayout> </RelativeLayout>
<LinearLayout <LinearLayout
android:visibility="gone"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/colorWrite" android:background="@color/colorWrite"
...@@ -219,7 +220,7 @@ ...@@ -219,7 +220,7 @@
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:text="下一步" android:text="确定"
android:id="@+id/tv_ok" android:id="@+id/tv_ok"
android:layout_margin="@dimen/size_25" android:layout_margin="@dimen/size_25"
android:textColor="@color/colorWrite" android:textColor="@color/colorWrite"
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/colorLine"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:paddingLeft="@dimen/size_15"
android:paddingRight="@dimen/size_15"
android:layout_width="match_parent"
android:layout_height="@dimen/size_80">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="头像"/>
</RelativeLayout>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/colorWrite"
android:layout_width="match_parent"
android:orientation="vertical"
android:gravity="center"
android:layout_height="match_parent">
<ImageView
android:layout_width="@dimen/size_70"
android:layout_height="@dimen/size_70"
android:src="@drawable/common_icon_wechat_pay"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_20"
android:textColor="@color/text_Main"
android:textSize="@dimen/text_16"
android:text="认证成功"/>
<TextView
android:id="@+id/tv_ok"
android:layout_marginTop="@dimen/size_90"
android:layout_width="@dimen/size_200"
android:layout_height="@dimen/size_50"
android:textColor="@color/textGray"
android:background="@drawable/shape_rv_border_gray"
android:gravity="center"
android:textSize="@dimen/text_16"
android:text="确认 "/>
</LinearLayout>
\ No newline at end of file
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
<color name="textLightGrey">#999999</color> <color name="textLightGrey">#999999</color>
<color name="bgAlpha">#e0000000</color> <color name="bgAlpha">#e0000000</color>
<color name="stateColor">#3A3938</color> <color name="stateColor">#3A3938</color>
<color name="gray_f5f5f5">#F5F5F5</color>
<color name="gray_BA58EB">#BA58EB</color>
<!--end--> <!--end-->
</resources> </resources>
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