Commit f957c9cc authored by 王雪伟's avatar 王雪伟

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	cms/src/main/java/com/zxhl/cms/net/api/IHomeApi.kt
parents 7c5430a7 3aba475f
......@@ -275,6 +275,9 @@ public class NetConfig {
public static final String XX_GOODS_ITEM_DETAIL = "app/v1/game/xiaoxiang/itemDetail";//图文详情
public static final String XX_HOME_BANNER = "app/v1/game/xiaoxiang/banner";//Banner
}
public static class FlashSale{
public static final String HOME_FLASH_SALE_SKILL = "app/v1/game/xiaoxiang/skill";//秒杀时间表
}
}
......@@ -5,7 +5,12 @@ import com.zxhl.cms.common.NetConfig
import com.zxhl.cms.net.model.box.*
import com.zxhl.cms.net.model.other.IsWeChatLoginEntity
import com.zxhl.cms.net.model.other.WxBindEntity
import com.zxhl.cms.net.model.qy.HomeBannerEntity
import com.zxhl.cms.net.model.qy.*
import com.zxhl.cms.net.model.qy.JgqQyEntity
import com.zxhl.cms.net.model.qy.RightsDetailEntity
import com.zxhl.cms.net.model.qy.TbGoodsEntity
import com.zxhl.cms.net.model.qy.SkillEntity
import com.zxhl.cms.net.model.uc.UserInfo
import com.zxhl.cms.net.model.uc.VersionEntity
import io.reactivex.Observable
......@@ -369,4 +374,8 @@ interface IHomeApi {
@GET(NetConfig.QY.XX_HOME_BANNER)
fun getHomeBanner(): Observable<Response<List<HomeBannerEntity>>>
//图文详情
@GET(NetConfig.FlashSale.HOME_FLASH_SALE_SKILL)
fun getskill(): Observable<Response<List<SkillEntity>>>
}
\ No newline at end of file
package com.zxhl.cms.net.model.qy
import java.io.Serializable
/**
* @author (wangXuewei)
* @datetime 2022-05-23 16:53 GMT+8
* @detail :
*/
class RightsDetailEntity {
class RightsDetailEntity : Serializable {
var id: String? = ""
var brand: String? = ""
var category: String? = ""
......
package com.zxhl.cms.net.model.qy
class SkillEntity {
var id:String?=""
var startTime:String?=""
var status:String?=""
var statusDesc:String?=""
}
\ No newline at end of file
......@@ -248,7 +248,7 @@ interface RounterApi {
): Intent
@RounterUri(Constant.scheme + "://cardvoucher")
fun getIntentCardVoucher(): Intent
fun getIntentCardVoucher(@RounterParam("brand") brand: String): Intent
@RounterUri(Constant.scheme + "://carddetail")
fun getIntentCardDetail(): Intent
......
......@@ -350,9 +350,9 @@ public class JumpUtils {
}
}
public static void CardVoucherJump() {
public static void CardVoucherJump(String brand) {
try {
Intent intent = RounterBus.getRounter(RounterApi.class).getIntentCardVoucher();
Intent intent = RounterBus.getRounter(RounterApi.class).getIntentCardVoucher(brand);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
AppContext.get().startActivity(intent);
} catch (Exception e) {
......
package com.zxbw.modulemain.activity
import android.view.View
import com.zxbw.modulemain.R
import com.zxhl.cms.AppContext
import com.zxhl.cms.common.base.BaseActivity
import kotlinx.android.synthetic.main.activity_layout_buy_vip.*
class BuyMemberActivity : BaseActivity() {
override fun onClick(v: View?) {
}
override fun before() {
super.before()
setStatusBarBackground(AppContext.get().resources.getColor(R.color.transparent))
}
override fun layoutID(): Int {
return R.layout.activity_layout_buy_vip
}
override fun init() {
id_img_close?.setOnClickListener {
finish()
}
}
}
\ 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 com.zxbw.modulemain.R
import com.zxbw.modulemain.contract.CardDetailContract
import com.zxbw.modulemain.presenter.CardDetailPresenter
import com.zxbw.modulemain.presenter.RightsPayPresenter
import com.zxhl.cms.AppContext
import com.zxhl.cms.common.Constant
import com.zxhl.cms.common.base.BaseActivity
import com.zxhl.cms.net.model.qy.RightsDetailEntity
import com.zxhl.cms.net.model.uc.AliPayEntity
import com.zxhl.cms.net.model.uc.PayResultEntity
import com.zxhl.cms.pay.alipay.AlipayServer
import com.zxhl.cms.utils.EventUtils
import com.zxhl.cms.utils.MainLooper
import com.zxhl.cms.utils.RxBus
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_card_detail.*
class CardDetailActivity : BaseActivity() {
class CardDetailActivity : BaseActivity(), CardDetailContract.View {
private var mPayPresenter: CardDetailPresenter? = null
private var mLoading: LoadingDialog? = null
private var pay_type: Int? = RightsDetailActivity.ALI_PAY
private var payResultObservable: Observable<PayResultEntity>? = null
var goodsID:String?=""
override fun onClick(v: View?) {
}
......@@ -21,8 +44,106 @@ class CardDetailActivity : BaseActivity() {
}
override fun init() {
val cardbean: RightsDetailEntity =
intent.getSerializableExtra("cardbean") as RightsDetailEntity
initPay()
goodsID=cardbean.id
id_img_back?.setOnClickListener {
finish()
}
id_ll_pay?.setOnClickListener {
toPay()
}
setView(cardbean)
}
fun setView(bean: RightsDetailEntity) {
id_tv_card_name?.text="${bean.brand}${bean.goodsName}${bean.category}"
id_tv_cards_name?.text = "${bean.brand}${bean.goodsName}${bean.category}"
id_tv_cagte_name?.text = bean.category
id_tv_card_discount?.text = "会员专享${bean.costDiscount}折"
id_tv_card_price?.text = "${bean.salePrice}"
id_tv_guanfang_price?.text = "官方价 ¥${bean.originPrice}元"
id_tv_guanfang_price?.getPaint()?.setFlags(Paint.STRIKE_THRU_TEXT_FLAG) //中划线
id_tv_pay_price?.text = "${bean.salePrice}"
id_tv_jiesheng_price?.text = "立省${bean.costPrice}元"
}
fun initPay(){
mPayPresenter= CardDetailPresenter(this)
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", "付款成功")
mPayPresenter?.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> { })
}
private var mHandler: Handler = Handler {
when (it.what) {
0 -> {
if (mLoading != null) {
mLoading?.setResult(false, "取消支付", 1000)
}
}
}
false
}
fun toPay(){
mLoading?.setLoading("请稍后...")
mLoading?.show()
mPayPresenter?.requestRightsAliPay(goodsID.toString(), pay_type.toString(), "")
}
override fun requestOrderSuc(result: AliPayEntity) {
AlipayServer.payV2(this, result.wakeup!!)
}
override fun requestOrderFail(errorMsg: String) {
showResultLoading(false)
}
override fun verifyOrderSuc(order: String) {
showResultLoading(true)
}
override fun verifyOrderFail(errorMsg: String) {
showResultLoading(false)
}
private fun showResultLoading(isPaySuc: Boolean) {
if (isPaySuc) {
mLoading?.setResult(true, "支付成功", 1000)
} else {
mLoading?.setResult(false, "支付失败", 1000)
}
}
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.activity
import android.content.Intent
import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager
import com.zxbw.modulemain.R
......@@ -9,13 +10,15 @@ import com.zxbw.modulemain.presenter.CardVoucherPresenter
import com.zxhl.cms.AppContext
import com.zxhl.cms.common.base.BaseActivity
import com.zxhl.cms.net.model.qy.JgqQyEntity
import com.zxhl.cms.net.model.qy.RightsDetailEntity
import com.zxhl.cms.utils.JumpUtils
import com.zxhl.cms.utils.OnRecycleItemClickListener
import kotlinx.android.synthetic.main.activity_layout_card_voucher.*
class CardVoucherActivity:BaseActivity(),CardVoucherContract.View ,OnRecycleItemClickListener<JgqQyEntity>{
class CardVoucherActivity:BaseActivity(),CardVoucherContract.View ,OnRecycleItemClickListener<RightsDetailEntity>{
private var mPresenter:CardVoucherPresenter?=null
private var mAdapter:CardAdapter?=null
private var brand:String=""
override fun onClick(v: View?) {
}
......@@ -28,6 +31,7 @@ class CardVoucherActivity:BaseActivity(),CardVoucherContract.View ,OnRecycleItem
}
override fun init() {
brand = intent?.data?.getQueryParameter("brand") ?: ""
id_img_back?.setOnClickListener {
finish()
}
......@@ -36,23 +40,27 @@ class CardVoucherActivity:BaseActivity(),CardVoucherContract.View ,OnRecycleItem
id_rl_card_voucher?.layoutManager= LinearLayoutManager(mActivity)
id_rl_card_voucher?.adapter=mAdapter
id_refresh_layout?.setOnRefreshListener {
mPresenter?.getCardList()
mPresenter?.getCardList(brand)
}
mPresenter?.getCardList()
mPresenter?.getCardList(brand)
}
override fun setData(result: List<JgqQyEntity>?) {
override fun setData(result: List<RightsDetailEntity>?) {
id_refresh_layout?.isRefreshing = false
mAdapter?.clear()
mAdapter?.appendToList(result)
mAdapter?.notifyDataSetChanged()
}
override fun onItemClick(view: View?, position: Int, data: JgqQyEntity?) {
override fun onItemClick(view: View?, position: Int, data: RightsDetailEntity?) {
showToast(""+position)
JumpUtils.CardDetailJump()
val intent = Intent(mActivity, CardDetailActivity::class.java)
intent.putExtra("cardbean", data)
startActivity(intent)
// JumpUtils.CardDetailJump()
}
}
\ No newline at end of file
package com.zxbw.modulemain.activity
import android.view.View
import com.zxhl.cms.common.base.BaseActivity
class CofigBugVipActivity:BaseActivity() {
override fun onClick(v: View?) {
}
override fun layoutID(): Int {
TODO("Not yet implemented")
}
override fun init() {
TODO("Not yet implemented")
}
}
\ No newline at end of file
......@@ -5,16 +5,20 @@ import androidx.recyclerview.widget.GridLayoutManager
import com.zxbw.modulemain.R
import com.zxbw.modulemain.adapter.FlashSaleAdapter
import com.zxbw.modulemain.adapter.MoreDiscountAdapter
import com.zxbw.modulemain.adapter.TimeAdapter
import com.zxbw.modulemain.contract.FlashSaleContract
import com.zxbw.modulemain.presenter.FlashSalePresenter
import com.zxhl.cms.AppContext
import com.zxhl.cms.common.base.BaseActivity
import com.zxhl.cms.net.model.qy.SkillEntity
import com.zxhl.cms.utils.OnRecycleItemClickListener
import kotlinx.android.synthetic.main.activity_layout_flash_sale.*
class FlashSaleActivity:BaseActivity(),FlashSaleContract.View {
class FlashSaleActivity:BaseActivity(),FlashSaleContract.View,OnRecycleItemClickListener<SkillEntity> {
private var mPresenter:FlashSalePresenter?=null
private var mAdapter:FlashSaleAdapter?=null
private var mDiscountAdapter:MoreDiscountAdapter?=null
private var mTimeAdapter: TimeAdapter?=null
override fun onClick(v: View?) {
}
......@@ -29,14 +33,25 @@ class FlashSaleActivity:BaseActivity(),FlashSaleContract.View {
override fun init() {
mPresenter= FlashSalePresenter(this)
mAdapter= FlashSaleAdapter(this)
mTimeAdapter= TimeAdapter(this,this)
mDiscountAdapter= MoreDiscountAdapter(this)
id_rl_time?.layoutManager=GridLayoutManager(this,4)
id_rl_time?.adapter=mTimeAdapter
id_rl_more_discount?.layoutManager=GridLayoutManager(this,3)
id_rl_more_discount?.adapter=mDiscountAdapter
id_rl_flash_sale_top?.layoutManager=GridLayoutManager(this,3)
id_rl_flash_sale_top?.adapter=mAdapter
mPresenter?.getFlashSaleData()
}
override fun setData() {
override fun setData(result: List<SkillEntity>?) {
mTimeAdapter?.clear()
mTimeAdapter?.appendToList(result)
mTimeAdapter?.notifyDataSetChanged()
}
override fun onItemClick(view: View?, position: Int, data: SkillEntity?) {
showToast("点击"+data?.startTime)
}
}
\ No newline at end of file
package com.zxbw.modulemain.activity
import android.view.View
import com.zxbw.modulemain.R
import com.zxhl.cms.AppContext
import com.zxhl.cms.common.base.BaseActivity
class SkillPayActivity:BaseActivity() {
override fun onClick(v: View?) {
}
override fun before() {
super.before()
setStatusBarBackground(AppContext.get().resources.getColor(R.color.transparent))
}
override fun layoutID(): Int {
return R.layout.activity_layout_skill_pay
}
override fun init() {
}
}
\ No newline at end of file
......@@ -12,16 +12,17 @@ import com.zxbw.modulemain.R
import com.zxhl.cms.AppContext
import com.zxhl.cms.common.base.BaseRecyclerAdapter
import com.zxhl.cms.net.model.qy.JgqQyEntity
import com.zxhl.cms.net.model.qy.RightsDetailEntity
import com.zxhl.cms.utils.OnRecycleItemClickListener
import com.zxhl.cms.widget.RecycleImageView
class CardAdapter : BaseRecyclerAdapter<JgqQyEntity, CardAdapter.ViewHolder> {
class CardAdapter : BaseRecyclerAdapter<RightsDetailEntity, CardAdapter.ViewHolder> {
private var mContext: Activity? = null
private val listener: OnRecycleItemClickListener<JgqQyEntity>
private val listener: OnRecycleItemClickListener<RightsDetailEntity>
constructor(
content: Activity?,
listener: OnRecycleItemClickListener<JgqQyEntity>
listener: OnRecycleItemClickListener<RightsDetailEntity>
) : super() {
mContext = content
this.listener = listener
......@@ -29,12 +30,16 @@ class CardAdapter : BaseRecyclerAdapter<JgqQyEntity, CardAdapter.ViewHolder> {
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
var bean = mList[position]
holder.id_tv_cards_name?.text="${bean.brand}"
holder.id_goods_icon?.setLoadImageUrl(bean.icon,false)
holder.id_goods_yuan_jia?.text=""
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) //中划线
holder.id_ll_item?.setOnClickListener {
listener.onItemClick(it, position, null)
listener.onItemClick(it, position, bean)
}
}
......@@ -52,12 +57,13 @@ class CardAdapter : BaseRecyclerAdapter<JgqQyEntity, CardAdapter.ViewHolder> {
class ViewHolder : RecyclerView.ViewHolder {
var id_ll_item: LinearLayout?
var id_img_cards: RecycleImageView?
var id_goods_icon: RecycleImageView?
// var id_goods_icon: RecycleImageView?
var id_tv_cards_name: TextView?
var id_goods_yuan_jia: TextView?
var id_tv_card_discount: TextView?
var id_tv_card_price: TextView?
var id_tv_guanfang_price: TextView?
var id_tv_cagte_name: TextView?
constructor(
......@@ -66,12 +72,13 @@ class CardAdapter : BaseRecyclerAdapter<JgqQyEntity, CardAdapter.ViewHolder> {
id_ll_item =
itemView.findViewById<LinearLayout>(R.id.id_ll_item)
id_img_cards = itemView.findViewById<RecycleImageView>(R.id.id_img_cards)
id_goods_icon = itemView.findViewById<RecycleImageView>(R.id.id_goods_icon)
// id_goods_icon = itemView.findViewById<TextView>(R.id.id_goods_icon)
id_tv_cards_name = itemView.findViewById<TextView>(R.id.id_tv_cards_name)
id_goods_yuan_jia = itemView.findViewById<TextView>(R.id.id_goods_yuan_jia)
id_tv_card_discount = itemView.findViewById<TextView>(R.id.id_tv_card_discount)
id_tv_card_price = itemView.findViewById<TextView>(R.id.id_tv_card_price)
id_tv_guanfang_price = itemView.findViewById<TextView>(R.id.id_tv_guanfang_price)
id_tv_cagte_name = itemView.findViewById<TextView>(R.id.id_tv_cagte_name)
}
......
......@@ -27,7 +27,7 @@ class MoreDiscountAdapter : BaseRecyclerAdapter<Any, MoreDiscountAdapter.ViewHol
}
override fun getItemCount(): Int {
return 30
return 9
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
......
package com.zxbw.modulemain.adapter
import android.app.Activity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.LinearLayout
import android.widget.TextView
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.SkillEntity
import com.zxhl.cms.utils.OnRecycleItemClickListener
class TimeAdapter : BaseRecyclerAdapter<SkillEntity, TimeAdapter.ViewHolder> {
private var mContext: Activity? = null
private val listener: OnRecycleItemClickListener<SkillEntity>
constructor(
content: Activity?,
listener: OnRecycleItemClickListener<SkillEntity>
) : super() {
mContext = content
this.listener = listener
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
var bean = mList[position]
holder.id_ll_item?.setOnClickListener {
listener.onItemClick(it, position, bean)
}
holder.id_tv_time?.text="${bean.startTime}"
holder.id_tv_status_desc?.text="${bean.statusDesc}"
}
override fun getItemCount(): Int {
val size = mList.size
if (size > 4) {
return 4
} else {
return size
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
return ViewHolder(
LayoutInflater.from(AppContext.get())
.inflate(R.layout.item_layout_skill_time, parent, false)
)
}
class ViewHolder : RecyclerView.ViewHolder {
var id_ll_item: LinearLayout?
var id_tv_status_desc: TextView?
var id_tv_time: TextView?
constructor(
itemView: View
) : super(itemView) {
id_ll_item =
itemView.findViewById<LinearLayout>(R.id.id_ll_item)
id_tv_time = itemView.findViewById<TextView>(R.id.id_tv_time)
id_tv_status_desc = itemView.findViewById<TextView>(R.id.id_tv_status_desc)
}
}
}
\ No newline at end of file
package com.zxbw.modulemain.contract
import com.zxhl.cms.net.model.uc.AliPayEntity
class CardDetailContract {
interface View {
fun requestOrderSuc(result: AliPayEntity)
fun requestOrderFail(errorMsg: String)
fun verifyOrderSuc(order: String)
fun verifyOrderFail(errorMsg: String)
}
interface Presenter {
fun requestRightsAliPay(goodsId: String, payType: String, phone: String)
fun verifyPay(order: String?, payType: Int)
}
}
\ No newline at end of file
package com.zxbw.modulemain.contract
import com.zxhl.cms.net.model.qy.JgqQyEntity
import com.zxhl.cms.net.model.qy.RightsDetailEntity
class CardVoucherContract {
interface View {
fun setData(result: List<JgqQyEntity>?)
fun setData(result: List<RightsDetailEntity>?)
}
interface Presenter {
fun getCardList()
fun getCardList(brandName: String)
}
}
\ No newline at end of file
package com.zxbw.modulemain.contract
import com.zxhl.cms.net.model.qy.SkillEntity
class FlashSaleContract {
interface View {
fun setData()
fun setData(result:List<SkillEntity>?)
}
interface Presenter {
......
......@@ -23,7 +23,7 @@ class UserCenterFragment : BaseFragment(), AdCallback<String> {
override fun init(view: View?) {
id_ll_member?.setOnClickListener {
JumpUtils.CardVoucherJump()
JumpUtils.CardVoucherJump("猫眼")
}
id_img_setting?.setOnClickListener {
......
package com.zxbw.modulemain.presenter
import android.text.TextUtils
import com.zxbw.modulemain.contract.CardDetailContract
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.uc.AliPayEntity
import com.zxhl.cms.net.model.uc.PayVerifyEntity
import com.zxhl.cms.utils.UserDataUtils
import org.json.JSONObject
class CardDetailPresenter : CardDetailContract.Presenter {
private val mView: CardDetailContract.View
constructor(mView: CardDetailContract.View) {
this.mView = mView
}
override fun requestRightsAliPay(goodsId: String, payType: String, phone: String) {
ApiClient.userInfoAPi.aliPayRights(goodsId, payType, phone)
.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)
}
}
} catch (e: Exception) {
mView.verifyOrderFail("支付成功后 开始校验订单异常 e:${e.cause} msg:${e.message}")
}
}
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
......@@ -4,7 +4,7 @@ import com.zxbw.modulemain.contract.CardVoucherContract
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.qy.JgqQyEntity
import com.zxhl.cms.net.model.qy.RightsDetailEntity
class CardVoucherPresenter : CardVoucherContract.Presenter {
private val mView: CardVoucherContract.View
......@@ -13,11 +13,11 @@ class CardVoucherPresenter : CardVoucherContract.Presenter {
this.mView = mView
}
override fun getCardList() {
ApiClient.homeApi.getQyJgqCardList().compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<List<JgqQyEntity>>() {
override fun onSuccess(result: List<JgqQyEntity>?) {
if(!result.isNullOrEmpty()){
override fun getCardList(brandName: String) {
ApiClient.homeApi.getQyJgqCardDetail(brandName,"2").compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<List<RightsDetailEntity>>() {
override fun onSuccess(result: List<RightsDetailEntity>?) {
if (!result.isNullOrEmpty()){
mView.setData(result)
}
}
......
package com.zxbw.modulemain.presenter
import com.zxbw.modulemain.contract.FlashSaleContract
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.qy.SkillEntity
class FlashSalePresenter:FlashSaleContract.Presenter {
class FlashSalePresenter : FlashSaleContract.Presenter {
private val mView: FlashSaleContract.View
constructor(mView: FlashSaleContract.View) {
this.mView = mView
}
override fun getFlashSaleData() {
ApiClient.homeApi.getskill().compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<List<SkillEntity>>() {
override fun onSuccess(result: List<SkillEntity>?) {
mView.setData(result)
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
}
})
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#ffedd49d" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="90"
android:endColor="#F5BA56"
android:startColor="#FFE9A8"
android:type="linear"
android:useLevel="true" />
<corners
android:bottomLeftRadius="0dp"
android:bottomRightRadius="12dp"
android:topLeftRadius="0dp"
android:topRightRadius="12dp" />
<item android:name="android:shadowColor">#3846433f</item>
<item android:name="android:shadowDx">0</item>
<item android:name="android:shadowDy">3</item>
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="90"
android:endColor="#F7DFB9"
android:startColor="#EAC791"
android:type="linear"
android:useLevel="true" />
<corners android:radius="2dp" />
</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:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp">
<ImageView
android:id="@+id/id_img_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:padding="16dp"
android:src="@drawable/icon_chahao" />
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:text="您当前账号还不是锦鲤卡会员"
android:textColor="#000000"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="12dp"
android:text="请根据您的实际情况进行选择"
android:textColor="@color/color_999999"
android:textSize="12sp" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="24dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="20dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/icon_huizuanhuiyuanka" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我已办黑钻卡"
android:textColor="#000000"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="我现在要激活会员权益"
android:textColor="#000000"
android:textSize="11sp" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/icon_weibanliohuiyuan" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我还未办理黑钻卡"
android:textColor="#F9EED9"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="现在办理享受会员权益"
android:textColor="#F9EED9"
android:textSize="11sp" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
......@@ -39,13 +39,36 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/banner" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_f5ba56_ffe9a8"
android:padding="2dp"
android:layout_marginTop="20dp">
<TextView
android:id="@+id/id_tv_card_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#513F55"
android:textSize="11sp"
android:layout_marginLeft="10dp"
android:layout_marginRight="3dp"
android:textStyle="bold"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/img_zuanshi"/>
</LinearLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
......@@ -55,12 +78,72 @@
android:layout_marginBottom="10dp"
android:background="@drawable/shape_ffffff_r10">
<com.zxhl.cms.widget.RecycleImageView
android:id="@+id/id_img_cards"
android:layout_width="wrap_content"
<RelativeLayout
android:id="@+id/id_rl_bg"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/img_daijinquan" />
android:padding="10dp">
<com.zxhl.cms.widget.RecycleImageView
android:id="@+id/id_img_cards"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/img_daijinquan" />
<TextView
android:id="@+id/id_goods_icon"
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_margin="8dp"
android:background="@drawable/shape_edd49d_r"
android:text="¥"
android:gravity="center"
android:includeFontPadding="false"
android:textColor="#D93442"
android:textSize="10sp" />
<TextView
android:id="@+id/id_tv_cagte_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="34dp"
android:lines="1"
android:ellipsize="end"
android:text="代金券"
android:textColor="@color/white"
android:includeFontPadding="false"
android:textSize="10sp"
android:layout_marginTop="8dp"
android:layout_toRightOf="@+id/id_goods_icon"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/id_img_cards"
android:layout_marginLeft="50dp"
android:layout_marginBottom="8dp"
android:orientation="horizontal">
<TextView
android:id="@+id/id_goods_yuan_jia"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold"
android:visibility="invisible" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="元"
android:textColor="@color/white"
android:textSize="10sp"
android:textStyle="bold"
android:visibility="invisible" />
</LinearLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
......@@ -75,6 +158,7 @@
android:layout_marginTop="9dp"
android:text="猫眼电影5元代金券"
android:textColor="@color/color_333333"
android:includeFontPadding="false"
android:textSize="14sp" />
<TextView
......@@ -88,6 +172,7 @@
android:paddingTop="2dp"
android:paddingRight="6dp"
android:paddingBottom="2dp"
android:includeFontPadding="false"
android:text="会员专享7.6折"
android:textColor="#A85C00"
android:textSize="10sp" />
......@@ -103,6 +188,7 @@
android:layout_marginRight="4dp"
android:text="¥"
android:textColor="#D53C32"
android:includeFontPadding="false"
android:textSize="12sp"
android:textStyle="bold" />
......@@ -112,6 +198,7 @@
android:layout_height="wrap_content"
android:text="0.0"
android:textColor="#D53C32"
android:includeFontPadding="false"
android:textSize="18sp"
android:textStyle="bold" />
......@@ -121,6 +208,7 @@
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="官方价 ¥5元"
android:includeFontPadding="false"
android:textColor="@color/color_999999"
android:textSize="10sp" />
</LinearLayout>
......@@ -238,6 +326,7 @@
</androidx.core.widget.NestedScrollView>
<LinearLayout
android:id="@+id/id_ll_pay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
......@@ -256,6 +345,7 @@
android:textSize="18sp" />
<TextView
android:id="@+id/id_tv_pay_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
......@@ -265,10 +355,11 @@
android:textStyle="bold" />
<TextView
android:id="@+id/id_tv_jiesheng_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="立省6.00元"
android:text="立省0.00元"
android:textColor="#FDDFA5"
android:layout_marginRight="60dp"
android:textSize="12sp" />
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F6F6F6">
<RelativeLayout
android:id="@+id/id_rl_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/beijing_dingbu">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/beijing_dingbu"
android:visibility="gone"/>
<ImageView
android:id="@+id/id_img_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp"
android:layout_marginTop="20dp"
android:src="@drawable/icon_fanhui_white" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="确认支付"
android:textColor="@color/white"
android:layout_marginTop="36dp"
android:textSize="16sp"
android:textStyle="bold" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/id_rl_top"
android:layout_marginTop="-60dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:background="@drawable/huiyuankapian">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="20dp"
android:src="@drawable/image_zhifuchenggong"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RelativeLayout>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F6F6F6">
<RelativeLayout
android:id="@+id/id_rl_title"
android:layout_width="match_parent"
android:layout_height="68dp"
android:background="@color/white">
<ImageView
android:id="@+id/id_img_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:padding="16dp"
android:src="@drawable/icon_fanhui" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="15dp"
android:text="喜马拉雅会员"
android:textColor="@color/color_333333"
android:textSize="16sp"
android:textStyle="bold" />
</RelativeLayout>
<LinearLayout
android:id="@+id/id_ll_huiyuan"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/id_rl_title"
android:layout_marginLeft="6dp"
android:layout_marginTop="8dp"
android:layout_marginRight="6dp"
android:layout_marginBottom="8dp"
android:background="@drawable/shape_ffffff_r10"
android:padding="10dp">
<com.zxhl.cms.widget.RecycleImageView
android:layout_width="88dp"
android:layout_height="wrap_content"
android:background="@drawable/icon_kaquan" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_marginTop="2dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="喜马拉雅vip会员"
android:textColor="@color/color_333333"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:background="@drawable/shape_f7dfb9_eac791_r2"
android:padding="4dp"
android:text="会员专享0.3折"
android:textColor="#5C3C13"
android:textSize="10sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="¥"
android:textColor="@color/color_333333"
android:textSize="12sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:text="0"
android:textColor="@color/color_333333"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="官方价"
android:textColor="@color/color_999999"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" ¥ 30"
android:textColor="@color/color_999999"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/id_ll_huiyuan"
android:layout_marginLeft="6dp"
android:layout_marginRight="6dp"
android:background="@drawable/shape_ffffff_r10"
android:orientation="vertical"
android:padding="10dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="购买分数"
android:textColor="@color/color_333333"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:textColor="@color/color_333333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:background="@drawable/shape_fff8ef_r4"
android:gravity="center_vertical"
android:padding="6dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="2dp"
android:layout_marginRight="4dp"
android:src="@drawable/icon_goumaixuzhi" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="购买须知:购买当日有效,超时或非质量问题不支持退款"
android:textColor="#EB754A"
android:textSize="10sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="6dp"
android:layout_marginTop="8dp"
android:layout_marginRight="6dp"
android:background="@drawable/shape_ffffff_r10"
android:orientation="vertical"
android:padding="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="使用须知"
android:textColor="@color/color_333333"
android:textSize="14sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_margin="16dp"
android:padding="10dp"
android:background="@drawable/shape_323233_r6"
android:gravity="center_vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_vip" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="成为小象省钱会员,立享当前优惠哦"
android:layout_marginLeft="4dp"
android:textColor="#F8E8CC"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="立即加入"
android:background="@drawable/button_lijikaitong"
android:textColor="@color/color_333333"
android:textStyle="bold"
android:gravity="center"
android:textSize="12sp" />
</LinearLayout>
</RelativeLayout>
......@@ -11,7 +11,7 @@
<RelativeLayout
android:id="@+id/id_rl_bg"
android:layout_width="wrap_content"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:padding="10dp">
......@@ -21,12 +21,30 @@
android:layout_height="wrap_content"
android:background="@drawable/img_daijinquan" />
<com.zxhl.cms.widget.RecycleImageView
<TextView
android:id="@+id/id_goods_icon"
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_margin="8dp"
android:src="@drawable/icon_huangse" />
android:background="@drawable/shape_edd49d_r"
android:text="¥"
android:gravity="center"
android:includeFontPadding="false"
android:textColor="#D93442"
android:textSize="10sp" />
<TextView
android:id="@+id/id_tv_cagte_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="34dp"
android:lines="1"
android:ellipsize="end"
android:text="代金券"
android:textColor="@color/white"
android:includeFontPadding="false"
android:textSize="10sp"
android:layout_marginTop="8dp"
android:layout_toRightOf="@+id/id_goods_icon"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
......@@ -34,6 +52,7 @@
android:layout_marginLeft="50dp"
android:layout_marginBottom="8dp"
android:orientation="horizontal">
<TextView
android:id="@+id/id_goods_yuan_jia"
android:layout_width="wrap_content"
......@@ -41,14 +60,17 @@
android:text="0"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold"/>
android:textStyle="bold"
android:visibility="invisible" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="元"
android:textColor="@color/white"
android:textSize="10sp"
android:textStyle="bold"/>
android:textStyle="bold"
android:visibility="invisible" />
</LinearLayout>
</RelativeLayout>
......@@ -67,6 +89,7 @@
android:layout_marginTop="9dp"
android:text="猫眼电影5元代金券"
android:textColor="@color/color_333333"
android:includeFontPadding="false"
android:textSize="14sp" />
<TextView
......@@ -80,6 +103,7 @@
android:paddingTop="2dp"
android:paddingRight="6dp"
android:paddingBottom="2dp"
android:includeFontPadding="false"
android:text="会员专享7.6折"
android:textColor="#A85C00"
android:textSize="10sp" />
......@@ -95,6 +119,7 @@
android:layout_marginRight="4dp"
android:text="¥"
android:textColor="#D53C32"
android:includeFontPadding="false"
android:textSize="12sp"
android:textStyle="bold" />
......@@ -104,6 +129,7 @@
android:layout_height="wrap_content"
android:text="0.0"
android:textColor="#D53C32"
android:includeFontPadding="false"
android:textSize="18sp"
android:textStyle="bold" />
......@@ -113,6 +139,7 @@
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="官方价 ¥5元"
android:includeFontPadding="false"
android:textColor="@color/color_999999"
android:textSize="10sp" />
</LinearLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/id_ll_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:id="@+id/id_tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="6dp"
android:text="00:00"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/id_tv_status_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="已开抢"
android:textColor="@color/white" />
</LinearLayout>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment