添加订单发票状态
This commit is contained in:
parent
5ac719d5bb
commit
19c8c578c4
|
|
@ -36,4 +36,7 @@ class ConfigEntity {
|
||||||
|
|
||||||
@SerializedName("client.pay.type") //全局支付方式
|
@SerializedName("client.pay.type") //全局支付方式
|
||||||
var payType: List<String> = emptyList()
|
var payType: List<String> = emptyList()
|
||||||
|
|
||||||
|
@SerializedName("client.invoice.urgent.interval.minutes") //加急开票间隔分钟数
|
||||||
|
var invoiceIntervalMinutes: String? = null
|
||||||
}
|
}
|
||||||
|
|
@ -3,11 +3,12 @@ package com.cheng.blzb.bean
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class OrderEntity(
|
data class OrderEntity(
|
||||||
|
val id: String,
|
||||||
val create_time: String,
|
val create_time: String,
|
||||||
val goods_name: String,
|
val goods_name: String,
|
||||||
val id: String,
|
|
||||||
val invoice_major: Boolean,
|
val invoice_major: Boolean,
|
||||||
val invoice_status: String,
|
val invoice_status: String,
|
||||||
|
val invoice_url: String,
|
||||||
val out_trade_no: String,
|
val out_trade_no: String,
|
||||||
val pay_params: String,
|
val pay_params: String,
|
||||||
val pay_time: String,
|
val pay_time: String,
|
||||||
|
|
|
||||||
|
|
@ -85,6 +85,7 @@ object UserConfigManager {
|
||||||
saveAdSwitch(data.config!!.adSwitch)
|
saveAdSwitch(data.config!!.adSwitch)
|
||||||
saveServicePhoneList(data.config!!.servicePhoneList)
|
saveServicePhoneList(data.config!!.servicePhoneList)
|
||||||
savePayType(data.config!!.payType)
|
savePayType(data.config!!.payType)
|
||||||
|
saveInvoiceIntervalTime(data.config!!.invoiceIntervalMinutes)
|
||||||
}
|
}
|
||||||
} catch (e : Exception) {
|
} catch (e : Exception) {
|
||||||
e.printStackTrace()
|
e.printStackTrace()
|
||||||
|
|
@ -229,6 +230,17 @@ object UserConfigManager {
|
||||||
return emptyList()
|
return emptyList()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 加急开票间隔时间
|
||||||
|
*/
|
||||||
|
private fun saveInvoiceIntervalTime(minutes: String?) {
|
||||||
|
MMKVUtils.put("invoice_interval_time", minutes)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getInvoiceIntervalTime(): String? {
|
||||||
|
return MMKVUtils.getString("invoice_interval_time")
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 搜索排序
|
* 搜索排序
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,12 @@ package com.cheng.blzb.ui.fragment.mine.order.invoice
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
|
import android.view.View
|
||||||
import com.cheng.blzb.R
|
import com.cheng.blzb.R
|
||||||
import com.cheng.blzb.bean.OrderEntity
|
import com.cheng.blzb.bean.OrderEntity
|
||||||
import com.cheng.blzb.databinding.FragmentInvoiceBinding
|
import com.cheng.blzb.databinding.FragmentInvoiceBinding
|
||||||
import com.cheng.blzb.event.OrderEvent
|
import com.cheng.blzb.event.OrderEvent
|
||||||
|
import com.efs.sdk.memleaksdk.monitor.internal.bi
|
||||||
import com.example.base.common.RxBus
|
import com.example.base.common.RxBus
|
||||||
import com.example.base.extensions.gone
|
import com.example.base.extensions.gone
|
||||||
import com.example.base.extensions.onClick
|
import com.example.base.extensions.onClick
|
||||||
|
|
@ -37,6 +39,9 @@ class InvoiceFragment : BaseFragment<FragmentInvoiceBinding, InvoiceViewModel>()
|
||||||
arguments?.getSerializable("item") as? OrderEntity
|
arguments?.getSerializable("item") as? OrderEntity
|
||||||
}
|
}
|
||||||
|
|
||||||
|
binding.rb2.visibility = if (orderInfo!!.invoice_major) View.VISIBLE else View.GONE
|
||||||
|
binding.tv2.visibility = if (orderInfo!!.invoice_major) View.VISIBLE else View.GONE
|
||||||
|
|
||||||
binding.tvAmount.text = DecimalFormat("0.00").format(orderInfo!!.total_fee.toFloat())
|
binding.tvAmount.text = DecimalFormat("0.00").format(orderInfo!!.total_fee.toFloat())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
package com.cheng.blzb.ui.fragment.mine.order.list
|
package com.cheng.blzb.ui.fragment.mine.order.list
|
||||||
|
|
||||||
import android.graphics.Color
|
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
|
import androidx.core.graphics.toColorInt
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.blzb.R
|
import com.cheng.blzb.R
|
||||||
import com.cheng.blzb.bean.OrderEntity
|
import com.cheng.blzb.bean.OrderEntity
|
||||||
|
import com.cheng.blzb.manager.UserConfigManager
|
||||||
|
import com.cheng.blzb.utils.DateUtils
|
||||||
import com.cheng.blzb.widget.CommonShapeView
|
import com.cheng.blzb.widget.CommonShapeView
|
||||||
import java.text.DecimalFormat
|
import java.text.DecimalFormat
|
||||||
|
|
||||||
|
|
@ -41,38 +43,72 @@ class OrderAdapter : BaseQuickAdapter<OrderEntity, BaseViewHolder>(R.layout.list
|
||||||
when (item.status) {
|
when (item.status) {
|
||||||
"1" -> {
|
"1" -> {
|
||||||
status.text = "待支付"
|
status.text = "待支付"
|
||||||
status.setTextColor(Color.parseColor("#FF4C4C"))
|
status.setTextColor("#FF4C4C".toColorInt())
|
||||||
status.setBgColor(Color.parseColor("#FFEDED"))
|
status.setBgColor("#FFEDED".toColorInt())
|
||||||
if (item.pay_type == "bank") {
|
if (item.pay_type == "bank") {
|
||||||
holder.setVisible(R.id.btn_certificate, true)
|
holder.setVisible(R.id.btn_certificate, true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
"2" -> {
|
"2" -> {
|
||||||
status.text = "已支付"
|
when (item.invoice_status) {
|
||||||
status.setTextColor(Color.parseColor("#2090FE"))
|
"1" -> { //1:未开票 2:开票中 3:催开票4:开票完成
|
||||||
status.setBgColor(Color.parseColor("#E8F3FE"))
|
status.text = "已支付"
|
||||||
if (item.invoice_status == "1") {
|
status.setTextColor("#2090FE".toColorInt())
|
||||||
holder.setVisible(R.id.btn_invoice, true)
|
status.setBgColor("#E8F3FE".toColorInt())
|
||||||
|
|
||||||
|
holder.setText(R.id.btn_invoice, "开具发票")
|
||||||
|
holder.setVisible(R.id.btn_invoice, true)
|
||||||
|
}
|
||||||
|
"2" -> {
|
||||||
|
status.text = "开票中"
|
||||||
|
status.setTextColor("#FF9B2F".toColorInt())
|
||||||
|
status.setBgColor("#1AFF9B2F".toColorInt())
|
||||||
|
|
||||||
|
val intervalMinutes = UserConfigManager.getInvoiceIntervalTime()
|
||||||
|
val intervalTime = if (!TextUtils.isEmpty(intervalMinutes)) {
|
||||||
|
intervalMinutes!!.toInt() * 60 * 1000L
|
||||||
|
} else {
|
||||||
|
3 * 24 * 60 * 60 * 1000L
|
||||||
|
}
|
||||||
|
val payTime = DateUtils.strDateToLong(item.pay_time, "yyyy-MM-dd HH:mm:ss")
|
||||||
|
if (intervalTime + payTime <= System.currentTimeMillis()) {
|
||||||
|
holder.setText(R.id.btn_invoice, "加急开票")
|
||||||
|
holder.setVisible(R.id.btn_invoice, true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"3" -> {
|
||||||
|
status.text = "开票中"
|
||||||
|
status.setTextColor("#FF9B2F".toColorInt())
|
||||||
|
status.setBgColor("#1AFF9B2F".toColorInt())
|
||||||
|
}
|
||||||
|
"4" -> {
|
||||||
|
status.text = "已开票"
|
||||||
|
status.setTextColor("#125FFE".toColorInt())
|
||||||
|
status.setBgColor("#E7EFFE".toColorInt())
|
||||||
|
|
||||||
|
holder.setText(R.id.btn_invoice, "查看发票")
|
||||||
|
holder.setVisible(R.id.btn_invoice, true)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
"3" -> {
|
"3" -> {
|
||||||
status.text = "已退款"
|
status.text = "已退款"
|
||||||
status.setTextColor(Color.parseColor("#CCCCCC"))
|
status.setTextColor("#CCCCCC".toColorInt())
|
||||||
status.setBgColor(Color.parseColor("#EEEEEE"))
|
status.setBgColor("#EEEEEE".toColorInt())
|
||||||
}
|
}
|
||||||
|
|
||||||
"4" -> {
|
"4" -> {
|
||||||
status.text = "已取消"
|
status.text = "已取消"
|
||||||
status.setTextColor(Color.parseColor("#CCCCCC"))
|
status.setTextColor("#CCCCCC".toColorInt())
|
||||||
status.setBgColor(Color.parseColor("#EEEEEE"))
|
status.setBgColor("#EEEEEE".toColorInt())
|
||||||
}
|
}
|
||||||
|
|
||||||
"5" -> {
|
"5" -> {
|
||||||
status.text = "待审核"
|
status.text = "待审核"
|
||||||
status.setTextColor(Color.parseColor("#FF9B2F"))
|
status.setTextColor("#FF9B2F".toColorInt())
|
||||||
status.setBgColor(Color.parseColor("#1AFF9B2F"))
|
status.setBgColor("#1AFF9B2F".toColorInt())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,14 @@ import android.os.Bundle
|
||||||
import com.cheng.blzb.R
|
import com.cheng.blzb.R
|
||||||
import com.cheng.blzb.databinding.FragmentOrderListBinding
|
import com.cheng.blzb.databinding.FragmentOrderListBinding
|
||||||
import com.cheng.blzb.event.OrderEvent
|
import com.cheng.blzb.event.OrderEvent
|
||||||
|
import com.cheng.blzb.manager.DialogEnum
|
||||||
import com.cheng.blzb.ui.activity.PublicActivity
|
import com.cheng.blzb.ui.activity.PublicActivity
|
||||||
|
import com.cheng.blzb.ui.dialog.TipDialog
|
||||||
import com.cheng.blzb.ui.fragment.mine.order.cert.CertificateFragment
|
import com.cheng.blzb.ui.fragment.mine.order.cert.CertificateFragment
|
||||||
import com.cheng.blzb.ui.fragment.mine.order.invoice.InvoiceFragment
|
import com.cheng.blzb.ui.fragment.mine.order.invoice.InvoiceFragment
|
||||||
|
import com.example.base.browser.BrowserActivity
|
||||||
import com.example.base.common.RxBus
|
import com.example.base.common.RxBus
|
||||||
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.ui.BaseFragment
|
import com.example.base.ui.BaseFragment
|
||||||
import com.example.base.widget.EmptyView
|
import com.example.base.widget.EmptyView
|
||||||
import com.example.base.widget.PageStatus
|
import com.example.base.widget.PageStatus
|
||||||
|
|
@ -51,8 +55,27 @@ class OrderListFragment : BaseFragment<FragmentOrderListBinding, OrderListViewMo
|
||||||
mAdapter.setOnItemChildClickListener { _, view, i ->
|
mAdapter.setOnItemChildClickListener { _, view, i ->
|
||||||
val item = mAdapter.getItem(i)
|
val item = mAdapter.getItem(i)
|
||||||
when (view.id) {
|
when (view.id) {
|
||||||
R.id.btn_invoice -> {
|
R.id.btn_invoice -> { //1:未开票 2:开票中 3:催开票4:开票完成
|
||||||
PublicActivity.start(requireContext(), InvoiceFragment::class.java, Pair("item", item))
|
when (item.invoice_status) {
|
||||||
|
"1" -> {
|
||||||
|
PublicActivity.start(requireContext(), InvoiceFragment::class.java, Pair("item", item))
|
||||||
|
}
|
||||||
|
"2" -> {
|
||||||
|
val f = TipDialog.newInstance("温馨提示", "发票正在开具中,确定要加急开票吗?")
|
||||||
|
f.setOnSelectListener {
|
||||||
|
if (it == DialogEnum.CLICK_OK) {
|
||||||
|
mViewModel.updateOrder(item.id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
f.show(childFragmentManager, TipDialog::class.java.simpleName)
|
||||||
|
}
|
||||||
|
"3" -> {
|
||||||
|
|
||||||
|
}
|
||||||
|
"4" -> {
|
||||||
|
BrowserActivity.start(requireContext(), "查看发票", item.invoice_url)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.btn_certificate -> {
|
R.id.btn_certificate -> {
|
||||||
|
|
@ -74,6 +97,11 @@ class OrderListFragment : BaseFragment<FragmentOrderListBinding, OrderListViewMo
|
||||||
binding.mRefreshLayout.finishRefresh()
|
binding.mRefreshLayout.finishRefresh()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mViewModel.updateLiveData.observe(this) {
|
||||||
|
toast("已催促")
|
||||||
|
RxBus.defaultInstance.post(OrderEvent())
|
||||||
|
}
|
||||||
|
|
||||||
val orderEvent = RxBus.defaultInstance.toObservable(OrderEvent::class.java).subscribe {
|
val orderEvent = RxBus.defaultInstance.toObservable(OrderEvent::class.java).subscribe {
|
||||||
binding.mRefreshLayout.autoRefresh()
|
binding.mRefreshLayout.autoRefresh()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,13 @@ import com.cheng.blzb.net.ApiFactory
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.utils.L
|
import com.example.base.utils.L
|
||||||
import com.example.base.viewmodel.BaseViewModel
|
import com.example.base.viewmodel.BaseViewModel
|
||||||
|
import com.google.gson.JsonObject
|
||||||
|
import okhttp3.RequestBody
|
||||||
|
import okhttp3.RequestBody.Companion.toRequestBody
|
||||||
|
|
||||||
class OrderListViewModel : BaseViewModel() {
|
class OrderListViewModel : BaseViewModel() {
|
||||||
val orderLiveData = MutableLiveData<List<OrderEntity>>()
|
val orderLiveData = MutableLiveData<List<OrderEntity>>()
|
||||||
|
val updateLiveData = MutableLiveData<Any>()
|
||||||
|
|
||||||
fun getOrderList(status: String) {
|
fun getOrderList(status: String) {
|
||||||
showDialog()
|
showDialog()
|
||||||
|
|
@ -24,4 +28,22 @@ class OrderListViewModel : BaseViewModel() {
|
||||||
L.d(it)
|
L.d(it)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun updateOrder(orderId: String) {
|
||||||
|
showDialog()
|
||||||
|
launchOnUiTryCatch({
|
||||||
|
val jsonObject = JsonObject()
|
||||||
|
jsonObject.addProperty("order_id", orderId)
|
||||||
|
jsonObject.addProperty("invoice_status", "3")
|
||||||
|
val response = ApiFactory.apiService.updateOrder(jsonObject.toString().toRequestBody())
|
||||||
|
if (response.status) {
|
||||||
|
updateLiveData.postValue(Any())
|
||||||
|
} else toast(response.message, true)
|
||||||
|
dismissDialog()
|
||||||
|
}, {
|
||||||
|
dismissDialog()
|
||||||
|
setError(it)
|
||||||
|
L.d(it)
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue