Commit 08971661 authored by jianglx's avatar jianglx

对接支付接口

parent b75ff216
......@@ -12,7 +12,8 @@ public class PaymentTypeSelection extends BaseDialog {
public PaymentTypeSelection(@NonNull Context context) {
super(context);
setDialogParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM);
setDialogParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM);
findViewById(R.id.rb_alipay).setEnabled(false);
}
@Override
......
......@@ -41,13 +41,13 @@ public class ApiConfig {
public static String HTTP_URL_CAR_TYPE_ORDERDETAIL = RvFrameConfig.HOST + "/h5/appHtml/view/orderDetail.html";//订单详情页
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_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_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";//实名认证
public static String HTTP_URL_UPUSER_EDIT = RvFrameConfig.ADMIN_POST + "app/user/edit";//更新用户信息
public static String HTTP_URL_GETTOURUSERLIST = RvFrameConfig.VEHICLE_TOURUSER + "tourUser/app/unauth/getTourUserList";//获得全部出游人信息
public static String HTTP_URL_ADDANDUPDATE = RvFrameConfig.VEHICLE_TOURUSER + "tourUser/app/addAndUpdate";//添加和更新出游人信息
public static String HTTP_URL_CAR_TYPE_NOTICE= RvFrameConfig.HOST+"/h5/appHtml/view/notice.html";//预定须知
public static String HTTP_URL_CAR_TYPE_NOTICE = RvFrameConfig.HOST + "/h5/appHtml/view/notice.html";//预定须知
public static String HTTP_URL_COLLECTONLIST = RvFrameConfig.ADMIN_POST + "app/user/collect/page";//我的收藏列表
public static String HTTP_URL_SCORE = RvFrameConfig.HOST + "/vehicle/vehicleUserScore/score";//订单评价保存
......@@ -58,4 +58,7 @@ public class ApiConfig {
public static String HTTP_URL_MEMBER_LIST = RvFrameConfig.ADMIN_POST + "/member/app/unauth/level/list"; // 会员等级列表
public static String HTTP_URL_MEMBER_CREATE_ORDER_ = RvFrameConfig.HOST + "/api/order/orderMember/add"; // 创建订单
public static String COMMIT_ORDER_PAY = RvFrameConfig.HOST + "/api/order/baseOrder/pay"; //订单支付
}
......@@ -40,4 +40,5 @@ dependencies {
implementation 'com.contrarywind:Android-PickerView:3.2.7'
api project(':module_home')
annotationProcessor 'com.alibaba:arouter-compiler:1.1.4'
implementation project(':component_dialog')
}
......@@ -3,7 +3,7 @@
package="com.rv.rvmine">
<application>
<activity android:name=".activity.MemberCenterActivity"></activity>
<activity android:name=".member.MemberCenterActivity"></activity>
</application>
</manifest>
\ No newline at end of file
......@@ -26,7 +26,7 @@ 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.main.home.DrivingListActivity;
import com.rv.home.rv.module.ui.main.home.order.OrderListActivity;
import com.rv.rvmine.activity.MemberCenterActivity;
import com.rv.rvmine.member.MemberCenterActivity;
import com.rv.rvmine.bean.UserInfoBean;
import com.rv.rvmine.personal.IDCardCertificationActivity;
import com.rv.rvmine.rxbusevent.UserInfoEvent;
......
......@@ -67,6 +67,14 @@ public class UserInfoBean extends BaseBean {
private String personSign;
//备注
private String remark;
// 剩余天数
private int rentFreeDays ;
// 会员消费次数
private int payCount;
// 购买会员册数
private int buyCount ;
// 会员等级
private int memberLevel;
public Integer getId() {
return id;
......@@ -219,5 +227,37 @@ public class UserInfoBean extends BaseBean {
public void setRemark(String remark) {
this.remark = remark;
}
public int getRentFreeDays() {
return rentFreeDays;
}
public void setRentFreeDays(int rentFreeDays) {
this.rentFreeDays = rentFreeDays;
}
public int getPayCount() {
return payCount;
}
public void setPayCount(int payCount) {
this.payCount = payCount;
}
public int getBuyCount() {
return buyCount;
}
public void setBuyCount(int buyCount) {
this.buyCount = buyCount;
}
public int getMemberLevel() {
return memberLevel;
}
public void setMemberLevel(int memberLevel) {
this.memberLevel = memberLevel;
}
}
}
package com.rv.rvmine.adapter;
package com.rv.rvmine.member.adapter;
import android.content.Context;
import android.graphics.Color;
......@@ -13,7 +13,6 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
......@@ -21,8 +20,8 @@ import android.widget.TextView;
import com.ruiwenliu.wrapper.util.glide.GlideManager;
import com.rv.rvmine.R;
import com.rv.rvmine.bean.MemberListBean;
import com.rv.rvmine.view.MemberCardDetailView;
import com.rv.rvmine.view.MemberCardView;
import com.rv.rvmine.member.view.MemberCardDetailView;
import com.rv.rvmine.member.view.MemberCardView;
import java.util.List;
......@@ -31,14 +30,25 @@ public class MemberListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
private Context mContext;
private List<MemberListBean.MemberCard> mData;
private int selectPosition;
private PayListener payListener;
public MemberListAdapter(@Nullable List<MemberListBean.MemberCard> data, Context context) {
public interface PayListener {
void pay(MemberListBean.MemberCard card);
}
public MemberListAdapter(@Nullable List<MemberListBean.MemberCard> data, Context context, PayListener listener) {
this.mContext = context;
data.add(0, null);
this.payListener = listener;
initData(data);
}
private void initData(List<MemberListBean.MemberCard> data) {
selectPosition = 1;
data.add(0, null);
mData = data;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
......@@ -93,6 +103,15 @@ public class MemberListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
}
});
viewHolder.btn_buy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (payListener != null) {
payListener.pay(mData.get(selectPosition));
}
}
});
viewHolder.gridview.removeAllViews();
for (int i = 1; i < mData.size(); i++) {
if (mData.get(i) != null) {
......@@ -146,7 +165,7 @@ public class MemberListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
}
public void setDate(List<MemberListBean.MemberCard> data) {
this.mData = data;
initData(data);
notifyDataSetChanged();
}
......
package com.rv.rvmine.member.bean;
import com.google.gson.annotations.SerializedName;
import com.ruiwenliu.wrapper.base.BaseBean;
/**
* Created :Auser
* Date: 2019/6/1.
* Desc:订单支付
*/
public class BeanTourOrderPay extends BaseBean{
/**
* data : {"package":"Sign=WXPay","appid":"wx9c9d978e5698d00f","sign":"180F1140BB832B9AFD2F3A004009C675","partnerid":"1514583081","prepayid":"wx291947357815824dbfc896009915601400","noncestr":"78bf2cc2743032339a08797b0776c78e","timestamp":"1559130404"}
*/
private DataBean data;
public DataBean getData() {
return data;
}
public void setData(DataBean data) {
this.data = data;
}
public class DataBean {
/**
* package : Sign=WXPay
* appid : wx9c9d978e5698d00f
* sign : 180F1140BB832B9AFD2F3A004009C675
* partnerid : 1514583081
* prepayid : wx291947357815824dbfc896009915601400
* noncestr : 78bf2cc2743032339a08797b0776c78e
* timestamp : 1559130404
*/
@SerializedName("package")
private String packageX;
private String appid;
private String sign;
private String partnerid;
private String prepayid;
private String noncestr;
private String timestamp;
public String getPackageX() {
return packageX;
}
public void setPackageX(String packageX) {
this.packageX = packageX;
}
public String getAppid() {
return appid;
}
public void setAppid(String appid) {
this.appid = appid;
}
public String getSign() {
return sign;
}
public void setSign(String sign) {
this.sign = sign;
}
public String getPartnerid() {
return partnerid;
}
public void setPartnerid(String partnerid) {
this.partnerid = partnerid;
}
public String getPrepayid() {
return prepayid;
}
public void setPrepayid(String prepayid) {
this.prepayid = prepayid;
}
public String getNoncestr() {
return noncestr;
}
public void setNoncestr(String noncestr) {
this.noncestr = noncestr;
}
public String getTimestamp() {
return timestamp;
}
public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
}
}
package com.rv.rvmine.member.bean;
import com.ruiwenliu.wrapper.base.BaseBean;
public class MemberOrderBean extends BaseBean {
private MemberOrder data;
private boolean rel;
public MemberOrder getData() {
return data;
}
public void setData(MemberOrder data) {
this.data = data;
}
public boolean isRel() {
return rel;
}
public void setRel(boolean rel) {
this.rel = rel;
}
public static class MemberOrder {
private long id;
private String no;
private String name;
private int type;
private long detailId;
private int status;
private long goodsAmount;
private long orderAmount;
private long realAmount;
private String picture;
private String crtTime;
private String crtUser;
private String crtName;
private long userId;
private String updTime;
private String crtHost;
private long version;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public long getDetailId() {
return detailId;
}
public void setDetailId(long detailId) {
this.detailId = detailId;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public long getGoodsAmount() {
return goodsAmount;
}
public void setGoodsAmount(long goodsAmount) {
this.goodsAmount = goodsAmount;
}
public long getOrderAmount() {
return orderAmount;
}
public void setOrderAmount(long orderAmount) {
this.orderAmount = orderAmount;
}
public long getRealAmount() {
return realAmount;
}
public void setRealAmount(long realAmount) {
this.realAmount = realAmount;
}
public String getPicture() {
return picture;
}
public void setPicture(String picture) {
this.picture = picture;
}
public String getCrtTime() {
return crtTime;
}
public void setCrtTime(String crtTime) {
this.crtTime = crtTime;
}
public String getCrtUser() {
return crtUser;
}
public void setCrtUser(String crtUser) {
this.crtUser = crtUser;
}
public String getCrtName() {
return crtName;
}
public void setCrtName(String crtName) {
this.crtName = crtName;
}
public long getUserId() {
return userId;
}
public void setUserId(long userId) {
this.userId = userId;
}
public String getUpdTime() {
return updTime;
}
public void setUpdTime(String updTime) {
this.updTime = updTime;
}
public String getCrtHost() {
return crtHost;
}
public void setCrtHost(String crtHost) {
this.crtHost = crtHost;
}
public long getVersion() {
return version;
}
public void setVersion(long version) {
this.version = version;
}
}
}
package com.rv.rvmine.member.bean;
/******
*
* 会员卡支付请求订单
*/
public class MemberOrderPostBodyBean {
private String couponIds;
private int memberLevel;
private int memberLevelId;
public String getCouponIds() {
return couponIds;
}
public void setCouponIds(String couponIds) {
this.couponIds = couponIds;
}
public int getMemberLevel() {
return memberLevel;
}
public void setMemberLevel(int memberLevel) {
this.memberLevel = memberLevel;
}
public int getMemberLevelId() {
return memberLevelId;
}
public void setMemberLevelId(int memberLevelId) {
this.memberLevelId = memberLevelId;
}
public MemberOrderPostBodyBean(String couponIds, int memberLevel, int memberLevelId) {
this.couponIds = couponIds;
this.memberLevel = memberLevel;
this.memberLevelId = memberLevelId;
}
public MemberOrderPostBodyBean() {
}
}
package com.rv.rvmine.member.bean;
public class PayBodyBean {
private String orderNo;
private int payWay;
private int type;
public PayBodyBean(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;
}
}
package com.rv.rvmine.member.presenter;
import android.app.Activity;
import android.content.Context;
import android.widget.Toast;
import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.weight.ToastView;
import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.rvmine.bean.MemberListBean;
import com.rv.rvmine.member.bean.BeanTourOrderPay;
import com.rv.rvmine.member.bean.MemberOrderBean;
import com.rv.rvmine.member.bean.MemberOrderPostBodyBean;
import com.rv.rvmine.member.bean.PayBodyBean;
import com.tencent.mm.opensdk.modelpay.PayReq;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.yuyife.okgo.OkGoUtil;
import java.util.LinkedHashMap;
import java.util.Map;
public class MemberPresenter extends CommonPresenter {
public void pay(Context context, IWXAPI api, BeanTourOrderPay 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) {
ToastView.getInstance(context).showToastContent("异常", Toast.LENGTH_SHORT);
}
}
public void createOrder(MemberListBean.MemberCard card, int position) {
MemberOrderPostBodyBean memberOrderPostBodyBean = new MemberOrderPostBodyBean("", card.getLevel(), card.getId());
Map<String, Object> headMap = new LinkedHashMap<>();
if (OkGoUtil.getToken() != null)
headMap.put("Authorization", OkGoUtil.getToken());
postBodyData(RvFrameConfig.ADMIN_POST, position, ApiConfig.HTTP_URL_MEMBER_CREATE_ORDER_, MemberOrderBean.class, memberOrderPostBodyBean, headMap, true);
}
/**
* 订单支付
*/
public void orderPay(String orderNo, int payWay, int type) {
Map<String, Object> headMap = new LinkedHashMap<>();
if (OkGoUtil.getToken() != null)
headMap.put("Authorization", OkGoUtil.getToken());
postBodyData(RvFrameConfig.VEHICLE_ORDER, 3, ApiConfig.COMMIT_ORDER_PAY, BeanTourOrderPay.class, new PayBodyBean(orderNo, payWay, type), headMap, true);
}
}
package com.rv.rvmine.view;
package com.rv.rvmine.member.view;
import android.content.Context;
import android.graphics.Color;
......
package com.rv.rvmine.view;
package com.rv.rvmine.member.view;
import android.content.Context;
import android.content.res.TypedArray;
......
......@@ -124,7 +124,7 @@
android:layout_alignParentLeft="true"
android:gravity="center"
android:lines="2"
android:text="0 \n 消费记录 >"
android:text="0 \n 消费记录 "
android:textColor="@color/gray_50000000"
android:textSize="@dimen/sp_14" />
......@@ -135,7 +135,7 @@
android:layout_centerInParent="true"
android:gravity="center"
android:lines="2"
android:text="0 \n 可免费租车 (天) >"
android:text="0 \n 可免费租车 (天) "
android:textColor="@color/gray_50000000"
android:textSize="@dimen/sp_14" />
......@@ -144,9 +144,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:gravity="center"
android:gravity="center_horizontal|bottom"
android:lines="2"
android:text="0 \n 购买记录 (次) >"
android:text="0 \n 购买记录 (次)"
android:textColor="@color/gray_50000000"
android:textSize="@dimen/sp_14" />
......
......@@ -20,7 +20,7 @@
android:layout_marginTop="@dimen/size_20"
android:orientation="horizontal">
<com.rv.rvmine.view.MemberCardView
<com.rv.rvmine.member.view.MemberCardView
android:id="@+id/mcv_discount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
......@@ -29,7 +29,7 @@
android:layout_marginLeft="@dimen/size_30"
app:card_type="0" />
<com.rv.rvmine.view.MemberCardView
<com.rv.rvmine.member.view.MemberCardView
android:id="@+id/mcv_free_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
......@@ -37,7 +37,7 @@
android:layout_marginLeft="@dimen/size_30"
app:card_type="1" />
<com.rv.rvmine.view.MemberCardView
<com.rv.rvmine.member.view.MemberCardView
android:id="@+id/mcv_free_outdoors"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
......
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