Commit 3987a6c4 authored by maxiaoliang's avatar maxiaoliang

修改

parent 35b57132
......@@ -162,4 +162,12 @@ public interface IUserInfoApi {
@POST(NetConfig.User.URL_PAY_RIGHTS_ORDER)
Observable<Response<AliPayEntity>> aliPayRights(@Query("goodsId") String goodsId, @Query("payType") String payType, @Query("phone") String phone,@Query("rechargeType") String rechargeType,@Query("skill") Boolean skill,@Query("outTradeNo") String outTradeNo);
/**
* 权益支付宝支付
*
* @return
*/
@POST(NetConfig.User.URL_PAY_RIGHTS_ORDER)
Observable<Response<AliPayEntity>> aliPayRights(@Query("goodsId") String goodsId, @Query("payType") String payType, @Query("phone") String phone,@Query("rechargeType") String rechargeType,@Query("skill") Boolean skill,@Query("outTradeNo") String outTradeNo,@Query("couponId") String couponId,@Query("mobileOp") String mobileOp);
}
......@@ -21,8 +21,13 @@ class AppInEntity {
var tabs: List<TabEntity>? = null//tab
var pay_h5_url: String = ""//支付配置
var mobileOpList:List<MobileOpEntity>?=null
}
class MobileOpEntity {
var name:String?=""
var value:String?=""
}
class PayFun : Serializable {
......
......@@ -36,5 +36,6 @@
<color name="color_e09a9a">#E09A9A</color>
<color name="color_b28a17">#B28A17</color>
<color name="color_ddcb97">#DDCB97</color>
<color name="color_ba7e36">#BA7E36</color>
</resources>
\ No newline at end of file
package com.zxbw.modulemain.activity
import android.graphics.Paint
import android.os.Handler
import android.util.Log
import android.view.View
import androidx.recyclerview.widget.GridLayoutManager
import com.zxbw.modulemain.R
......@@ -8,18 +11,37 @@ import com.zxbw.modulemain.contract.RechargeContract
import com.zxbw.modulemain.presenter.RechargePresenter
import com.zxbw.modulemain.view.DialogUtils
import com.zxhl.cms.AppContext
import com.zxhl.cms.common.Constant
import com.zxhl.cms.common.base.BaseActivity
import com.zxhl.cms.net.SettingPreference
import com.zxhl.cms.net.model.box.AppInEntity
import com.zxhl.cms.net.model.qy.CouponsEntity
import com.zxhl.cms.net.model.qy.RightsDetailEntity
import com.zxhl.cms.utils.OnRecycleItemClickListener
import com.zxhl.cms.net.model.uc.AliPayEntity
import com.zxhl.cms.net.model.uc.PayResultEntity
import com.zxhl.cms.net.model.video.MemberEntity
import com.zxhl.cms.pay.H5PayUtil
import com.zxhl.cms.pay.PayActivity
import com.zxhl.cms.pay.alipay.AlipayServer
import com.zxhl.cms.utils.*
import com.zxhl.cms.widget.LoadingDialog
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.Consumer
import kotlinx.android.synthetic.main.activity_layout_recharge.*
import kotlinx.android.synthetic.main.activity_layout_recharge.id_rights_pay_web_view
import kotlinx.android.synthetic.main.activity_layout_recharge.id_rl_h5_pay_view
//话费充值页面
class RechargeActivity : BaseActivity(), OnRecycleItemClickListener<RightsDetailEntity>,
class RechargeActivity : BaseActivity(), OnRecycleItemClickListener<MemberEntity.ProductDetail>,
RechargeContract.View {
private var mAdapter: RechargeAdapter? = null
private var mPresenter: RechargePresenter? = null
private var couponsentity: CouponsEntity? = null
private var mLoading: LoadingDialog? = null
private var pay_type: Int? = RightsDetailActivity.H5_PAY
private var payResultObservable: Observable<PayResultEntity>? = null
var goodsID: String? = ""
var couponId:String?=""
override fun onClick(v: View?) {
when (v) {
id_tv_select_coupons -> {
......@@ -31,6 +53,8 @@ class RechargeActivity : BaseActivity(), OnRecycleItemClickListener<RightsDetail
object : DialogUtils.OnFetchCardListener {
override fun onSelectCoupons(coupons: CouponsEntity?) {
//coupons==null 没有选择优惠券 !=null 选中的优惠券信息
couponsentity = coupons
setCouponInfo(couponsentity)
}
})
}
......@@ -48,25 +72,266 @@ class RechargeActivity : BaseActivity(), OnRecycleItemClickListener<RightsDetail
override fun init() {
val user = SettingPreference.getUserInfoData()
initPay()
mPresenter = RechargePresenter(this)
mAdapter = RechargeAdapter(this, this)
id_rl_recharge?.layoutManager = GridLayoutManager(this, 3)
id_rl_recharge?.adapter = mAdapter
mPresenter?.getFetchCard(user.nickname)
mPresenter?.getPayList("mobileFee")
id_edit_user_phone?.setText(user.nickname.toString())
id_tv_select_coupons?.setOnClickListener(this)
id_tv_chongzhi?.setOnClickListener {
topay()
}
}
override fun onItemClick(view: View?, position: Int, data: RightsDetailEntity?) {
fun initPay() {
mLoading = LoadingDialog.getLoadingDialog(
this,
getString(com.zxhl.cms.R.string.wait_ing),
false,
false
)
payResultObservable = RxBus.get().register(Constant.PAY_RESULT, PayResultEntity::class.java)
payResultObservable?.observeOn(AndroidSchedulers.mainThread())
?.subscribe(Consumer<PayResultEntity> { obj ->
MainLooper?.get()?.postDelayed(Runnable {
mHandler?.removeCallbacksAndMessages(null)
}, 1000)
Log.d("qqbs", "verifyPay:${obj.txt}")
//println("verifyPay payResultObservable------------------------------- order:${obj.txt}")
if (obj.isPaySuc) {
EventUtils.onEvent("pay_page_pay_query_order", "付款成功")
mPresenter?.verifyPay(obj.txt, obj.payType)
} else {
//支付宝支付
if (obj.payType == 1) {
if (obj.payStatus == "6001") {
EventUtils.onEvent("zfb_pay_cancel")
} else {
EventUtils.onEvent("zfb_pay_error", obj.payStatus + " msg:" + obj.txt)
}
} else {
EventUtils.onEvent("wx_pay_error", obj.txt)
}
showResultLoading(false)
}
}, Consumer<Throwable> { })
var result = SettingPreference.getConfig()
if (result != null) {
if (result != null && !result.pay_config_v2.isNullOrEmpty()) {
for (i in result.pay_config_v2!!.indices) {
if (result?.pay_config_v2!![i].open == 1) {
pay_type = result?.pay_config_v2!![i].type
break
}
}
}
}
}
override fun setData() {
private var mHandler: Handler = Handler {
when (it.what) {
0 -> {
if (mLoading != null) {
mLoading?.setResult(false, "取消支付", 1000)
}
}
1 -> {
if (mLoading != null) {
mLoading?.setResult(false, "支付异常", 0)
}
id_rl_h5_pay_view.visibility = View.VISIBLE
EventUtils.onEvent("h5_pay_end")
}
2 -> {
if (mLoading != null) {
mLoading?.setResult(false, "支付异常", 0)
}
id_rl_h5_pay_view.visibility = View.VISIBLE
}
}
false
}
fun topay() {
val phoneNumber = id_edit_user_phone.text.toString().trim { it <= ' ' }
if (phoneNumber.isEmpty()) {
showToast("请输入要兑换的手机号")
return
}
if (phoneNumber.length < 11) {
showToast("请检查要兑换的手机号")
return
}
isClickPayBtn = true
mLoading?.setLoading("请稍后...")
mLoading?.show()
mPresenter?.requestRightsAliPay(
goodsID.toString(),
pay_type.toString(),
phoneNumber,
"8080",
false,
"",
couponsentity?.id,
"SHKC_CT"
)
}
private var mCouponsResult: List<CouponsEntity>? = null;
override fun setCouponsList(result: List<CouponsEntity>?) {
mCouponsResult = result
if (!result.isNullOrEmpty()) {
couponsentity = result.get(0)
setCouponInfo(couponsentity)
}
}
override fun requestOrderSuc(result: AliPayEntity) {
if (pay_type == RightsDetailActivity.MIN_PAY_PROGRAM) {
SettingPreference.setOutTradeNo(result?.outTradeNo)
JumpUtils.h5Jump("https://api.minpayment.com/pay.do?sendMsg=" + result.wakeup)
} else if (pay_type == RightsDetailActivity.H5_PAY) {
SettingPreference.setOutTradeNo(result?.outTradeNo)
if (result.outTradeNo.isNullOrEmpty()) {
EventUtils.onEvent("h5_pay_error")
showResultLoading(false)
} else {
mHandler.sendEmptyMessageDelayed(1, 8000)
H5PayUtil().loadH5PayWeb(
this,
id_rights_pay_web_view,
result.outTradeNo ?: "",
object : H5PayUtil.H5PayCallBack {
override fun jumpZfbAppSuc() {
id_rl_h5_pay_view.visibility = View.GONE
EventUtils.onEvent("h5_open_zfb_suc")
mHandler.removeMessages(1)
}
override fun jumpZfbAppException(e: Exception) {
EventUtils.onEvent("h5_open_zfb_error", e.toString())
mHandler.removeMessages(1)
mHandler.sendEmptyMessage(2)
}
override fun loadH5Error1(errorStr: String) {
EventUtils.onEvent("h5_pay_error1", errorStr)
}
override fun loadH5Error2(errorStr: String) {
EventUtils.onEvent("h5_pay_error2", errorStr)
}
})
}
} else if (pay_type == RightsDetailActivity.ALI_PAY) {
AlipayServer.payV2(this, result.wakeup!!)
} else {
showToast("暂不支持")
EventUtils.onEvent("payment_error", "$pay_type")
}
}
override fun requestOrderFail(errorMsg: String) {
showResultLoading(false)
}
override fun verifyOrderSuc(order: String) {
isClickPayBtn = false
SettingPreference.setOutTradeNo("")
showResultLoading(true)
finish()
JumpUtils.PaySuceessJump()
}
override fun verifyOrderFail(errorMsg: String) {
isClickPayBtn = false
showResultLoading(false)
}
override fun setAppInfo(result: AppInEntity?) {
}
override fun setPayList(result: MemberEntity) {
mAdapter?.clear()
mAdapter?.appendToList(result?.goodsList)
mAdapter?.notifyDataSetChanged()
if (!result.goodsList.isNullOrEmpty()) {
if (result.goodsList!!.size >= 3) {
mAdapter?.setPosition(2)
goodsID = result.goodsList?.get(2)?.goodsId
}
}
}
var memberentity: MemberEntity.ProductDetail? = null
override fun onItemClick(view: View?, position: Int, data: MemberEntity.ProductDetail?) {
memberentity = data
goodsID = data?.goodsId
setBootomPrice(data)
}
fun setBootomPrice(data: MemberEntity.ProductDetail?) {
if (couponsentity == null) {
id_tv_cash?.text = "${data?.cash}"
} else {
val oldPrice = data?.cash?.toDouble()
val disCountPrice = couponsentity?.amount?.toDouble()
id_tv_cash?.text = (oldPrice?.minus(disCountPrice!!)).toString()
}
id_tv_orgin_price?.text = "原价 ¥${data?.originalPrice}"
id_tv_orgin_price?.getPaint()?.setFlags(Paint.STRIKE_THRU_TEXT_FLAG)
}
fun setCouponInfo(entity: CouponsEntity?) {
setBootomPrice(memberentity)
if (entity != null) {
Log.e("MXL", "选择这个优惠券")
id_tv_select_coupons?.text = "您已选择${entity?.amount}元优惠券"
} else {
Log.e("MXL", "无优惠券可选")
id_tv_select_coupons?.text = "未选择优惠券"
}
}
override fun onPause() {
super.onPause()
isPause = true
}
private fun showResultLoading(isPaySuc: Boolean) {
if (isPaySuc) {
mLoading?.setResult(true, "支付成功", 1000)
} else {
mLoading?.setResult(false, "支付失败", 1000)
}
}
private var isPause = false
private var isClickPayBtn = false
override fun onResume() {
super.onResume()
if (isPause && isClickPayBtn) {
if (pay_type == PayActivity.MIN_PAY_PROGRAM || pay_type == PayActivity.H5_PAY) {
//如果是敏支付或者H5支付
mPresenter?.verifyPay(SettingPreference.getOutTradeNo(), pay_type!!)
} else {
mHandler?.sendEmptyMessageDelayed(0, 2000)
}
}
}
override fun onDestroy() {
super.onDestroy()
if (payResultObservable != null)
RxBus.get().unregister(Constant.PAY_RESULT, payResultObservable!!)
}
}
\ No newline at end of file
package com.zxbw.modulemain.adapter
import android.app.Activity
import android.graphics.Color
import android.graphics.Paint
import android.view.LayoutInflater
import android.view.View
......@@ -11,39 +12,60 @@ import androidx.recyclerview.widget.RecyclerView
import com.zxbw.modulemain.R
import com.zxhl.cms.AppContext
import com.zxhl.cms.common.base.BaseRecyclerAdapter
import com.zxhl.cms.net.model.qy.RightsDetailEntity
import com.zxhl.cms.net.model.video.MemberEntity
import com.zxhl.cms.utils.OnRecycleItemClickListener
class RechargeAdapter : BaseRecyclerAdapter<RightsDetailEntity, RechargeAdapter.ViewHolder> {
class RechargeAdapter : BaseRecyclerAdapter<MemberEntity.ProductDetail, RechargeAdapter.ViewHolder> {
private var mContext: Activity? = null
private val listener: OnRecycleItemClickListener<RightsDetailEntity>
private val listener: OnRecycleItemClickListener<MemberEntity.ProductDetail>
private val mSelectColor: Int
private val mUnSelectColor: Int
private var position = -1
constructor(
content: Activity?,
listener: OnRecycleItemClickListener<RightsDetailEntity>
listener: OnRecycleItemClickListener<MemberEntity.ProductDetail>
) : super() {
mContext = content
this.listener = listener
mSelectColor = AppContext.get().resources.getColor(R.color.color_ba7e36)
mUnSelectColor = AppContext.get().resources.getColor(R.color.color_333333)
}
fun setPosition(pos: Int) {
position = pos
notifyDataSetChanged()
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
// var bean = mList[position]
// holder.id_tv_cards_name?.text = "${bean.brand}${bean.goodsName}${bean.category}"
// holder.id_tv_cagte_name?.text = "${bean.category}"
// // holder.id_goods_icon?.setLoadImageUrl(bean.icon,false)
// holder.id_goods_yuan_jia?.text = "${bean.goodsName}"
// holder.id_tv_card_discount?.text = "会员专享${bean.costDiscount}折"
// holder.id_tv_card_price?.text = "${bean.salePrice}"
// holder.id_tv_guanfang_price?.text = "官方价 ¥${bean.originPrice}元"
// holder.id_tv_guanfang_price?.getPaint()?.setFlags(Paint.STRIKE_THRU_TEXT_FLAG) //中划线
override fun onBindViewHolder(holder: ViewHolder, pos: Int) {
var bean = mList[pos]
if(pos==position){
holder.id_ll_item?.setBackgroundResource(R.drawable.shape_edd49d_r6)
holder.id_tv_activity_price_text?.setBackgroundResource(R.drawable.shape_edd49d_r11)
holder.id_tv_activity_price_text?.setTextColor(mSelectColor)
holder.id_tv_price?.setTextColor(mSelectColor)
holder.id_tv_orgin_price?.setTextColor(mSelectColor)
holder.id_tv_rmb?.setTextColor(mSelectColor)
listener.onItemClick(holder.itemView, pos, bean)
}else{
holder.id_ll_item?.setBackgroundResource(R.drawable.shape_cbcbcb_r6)
holder.id_tv_activity_price_text?.setBackgroundResource(R.drawable.shape_a3a4a6_r10)
holder.id_tv_activity_price_text?.setTextColor(Color.parseColor("#ffffff"))
holder.id_tv_price?.setTextColor(mUnSelectColor)
holder.id_tv_orgin_price?.setTextColor(Color.parseColor("#999999"))
holder.id_tv_rmb?.setTextColor(mUnSelectColor)
}
holder.id_tv_activity_price_text?.text = "活动价"
holder.id_tv_price?.text="${bean.cash}"
holder.id_tv_orgin_price?.text="原价 ¥${bean.originalPrice}"
holder.id_tv_orgin_price?.getPaint()?.setFlags(Paint.STRIKE_THRU_TEXT_FLAG)
// holder.id_ll_item?.setOnClickListener {
// listener.onItemClick(it, position, bean)
// }
}
override fun getItemCount(): Int {
return 3
}
// override fun getItemCount(): Int {
// return 3
// }
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
return ViewHolder(
......@@ -52,7 +74,7 @@ class RechargeAdapter : BaseRecyclerAdapter<RightsDetailEntity, RechargeAdapter.
)
}
class ViewHolder : RecyclerView.ViewHolder {
inner class ViewHolder : RecyclerView.ViewHolder {
var id_ll_item: LinearLayout?
// var id_goods_icon: RecycleImageView?
......@@ -72,6 +94,14 @@ class RechargeAdapter : BaseRecyclerAdapter<RightsDetailEntity, RechargeAdapter.
id_tv_rmb = itemView.findViewById<TextView>(R.id.id_tv_rmb)
id_tv_price = itemView.findViewById<TextView>(R.id.id_tv_price)
id_tv_orgin_price = itemView.findViewById<TextView>(R.id.id_tv_orgin_price)
id_ll_item?.setOnClickListener {
val pos = adapterPosition
if (pos >= 0 && pos < mList.size) {
setPosition(pos)
notifyDataSetChanged()
}
}
}
}
}
\ No newline at end of file
package com.zxbw.modulemain.contract
import com.zxhl.cms.net.model.box.AppInEntity
import com.zxhl.cms.net.model.qy.CouponsEntity
import com.zxhl.cms.net.model.uc.AliPayEntity
import com.zxhl.cms.net.model.video.MemberEntity
class RechargeContract {
interface View {
fun setData()
fun setPayList(result: MemberEntity)
fun setCouponsList(result: List<CouponsEntity>?)
fun requestOrderSuc(result: AliPayEntity)
fun requestOrderFail(errorMsg: String)
fun verifyOrderSuc(order: String)
fun verifyOrderFail(errorMsg: String)
fun setAppInfo(result: AppInEntity?)
}
interface Presenter {
fun getFetchCard(phone: String)
fun getPayList()
fun getPayList(payModel: String)
fun requestRightsAliPay(
goodsId: String,
payType: String,
phone: String,
type: String,
skill: Boolean?,
outTradeNo: String?,
couponId: String?,
mobileOp: String?
)
fun verifyPay(order: String?, payType: Int)
fun appInfo()
}
}
\ No newline at end of file
......@@ -22,6 +22,7 @@ class CardDetailPresenter : CardDetailContract.Presenter {
override fun requestRightsAliPay(goodsId: String, payType: String, phone: String,type:String,skill:Boolean?,outTradeNo:String?) {
ApiClient.userInfoAPi.aliPayRights(goodsId, payType, phone,type,skill,outTradeNo)
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<AliPayEntity>() {
......
package com.zxbw.modulemain.presenter
import android.util.Log
import android.text.TextUtils
import com.zxbw.modulemain.contract.RechargeContract
import com.zxhl.cms.net.ApiClient
import com.zxhl.cms.net.RxSchedulers
import com.zxhl.cms.net.callback.BaseObserver
import com.zxhl.cms.net.model.box.AppInEntity
import com.zxhl.cms.net.model.qy.CouponsEntity
import com.zxhl.cms.net.model.qy.SkillEntity
import com.zxhl.cms.net.model.uc.AliPayEntity
import com.zxhl.cms.net.model.uc.PayVerifyEntity
import com.zxhl.cms.net.model.video.MemberEntity
import com.zxhl.cms.utils.UserDataUtils
import org.json.JSONObject
class RechargePresenter : RechargeContract.Presenter {
......@@ -29,7 +34,120 @@ class RechargePresenter : RechargeContract.Presenter {
})
}
override fun getPayList() {
override fun getPayList(payModel: String) {
ApiClient.videoInfoApi.getPayConfig(payModel).compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<MemberEntity>() {
override fun onSuccess(result: MemberEntity?) {
if (!result?.goodsList.isNullOrEmpty()) {
if (result?.goodsList?.size!! >= 1) {
mView.setPayList(result)
}
}
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
}
})
}
override fun requestRightsAliPay(
goodsId: String,
payType: String,
phone: String,
type: String,
skill: Boolean?,
outTradeNo: String?,
couponId: String?,
mobileOp: String?
) {
ApiClient.userInfoAPi.aliPayRights(goodsId, payType, phone,type,skill,outTradeNo,couponId,mobileOp)
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<AliPayEntity>() {
override fun onSuccess(result: AliPayEntity?) {
if (result != null) {
mView?.requestOrderSuc(result)
} else {
mView?.requestOrderFail("zfb订单支付请求成功 数据为空")
}
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
mView?.verifyOrderFail("zfb订单支付请求失败 code:${code} msg:${errorMsg}")
}
})
}
override fun verifyPay(order: String?, payType: Int) {
try {
if (payType == 1) {
val json = JSONObject(order)
val obj = json.getJSONObject("alipay_trade_app_pay_response")
val tradeOrder = obj.getString("trade_no")
val outTradeOrder = obj.getString("out_trade_no")
requestVerify(outTradeOrder, tradeOrder, payType)
} else if (payType == 2) {
val json = JSONObject(order)
val tradeOrder = ""
val outTradeOrder = json.getString("extData")
requestVerify(outTradeOrder, tradeOrder, payType)
} else if (payType == 11) {
if (!TextUtils.isEmpty(order)) {
requestVerify(order ?: "", "", payType)
}
} else if (payType == 12) {
if (!TextUtils.isEmpty(order)) {
requestVerify(order ?: "", "", payType)
}
} else if (payType == 13) {
if (!TextUtils.isEmpty(order)) {
requestVerify(order ?: "", "", payType)
}
}else if (payType == 21) {
if (!TextUtils.isEmpty(order)) {
requestVerify(order ?: "", "", payType)
} else {
mView?.verifyOrderFail("支付成功后 订单id为null")
}
}else{
mView.verifyOrderFail("支付成功后 开始校验订单异常 e:支付方式异常$payType")
}
} catch (e: Exception) {
mView.verifyOrderFail("支付成功后 开始校验订单异常 e:${e.cause} msg:${e.message}")
}
}
override fun appInfo() {
ApiClient.homeApi.getAppInfo()
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<AppInEntity>() {
override fun onSuccess(result: AppInEntity?) {
if (result != null) {
mView.setAppInfo(result)
}
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
}
})
}
private fun requestVerify(outTradeOrder: String, tradeOrder: String, payType: Int) {
ApiClient.userInfoAPi.verifyPay(outTradeOrder, tradeOrder, payType)
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<PayVerifyEntity>() {
override fun onSuccess(result: PayVerifyEntity) {
UserDataUtils.updateUserInfo(null)
if (TextUtils.equals("200", result.status)) {
mView?.verifyOrderSuc(result.payStatus)
} else {
mView?.verifyOrderFail("订单校验请求成功 校验异常${result?.status?:-1}")
}
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
mView?.verifyOrderFail("订单校验请求失败:code:${code} msg:${errorMsg}")
}
})
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffedd49d" />
<corners
android:bottomLeftRadius="11dp"
android:bottomRightRadius="11dp"
android:topLeftRadius="11dp"
android:topRightRadius="11dp" />
</shape>
\ No newline at end of file
......@@ -63,6 +63,7 @@
</LinearLayout>
<EditText
android:id="@+id/id_edit_user_phone"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginTop="16dp"
......@@ -70,7 +71,6 @@
android:background="@drawable/shape_ffffff_r6"
android:lines="1"
android:padding="10dp"
android:text="132789"
android:textColor="@color/color_999999"
android:inputType="phone"
android:textCursorDrawable="@drawable/cursor_color"
......@@ -151,7 +151,6 @@
android:drawableRight="@drawable/icon_fanhui_chengse"
android:drawablePadding="4dp"
android:gravity="center_vertical"
android:text="您已选择5元优惠券"
android:textColor="#C46B00"
android:textSize="12sp" />
</RelativeLayout>
......@@ -311,6 +310,7 @@
android:textStyle="bold" />
<TextView
android:id="@+id/id_tv_cash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:includeFontPadding="false"
......@@ -321,6 +321,7 @@
</LinearLayout>
<TextView
android:id="@+id/id_tv_orgin_price"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="27dp"
......@@ -331,6 +332,7 @@
</LinearLayout>
<TextView
android:id="@+id/id_tv_chongzhi"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_weight="1"
......@@ -341,5 +343,26 @@
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<RelativeLayout
android:id="@+id/id_rl_h5_pay_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="50dp"
android:visibility="gone">
<WebView
android:id="@+id/id_rights_pay_web_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/id_img_close_pay_web"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@id/id_rights_pay_web_view"
android:padding="10dp"
android:src="@drawable/icon_guanbi" />
</RelativeLayout>
</RelativeLayout>
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