Commit 575c626d by 宁斌

1、完善外賣自取歷史訂單調整 2、新增打印流程監聽類 3、新增Prj原圖查看頁面

parent d1f85c82
...@@ -7,21 +7,23 @@ import okhttp3.FormBody ...@@ -7,21 +7,23 @@ import okhttp3.FormBody
class HistoryOrderRepository private constructor(private val network: CoolWeatherNetwork) { class HistoryOrderRepository private constructor(private val network: CoolWeatherNetwork) {
suspend fun getHistoryOrderList(restaurantId: String, status: String, startDate: String, endDate: String, pageIndex: String, pageSize: String, orderType: Int, orderNo: String = "", phone: String = "") = withContext(Dispatchers.IO) { suspend fun getHistoryOrderList(restaurantId: String, status: String, startDate: String, endDate: String, pageIndex: String, pageSize: String, orderType: String, orderNo: String = "", phone: String = "") = withContext(Dispatchers.IO) {
val builder = FormBody.Builder() // val builder = FormBody.Builder()
.add("restaurantId", restaurantId) // .add("restaurantId", restaurantId)
.add("status", status)//4為已完成 6為取消 // .add("status", status)//4為已完成 6為取消
.add("pageIndex", pageIndex) // .add("pageIndex", pageIndex)
.add("pageSize", pageSize) // .add("pageSize", pageSize)
.add("orderNo", orderNo) // .add("orderNo", orderNo)
.add("startDate", startDate) // .add("startDate", startDate)
.add("endDate", endDate) // .add("endDate", endDate)
.add("phone", phone) //// .add("phone", phone)
if (orderType == 8) { // .add("param", phone)//訂單號或手機號
builder.add("orderType", orderType.toString()) // .add("orderType", "2,7")//訂單類型 2 線上外賣訂單,7 自取訂單
} // if (orderType == 8) {
val requestBody = builder.build() // builder.add("orderType", orderType.toString())
val heWeather = network.getHistoryOrderList(requestBody) // }
// val requestBody = builder.build()
val heWeather = network.getHistoryOrderList(restaurantId,startDate, endDate, phone, status, orderType, pageIndex, pageSize)
heWeather heWeather
} }
......
...@@ -6,6 +6,7 @@ import okhttp3.RequestBody ...@@ -6,6 +6,7 @@ import okhttp3.RequestBody
import retrofit2.Call import retrofit2.Call
import retrofit2.Callback import retrofit2.Callback
import retrofit2.Response import retrofit2.Response
import retrofit2.http.Query
import kotlin.coroutines.resume import kotlin.coroutines.resume
import kotlin.coroutines.resumeWithException import kotlin.coroutines.resumeWithException
import kotlin.coroutines.suspendCoroutine import kotlin.coroutines.suspendCoroutine
...@@ -71,7 +72,8 @@ class CoolWeatherNetwork { ...@@ -71,7 +72,8 @@ class CoolWeatherNetwork {
suspend fun getDeliveryConfigDTO(requestBody: RequestBody) = gsposService.getDeliveryConfigDTO(requestBody).await() suspend fun getDeliveryConfigDTO(requestBody: RequestBody) = gsposService.getDeliveryConfigDTO(requestBody).await()
//獲取歷史訂單 //獲取歷史訂單
suspend fun getHistoryOrderList(requestBody: RequestBody) = ricepon_WechatService.getHistoryOrderList(requestBody).await() suspend fun getHistoryOrderList(restaurantId: String, startTime: String, endTime: String, param: String,
status: String, orderType: String, pageIndex: String, pageSize: String) = orderPayService.getHistoryOrderList(restaurantId,startTime, endTime, param, status, orderType, pageIndex, pageSize).await()
//取消物流 //取消物流
suspend fun cancelLogistics(requestBody: RequestBody) = gsposService.cancelLogistics(requestBody).await() suspend fun cancelLogistics(requestBody: RequestBody) = gsposService.cancelLogistics(requestBody).await()
...@@ -83,7 +85,7 @@ class CoolWeatherNetwork { ...@@ -83,7 +85,7 @@ class CoolWeatherNetwork {
suspend fun getCancelReason(brandId: Int, restaurantId: Int, type: Int) = cloudService.getCancelReason(brandId, restaurantId, type).await() suspend fun getCancelReason(brandId: Int, restaurantId: Int, type: Int) = cloudService.getCancelReason(brandId, restaurantId, type).await()
//獲取商家配置的支付方式 //獲取商家配置的支付方式
suspend fun getPayMethod(brandId: Int, restaurantId: Int, payType :Int) = cloudService.getPayMethod(brandId, restaurantId, payType).await() suspend fun getPayMethod(brandId: Int, restaurantId: Int, payType: Int) = cloudService.getPayMethod(brandId, restaurantId, payType).await()
suspend fun addPrj(requestBody: RequestBody) = cloudService.addPrj(requestBody).await() suspend fun addPrj(requestBody: RequestBody) = cloudService.addPrj(requestBody).await()
......
...@@ -50,8 +50,13 @@ interface WeatherService { ...@@ -50,8 +50,13 @@ interface WeatherService {
@POST("gsa/getDeliveryConfigDTO") @POST("gsa/getDeliveryConfigDTO")
fun getDeliveryConfigDTO(@Body requestBody: RequestBody): Call<DeliveryConfig> fun getDeliveryConfigDTO(@Body requestBody: RequestBody): Call<DeliveryConfig>
@POST("wechat/findHistoryOrderList") // @POST("wechat/findHistoryOrderList")
fun getHistoryOrderList(@Body requestBody: RequestBody): Call<HistoryOrderBean> // fun getHistoryOrderList(@Body requestBody: RequestBody): Call<HistoryOrderBean>
@GET("historyOrder/getOrderList")
fun getHistoryOrderList(@Query("restaurantId") restaurantId: String,
@Query("startTime") startTime: String, @Query("endTime") endTime: String, @Query("param") param: String,
@Query("status") status: String, @Query("orderType") orderType: String, @Query("pageIndex") pageIndex: String, @Query("pageSize") pageSize: String): Call<HistoryOrderBean>
@POST("gsa/cancelOrder") @POST("gsa/cancelOrder")
fun cancelLogistics(@Body requestBody: RequestBody): Call<CancelLogisticsBean> fun cancelLogistics(@Body requestBody: RequestBody): Call<CancelLogisticsBean>
...@@ -63,7 +68,7 @@ interface WeatherService { ...@@ -63,7 +68,7 @@ interface WeatherService {
fun getCancelReason(@Query("brandId") brandId: Int, @Query("restaurantId") restaurantId: Int, @Query("type") type: Int): Call<CancelReason> fun getCancelReason(@Query("brandId") brandId: Int, @Query("restaurantId") restaurantId: Int, @Query("type") type: Int): Call<CancelReason>
@GET("restaurant/pay/get") @GET("restaurant/pay/get")
fun getPayMethod(@Query("brandId") brandId: Int, @Query("restaurantId") restaurantId: Int, @Query("payType") payType :Int): Call<PayTypeInfo> fun getPayMethod(@Query("brandId") brandId: Int, @Query("restaurantId") restaurantId: Int, @Query("payType") payType: Int): Call<PayTypeInfo>
@POST("printerRecording/add") @POST("printerRecording/add")
fun addPrj(@Body requestBody: RequestBody): Call<String> fun addPrj(@Body requestBody: RequestBody): Call<String>
......
...@@ -22,10 +22,11 @@ class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepo ...@@ -22,10 +22,11 @@ class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepo
var historyData = MutableLiveData<HistoryOrderBean>() var historyData = MutableLiveData<HistoryOrderBean>()
var historyTime = MutableLiveData<String>(TimeUtils.getOldDate(0)) //按時間查詢 var historyStartTime = MutableLiveData<String>(TimeUtils.getOldDate(0)) //查詢開始時間
var historyEndTime = MutableLiveData<String>(TimeUtils.getOldDate(0)) //查詢結束時間
var status = MutableLiveData("4") //按類型查詢 var status = MutableLiveData("4") //按類型查詢
var searchValue = MutableLiveData("")//按搜索內容查詢 var searchValue = MutableLiveData("")//按搜索內容查詢
var orderType = 0 var orderType = "2,7" //訂單類型 2 線上外賣訂單,7 自取訂單
fun getHistoryOrderList(pageIndex: String, orderNum: String = "", startDate: String, endDate: String, status: String) { fun getHistoryOrderList(pageIndex: String, orderNum: String = "", startDate: String, endDate: String, status: String) {
launch({ launch({
...@@ -37,17 +38,20 @@ class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepo ...@@ -37,17 +38,20 @@ class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepo
orderNumber = orderNum orderNumber = orderNum
} }
historyOrderRepository.getHistoryOrderList(RestaurantInfoManager.newInstance().getRestaurantId().toString(), status, startDate, endDate, pageIndex, "10", orderType, orderNumber, phone).apply { historyOrderRepository.getHistoryOrderList(RestaurantInfoManager.newInstance().getRestaurantId().toString(), status, startDate, endDate, pageIndex, "10", orderType, orderNumber, phone).apply {
this.data?.let { if (this.data == null) {
if (it.size > 0) { historyData.postValue(this)
it.removeAt(it.size - 1)//移除最後一個,最後一個是顯示總條數的 } else {
} this.data.let {
if (it?.list != null && it?.list.size > 0) {
if (pageIndex == "1") { it.list.removeAt(it.list.size - 1)//移除最後一個,最後一個是顯示總條數的
historyData.postValue(this) }
} else { if (pageIndex == "1") {
historyData.value!!.data!!.addAll(it) historyData.postValue(this)
historyData.postValue(historyData.value) } else {
historyData.value!!.success = true historyData.value!!.data!!.list.addAll(it.list)
historyData.postValue(historyData.value)
historyData.value!!.success = true
}
} }
} }
} }
...@@ -71,9 +75,9 @@ class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepo ...@@ -71,9 +75,9 @@ class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepo
}) })
} }
fun printOrder(context: Context, data: HistoryOrderBean.DataBean, listener: (Boolean) -> Unit) { fun printOrder(context: Context, data: HistoryOrderBean.Data.OrderItem, listener: (Boolean) -> Unit) {
launch({ launch({
getOrderInfo(data.Id.toString()) { getOrderInfo(data.id.toString()) {
printOrder(it, data, context, listener) printOrder(it, data, context, listener)
} }
}, { }, {
...@@ -84,10 +88,10 @@ class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepo ...@@ -84,10 +88,10 @@ class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepo
/** /**
* 打印訂單 * 打印訂單
*/ */
private fun printOrder(orderDetails: OrderDetails, data: HistoryOrderBean.DataBean, context: Context, listener: (Boolean) -> Unit) { private fun printOrder(orderDetails: OrderDetails, data: HistoryOrderBean.Data.OrderItem, context: Context, listener: (Boolean) -> Unit) {
if (orderDetails.data != null) { if (orderDetails.data != null) {
//訂單信息和廚房單 //訂單信息和廚房單
orderDetails.data!![0].order_type = data.order_type orderDetails.data!![0].order_type = data.orderType
orderDetails.data!![0].orderPayType = data.orderPayType orderDetails.data!![0].orderPayType = data.orderPayType
TakeawayOrder.getInstance().shoppingCart.deliveryAndPickupData = orderDetails.data!![0] TakeawayOrder.getInstance().shoppingCart.deliveryAndPickupData = orderDetails.data!![0]
......
...@@ -57,10 +57,13 @@ class HistoryOrderActivity : BaseActivity<IPresenter>() { ...@@ -57,10 +57,13 @@ class HistoryOrderActivity : BaseActivity<IPresenter>() {
private fun initViewModel() { private fun initViewModel() {
mViewModel = ViewModelProvider(this, InjectorUtil.getHistoryModelFactory())[HistoryOrderViewModel::class.java].apply { mViewModel = ViewModelProvider(this, InjectorUtil.getHistoryModelFactory())[HistoryOrderViewModel::class.java].apply {
orderType = CCUtil.getNavigateParam(this@HistoryOrderActivity, DeliveryPickConstans.ORDER_TYPE, 0) orderType = CCUtil.getNavigateParam(this@HistoryOrderActivity, DeliveryPickConstans.ORDER_TYPE, orderType)
historyTime.observe(this@HistoryOrderActivity, androidx.lifecycle.Observer { historyStartTime.observe(this@HistoryOrderActivity, androidx.lifecycle.Observer {
tv_start_time.text = it tv_start_time.text = it
}) })
historyEndTime.observe(this@HistoryOrderActivity, androidx.lifecycle.Observer {
tv_end_time.text = it
})
} }
} }
...@@ -97,11 +100,30 @@ class HistoryOrderActivity : BaseActivity<IPresenter>() { ...@@ -97,11 +100,30 @@ class HistoryOrderActivity : BaseActivity<IPresenter>() {
e.printStackTrace() e.printStackTrace()
} }
TimePickerUtils.showReportTimePicker(this@HistoryOrderActivity, startTime, Calendar.getInstance(), defaultTime) { date, _ -> TimePickerUtils.showReportTimePicker(this@HistoryOrderActivity, startTime, Calendar.getInstance(), defaultTime) { date, _ ->
mViewModel.historyTime.postValue(TimeUtils.DATE_FORMAT_DATE.format(date)) mViewModel.historyStartTime.postValue(TimeUtils.DATE_FORMAT_DATE.format(date))
}.setOnDismissListener { }.setOnDismissListener {
iv_start_time_triangle.toggle() iv_start_time_triangle.toggle()
} }
} }
R.id.iv_end_time_triangle, R.id.tv_end_time -> {
iv_end_time_triangle.toggle()
val startTime = Calendar.getInstance()
startTime.set(2019, 0, 1)
val defaultTime = Calendar.getInstance()
try {
//設置默認時間為當前的結束時間
TimeUtils.DATE_FORMAT_DATE.parse(tv_end_time.text.toString())?.let {
defaultTime.time = it
}
} catch (e: ParseException) {
e.printStackTrace()
}
TimePickerUtils.showReportTimePicker(this@HistoryOrderActivity, startTime, Calendar.getInstance(), defaultTime) { date, _ ->
mViewModel.historyEndTime.postValue(TimeUtils.DATE_FORMAT_DATE.format(date))
}.setOnDismissListener {
iv_end_time_triangle.toggle()
}
}
} }
} }
} }
\ No newline at end of file
...@@ -2,21 +2,25 @@ package com.gingersoft.gsa.delivery_pick_mode.ui.adapter ...@@ -2,21 +2,25 @@ package com.gingersoft.gsa.delivery_pick_mode.ui.adapter
import android.content.Context import android.content.Context
import android.graphics.drawable.GradientDrawable import android.graphics.drawable.GradientDrawable
import android.text.TextUtils
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ImageView import android.widget.ImageView
import android.widget.TextView
import androidx.annotation.Nullable
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.databinding.DataBindingUtil import androidx.databinding.DataBindingUtil
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.gingersoft.gsa.cloud.pay.contract.PayTypeContract
import com.gingersoft.gsa.delivery_pick_mode.R import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.HistoryOrderBean.DataBean import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.HistoryOrderBean.Data.OrderItem
import com.gingersoft.gsa.delivery_pick_mode.databinding.LayoutHistoryOrderItemBinding import com.gingersoft.gsa.delivery_pick_mode.databinding.LayoutHistoryOrderItemBinding
import com.scwang.smartrefresh.layout.util.SmartUtil import com.scwang.smartrefresh.layout.util.SmartUtil
class HistoryOrderAdapter(var stauts: String?, private val context: Context, var data: List<DataBean>?) : RecyclerView.Adapter<HistoryOrderAdapter.ViewHolder>() { class HistoryOrderAdapter(var stauts: String?, private val context: Context, var data: List<OrderItem>?) : RecyclerView.Adapter<HistoryOrderAdapter.ViewHolder>() {
//item點擊事件 //item點擊事件
private var listenter: ((item: DataBean) -> Unit)? = null private var listenter: ((item: OrderItem) -> Unit)? = null
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
return ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.layout_history_order_item, parent, false)) return ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.layout_history_order_item, parent, false))
...@@ -38,11 +42,11 @@ class HistoryOrderAdapter(var stauts: String?, private val context: Context, var ...@@ -38,11 +42,11 @@ class HistoryOrderAdapter(var stauts: String?, private val context: Context, var
orderingMethodBg.shape = GradientDrawable.OVAL orderingMethodBg.shape = GradientDrawable.OVAL
holder.binding.orderingMethod = holder.binding.orderingMethod =
when { when {
data!!.order_type == 2 -> { data!!.orderType == 2 -> {
orderingMethodBg.setColor(getColor(R.color.order_state2_color)) orderingMethodBg.setColor(getColor(R.color.order_state2_color))
"外" "外"
} }
data.order_type == 7 -> { data.orderType == 7 -> {
orderingMethodBg.setColor(getColor(R.color.order_state3_color)) orderingMethodBg.setColor(getColor(R.color.order_state3_color))
"自" "自"
} }
...@@ -81,12 +85,86 @@ class HistoryOrderAdapter(var stauts: String?, private val context: Context, var ...@@ -81,12 +85,86 @@ class HistoryOrderAdapter(var stauts: String?, private val context: Context, var
} else if (stauts.equals("6")) { } else if (stauts.equals("6")) {
//已取消訂單 //已取消訂單
holder.iv_end.setImageResource(R.drawable.img_cancelled) holder.iv_end.setImageResource(R.drawable.img_cancelled)
setOrderReason(holder, stauts!!, data.orderPayType, data.reasonDesc);
} }
// setViewVisableByStatus(holder, stauts!!);
} else { } else {
holder.iv_end.setImageResource(R.drawable.ic_has_end) holder.iv_end.setImageResource(R.drawable.ic_has_end)
} }
} }
private fun setViewVisiableByStatus(holder: ViewHolder, status: String) {
when (status) {
"4" -> {
holder.tv_cancel_reason_text.visibility = View.GONE;
holder.tv_cancel_reason.visibility = View.GONE;
holder.tv_refund_reason_text.visibility = View.GONE;
holder.tv_refund_reason.visibility = View.GONE;
}
"6" -> {
holder.tv_cancel_reason_text.visibility = View.VISIBLE;
holder.tv_cancel_reason.visibility = View.VISIBLE;
holder.tv_refund_reason_text.visibility = View.VISIBLE;
holder.tv_refund_reason.visibility = View.VISIBLE;
}
}
}
private fun setOrderReason(holder: ViewHolder, status: String, orderPayType: Int, reasonDesc: String) {
var refundReason = getRefundReasonByStatus(status, orderPayType);
if (!TextUtils.isEmpty(refundReason)) {
if (status.equals("5")) {
holder.tv_refund_reason.setTextColor(getColor(R.color.green_400))
} else {
holder.tv_refund_reason.setTextColor(getColor(R.color.red))
}
holder.tv_refund_reason.setText(refundReason)
holder.tv_refund_reason_text.setText("退款進度:")
holder.tv_refund_reason_text.visibility = View.VISIBLE
holder.tv_refund_reason.visibility = View.VISIBLE
holder.tv_address_text.visibility = View.GONE
holder.tv_address.visibility = View.GONE
} else {
holder.tv_refund_reason_text.visibility = View.GONE
holder.tv_refund_reason.visibility = View.GONE
holder.tv_address_text.visibility = View.VISIBLE
holder.tv_address.visibility = View.VISIBLE
}
if (reasonDesc != null) {
holder.tv_cancel_reason.setText(reasonDesc)
holder.tv_cancel_reason_text.setText("取消原因:")
holder.tv_cancel_reason_text.visibility = View.VISIBLE
holder.tv_cancel_reason.visibility = View.VISIBLE
} else {
holder.tv_cancel_reason_text.visibility = View.GONE
holder.tv_cancel_reason.visibility = View.GONE
}
}
/**
* 獲取退款說明
*/
private fun getRefundReasonByStatus(status: String, orderPayType: Int): String {
when (status) {
"5" -> {
return "退款完成"
}
else -> {
when (orderPayType) {
PayTypeContract.PAY_METHOD_ID_1021 -> { //只有Google pay需要5-7天,其他支付方式都是秒退
return "退款中(預計5-7個工作日退回原賬戶)"
}
else -> {
return "無";
}
}
}
}
return "";
}
private fun getColor(color: Int): Int { private fun getColor(color: Int): Int {
return ContextCompat.getColor(context, color) return ContextCompat.getColor(context, color)
} }
...@@ -94,9 +172,15 @@ class HistoryOrderAdapter(var stauts: String?, private val context: Context, var ...@@ -94,9 +172,15 @@ class HistoryOrderAdapter(var stauts: String?, private val context: Context, var
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
var binding: LayoutHistoryOrderItemBinding = DataBindingUtil.bind(itemView)!! var binding: LayoutHistoryOrderItemBinding = DataBindingUtil.bind(itemView)!!
var iv_end = itemView.findViewById<ImageView>(R.id.iv_end) var iv_end = itemView.findViewById<ImageView>(R.id.iv_end)
var tv_address_text = itemView.findViewById<TextView>(R.id.tv_address_text)
var tv_address = itemView.findViewById<TextView>(R.id.tv_address)
var tv_cancel_reason_text = itemView.findViewById<TextView>(R.id.tv_cancel_reason_text)
var tv_cancel_reason = itemView.findViewById<TextView>(R.id.tv_cancel_reason)
var tv_refund_reason_text = itemView.findViewById<TextView>(R.id.tv_refund_reason_text)
var tv_refund_reason = itemView.findViewById<TextView>(R.id.tv_refund_reason)
} }
fun setOnItemClickListenter(listenter: (item: DataBean) -> Unit) { fun setOnItemClickListenter(listenter: (item: OrderItem) -> Unit) {
this.listenter = listenter this.listenter = listenter
} }
} }
\ No newline at end of file
...@@ -35,19 +35,19 @@ class HistoryFragment : BaseFragment(R.layout.fragment_other_order) { ...@@ -35,19 +35,19 @@ class HistoryFragment : BaseFragment(R.layout.fragment_other_order) {
refresh_layout.finishLoadMore() refresh_layout.finishLoadMore()
it?.let { _ -> it?.let { _ ->
refresh_layout.setEnableLoadMore((it.data != null && it.data!!.size > 0)) refresh_layout.setEnableLoadMore((it.data != null && it.data.list != null && it.data.list!!.size > 0))
if (mHistoryOrderAdapter == null) { if (mHistoryOrderAdapter == null) {
mHistoryOrderAdapter = it.data.let { it1 -> context?.let { it2 -> HistoryOrderAdapter(status.value, it2, it1) } } mHistoryOrderAdapter = it.data.list.let { it1 -> context?.let { it2 -> HistoryOrderAdapter(status.value, it2, it1) } }
rv_other_order.layoutManager = LinearLayoutManager(context) rv_other_order.layoutManager = LinearLayoutManager(context)
rv_other_order.adapter = mHistoryOrderAdapter rv_other_order.adapter = mHistoryOrderAdapter
mHistoryOrderAdapter!!.setOnItemClickListenter { it -> mHistoryOrderAdapter!!.setOnItemClickListenter { it ->
showLoading() showLoading()
viewModel.getOrderInfo(it.Id.toString()) { it2 -> viewModel.getOrderInfo(it.id.toString()) { it2 ->
cancelDialogForLoading() cancelDialogForLoading()
if (it2.data != null && it2.data!!.isNotEmpty()) { if (it2.data != null && it2.data!!.isNotEmpty()) {
//顯示彈窗 //顯示彈窗
context?.let { context -> context?.let { context ->
OtherOrderUtils.showOrderDetailsDialog(context, it2, it.STATUS, it.order_type, true) { _, _, _ -> OtherOrderUtils.showOrderDetailsDialog(context, it2, it.status, it.orderType, true) { _, _, _ ->
//重印 //重印
showLoading() showLoading()
viewModel.printOrder(context, it) { viewModel.printOrder(context, it) {
...@@ -66,15 +66,19 @@ class HistoryFragment : BaseFragment(R.layout.fragment_other_order) { ...@@ -66,15 +66,19 @@ class HistoryFragment : BaseFragment(R.layout.fragment_other_order) {
} }
} }
} else { } else {
mHistoryOrderAdapter!!.data = it.data mHistoryOrderAdapter!!.data = it.data.list
mHistoryOrderAdapter!!.stauts = status.value mHistoryOrderAdapter!!.stauts = status.value
mHistoryOrderAdapter!!.notifyDataSetChanged() mHistoryOrderAdapter!!.notifyDataSetChanged()
} }
} }
layout_nodata.setState(it?.data == null || it.data!!.size <= 0) layout_nodata.setState(it?.data == null || it.data?.list == null || it.data.list!!.size <= 0)
}) })
historyStartTime.observe(viewLifecycleOwner, Observer {
historyTime.observe(viewLifecycleOwner, Observer { //當時間發生變化,請求數據
pageIndex = 1
getHistoryInfo()
})
historyEndTime.observe(viewLifecycleOwner, Observer {
//當時間發生變化,請求數據 //當時間發生變化,請求數據
pageIndex = 1 pageIndex = 1
getHistoryInfo() getHistoryInfo()
...@@ -101,7 +105,7 @@ class HistoryFragment : BaseFragment(R.layout.fragment_other_order) { ...@@ -101,7 +105,7 @@ class HistoryFragment : BaseFragment(R.layout.fragment_other_order) {
private fun getHistoryInfo(page: Int = pageIndex) { private fun getHistoryInfo(page: Int = pageIndex) {
showLoading() showLoading()
viewModel.getHistoryOrderList(page.toString(), viewModel.searchValue.value!!, viewModel.historyTime.value!!, viewModel.historyTime.value!!, viewModel.status.value!!) viewModel.getHistoryOrderList(page.toString(), viewModel.searchValue.value!!, viewModel.historyStartTime.value!!, viewModel.historyEndTime.value!!, viewModel.status.value!!)
} }
......
...@@ -101,7 +101,7 @@ ...@@ -101,7 +101,7 @@
android:onClick="onClickListener" android:onClick="onClickListener"
android:textColor="@color/theme_333_color" android:textColor="@color/theme_333_color"
android:textSize="@dimen/dp_14" android:textSize="@dimen/dp_14"
android:visibility="gone" android:visibility="visible"
app:layout_constraintBottom_toBottomOf="@id/tv_to" app:layout_constraintBottom_toBottomOf="@id/tv_to"
app:layout_constraintLeft_toRightOf="@id/tv_to" app:layout_constraintLeft_toRightOf="@id/tv_to"
app:layout_constraintTop_toTopOf="@id/tv_to" /> app:layout_constraintTop_toTopOf="@id/tv_to" />
...@@ -112,7 +112,7 @@ ...@@ -112,7 +112,7 @@
android:layout_height="@dimen/dp_5" android:layout_height="@dimen/dp_5"
android:layout_marginLeft="@dimen/dp_2" android:layout_marginLeft="@dimen/dp_2"
android:onClick="onClickListener" android:onClick="onClickListener"
android:visibility="gone" android:visibility="visible"
app:layout_constraintBottom_toBottomOf="@id/tv_end_time" app:layout_constraintBottom_toBottomOf="@id/tv_end_time"
app:layout_constraintLeft_toRightOf="@id/tv_end_time" app:layout_constraintLeft_toRightOf="@id/tv_end_time"
app:layout_constraintTop_toTopOf="@id/tv_end_time" app:layout_constraintTop_toTopOf="@id/tv_end_time"
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<data> <data>
...@@ -8,7 +9,7 @@ ...@@ -8,7 +9,7 @@
<variable <variable
name="data" name="data"
type="com.gingersoft.gsa.delivery_pick_mode.data.model.bean.HistoryOrderBean.DataBean" /> type="com.gingersoft.gsa.delivery_pick_mode.data.model.bean.HistoryOrderBean.Data.OrderItem" />
<variable <variable
name="orderingMethod" name="orderingMethod"
...@@ -78,7 +79,7 @@ ...@@ -78,7 +79,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5" android:layout_marginTop="@dimen/dp_5"
android:text="@{data.rECEIVER}" android:text="@{data.receiver}"
android:textColor="@color/theme_333_color" android:textColor="@color/theme_333_color"
android:textSize="@dimen/sp_14" android:textSize="@dimen/sp_14"
android:textStyle="bold" android:textStyle="bold"
...@@ -92,7 +93,7 @@ ...@@ -92,7 +93,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_5" android:layout_marginLeft="@dimen/dp_5"
android:text="@{TimeUtils.parseTimeRepeat(data.cREATE_TIME,TimeUtils.DEFAULT_DATE_FORMAT)}" android:text="@{TimeUtils.parseTimeRepeat(data.createTime,TimeUtils.DEFAULT_DATE_FORMAT)}"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_order_user_name" /> app:layout_constraintTop_toTopOf="@id/tv_order_user_name" />
...@@ -102,8 +103,7 @@ ...@@ -102,8 +103,7 @@
android:layout_height="0dp" android:layout_height="0dp"
android:src="@drawable/ic_has_end" android:src="@drawable/ic_has_end"
app:layout_constraintBottom_toTopOf="@id/tv_order_amount" app:layout_constraintBottom_toTopOf="@id/tv_order_amount"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent" />
app:layout_constraintTop_toBottomOf="@id/tv_order_time" />
<androidx.constraintlayout.widget.Barrier <androidx.constraintlayout.widget.Barrier
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_5" android:layout_marginLeft="@dimen/dp_5"
android:text="@{data.PHONE}" android:text="@{data.phone}"
app:layout_constraintLeft_toRightOf="@id/barrier_order_info" app:layout_constraintLeft_toRightOf="@id/barrier_order_info"
app:layout_constraintRight_toLeftOf="@id/iv_end" app:layout_constraintRight_toLeftOf="@id/iv_end"
app:layout_constraintTop_toTopOf="@id/tv_cellphone_num_text" /> app:layout_constraintTop_toTopOf="@id/tv_cellphone_num_text" />
...@@ -138,7 +138,6 @@ ...@@ -138,7 +138,6 @@
<TextView <TextView
android:id="@+id/tv_order_num_text" android:id="@+id/tv_order_num_text"
style="@style/otherOrder_item_info_title_textStyle" style="@style/otherOrder_item_info_title_textStyle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_2" android:layout_marginLeft="@dimen/dp_2"
...@@ -152,7 +151,7 @@ ...@@ -152,7 +151,7 @@
style="@style/otherOrder_item_info_textStyle" style="@style/otherOrder_item_info_textStyle"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{data.ORDER_NO}" android:text="@{data.orderNo}"
app:layout_constraintLeft_toLeftOf="@id/tv_cellphone_num" app:layout_constraintLeft_toLeftOf="@id/tv_cellphone_num"
app:layout_constraintRight_toLeftOf="@id/iv_end" app:layout_constraintRight_toLeftOf="@id/iv_end"
app:layout_constraintTop_toTopOf="@id/tv_order_num_text" /> app:layout_constraintTop_toTopOf="@id/tv_order_num_text" />
...@@ -165,7 +164,7 @@ ...@@ -165,7 +164,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_2" android:layout_marginLeft="@dimen/dp_2"
android:layout_marginTop="@dimen/dp_5" android:layout_marginTop="@dimen/dp_5"
android:text="@{data.order_type==7?@string/meal_code:@string/address}" android:text="@{data.orderType==7?@string/meal_code:@string/address}"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_order_num_text" /> app:layout_constraintTop_toBottomOf="@id/tv_order_num_text" />
...@@ -174,7 +173,7 @@ ...@@ -174,7 +173,7 @@
style="@style/otherOrder_item_info_textStyle" style="@style/otherOrder_item_info_textStyle"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{data.order_type==7?data.takeFoodCode:data.ADDRESS_DETAIL}" android:text="@{data.orderType==7?data.takeFoodCode:data.addressDetail}"
app:layout_constraintLeft_toLeftOf="@id/tv_cellphone_num" app:layout_constraintLeft_toLeftOf="@id/tv_cellphone_num"
app:layout_constraintRight_toLeftOf="@id/iv_end" app:layout_constraintRight_toLeftOf="@id/iv_end"
app:layout_constraintTop_toTopOf="@id/tv_address_text" /> app:layout_constraintTop_toTopOf="@id/tv_address_text" />
...@@ -183,12 +182,62 @@ ...@@ -183,12 +182,62 @@
android:id="@+id/tv_order_amount" android:id="@+id/tv_order_amount"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{@string/amount_unit + data.PAY_AMOUNT}" android:text="@{@string/amount_unit + data.totalAmount}"
android:textColor="@color/red_600" android:textColor="@color/red_600"
android:textSize="@dimen/sp_14" android:textSize="@dimen/sp_14"
app:layout_constraintBottom_toBottomOf="@id/tv_address" app:layout_constraintBottom_toBottomOf="@id/tv_address"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_address" /> app:layout_constraintTop_toBottomOf="@id/tv_address" />
<TextView
android:id="@+id/tv_cancel_reason_text"
style="@style/otherOrder_item_info_title_textStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_2"
android:layout_marginTop="@dimen/dp_5"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/tv_address"
tools:text="取消原因: " />
<TextView
android:id="@+id/tv_cancel_reason"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/red_600"
android:textSize="@dimen/sp_14"
android:layout_marginLeft="@dimen/dp_2"
android:layout_marginTop="@dimen/dp_5"
android:visibility="gone"
app:layout_constraintLeft_toRightOf="@id/tv_cancel_reason_text"
app:layout_constraintTop_toBottomOf="@id/tv_address"
tools:text="商戶未確定" />
<TextView
android:id="@+id/tv_refund_reason_text"
style="@style/otherOrder_item_info_title_textStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_2"
android:layout_marginTop="@dimen/dp_5"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/tv_cancel_reason_text"
tools:text="退款進度: " />
<TextView
android:id="@+id/tv_refund_reason"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_2"
android:layout_marginTop="@dimen/dp_5"
android:textColor="@color/green_400"
android:textSize="@dimen/sp_14"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/tv_refund_reason_text"
app:layout_constraintLeft_toRightOf="@id/tv_refund_reason_text"
app:layout_constraintTop_toBottomOf="@id/tv_cancel_reason_text"
tools:text="退款完成" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</com.lihang.ShadowLayout> </com.lihang.ShadowLayout>
</layout> </layout>
\ No newline at end of file
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
<activity android:name=".mvp.ui.activity.SettlementActivity" /> <activity android:name=".mvp.ui.activity.SettlementActivity" />
<activity android:name=".mvp.ui.activity.SettlementReportActivity" /> <activity android:name=".mvp.ui.activity.SettlementReportActivity" />
<activity android:name=".mvp.ui.activity.LookLogActivity" /> <activity android:name=".mvp.ui.activity.LookLogActivity" />
<activity android:name=".mvp.ui.activity.OriginalPrintPaperActivity" />
<activity <activity
android:name=".mvp.ui.activity.menu.FoodMenuManageActivity" android:name=".mvp.ui.activity.menu.FoodMenuManageActivity"
android:launchMode="singleTask" android:launchMode="singleTask"
...@@ -52,4 +53,4 @@ ...@@ -52,4 +53,4 @@
android:value="640" /> android:value="640" />
</application> </application>
</manifest> </manifest>
\ No newline at end of file
package com.gingersoft.gsa.cloud.main.di.component;
import dagger.BindsInstance;
import dagger.Component;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.gsa.cloud.main.di.module.OriginalPrintPaperModule;
import com.gingersoft.gsa.cloud.main.mvp.contract.OriginalPrintPaperContract;
import com.jess.arms.di.scope.ActivityScope;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.OriginalPrintPaperActivity;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/25/2021 09:39
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
@Component(modules = OriginalPrintPaperModule.class, dependencies = AppComponent.class)
public interface OriginalPrintPaperComponent {
void inject(OriginalPrintPaperActivity activity);
@Component.Builder
interface Builder {
@BindsInstance
OriginalPrintPaperComponent.Builder view(OriginalPrintPaperContract.View view);
OriginalPrintPaperComponent.Builder appComponent(AppComponent appComponent);
OriginalPrintPaperComponent build();
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.main.di.module;
import com.jess.arms.di.scope.ActivityScope;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import com.gingersoft.gsa.cloud.main.mvp.contract.OriginalPrintPaperContract;
import com.gingersoft.gsa.cloud.main.mvp.model.OriginalPrintPaperModel;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/25/2021 09:39
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public abstract class OriginalPrintPaperModule {
@Binds
abstract OriginalPrintPaperContract.Model bindOriginalPrintPaperModel(OriginalPrintPaperModel model);
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.main.mvp.contract;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/25/2021 09:39
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public interface OriginalPrintPaperContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel{
}
}
package com.gingersoft.gsa.cloud.main.mvp.model;
import android.app.Application;
import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import com.jess.arms.di.scope.ActivityScope;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.main.mvp.contract.OriginalPrintPaperContract;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/25/2021 09:39
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
public class OriginalPrintPaperModel extends BaseModel implements OriginalPrintPaperContract.Model{
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public OriginalPrintPaperModel(IRepositoryManager repositoryManager) {
super(repositoryManager);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mGson = null;
this.mApplication = null;
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.main.mvp.presenter;
import android.app.Application;
import com.jess.arms.integration.AppManager;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.http.imageloader.ImageLoader;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.main.mvp.contract.OriginalPrintPaperContract;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/25/2021 09:39
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
public class OriginalPrintPaperPresenter extends BasePresenter<OriginalPrintPaperContract.Model, OriginalPrintPaperContract.View> {
@Inject
RxErrorHandler mErrorHandler;
@Inject
Application mApplication;
@Inject
ImageLoader mImageLoader;
@Inject
AppManager mAppManager;
@Inject
public OriginalPrintPaperPresenter (OriginalPrintPaperContract.Model model, OriginalPrintPaperContract.View rootView) {
super(model, rootView);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mErrorHandler = null;
this.mAppManager = null;
this.mImageLoader = null;
this.mApplication = null;
}
}
...@@ -211,9 +211,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl ...@@ -211,9 +211,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
@Override @Override
protected void onRestart() { protected void onRestart() {
super.onRestart(); super.onRestart();
String restaurantName = RestaurantInfoManager.newInstance().getRestaurantName(); updateTitleInfo();
tvStoreName.setText(restaurantName);
tvRestaurantName.setText(restaurantName);
} }
/** /**
...@@ -231,6 +229,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl ...@@ -231,6 +229,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_password, "修改密碼")); mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_password, "修改密碼"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "設置")); mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "設置"));
} }
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "廚房單原圖"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "查看日誌")); mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "查看日誌"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "上傳日誌")); mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "上傳日誌"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_settlement_report, "清機")); mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_settlement_report, "清機"));
...@@ -270,6 +269,9 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl ...@@ -270,6 +269,9 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
case "上傳日誌": case "上傳日誌":
LoganManager.uploadLog(mContext, true); LoganManager.uploadLog(mContext, true);
break; break;
case "廚房單原圖":
break;
} }
}); });
} }
......
package com.gingersoft.gsa.cloud.main.mvp.ui.activity;
import android.content.Intent;
import android.graphics.Rect;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.common.core.table.TableManagerItem;
import com.gingersoft.gsa.cloud.main.R;
import com.gingersoft.gsa.cloud.main.R2;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionHeader;
import com.gingersoft.gsa.cloud.ui.recylcler.event.OnRecyclerItemClickListener;
import com.gingersoft.gsa.cloud.ui.recylcler.event.RecyItemTouchHelperCallback;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.jess.arms.base.BaseFragmentActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.gingersoft.gsa.cloud.main.mvp.contract.OriginalPrintPaperContract;
import com.gingersoft.gsa.cloud.main.mvp.presenter.OriginalPrintPaperPresenter;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.widget.QMUITopBar;
import com.qmuiteam.qmui.widget.section.QMUISection;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout;
import java.util.List;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/25/2021 09:39
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public class OriginalPrintPaperActivity extends BaseFragmentActivity<OriginalPrintPaperPresenter> implements OriginalPrintPaperContract.View {
@BindView(R2.id.top_bar)
QMUITopBar mTopBar;
@BindView(R2.id.section_kitchen_prj)
QMUIStickySectionLayout mSectionLayout;
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
DaggerOriginalPrintPaperComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
.view(this)
.build()
.inject(this);
}
@Override
public int initView(@Nullable Bundle savedInstanceState) {
return R.layout.activity_original_print_paper; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
initStickyLayout();
}
@Override
public void initIntent() {
}
private void initStickyLayout() {
mSectionLayout.setLayoutManager(createLayoutManager());
mAdapter = new TableManageSectiontAdapter();
mAdapter.setCallback(new QMUIStickySectionAdapter.Callback<SectionHeader, TableManagerItem>() {
@Override
public void loadMore(QMUISection<SectionHeader, TableManagerItem> section, boolean loadMoreBefore) {
}
@Override
public void onItemClick(QMUIStickySectionAdapter.ViewHolder holder, int position) {
if (holder instanceof TableManageSectiontAdapter.ViewHolder) {
TableManageSectiontAdapter.ViewHolder viewHolder = (TableManageSectiontAdapter.ViewHolder) holder;
if (viewHolder.getTvName().getText() != null) {
TableManagerItem item = viewHolder.getTableItem(position);
if (item.getLayoutType() == 1) {
start(AddTableFragment.newInstance(item));
} else {
if (isRadioEdit) {
item.setChecked(!item.isChecked());
mAdapter.notifyItemChanged(position);
} else {
if (item.getUseStatus() == 0 && item.getStatus() == 0) {
start(AddTableFragment.newInstance(item));
} else {
CommonTipDialog.showSurpisedDialog(mActivity, item.getTableName() + "檯正在使用中", null, null, null, null, null);
}
}
}
}
} else {
//點擊的頭部,折疊
}
}
@Override
public boolean onItemLongClick(QMUIStickySectionAdapter.ViewHolder holder, int position) {
return false;
}
});
mSectionLayout.getRecyclerView().addItemDecoration(new RecyclerView.ItemDecoration() {
@Override
public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
if (view instanceof TextView) {
int margin = QMUIDisplayHelper.dp2px(getContext(), 10);
outRect.set(margin, margin, margin, margin);
} else {
outRect.set(5, 5, 5, 5);
}
}
});
RecyItemTouchHelperCallback itemTouchHelperCallback = new RecyItemTouchHelperCallback(mAdapter);
final ItemTouchHelper itemTouchHelper = new ItemTouchHelper(itemTouchHelperCallback);
itemTouchHelper.attachToRecyclerView(mSectionLayout.getRecyclerView());
mSectionLayout.getRecyclerView().addOnItemTouchListener(new OnRecyclerItemClickListener(mSectionLayout.getRecyclerView()) {
@Override
public void onItemClick(RecyclerView.ViewHolder viewHolder) {
}
@Override
public void onLongClick(RecyclerView.ViewHolder viewHolder) {
// QMUIStickySectionAdapter.ViewHolder viewHolder1 = (QMUIStickySectionAdapter.ViewHolder) viewHolder;
// Toast.makeText(mActivity, "長按:" + viewHolder1.getAdapterPosition(), Toast.LENGTH_SHORT).show();
// if (viewHolder.getLayoutPosition() != 0) {
// itemTouchHelper.startDrag(viewHolder);
// }
}
});
mSectionLayout.setAdapter(mAdapter, true);
}
private RecyclerView.LayoutManager createLayoutManager() {
final GridLayoutManager layoutManager = new GridLayoutManager(this, 2, LinearLayoutManager.VERTICAL, false);
layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int i) {
return mAdapter.getItemIndex(i) < 0 ? layoutManager.getSpanCount() : 1;
}
});
return layoutManager;
}
@Override
public void initTopBar() {
mTopBar.setBackgroundColor(ContextCompat.getColor(mContext, R.color.theme_color));
mTopBar.addLeftBackImageButton().setOnClickListener(v -> killMyself());
mTopBar.setTitle("廚房單原圖").setTextColor(ContextCompat.getColor(mContext, R.color.theme_white_color));
}
@Override
public void initLanguage() {
}
@Override
public void initLayoutParams() {
}
@Override
public void initLayoutVisible() {
}
@Override
public void showLoading(String message) {
}
@Override
public void hideLoading() {
}
@Override
public void showMessage(@NonNull String message) {
checkNotNull(message);
ArmsUtils.snackbarText(message);
}
@Override
public void launchActivity(@NonNull Intent intent) {
checkNotNull(intent);
ArmsUtils.startActivity(intent);
}
@Override
public void killMyself() {
finish();
}
}
package com.gingersoft.gsa.cloud.main.mvp.ui.adapter;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.FrameLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import com.gingersoft.gsa.cloud.common.core.table.TableManagerItem;
import com.gingersoft.gsa.cloud.common.utils.StringUtils;
import com.gingersoft.gsa.cloud.main.R;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionHeader;
import com.gingersoft.gsa.cloud.ui.view.TriangleLabelView;
import com.gingersoft.gsa.cloud.ui.view.qm.QDLoadingItemView;
import com.gingersoft.gsa.cloud.ui.view.section.QDSectionHeaderView;
import com.jess.arms.utils.DeviceUtils;
import com.qmuiteam.qmui.layout.QMUIRelativeLayout;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.widget.section.QMUIDefaultStickySectionAdapter;
import com.qmuiteam.qmui.widget.section.QMUISection;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter;
import java.util.HashMap;
import butterknife.BindView;
import butterknife.ButterKnife;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-02-09
* 修订历史:2020-02-09
* 描述:
*/
public class OriginalKitcherPrjSectiontAdapter extends QMUIDefaultStickySectionAdapter<SectionHeader, TableManagerItem> {
private Context context;
@NonNull
@Override
protected QMUIStickySectionAdapter.ViewHolder onCreateSectionHeaderViewHolder(@NonNull ViewGroup viewGroup) {
this.context = viewGroup.getContext();
return new QMUIStickySectionAdapter.ViewHolder(new QDSectionHeaderView(viewGroup.getContext()));
}
@NonNull
@Override
protected ViewHolder onCreateSectionItemViewHolder(@NonNull ViewGroup viewGroup) {
this.context = viewGroup.getContext();
return new ViewHolder(View.inflate(viewGroup.getContext(), R.layout.manager_item_manage_table, null));
}
@NonNull
@Override
protected QMUIStickySectionAdapter.ViewHolder onCreateSectionLoadingViewHolder(@NonNull ViewGroup viewGroup) {
return new QMUIStickySectionAdapter.ViewHolder(new QDLoadingItemView(viewGroup.getContext()));
}
@Override
protected void onBindSectionHeader(QMUIStickySectionAdapter.ViewHolder holder, int position, QMUISection<SectionHeader, TableManagerItem> section) {
super.onBindSectionHeader(holder, position, section);
QDSectionHeaderView itemView = (QDSectionHeaderView) holder.itemView;
itemView.render(section.getHeader(), section.isFold());
itemView.getArrowView().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int pos = holder.isForStickyHeader ? position : holder.getAdapterPosition();
toggleFold(pos, false);
}
});
}
@Override
protected void onBindSectionItem(QMUIStickySectionAdapter.ViewHolder holder, int position, QMUISection<SectionHeader, TableManagerItem> section, int itemIndex) {
super.onBindSectionItem(holder, position, section, itemIndex);
ViewHolder viewHolder = (ViewHolder) holder;
TableManagerItem tableItem = section.getItemAt(itemIndex);
}
public class ViewHolder extends QMUIStickySectionAdapter.ViewHolder {
@BindView(R2.id.ll_container)
QMUIRelativeLayout ll_container;
@BindView(R2.id.rl_table)
RelativeLayout rl_table;
@BindView(R2.id.tv_table)
TextView tv_table;
@BindView(R2.id.tv_people)
TextView tv_people;
// @BindView(R2.id.btn_showMain)
// Button btn_showMain;
// @BindView(R2.id.iv_vip)
// ImageView iv_vip;
// @BindView(R2.id.tv_scan_flag)
// TextView tv_scan_flag;
@BindView(R2.id.tv_service_fee)
TextView tv_service_fee;
@BindView(R2.id.cb_checked)
CheckBox cb_checked;
@BindView(R2.id.fl_add_table)
FrameLayout fl_add_table;
@BindView(R2.id.fl_table_type)
FrameLayout fl_table_type;
@BindView(R2.id.tlv_table_type)
TriangleLabelView tlv_table_type;
@BindView(R2.id.tv_type_labe)
TextView tv_type_labe;
public ViewHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
public TextView getTvName() {
return tv_table;
}
public TextView getTvServiceFee() {
return tv_service_fee;
}
public TableManagerItem getTableItem(int position) {
TableManagerItem item = getSectionItem(position);
return item;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="@dimen/pickerview_topbar_height"
android:fitsSystemWindows="true"
app:qmui_topbar_text_btn_color_state_list="@color/theme_white_color"
app:qmui_topbar_title_color="@color/theme_white_color" />
<com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout
android:id="@+id/section_kitchen_prj"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="?attr/qmui_topbar_height"/>
</LinearLayout>
\ No newline at end of file
...@@ -162,11 +162,6 @@ public class PayResultActivity extends BaseFragmentActivity<PayResultPresenter> ...@@ -162,11 +162,6 @@ public class PayResultActivity extends BaseFragmentActivity<PayResultPresenter>
} }
@Override @Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
}
@Override
public void initIntent() { public void initIntent() {
MealPayResultParam payResultParam = CCUtil.getNavigateParam(this, "payResultParam", null); MealPayResultParam payResultParam = CCUtil.getNavigateParam(this, "payResultParam", null);
if (payResultParam != null) { if (payResultParam != null) {
...@@ -281,14 +276,17 @@ public class PayResultActivity extends BaseFragmentActivity<PayResultPresenter> ...@@ -281,14 +276,17 @@ public class PayResultActivity extends BaseFragmentActivity<PayResultPresenter>
PosPay.printStub(mContext, this,txnId, new OnPosActionListener() { PosPay.printStub(mContext, this,txnId, new OnPosActionListener() {
@Override @Override
public void onPosSuccess(HywebPosResponse response) { public void onPosSuccess(HywebPosResponse response) {
printBill();
} }
@Override @Override
public void onPosException(Exception e) { public void onPosException(Exception e) {
printBill();
} }
@Override @Override
public void onPosInvalid(String e) { public void onPosInvalid(String e) {
printBill();
} }
@Override @Override
...@@ -362,7 +360,7 @@ public class PayResultActivity extends BaseFragmentActivity<PayResultPresenter> ...@@ -362,7 +360,7 @@ public class PayResultActivity extends BaseFragmentActivity<PayResultPresenter>
if (view.getId() == R.id.tv_tips) { if (view.getId() == R.id.tv_tips) {
showKeyboardDialog(); showKeyboardDialog();
} else if (view.getId() == R.id.tv_printer) { } else if (view.getId() == R.id.tv_printer) {
printBill(); printPaymentStub(mMealPayResultParam.getTxnId());
} else if (view.getId() == R.id.btn_complate) { } else if (view.getId() == R.id.btn_complate) {
//返回餐檯頁面 //返回餐檯頁面
CC.obtainBuilder(ComponentName.COMPONENT_TABLE) CC.obtainBuilder(ComponentName.COMPONENT_TABLE)
......
...@@ -373,6 +373,7 @@ public class PrintPrjKitchen extends PrinterRoot { ...@@ -373,6 +373,7 @@ public class PrintPrjKitchen extends PrinterRoot {
tvCurrentPageIndex.setText(prjBean.getCurrentIndex() + "/" + prjBean.getTotalPrj()); tvCurrentPageIndex.setText(prjBean.getCurrentIndex() + "/" + prjBean.getTotalPrj());
} }
} }
return viewToZoomBitmap(context, view, printerDeviceBean); return viewToZoomBitmap(context, view, printerDeviceBean);
} }
......
...@@ -33,7 +33,7 @@ import com.gingersoft.gsa.cloud.common.core.delivery.OrderDetails; ...@@ -33,7 +33,7 @@ import com.gingersoft.gsa.cloud.common.core.delivery.OrderDetails;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager; import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInfoUtils; import com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.common.core.table.TableBean; import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.common.utils.AidlUtil; import com.gingersoft.gsa.cloud.common.printer.AidlUtil;
import com.gingersoft.gsa.cloud.common.utils.other.TextUtil; import com.gingersoft.gsa.cloud.common.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.common.utils.threadPool.ThreadPoolManager; import com.gingersoft.gsa.cloud.common.utils.threadPool.ThreadPoolManager;
import com.gingersoft.gsa.cloud.common.utils.time.TimeUtils; import com.gingersoft.gsa.cloud.common.utils.time.TimeUtils;
......
...@@ -80,6 +80,7 @@ public class KitChenPrjFoodView extends LinearLayout { ...@@ -80,6 +80,7 @@ public class KitChenPrjFoodView extends LinearLayout {
} }
} }
} }
addView(view);
} }
} }
......
package com.gingersoft.gsa.cloud.table.mvp.action.order; package com.gingersoft.gsa.cloud.table.mvp.action.order;
import android.text.TextUtils; import android.text.TextUtils;
import com.gingersoft.gsa.cloud.common.logan.LoganManager; import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.patterns.Strategy; import com.gingersoft.gsa.cloud.common.patterns.Strategy;
import com.gingersoft.gsa.cloud.pay.bean.PosActionStatusExceptionParam; import com.gingersoft.gsa.cloud.pay.bean.PosActionStatusExceptionParam;
...@@ -14,6 +15,7 @@ import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.VoidRespose; ...@@ -14,6 +15,7 @@ import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.VoidRespose;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse; import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse;
import com.jess.arms.base.BaseFragmentActivity; import com.jess.arms.base.BaseFragmentActivity;
import com.jess.arms.base.delegate.IActivity;
import com.jess.arms.mvp.IView; import com.jess.arms.mvp.IView;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog; import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction; import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
...@@ -27,12 +29,12 @@ import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction; ...@@ -27,12 +29,12 @@ import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
public class CancelOrder implements Strategy<OrderManagerResponse> { public class CancelOrder implements Strategy<OrderManagerResponse> {
private final String TAG = "CancelOrder"; private final String TAG = "CancelOrder";
private BaseFragmentActivity mActivity; private BaseFragmentActivity mActivity;
private IView mRootView; private IView mRootView;
public CancelOrder(BaseFragmentActivity fragmentActivity, IView rootView){ public CancelOrder(BaseFragmentActivity fragmentActivity, IView rootView) {
this.mActivity = fragmentActivity; this.mActivity = fragmentActivity;
this.mRootView = rootView; this.mRootView = rootView;
} }
...@@ -43,6 +45,8 @@ public class CancelOrder implements Strategy<OrderManagerResponse> { ...@@ -43,6 +45,8 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void destroy() { public void destroy() {
mActivity = null;
mRootView = null;
} }
private void showCancelDialog(OrderManagerResponse datasBean) { private void showCancelDialog(OrderManagerResponse datasBean) {
...@@ -55,7 +59,7 @@ public class CancelOrder implements Strategy<OrderManagerResponse> { ...@@ -55,7 +59,7 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
if (datasBean.withHywebPay()) { if (datasBean.withHywebPay()) {
hywebOrderCancle(datasBean); hywebOrderCancle(datasBean);
} else { } else {
if(cancelListener != null){ if (cancelListener != null) {
cancelListener.cancel(datasBean.getId()); cancelListener.cancel(datasBean.getId());
} }
} }
...@@ -79,7 +83,7 @@ public class CancelOrder implements Strategy<OrderManagerResponse> { ...@@ -79,7 +83,7 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void onPosSuccess(VoidRespose response) { public void onPosSuccess(VoidRespose response) {
LoganManager.w_code(TAG, "onPosSuccess: " + response.toString()); LoganManager.w_code(TAG, "onPosSuccess: " + response.toString());
if(cancelListener != null){ if (cancelListener != null) {
cancelListener.refeshOrders(); cancelListener.refeshOrders();
} }
} }
...@@ -87,7 +91,8 @@ public class CancelOrder implements Strategy<OrderManagerResponse> { ...@@ -87,7 +91,8 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void onPosException(Exception e) { public void onPosException(Exception e) {
LoganManager.w_code(TAG, "onPosException: " + e.getMessage()); LoganManager.w_code(TAG, "onPosException: " + e.getMessage());
if (mActivity.findFragment(PosActionStatusExceptionFragment.class) == null) { PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class);
if (statusExceptionFragment == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam(); PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setTxnId(datasBean.getPayTxnId()); statusExceptionParam.setTxnId(datasBean.getPayTxnId());
statusExceptionParam.setAmount(datasBean.getAmount()); statusExceptionParam.setAmount(datasBean.getAmount());
...@@ -96,6 +101,8 @@ public class CancelOrder implements Strategy<OrderManagerResponse> { ...@@ -96,6 +101,8 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
statusExceptionParam.setPayMethodName("VISA測試"); statusExceptionParam.setPayMethodName("VISA測試");
statusExceptionParam.setPosAction(PosAction.VOID); statusExceptionParam.setPosAction(PosAction.VOID);
mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam)); mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}else{
mActivity.start(statusExceptionFragment);
} }
} }
...@@ -127,11 +134,14 @@ public class CancelOrder implements Strategy<OrderManagerResponse> { ...@@ -127,11 +134,14 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
} }
private OnCancelListener cancelListener; private OnCancelListener cancelListener;
public void setCancelListener(OnCancelListener cancelListener) { public void setCancelListener(OnCancelListener cancelListener) {
this.cancelListener = cancelListener; this.cancelListener = cancelListener;
} }
public interface OnCancelListener{
public interface OnCancelListener {
void cancel(long orderId); void cancel(long orderId);
void refeshOrders(); void refeshOrders();
} }
} }
...@@ -95,7 +95,8 @@ public class ModifyOrderAction implements Strategy<OrderManagerResponse> { ...@@ -95,7 +95,8 @@ public class ModifyOrderAction implements Strategy<OrderManagerResponse> {
@Override @Override
public void destroy() { public void destroy() {
mActivity = null;
mRootView = null;
} }
} }
...@@ -60,6 +60,8 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> { ...@@ -60,6 +60,8 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> {
@Override @Override
public void destroy() { public void destroy() {
mActivity = null;
mRootView = null;
} }
private void startPrintOrder(OrderManagerResponse orderDetailItem, List<OrderDetail> orderDetailList) { private void startPrintOrder(OrderManagerResponse orderDetailItem, List<OrderDetail> orderDetailList) {
......
...@@ -30,7 +30,7 @@ import java.util.List; ...@@ -30,7 +30,7 @@ import java.util.List;
*/ */
public class RefundOrder implements Strategy<OrderManagerResponse> { public class RefundOrder implements Strategy<OrderManagerResponse> {
private final String TAG = "RefundlOrder"; private final String TAG = "RefundlOrder";
private BaseFragmentActivity mActivity; private BaseFragmentActivity mActivity;
private IView mRootView; private IView mRootView;
...@@ -46,7 +46,8 @@ public class RefundOrder implements Strategy<OrderManagerResponse> { ...@@ -46,7 +46,8 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void destroy() { public void destroy() {
mActivity = null;
mRootView = null;
} }
private void showHywebRefundDialog(OrderManagerResponse datasBean) { private void showHywebRefundDialog(OrderManagerResponse datasBean) {
...@@ -88,7 +89,8 @@ public class RefundOrder implements Strategy<OrderManagerResponse> { ...@@ -88,7 +89,8 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void onPosException(Exception e) { public void onPosException(Exception e) {
LoganManager.w_code(TAG, "onPosException: " + e.getMessage()); LoganManager.w_code(TAG, "onPosException: " + e.getMessage());
if (mActivity.findFragment(PosActionStatusExceptionFragment.class) == null) { PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class);
if (statusExceptionFragment == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam(); PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setTxnId(datasBean.getPayTxnId()); statusExceptionParam.setTxnId(datasBean.getPayTxnId());
statusExceptionParam.setAmount(datasBean.getAmount()); statusExceptionParam.setAmount(datasBean.getAmount());
...@@ -97,6 +99,8 @@ public class RefundOrder implements Strategy<OrderManagerResponse> { ...@@ -97,6 +99,8 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
statusExceptionParam.setPayMethodName("VISA測試"); statusExceptionParam.setPayMethodName("VISA測試");
statusExceptionParam.setPosAction(PosAction.REFUND); statusExceptionParam.setPosAction(PosAction.REFUND);
mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam)); mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}else {
mActivity.start(statusExceptionFragment);
} }
} }
...@@ -114,7 +118,8 @@ public class RefundOrder implements Strategy<OrderManagerResponse> { ...@@ -114,7 +118,8 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void onUpdateStatusError(Throwable e) { public void onUpdateStatusError(Throwable e) {
LoganManager.w_code(TAG, "onUpdateStatusError: " + e.getMessage()); LoganManager.w_code(TAG, "onUpdateStatusError: " + e.getMessage());
if (mActivity.findFragment(PosActionStatusExceptionFragment.class) == null) { PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class);
if (statusExceptionFragment == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam(); PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setTxnId(datasBean.getPayTxnId()); statusExceptionParam.setTxnId(datasBean.getPayTxnId());
statusExceptionParam.setAmount(datasBean.getAmount()); statusExceptionParam.setAmount(datasBean.getAmount());
...@@ -123,6 +128,8 @@ public class RefundOrder implements Strategy<OrderManagerResponse> { ...@@ -123,6 +128,8 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
statusExceptionParam.setPayMethodName("VISA測試"); statusExceptionParam.setPayMethodName("VISA測試");
statusExceptionParam.setPosAction(PosAction.REFUND); statusExceptionParam.setPosAction(PosAction.REFUND);
mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam)); mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}else{
mActivity.start(statusExceptionFragment);
} }
} }
}); });
......
...@@ -42,6 +42,8 @@ public class TipsOrder implements Strategy<OrderManagerResponse> { ...@@ -42,6 +42,8 @@ public class TipsOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void destroy() { public void destroy() {
mActivity = null;
mRootView = null;
} }
private void showKeyboardDialog(OrderManagerResponse datasBean) { private void showKeyboardDialog(OrderManagerResponse datasBean) {
...@@ -75,7 +77,8 @@ public class TipsOrder implements Strategy<OrderManagerResponse> { ...@@ -75,7 +77,8 @@ public class TipsOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void onPosException(Exception e) { public void onPosException(Exception e) {
LoganManager.w_code(TAG, "onPosException: " + e.getMessage()); LoganManager.w_code(TAG, "onPosException: " + e.getMessage());
if (mActivity.findFragment(PosActionStatusExceptionFragment.class) == null) { PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class);
if (statusExceptionFragment == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam(); PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setTxnId(datasBean.getPayTxnId()); statusExceptionParam.setTxnId(datasBean.getPayTxnId());
statusExceptionParam.setAmount(datasBean.getAmount()); statusExceptionParam.setAmount(datasBean.getAmount());
...@@ -84,6 +87,8 @@ public class TipsOrder implements Strategy<OrderManagerResponse> { ...@@ -84,6 +87,8 @@ public class TipsOrder implements Strategy<OrderManagerResponse> {
statusExceptionParam.setPayMethodName("VISA測試"); statusExceptionParam.setPayMethodName("VISA測試");
statusExceptionParam.setPosAction(PosAction.TIP); statusExceptionParam.setPosAction(PosAction.TIP);
mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam)); mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}else{
mActivity.start(statusExceptionFragment);
} }
} }
...@@ -100,7 +105,8 @@ public class TipsOrder implements Strategy<OrderManagerResponse> { ...@@ -100,7 +105,8 @@ public class TipsOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void onUpdateStatusError(Throwable e) { public void onUpdateStatusError(Throwable e) {
LoganManager.w_code(TAG, "onUpdateStatusError: " + e.getMessage()); LoganManager.w_code(TAG, "onUpdateStatusError: " + e.getMessage());
if (mActivity.findFragment(PosActionStatusExceptionFragment.class) == null) { PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class);
if (statusExceptionFragment == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam(); PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setTxnId(datasBean.getPayTxnId()); statusExceptionParam.setTxnId(datasBean.getPayTxnId());
statusExceptionParam.setAmount(datasBean.getAmount()); statusExceptionParam.setAmount(datasBean.getAmount());
...@@ -109,6 +115,8 @@ public class TipsOrder implements Strategy<OrderManagerResponse> { ...@@ -109,6 +115,8 @@ public class TipsOrder implements Strategy<OrderManagerResponse> {
statusExceptionParam.setPayMethodName("VISA測試"); statusExceptionParam.setPayMethodName("VISA測試");
statusExceptionParam.setPosAction(PosAction.TIP); statusExceptionParam.setPosAction(PosAction.TIP);
mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam)); mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}else{
mActivity.start(statusExceptionFragment);
} }
} }
}); });
......
package com.gingersoft.gsa.cloud.table.mvp.contract; package com.gingersoft.gsa.cloud.table.mvp.contract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.mvp.IView; import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel; import com.jess.arms.mvp.IModel;
...@@ -28,6 +29,7 @@ public interface AllOrderContract { ...@@ -28,6 +29,7 @@ public interface AllOrderContract {
String getOrderType(); String getOrderType();
String getStatusByFragmentIndex(); String getStatusByFragmentIndex();
} }
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
......
...@@ -40,6 +40,8 @@ public interface OrderCenterContract { ...@@ -40,6 +40,8 @@ public interface OrderCenterContract {
String getStatusByFragmentIndex(); String getStatusByFragmentIndex();
int getPageSize(); int getPageSize();
void setOnCheckedChangedListener(OrderManagerResponse checkOrderBean);
} }
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
......
...@@ -11,6 +11,7 @@ import com.gingersoft.gsa.cloud.common.utils.AppDevices; ...@@ -11,6 +11,7 @@ import com.gingersoft.gsa.cloud.common.utils.AppDevices;
import com.gingersoft.gsa.cloud.order.bean.response.OrderDiscountResponse; import com.gingersoft.gsa.cloud.order.bean.response.OrderDiscountResponse;
import com.gingersoft.gsa.cloud.order.bean.response.OrderResponse; import com.gingersoft.gsa.cloud.order.bean.response.OrderResponse;
import com.gingersoft.gsa.cloud.pay.bean.PayMethod; import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import com.gingersoft.gsa.cloud.pay.pos.PosAction;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.constant.PayMethodConstant; import com.gingersoft.gsa.cloud.pay.pos.hywebpos.constant.PayMethodConstant;
import java.io.Serializable; import java.io.Serializable;
...@@ -277,8 +278,19 @@ public class OrderManagerResponse implements Serializable { ...@@ -277,8 +278,19 @@ public class OrderManagerResponse implements Serializable {
return ""; return "";
} }
public PosAction getPosActionByMatterId() {
if (!TextUtils.isEmpty(tipTxnId)) {
return PosAction.TIP;
} else if (!TextUtils.isEmpty(cancelTxnId)) {
return PosAction.VOID;
} else if (!TextUtils.isEmpty(refundTxnId)) {
return PosAction.REFUND;
}
return null;
}
/** /**
* 是是當前設備的訂單 * 是普通手機或者,POS是當前設備的訂單
* @return * @return
*/ */
public boolean isCurrDeviceOrder(){ public boolean isCurrDeviceOrder(){
......
...@@ -383,7 +383,8 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -383,7 +383,8 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
if (!TextUtils.isEmpty(orderBean.getTxnId())) { if (!TextUtils.isEmpty(orderBean.getTxnId())) {
//有支付異常事項需要處理 //有支付異常事項需要處理
if (IActivity.findFragment(PosActionStatusExceptionFragment.class) == null) { PosActionStatusExceptionFragment statusExceptionFragment = IActivity.findFragment(PosActionStatusExceptionFragment.class);
if (statusExceptionFragment == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam(); PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setTxnId(orderBean.getTxnId()); statusExceptionParam.setTxnId(orderBean.getTxnId());
statusExceptionParam.setAmount(orderBean.getTotalAmount()); statusExceptionParam.setAmount(orderBean.getTotalAmount());
...@@ -392,6 +393,8 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -392,6 +393,8 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
statusExceptionParam.setPayMethodName(orderBean.getPayName()); statusExceptionParam.setPayMethodName(orderBean.getPayName());
statusExceptionParam.setPosAction(PosAction.RETRIEVAL); statusExceptionParam.setPosAction(PosAction.RETRIEVAL);
IActivity.loadRootFragment(R.id.fl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam)); IActivity.loadRootFragment(R.id.fl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
} else {
IActivity.start(statusExceptionFragment);
} }
return; return;
} }
......
...@@ -97,6 +97,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -97,6 +97,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
private OrderCenterAdapter mOrderCenterAdapter; private OrderCenterAdapter mOrderCenterAdapter;
private List<OrderManagerResponse> mOrderItemList = new ArrayList<>(); private List<OrderManagerResponse> mOrderItemList = new ArrayList<>();
private OrderManagerResponse mCheckedOrderBean;
@Inject @Inject
public AllOrderPresenter(AllOrderContract.Model model, AllOrderContract.View rootView) { public AllOrderPresenter(AllOrderContract.Model model, AllOrderContract.View rootView) {
...@@ -112,6 +113,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -112,6 +113,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
this.mAppManager = null; this.mAppManager = null;
this.mImageLoader = null; this.mImageLoader = null;
this.mApplication = null; this.mApplication = null;
this.IActivity = null;
} }
public void initOrderAdapter(Context context) { public void initOrderAdapter(Context context) {
...@@ -126,36 +128,32 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -126,36 +128,32 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
intent.putExtra("orderDetailItem", datasBean); intent.putExtra("orderDetailItem", datasBean);
mRootView.launchActivity(intent); mRootView.launchActivity(intent);
} }
@Override
public void onPrintClick(OrderManagerResponse datasBean, int position) {
}
@Override @Override
public void onModifyClick(OrderManagerResponse datasBean, int position) { public void onCheckedChanged(OrderManagerResponse checkedOrder) {
} if (checkedOrder.isChecked()) {
mCheckedOrderBean = checkedOrder;
@Override } else {
public void onCancelClick(OrderManagerResponse datasBean, int position) { mCheckedOrderBean = null;
} }
IActivity.setOnCheckedChangedListener(mCheckedOrderBean);
@Override
public void onRefundClick(OrderManagerResponse datasBean, int position) {
}
@Override
public void onTipsClick(OrderManagerResponse datasBean, int position) {
} }
@Override @Override
public void onReloadExceptionStatus(OrderManagerResponse orderBean, String txnId) { public void onReloadExceptionStatus(OrderManagerResponse orderBean, String txnId) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam(); PosActionStatusExceptionFragment statusExceptionFragment = IActivity.findFragment(PosActionStatusExceptionFragment.class);
statusExceptionParam.setTxnId(txnId); if (statusExceptionFragment == null) {
statusExceptionParam.setAmount(orderBean.getTotalAmount()); PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setOrderId(orderBean.getId()); statusExceptionParam.setTxnId(txnId);
statusExceptionParam.setOrderNo(orderBean.getOrderNo()); statusExceptionParam.setAmount(orderBean.getTotalAmount());
statusExceptionParam.setPayMethodName(orderBean.getPayNames()); statusExceptionParam.setOrderId(orderBean.getId());
statusExceptionParam.setPosAction(PosAction.RETRIEVAL); statusExceptionParam.setOrderNo(orderBean.getOrderNo());
IActivity.loadRootFragment(R.id.fl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam)); statusExceptionParam.setPayMethodName(orderBean.getPayNames());
statusExceptionParam.setPosAction(orderBean.getPosActionByMatterId());
IActivity.loadRootFragment(R.id.fl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}else {
IActivity.start(statusExceptionFragment);
}
} }
}); });
} }
...@@ -175,13 +173,8 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -175,13 +173,8 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
} }
} }
public OrderManagerResponse getSelectedOrderItem(){ public OrderManagerResponse getCheckedOrderBean() {
for (OrderManagerResponse orderItem:mOrderItemList) { return mCheckedOrderBean;
if(orderItem.isChecked()){
return orderItem;
}
}
return null;
} }
} }
...@@ -74,7 +74,7 @@ public class BaseOrderConterPresenter<M extends IModel,V extends IView> extends ...@@ -74,7 +74,7 @@ public class BaseOrderConterPresenter<M extends IModel,V extends IView> extends
} }
public void orderTips(BaseFragmentActivity activity,OrderManagerResponse orderItem,TipsOrder.OnRefundListener listener){ public void orderTips(BaseFragmentActivity activity,OrderManagerResponse orderItem,TipsOrder.OnRefundListener listener){
TipsOrder tipsOrder = new TipsOrder(activity,mRootView); TipsOrder tipsOrder = new TipsOrder(activity,mRootView);
tipsOrder.action(orderItem); tipsOrder.action(orderItem);
tipsOrder.setTipsListener(listener); tipsOrder.setTipsListener(listener);
} }
......
...@@ -8,6 +8,7 @@ import com.gingersoft.gsa.cloud.common.utils.MoneyUtil; ...@@ -8,6 +8,7 @@ import com.gingersoft.gsa.cloud.common.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.order.bean.response.OrderDiscountResponse; import com.gingersoft.gsa.cloud.order.bean.response.OrderDiscountResponse;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.pay.bean.PayMethod; import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import com.gingersoft.gsa.cloud.pay.pos.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.pay.util.PayMethodUtils; import com.gingersoft.gsa.cloud.pay.util.PayMethodUtils;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract; import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract;
...@@ -88,8 +89,7 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo ...@@ -88,8 +89,7 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo
OrderManagerResponse orderDetailItem = JsonUtils.parseObject(JsonUtils.toJson(result.getData()), OrderManagerResponse.class); OrderManagerResponse orderDetailItem = JsonUtils.parseObject(JsonUtils.toJson(result.getData()), OrderManagerResponse.class);
mRootView.returnOrderDetail(orderDetailItem); mRootView.returnOrderDetail(orderDetailItem);
//刷新訂單列表 //刷新訂單列表
EventBus.getDefault().post(true, "updateOrderListEvent"); EventBus.getDefault().post(true, PosActionStatusExceptionFragment.REFREAFSH_ORDER_EVENT); } else {
} else {
mRootView.showMessage("獲取賬單失敗"); mRootView.showMessage("獲取賬單失敗");
} }
} else { } else {
...@@ -116,7 +116,7 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo ...@@ -116,7 +116,7 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo
OrderManagerResponse orderDetailItem = JsonUtils.parseObject(JsonUtils.toJson(result.getData()), OrderManagerResponse.class); OrderManagerResponse orderDetailItem = JsonUtils.parseObject(JsonUtils.toJson(result.getData()), OrderManagerResponse.class);
mRootView.returnOrderDetail(orderDetailItem); mRootView.returnOrderDetail(orderDetailItem);
//刷新訂單列表 //刷新訂單列表
EventBus.getDefault().post(true, "updateOrderListEvent"); EventBus.getDefault().post(true, PosActionStatusExceptionFragment.REFREAFSH_ORDER_EVENT);
} else { } else {
mRootView.showMessage("獲取賬單失敗"); mRootView.showMessage("獲取賬單失敗");
} }
......
...@@ -469,7 +469,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -469,7 +469,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
mAppManager.killActivity("PrintActivity"); mAppManager.killActivity("PrintActivity");
} }
}); });
RxJavaUtils.delay(1,TimeUnit.SECONDS) RxJavaUtils.delay(1, TimeUnit.SECONDS)
.subscribe(new Consumer<Long>() { .subscribe(new Consumer<Long>() {
@Override @Override
...@@ -480,24 +480,32 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -480,24 +480,32 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
} }
private void printBill() { private void printBill() {
//打印結賬單 if (AppDevices.isHywebPos()) {
PrintContent printContent = new PrintContentAdapter().adaptationBillContent(DoshokuOrder.getInstance(), DoshokuOrder.getInstance().getOpenTableInfo()); printEndBack();
CC.obtainBuilder(ComponentName.COMPONENT_PRINT) } else {
.setActionName("printActivity") //打印結賬單
.addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_BILL) PrintContent printContent = new PrintContentAdapter().adaptationBillContent(DoshokuOrder.getInstance(), DoshokuOrder.getInstance().getOpenTableInfo());
.addParam(PrintConstans.PRINT_CONTENT, printContent) CC.obtainBuilder(ComponentName.COMPONENT_PRINT)
.build() .setActionName("printActivity")
.callAsyncCallbackOnMainThread(new IComponentCallback() { .addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_BILL)
@Override .addParam(PrintConstans.PRINT_CONTENT, printContent)
public void onResult(CC cc, CCResult result) { .build()
LoganManager.w_code(TAG, "printBill " + "是否成功打印:" + result.isSuccess()); .callAsyncCallbackOnMainThread(new IComponentCallback() {
mAppManager.killActivity("PrintActivity"); @Override
mAppManager.killActivity(MealStandActivity.class); public void onResult(CC cc, CCResult result) {
mAppManager.killActivity(OrderContentActivity.class); LoganManager.w_code(TAG, "printBill " + "是否成功打印:" + result.isSuccess());
hideLoading(); printEndBack();
killMyself(); }
} });
}); }
}
private void printEndBack() {
hideLoading();
mAppManager.killActivity("PrintActivity");
mAppManager.killActivity(MealStandActivity.class);
mAppManager.killActivity(OrderContentActivity.class);
killMyself();
} }
private void setBillMoney() { private void setBillMoney() {
...@@ -532,20 +540,22 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -532,20 +540,22 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
if (hywebPayMethodIndex != -1) { if (hywebPayMethodIndex != -1) {
PayMethod hywebPayMethod = mBillMoneyList.get(hywebPayMethodIndex); PayMethod hywebPayMethod = mBillMoneyList.get(hywebPayMethodIndex);
SaleRequest saleRequest = new SaleRequest(); SaleRequest saleRequest = new SaleRequest();
if (hywebPayMethod.getPayType() == PayTypeContract.PAY_METHOD_ID_1030) { switch (hywebPayMethod.getPayType()) {
//卡片支付 case PayTypeContract.PAY_METHOD_ID_1030:
saleRequest.setPAYMENT_APP_ID(PayMethodConstant.PAY_TYPE_CC); saleRequest.setPAYMENT_APP_ID(PayMethodConstant.PAY_TYPE_CC);
} else if(hywebPayMethod.getPayType() == PayTypeContract.PAY_METHOD_ID_1031){ break;
//掃碼支付 case PayTypeContract.PAY_METHOD_ID_1031:
saleRequest.setPAYMENT_APP_ID(PayMethodConstant.PAY_TYPE_QRC); saleRequest.setPAYMENT_APP_ID(PayMethodConstant.PAY_TYPE_QRC);
}else if(hywebPayMethod.getPayType() == PayTypeContract.PAY_METHOD_ID_1032){ break;
//八達通支付 case PayTypeContract.PAY_METHOD_ID_1032:
saleRequest.setPAYMENT_APP_ID(PayMethodConstant.PAY_TYPE_OPS); saleRequest.setPAYMENT_APP_ID(PayMethodConstant.PAY_TYPE_OPS);
}else if(hywebPayMethod.getPayType() == PayTypeContract.PAY_METHOD_ID_1033){ break;
//美国运通 case PayTypeContract.PAY_METHOD_ID_1033:
saleRequest.setPAYMENT_APP_ID(PayMethodConstant.PAY_TYPE_AE); saleRequest.setPAYMENT_APP_ID(PayMethodConstant.PAY_TYPE_AE);
break;
default:
break;
} }
saleRequest.setTXN_AMT(DoshokuOrder.getInstance().getShoppingCart().getTotalAmount()); saleRequest.setTXN_AMT(DoshokuOrder.getInstance().getShoppingCart().getTotalAmount());
saleRequest.setTIPS(0); saleRequest.setTIPS(0);
......
...@@ -5,6 +5,7 @@ import android.os.Bundle; ...@@ -5,6 +5,7 @@ import android.os.Bundle;
import android.os.Message; import android.os.Message;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Button;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.LinearLayout; import android.widget.LinearLayout;
...@@ -75,17 +76,23 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent ...@@ -75,17 +76,23 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
@BindView(R2.id.ll_bottom) @BindView(R2.id.ll_bottom)
LinearLayout ll_bottom; LinearLayout ll_bottom;
@BindView(R2.id.btn_print_order)
QMUIAlphaButton btn_print_order;
@BindView(R2.id.btn_cancel_order)
QMUIAlphaButton btn_cancel_order;
@BindView(R2.id.btn_refund) @BindView(R2.id.btn_refund)
QMUIAlphaButton btn_refund; QMUIAlphaButton btn_refund;
@BindView(R2.id.btn_tips) @BindView(R2.id.btn_tips)
QMUIAlphaButton btn_tips; QMUIAlphaButton btn_tips;
@BindView(R2.id.btn_modify_order)
QMUIAlphaButton btn_modify_order;
private AllOrderFragment mNormalOrderFragment, mCancelOrderFragment, mVoidOrderFragment; private AllOrderFragment mNormalOrderFragment, mCancelOrderFragment, mVoidOrderFragment;
//當前顯示頁下標 //當前顯示頁下標
private int mCurrentFragmentIndex = 0; private int mCurrentFragmentIndex = 0;
//標題 //標題
private String[] mTabTitles = {"已付款", "已取消"}; private String[] mTabTitles = {"已付款", "已取消"};
// private String[] mTabTitles = {"堂食"}; // private String[] mTabTitles = {"堂食"};
//是否已經初始化數據,默認初始化第一個頁面 //是否已經初始化數據,默認初始化第一個頁面
private boolean[] mPageDataInit = {true, false, false}; private boolean[] mPageDataInit = {true, false, false};
...@@ -113,73 +120,68 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent ...@@ -113,73 +120,68 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
lp_content = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); lp_content = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
initTabAndPager(); initTabAndPager();
mPresenter.loadOrderList(OrderManagerResponse.ORDER_TYPE_DOSHOKU + "",getStatusByFragmentIndex(), 0, 10, null, false); mPresenter.loadOrderList(OrderManagerResponse.ORDER_TYPE_DOSHOKU + "", getStatusByFragmentIndex(), 0, 10, null, false);
}
@Subscriber(tag = "updateOrderListEvent")
private void updateOrderList(boolean update) {
refeshOrderList(getStatusByFragmentIndex());
} }
@Subscriber(tag = PosActionStatusExceptionFragment.REFREAFSH_ORDER_EVENT) @Subscriber(tag = PosActionStatusExceptionFragment.REFREAFSH_ORDER_EVENT)
private void refreafshOrder(boolean refreafsh){ private void refreafshOrder(boolean refreafsh) {
refeshOrderList(getStatusByFragmentIndex()); refeshOrderList(getStatusByFragmentIndex());
} }
public void refeshOrderList(String status) { public void refeshOrderList(String status) {
setPageIndex(0); setPageIndex(0);
mPresenter.loadOrderList(OrderManagerResponse.ORDER_TYPE_DOSHOKU + "",status, 0, 10, null, false); mPresenter.loadOrderList(OrderManagerResponse.ORDER_TYPE_DOSHOKU + "", status, 0, 10, null, false);
} }
public void loadOrderList(String orderType,String status, RefreshLayout refreshLayout, boolean isLoadMore) { public void loadOrderList(String orderType, String status, RefreshLayout refreshLayout, boolean isLoadMore) {
mPresenter.loadOrderList(orderType, status, getPageIndex(), getPageSize(), refreshLayout, isLoadMore); mPresenter.loadOrderList(orderType, status, getPageIndex(), getPageSize(), refreshLayout, isLoadMore);
} }
public void cancelOrder(long orderId, String orderType,String status) { public void cancelOrder(long orderId, String orderType, String status) {
mPresenter.cancelOrder(orderId, orderType,status); mPresenter.cancelOrder(orderId, orderType, status);
} }
@OnClick({R2.id.btn_print_order,R2.id.btn_modify_order,R2.id.btn_tips,R2.id.btn_cancel_order,R2.id.btn_refund}) @OnClick({R2.id.btn_print_order, R2.id.btn_modify_order, R2.id.btn_tips, R2.id.btn_cancel_order, R2.id.btn_refund})
public void OnClick(View v){ public void OnClick(View v) {
OrderManagerResponse orderItem = getCurrentOrderFragment().getSelectedOrderItem(); OrderManagerResponse orderItem = getCurrentOrderFragment().getCheckedOrderBean();
if(orderItem != null){ if (orderItem != null) {
int id = v.getId(); int id = v.getId();
if(id == R.id.btn_print_order){ if (id == R.id.btn_print_order) {
mPresenter.printOrder(this,orderItem); mPresenter.printOrder(this, orderItem);
}else if(id == R.id.btn_modify_order){ } else if (id == R.id.btn_modify_order) {
if (orderItem.getRestaurantTable() == null) { if (orderItem.getRestaurantTable() == null) {
showMessage("餐檯不存在,無法修改訂單"); showMessage("餐檯不存在,無法修改訂單");
return; return;
} }
mPresenter.modifyOrder(this,orderItem); mPresenter.modifyOrder(this, orderItem);
}else if(id == R.id.btn_tips){ } else if (id == R.id.btn_tips) {
mPresenter.orderTips(this, orderItem, new TipsOrder.OnRefundListener() { mPresenter.orderTips(this, orderItem, new TipsOrder.OnRefundListener() {
@Override @Override
public void refeshOrders() { public void refeshOrders() {
refeshOrderList(getStatusByFragmentIndex()); refreafshOrder(true);
} }
}); });
}else if(id == R.id.btn_cancel_order){ } else if (id == R.id.btn_cancel_order) {
mPresenter.orderCancel(this, orderItem, new CancelOrder.OnCancelListener() { mPresenter.orderCancel(this, orderItem, new CancelOrder.OnCancelListener() {
@Override @Override
public void cancel(long orderId) { public void cancel(long orderId) {
cancelOrder(orderId, getOrderType(),getStatusByFragmentIndex()); cancelOrder(orderId, getOrderType(), getStatusByFragmentIndex());
} }
@Override @Override
public void refeshOrders() { public void refeshOrders() {
refreafshOrder(true);
} }
}); });
}else if(id == R.id.btn_refund){ } else if (id == R.id.btn_refund) {
mPresenter.orderRefund(this, orderItem, new RefundOrder.OnRefundListener() { mPresenter.orderRefund(this, orderItem, new RefundOrder.OnRefundListener() {
@Override @Override
public void refeshOrders() { public void refeshOrders() {
refeshOrderList(getStatusByFragmentIndex()); refreafshOrder(true);
} }
}); });
} }
}else { } else {
showMessage("請選中需要操作的訂單!"); showMessage("請選中需要操作的訂單!");
} }
} }
...@@ -249,7 +251,7 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent ...@@ -249,7 +251,7 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
pagerAdapter.createFragment(index); pagerAdapter.createFragment(index);
if (!mPageDataInit[index]) { if (!mPageDataInit[index]) {
//未初始化數據,獲取數據 //未初始化數據,獲取數據
loadOrderList(getCurrentOrderFragment().getOrderType(),getStatusByFragmentIndex(), null, false); loadOrderList(getCurrentOrderFragment().getOrderType(), getStatusByFragmentIndex(), null, false);
} }
mPageDataInit[mCurrentFragmentIndex] = true; mPageDataInit[mCurrentFragmentIndex] = true;
...@@ -370,6 +372,29 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent ...@@ -370,6 +372,29 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
} }
@Override @Override
public void setOnCheckedChangedListener(OrderManagerResponse checkOrderBean) {
if (checkOrderBean != null) {
if (checkOrderBean.isCurrDeviceOrder()) {
setBtnEnabled(btn_cancel_order, true);
setBtnEnabled(btn_modify_order, true);
} else {
setBtnEnabled(btn_cancel_order, false);
setBtnEnabled(btn_modify_order, false);
}
setBtnEnabled(btn_print_order, true);
} else {
setBtnEnabled(btn_print_order, false);
setBtnEnabled(btn_cancel_order, false);
setBtnEnabled(btn_modify_order, false);
}
}
private void setBtnEnabled(Button btn, boolean enabled) {
btn.setEnabled(enabled);
btn.setClickable(enabled);
}
@Override
public AllOrderFragment getCurrentOrderFragment() { public AllOrderFragment getCurrentOrderFragment() {
switch (mCurrentFragmentIndex) { switch (mCurrentFragmentIndex) {
case 1: case 1:
...@@ -387,12 +412,12 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent ...@@ -387,12 +412,12 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
} }
@Override @Override
public String getStatusByFragmentIndex(){ public String getStatusByFragmentIndex() {
switch (mCurrentFragmentIndex) { switch (mCurrentFragmentIndex) {
case 1: case 1:
return OrderStatusContract.STATUS_6+""; return OrderStatusContract.STATUS_6 + "";
default: default:
return OrderStatusContract.STATUS_4+","+OrderStatusContract.STATUS_5; return OrderStatusContract.STATUS_4 + "," + OrderStatusContract.STATUS_5;
} }
} }
......
...@@ -211,7 +211,7 @@ public class OrderDetailActivity extends BaseFragmentActivity<OrderDetailPresent ...@@ -211,7 +211,7 @@ public class OrderDetailActivity extends BaseFragmentActivity<OrderDetailPresent
} }
@Subscriber(tag = PosActionStatusExceptionFragment.REFREAFSH_ORDER_EVENT) @Subscriber(tag = PosActionStatusExceptionFragment.REFREAFSH_ORDER_EVENT)
private void refreafshOrder(boolean refreafsh){ private void refreafshOrder(boolean refreafsh) {
refreafshOrderDetail(); refreafshOrderDetail();
} }
...@@ -219,13 +219,13 @@ public class OrderDetailActivity extends BaseFragmentActivity<OrderDetailPresent ...@@ -219,13 +219,13 @@ public class OrderDetailActivity extends BaseFragmentActivity<OrderDetailPresent
public void onClick(View v) { public void onClick(View v) {
int id = v.getId(); int id = v.getId();
if (id == R.id.btn_print_order) { if (id == R.id.btn_print_order) {
mPresenter.printOrder(this,mOrderDetailItem); mPresenter.printOrder(this, mOrderDetailItem);
} else if (id == R.id.btn_modify_order) { } else if (id == R.id.btn_modify_order) {
if (mOrderDetailItem.getRestaurantTable() == null) { if (mOrderDetailItem.getRestaurantTable() == null) {
showMessage("餐檯不存在,無法修改訂單"); showMessage("餐檯不存在,無法修改訂單");
return; return;
} }
mPresenter.modifyOrder(this,mOrderDetailItem); mPresenter.modifyOrder(this, mOrderDetailItem);
} else if (id == R.id.btn_cancel_order) { } else if (id == R.id.btn_cancel_order) {
mPresenter.orderCancel(this, mOrderDetailItem, new CancelOrder.OnCancelListener() { mPresenter.orderCancel(this, mOrderDetailItem, new CancelOrder.OnCancelListener() {
@Override @Override
...@@ -344,16 +344,16 @@ public class OrderDetailActivity extends BaseFragmentActivity<OrderDetailPresent ...@@ -344,16 +344,16 @@ public class OrderDetailActivity extends BaseFragmentActivity<OrderDetailPresent
if (mOrderDetailItem.getRestaurantOperationId() != null) { if (mOrderDetailItem.getRestaurantOperationId() != null) {
setWithSettlementLayoutVisible(); setWithSettlementLayoutVisible();
} else { } else {
if(mOrderDetailItem.withHywebPay()){ if (mOrderDetailItem.withHywebPay()) {
if(mOrderDetailItem.isCurrDeviceOrder()){ if (mOrderDetailItem.isCurrDeviceOrder()) {
setCurrPosDeviceLayoutVisible(); setCurrPosDeviceLayoutVisible();
}else { } else {
setNotCurrPosDeviceLayoutVisible(); setNotCurrPosDeviceLayoutVisible();
} }
}else{ } else {
setNomalDeviceLayoutVisible(); setNomalDeviceLayoutVisible();
} }
setPublicLayoutVisible(); setPublicLayoutVisible();
} }
} }
...@@ -439,47 +439,55 @@ public class OrderDetailActivity extends BaseFragmentActivity<OrderDetailPresent ...@@ -439,47 +439,55 @@ public class OrderDetailActivity extends BaseFragmentActivity<OrderDetailPresent
@Override @Override
public void setCurrPosDeviceLayoutVisible() { public void setCurrPosDeviceLayoutVisible() {
boolean containCard = mPresenter.containCardPayment(mOrderDetailItem.getOrderPays());
if (containCard) {
//當前設備訂單,且只有卡片支付才支持補小費
btn_tips.setVisibility(View.VISIBLE);
} else {
btn_tips.setVisibility(View.GONE);
}
if (!TextUtils.isEmpty(mOrderDetailItem.getCancelTxnId())) {
tv_order_status.setText("已取消");
tv_order_status.setVisibility(View.VISIBLE);
ll_bottom.setVisibility(View.GONE);
}else if (!TextUtils.isEmpty(mOrderDetailItem.getRefundTxnId())) {
tv_order_status.setVisibility(View.VISIBLE);
tv_order_status.setText("已退款");
ll_bottom.setVisibility(View.GONE);
}
//N5 POS異常重試 //N5 POS異常重試
if(mOrderDetailItem.getMatterStatus() == OrderManagerResponse.MATTER_STATUS_EXCEPTION){ if (mOrderDetailItem.getMatterStatus() == OrderManagerResponse.MATTER_STATUS_EXCEPTION) {
tv_reload_exception_status.setText(mOrderDetailItem.getExceptionReloadText()); tv_reload_exception_status.setText(mOrderDetailItem.getExceptionReloadText());
tv_reload_exception_status.setVisibility(View.VISIBLE); tv_reload_exception_status.setVisibility(View.VISIBLE);
tv_reload_exception_status.setOnClickListener(new View.OnClickListener() { tv_reload_exception_status.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam(); PosActionStatusExceptionFragment statusExceptionFragment = findFragment(PosActionStatusExceptionFragment.class);
statusExceptionParam.setTxnId(mOrderDetailItem.getMatterTxnId()); if (statusExceptionFragment == null) {
statusExceptionParam.setAmount(mOrderDetailItem.getTotalAmount()); PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setOrderId(mOrderDetailItem.getId()); statusExceptionParam.setTxnId(mOrderDetailItem.getMatterTxnId());
statusExceptionParam.setOrderNo(mOrderDetailItem.getOrderNo()); statusExceptionParam.setAmount(mOrderDetailItem.getTotalAmount());
statusExceptionParam.setPayMethodName(mOrderDetailItem.getPayNames()); statusExceptionParam.setOrderId(mOrderDetailItem.getId());
statusExceptionParam.setPosAction(PosAction.RETRIEVAL); statusExceptionParam.setOrderNo(mOrderDetailItem.getOrderNo());
loadRootFragment(R.id.fl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam)); statusExceptionParam.setPayMethodName(mOrderDetailItem.getPayNames());
statusExceptionParam.setPosAction(mOrderDetailItem.getPosActionByMatterId());
loadRootFragment(R.id.fl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
} else {
start(statusExceptionFragment);
}
} }
}); });
rl_container.setVisibility(View.VISIBLE); rl_container.setVisibility(View.VISIBLE);
rl_container.setBackgroundResource(R.color.transparent); rl_container.setBackgroundResource(R.color.transparent);
}else { ll_bottom.setVisibility(View.GONE);
} else {
tv_reload_exception_status.setText(""); tv_reload_exception_status.setText("");
tv_reload_exception_status.setVisibility(View.GONE); tv_reload_exception_status.setVisibility(View.GONE);
tv_reload_exception_status.setOnClickListener(null); tv_reload_exception_status.setOnClickListener(null);
rl_container.setVisibility(View.GONE); rl_container.setVisibility(View.GONE);
rl_container.setBackgroundResource(R.color.trans); rl_container.setBackgroundResource(R.color.trans);
ll_bottom.setVisibility(View.VISIBLE);
boolean containCard = mPresenter.containCardPayment(mOrderDetailItem.getOrderPays());
if (containCard) {
//當前設備訂單,且只有卡片支付才支持補小費
btn_tips.setVisibility(View.VISIBLE);
} else {
btn_tips.setVisibility(View.GONE);
}
if (!TextUtils.isEmpty(mOrderDetailItem.getCancelTxnId())) {
tv_order_status.setText("已取消");
tv_order_status.setVisibility(View.VISIBLE);
ll_bottom.setVisibility(View.GONE);
} else if (!TextUtils.isEmpty(mOrderDetailItem.getRefundTxnId())) {
tv_order_status.setVisibility(View.VISIBLE);
tv_order_status.setText("已退款");
ll_bottom.setVisibility(View.GONE);
}
} }
} }
......
...@@ -254,8 +254,8 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements ...@@ -254,8 +254,8 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
} }
@Nullable @Nullable
public OrderManagerResponse getSelectedOrderItem(){ public OrderManagerResponse getCheckedOrderBean(){
return mPresenter.getSelectedOrderItem(); return mPresenter.getCheckedOrderBean();
} }
public RefreshLayout getRefreshLayout() { public RefreshLayout getRefreshLayout() {
......
...@@ -32,11 +32,6 @@ ...@@ -32,11 +32,6 @@
android:fitsSystemWindows="true"/> android:fitsSystemWindows="true"/>
</LinearLayout> </LinearLayout>
<FrameLayout
android:id="@+id/rl_container"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<LinearLayout <LinearLayout
android:id="@+id/ll_bottom" android:id="@+id/ll_bottom"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -53,7 +48,9 @@ ...@@ -53,7 +48,9 @@
android:background="@color/orange_400" android:background="@color/orange_400"
android:text="打印訂單" android:text="打印訂單"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13"
android:clickable="false"
android:enabled="false"/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton <com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id="@+id/btn_modify_order" android:id="@+id/btn_modify_order"
...@@ -64,7 +61,9 @@ ...@@ -64,7 +61,9 @@
android:text="修改訂單" android:text="修改訂單"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13"
android:visibility="visible" /> android:visibility="visible"
android:clickable="false"
android:enabled="false"/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton <com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id="@+id/btn_order_status" android:id="@+id/btn_order_status"
...@@ -87,7 +86,9 @@ ...@@ -87,7 +86,9 @@
android:text="取消訂單" android:text="取消訂單"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13"
android:visibility="visible" /> android:visibility="visible"
android:clickable="false"
android:enabled="false"/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton <com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id="@+id/btn_refund" android:id="@+id/btn_refund"
...@@ -98,7 +99,9 @@ ...@@ -98,7 +99,9 @@
android:text="退款" android:text="退款"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13"
android:visibility="gone"/> android:visibility="gone"
android:clickable="false"
android:enabled="false"/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton <com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id="@+id/btn_tips" android:id="@+id/btn_tips"
...@@ -109,7 +112,9 @@ ...@@ -109,7 +112,9 @@
android:text="貼士" android:text="貼士"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13"
android:visibility="gone"/> android:visibility="gone"
android:clickable="false"
android:enabled="false"/>
</LinearLayout> </LinearLayout>
<FrameLayout <FrameLayout
......
...@@ -7,8 +7,8 @@ ext { ...@@ -7,8 +7,8 @@ ext {
targetSdkVersion : 29, targetSdkVersion : 29,
//正式版: 1.0.3 3 //正式版: 1.0.3 3
//內部測試版:1.2.0 20 //內部測試版:1.2.0 20
versionCode : 20, versionCode : 21,
versionName : "1.2.0" versionName : "1.2.1"
] ]
version = [ version = [
......
...@@ -5,6 +5,7 @@ import android.content.Context; ...@@ -5,6 +5,7 @@ import android.content.Context;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.os.Build; import android.os.Build;
import android.os.RemoteException; import android.os.RemoteException;
...@@ -45,16 +46,19 @@ import com.gingersoft.gsa.cloud.common.loadsir.pos.PosTipsStatusExceptionCallbac ...@@ -45,16 +46,19 @@ import com.gingersoft.gsa.cloud.common.loadsir.pos.PosTipsStatusExceptionCallbac
import com.gingersoft.gsa.cloud.common.loadsir.pos.PosVoidStatusExceptionCallback; import com.gingersoft.gsa.cloud.common.loadsir.pos.PosVoidStatusExceptionCallback;
import com.gingersoft.gsa.cloud.common.logan.LoganManager; import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.oaId.DeviceID; import com.gingersoft.gsa.cloud.common.oaId.DeviceID;
import com.gingersoft.gsa.cloud.common.utils.AidlUtil; import com.gingersoft.gsa.cloud.common.printer.AidlUtil;
import com.gingersoft.gsa.cloud.common.utils.AppDevices; import com.gingersoft.gsa.cloud.common.printer.plugins.PrintPaperPlugins;
import com.gingersoft.gsa.cloud.common.printer.plugins.PrinterFlowListener;
import com.gingersoft.gsa.cloud.common.utils.FileUtils; import com.gingersoft.gsa.cloud.common.utils.FileUtils;
import com.gingersoft.gsa.cloud.common.utils.crash.AppCrashHandler; import com.gingersoft.gsa.cloud.common.utils.crash.AppCrashHandler;
import com.gingersoft.gsa.cloud.common.utils.log.LogUtil; import com.gingersoft.gsa.cloud.common.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.common.utils.other.SPUtils; import com.gingersoft.gsa.cloud.common.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.common.utils.view.BitmapUtil;
import com.gingersoft.gsa.cloud.common.utils.xlog.MyBackupStrategy; import com.gingersoft.gsa.cloud.common.utils.xlog.MyBackupStrategy;
import com.gingersoft.gsa.cloud.component.ComponentAction; import com.gingersoft.gsa.cloud.component.ComponentAction;
import com.gingersoft.gsa.cloud.component.ComponentName; import com.gingersoft.gsa.cloud.component.ComponentName;
import com.gingersoft.gsa.cloud.database.DaoManager; import com.gingersoft.gsa.cloud.database.DaoManager;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.hyweb.n5.lib.exception.NoInitPrinterException; import com.hyweb.n5.lib.exception.NoInitPrinterException;
import com.hyweb.n5.lib.util.PrinterUtil; import com.hyweb.n5.lib.util.PrinterUtil;
import com.jess.arms.base.BaseApplication; import com.jess.arms.base.BaseApplication;
...@@ -62,10 +66,18 @@ import com.kingja.loadsir.core.LoadSir; ...@@ -62,10 +66,18 @@ import com.kingja.loadsir.core.LoadSir;
import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.footer.ClassicsFooter; import com.scwang.smartrefresh.layout.footer.ClassicsFooter;
import com.scwang.smartrefresh.layout.header.ClassicsHeader; import com.scwang.smartrefresh.layout.header.ClassicsHeader;
import com.xuexiang.rxutil2.rxjava.RxJavaUtils;
import com.xuexiang.rxutil2.rxjava.task.RxIOTask;
import java.io.File; import java.io.File;
import java.util.Iterator;
import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Map;
import java.util.Set;
import io.reactivex.functions.Consumer;
import io.reactivex.plugins.RxJavaPlugins;
import me.jessyan.autosize.AutoSize; import me.jessyan.autosize.AutoSize;
import me.jessyan.autosize.AutoSizeConfig; import me.jessyan.autosize.AutoSizeConfig;
import me.jessyan.autosize.onAdaptListener; import me.jessyan.autosize.onAdaptListener;
...@@ -145,12 +157,15 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -145,12 +157,15 @@ public class GsaCloudApplication extends BaseApplication {
initXLog(); initXLog();
//初始化crash記錄 //初始化crash記錄
AppCrashHandler.getInstance().init(this); AppCrashHandler.getInstance().init(this);
//初始化Rxjava相關
initRxjava();
uiStyleConfiguration = new UIStyleExtendedConfiguration(); uiStyleConfiguration = new UIStyleExtendedConfiguration();
functionConfiguration = new FunctionExtendedConfiguration(); functionConfiguration = new FunctionExtendedConfiguration();
//上傳餐廳擴展信息 //上傳餐廳擴展信息
ExpandInfoSetting.initUpdateExtendedConfiguration(uiStyleConfiguration, functionConfiguration); ExpandInfoSetting.initUpdateExtendedConfiguration(uiStyleConfiguration, functionConfiguration);
LoganManager.w_action(TAG, TAG + ": onCreate end....."); LoganManager.w_action(TAG, TAG + ": onCreate end.....");
} }
...@@ -196,13 +211,24 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -196,13 +211,24 @@ public class GsaCloudApplication extends BaseApplication {
*/ */
private void initHywebCommandImpl() { private void initHywebCommandImpl() {
// if (AppDevices.isHywebPos()) { // if (AppDevices.isHywebPos()) {
CC.obtainBuilder(ComponentName.COMPONENT_LOGIN) CC.obtainBuilder(ComponentName.COMPONENT_LOGIN)
.setActionName(ComponentAction.Login.INIT_HYWEB_COMMAND_IMPL) .setActionName(ComponentAction.Login.INIT_HYWEB_COMMAND_IMPL)
.build() .build()
.call(); .call();
// } // }
} }
private void initRxjava() {
//全局Rxjava異常
RxJavaPlugins.setErrorHandler(new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) {
//异常处理
LoganManager.w_code(TAG, "onRxJavaErrorHandler: " + throwable.getMessage());
}
});
}
public Activity getCurrentActivity() { public Activity getCurrentActivity() {
return mCurrentActivity; return mCurrentActivity;
} }
...@@ -307,6 +333,94 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -307,6 +333,94 @@ public class GsaCloudApplication extends BaseApplication {
//這個默認值的優先級<用戶在打印機列表中設置的默認打印機 //這個默認值的優先級<用戶在打印機列表中設置的默認打印機
SPUtils.put(PrintConstans.DEFAULT_PRINT_METHOD, PrintConstans.IP_PRINT); SPUtils.put(PrintConstans.DEFAULT_PRINT_METHOD, PrintConstans.IP_PRINT);
} }
//打印流程
PrintPaperPlugins.setOnPrinterFlowHandler(new PrinterFlowListener() {
@Override
public void onPrinterDataBefore(String printerData, String printerDeviceInfo) {
LoganManager.w_code(TAG, "onPrinterDataBefore printerData=" + printerData + " printerDeviceInfo=" + printerDeviceInfo);
}
@Override
public void onPrinterBitmapBefore(String directoryName, List<Map<String, Bitmap>> bitmaps) {
LoganManager.w_code(TAG, "onPrinterBitmapBefore");
RxIOTask rxIOTask = new RxIOTask(0) {
@Override
public Object doInIOThread(Object o) {
long FILE_SIZE = FileUtils.getFileSize(FileUtils.PrinterImagePath.KITCHEN_PRJ_IMAGE_PATH);
if (FILE_SIZE > FileUtils.PrinterImagePath.PRINTER_MAX_FILE_SIZE) {
//大於100M 就刪除
File prjPath = new File(FileUtils.PrinterImagePath.KITCHEN_PRJ_IMAGE_PATH);
if (prjPath.isDirectory()) {
File[] prjDirectorys = prjPath.listFiles();
for (int i = prjDirectorys.length - 1; i >= 0; i--) {
File prjDirectory = prjDirectorys[i];
boolean deleteResult = prjDirectory.delete();
if (deleteResult && FILE_SIZE <= FileUtils.PrinterImagePath.PRINTER_KEEP_FILE_SIZE) {
FILE_SIZE = FileUtils.getFileSize(FileUtils.PrinterImagePath.KITCHEN_PRJ_IMAGE_PATH);
LoganManager.w_code(TAG, "onPrinterBitmapBefore delete kitchen prj file after size :" + FILE_SIZE);
break;
}
}
}
}
for (Map<String, Bitmap> bitmapMap : bitmaps) {
Set<Map.Entry<String, Bitmap>> bitmapSet = bitmapMap.entrySet();
Iterator<Map.Entry<String, Bitmap>> bitmapIterator = bitmapSet.iterator();
while (bitmapIterator.hasNext()) {
Map.Entry<String, Bitmap> bitmapEntry = bitmapIterator.next();
String prjName = directoryName + "-" + System.currentTimeMillis();
BitmapUtil.saveBitmap(bitmapEntry.getValue(), FileUtils.PrinterImagePath.KITCHEN_PRJ_IMAGE_PATH + directoryName + File.separator, prjName + ".jpeg", new BitmapUtil.OnSaveBitmapListener() {
@Override
public void onSuccess() {
LoganManager.w_code(TAG, "onPrinterBitmapBefore saveBitmap onSuccess");
}
@Override
public void onError(Exception e) {
LoganManager.w_code(TAG, "onPrinterBitmapBefore saveBitmap onError :" + e.getMessage());
}
});
}
}
return null;
}
};
RxJavaUtils.doInIOThread(rxIOTask);
}
@Override
public void onPrintSuccess(PrinterDeviceBean printerDeviceBean) {
LoganManager.w_code(TAG, "onPrintSuccess");
}
@Override
public void onPrintError(int errorCode, PrinterDeviceBean printerDeviceBean) {
LoganManager.w_code(TAG, "onPrintError errorCode:" + errorCode);
}
@Override
public void connectionBefore(int type, String IP, String port, String ioTimeout, long printTimeout) {
Object[] objs = {type, IP, port, ioTimeout, printTimeout};
LoganManager.w_code(TAG, String.format("connectionBefore type=%s ,IP=%s ,port=%s ,ioTimeout=%s ,printTimeout=%s", objs));
}
@Override
public void connectionSuccess() {
LoganManager.w_code(TAG, "connectionSuccess");
}
@Override
public void connectionError(Exception e) {
LoganManager.w_code(TAG, "connectionError e: " + e.getMessage());
}
@Override
public void disconnect() {
LoganManager.w_code(TAG, "disconnect");
}
});
} }
public static void setGlobalDomain() { public static void setGlobalDomain() {
......
package com.gingersoft.gsa.cloud.common.utils; package com.gingersoft.gsa.cloud.common.printer;
import android.content.Context; import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.os.RemoteException; import android.os.RemoteException;
import android.widget.Toast; import android.widget.Toast;
import com.gingersoft.gsa.cloud.common.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.common.utils.log.LogUtil; import com.gingersoft.gsa.cloud.common.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.common.utils.view.ImageUtils; import com.gingersoft.gsa.cloud.common.utils.view.ImageUtils;
import com.sunmi.peripheral.printer.InnerPrinterCallback; import com.sunmi.peripheral.printer.InnerPrinterCallback;
......
package com.gingersoft.gsa.cloud.common.printer.plugins;
/**
* @作者: bin
* @創建時間: 2021-01-25 10:20
* @更新時間: 2021-01-25 10:20
* @描述:外部打印机连接流程
*/
public interface ExternalPrinterConnection {
void connectionBefore(int type, String IP, String port, String ioTimeout, long printTimeout);
void connectionSuccess();
void connectionError(Exception e);
void disconnect();
}
package com.gingersoft.gsa.cloud.common.printer.plugins;
import io.reactivex.annotations.NonNull;
import io.reactivex.annotations.Nullable;
import io.reactivex.exceptions.UndeliverableException;
import io.reactivex.functions.Consumer;
/**
* @作者: bin
* @創建時間: 2021-01-25 9:46
* @更新時間: 2021-01-25 9:46
* @描述:
*/
public class PrintPaperPlugins {
@Nullable
static volatile Consumer<? super Throwable> errorHandler;
@Nullable
static volatile PrinterFlowListener onPrinterFlowHandler;
public static void onError(@NonNull Throwable error) {
Consumer<? super Throwable> f = errorHandler;
if (error == null) {
error = new NullPointerException("onError called with null");
}
if (f != null) {
try {
f.accept(error);
return;
} catch (Throwable e) {
e.printStackTrace();
uncaught(e);
}
}
error.printStackTrace();
uncaught(error);
}
static void uncaught(@NonNull Throwable error) {
Thread currentThread = Thread.currentThread();
Thread.UncaughtExceptionHandler handler = currentThread.getUncaughtExceptionHandler();
handler.uncaughtException(currentThread, error);
}
public static void setErrorHandler(Consumer<? super Throwable> errorHandler) {
PrintPaperPlugins.errorHandler = errorHandler;
}
public static PrinterFlowListener getOnPrinterFlowHandler() {
if (onPrinterFlowHandler == null) {
new NullPointerException("onPrinterFlowHandler called with null");
}
return onPrinterFlowHandler;
}
public static void setOnPrinterFlowHandler(PrinterFlowListener onPrinterFlowHandler) {
PrintPaperPlugins.onPrinterFlowHandler = onPrinterFlowHandler;
}
}
package com.gingersoft.gsa.cloud.common.printer.plugins;
import android.graphics.Bitmap;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import java.util.List;
import java.util.Map;
/**
* @作者: bin
* @創建時間: 2021-01-25 10:19
* @更新時間: 2021-01-25 10:19
* @描述:打印整體打印流程(打印前數據信息,圖片->連接成功(失敗)->打印成功(失敗)->斷開連接)
*/
public interface PrinterFlowListener extends ExternalPrinterConnection {
void onPrinterDataBefore(String printerData,String printerDeviceInfo);
void onPrinterBitmapBefore(String directoryName, List<Map<String, Bitmap>> bitmaps);
void onPrintSuccess(PrinterDeviceBean printerDeviceBean);
void onPrintError(int errorCode, PrinterDeviceBean printerDeviceBean);
}
...@@ -13,6 +13,7 @@ import android.text.TextUtils; ...@@ -13,6 +13,7 @@ import android.text.TextUtils;
import com.elvishew.xlog.XLog; import com.elvishew.xlog.XLog;
import com.gingersoft.gsa.cloud.common.utils.encryption.BASE64Encoder; import com.gingersoft.gsa.cloud.common.utils.encryption.BASE64Encoder;
import com.gingersoft.gsa.cloud.common.utils.view.BitmapUtil;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
...@@ -62,6 +63,27 @@ public class FileUtils { ...@@ -62,6 +63,27 @@ public class FileUtils {
public final static String ERRORLOG_PATH = LOG_PATH + ErrorLog + File.separator; public final static String ERRORLOG_PATH = LOG_PATH + ErrorLog + File.separator;
public final static String APK_PATH = Environment.getExternalStorageDirectory() + File.separator + APK + File.separator; public final static String APK_PATH = Environment.getExternalStorageDirectory() + File.separator + APK + File.separator;
/**
* 打印前圖片存儲路徑
*/
public final static class PrinterImagePath {
//Prj圖片文件最大文件大小不能超過100M
public static final int PRINTER_MAX_FILE_SIZE = 100 * 1024 * 1024;
//Prj最少保留文件大小
public static final int PRINTER_KEEP_FILE_SIZE = 20 * 1024 * 1024;
public static String PrinterImagesRootPath = "PrinterImages";
public static String KitchenImage = "KitchenPrj";
public static String OrderImage = "OrderImage";
public static String BillImage = "BillImage";
public static String ServingPaperImage = "ServingPaperImage";
public final static String ROOT_PATH = ALBUM_PATH + PrinterImagesRootPath + File.separator;
public final static String KITCHEN_PRJ_IMAGE_PATH = ROOT_PATH + KitchenImage;
public final static String ORDER_IMAGE_PATH = ROOT_PATH + OrderImage;
public final static String BILL_IMAGE_PATH = ROOT_PATH + BillImage;
public final static String SERVING_PAPER_IMAGE_PATH = ROOT_PATH + ServingPaperImage;
}
public final static String FILE_EXTENSION_SEPARATOR = "."; public final static String FILE_EXTENSION_SEPARATOR = ".";
//操作日志單最大文件大小 //操作日志單最大文件大小
......
...@@ -95,7 +95,7 @@ public class OkHttp3Utils { ...@@ -95,7 +95,7 @@ public class OkHttp3Utils {
@Override @Override
public void onFailure(Call call, IOException e) { public void onFailure(Call call, IOException e) {
// emitter.onError(e); emitter.onError(e);
emitter.onComplete(); emitter.onComplete();
call.cancel(); call.cancel();
} }
......
...@@ -13,6 +13,7 @@ import android.media.ExifInterface; ...@@ -13,6 +13,7 @@ import android.media.ExifInterface;
import android.net.Uri; import android.net.Uri;
import android.util.Log; import android.util.Log;
import com.gingersoft.gsa.cloud.common.utils.FileUtils;
import com.google.zxing.BarcodeFormat; import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType; import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter; import com.google.zxing.MultiFormatWriter;
...@@ -21,6 +22,7 @@ import com.google.zxing.common.BitMatrix; ...@@ -21,6 +22,7 @@ import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import java.io.File; import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
...@@ -33,6 +35,7 @@ import java.util.Map; ...@@ -33,6 +35,7 @@ import java.util.Map;
public class BitmapUtil { public class BitmapUtil {
/** /**
* 生成条码bitmap * 生成条码bitmap
* *
...@@ -254,6 +257,7 @@ public class BitmapUtil { ...@@ -254,6 +257,7 @@ public class BitmapUtil {
/** /**
* 转换为圆形状的bitmap * 转换为圆形状的bitmap
*
* @param source * @param source
* @return * @return
*/ */
...@@ -340,5 +344,34 @@ public class BitmapUtil { ...@@ -340,5 +344,34 @@ public class BitmapUtil {
return inSampleSize; return inSampleSize;
} }
public static void saveBitmap(Bitmap bm, String targetPath, String name, OnSaveBitmapListener listener) {
//判断指定文件夹的路径是否存在 不存在則創建
FileUtils.makeDirs(targetPath);
Log.d("Save Bitmap", "TargetPath isn't exist");
//如果指定文件夹创建成功,那么我们则需要进行图片存储操作
File saveFile = new File(targetPath, name);
try {
FileOutputStream fos = new FileOutputStream(saveFile);
// compress - 压缩的意思
bm.compress(Bitmap.CompressFormat.JPEG, 80, fos);
//存储完成后需要清除相关的进程
fos.flush();
fos.close();
if (listener != null) {
listener.onSuccess();
}
Log.d("Save Bitmap", "The picture is save to your phone!");
} catch (IOException e) {
e.printStackTrace();
if (listener != null) {
listener.onError(e);
}
}
}
public interface OnSaveBitmapListener {
void onSuccess();
void onError(Exception e);
}
} }
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/emptyView_mode_desc_fail_click_blank_refresh" android:text="@string/emptyView_mode_desc_fail_click_blank_refresh"
android:textColor="@color/dk_color_999999" android:textColor="#999999"
android:textSize="@dimen/text_size_default" android:textSize="@dimen/text_size_default"
android:visibility="gone" android:visibility="gone"
android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_10"
......
...@@ -322,7 +322,7 @@ public class ModifierDaoUtils { ...@@ -322,7 +322,7 @@ public class ModifierDaoUtils {
// " FROM MODIFIER join FOOD_MODIFIER on MODIFIER.MID=FOOD_MODIFIER.MID where MODIFIER.VISIBLE=0 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.seq,MODIFIER.SEQ_NO"; // " FROM MODIFIER join FOOD_MODIFIER on MODIFIER.MID=FOOD_MODIFIER.MID where MODIFIER.VISIBLE=0 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.seq,MODIFIER.SEQ_NO";
String sql = " SELECT MODIFIER.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,INVISIBLE,VISIBLE,MULTIPLE,IS_PARENT,MAX_QTY,MIN_QTY,ABLE_DIS_COUNT,PRINT_SET,COST" + String sql = " SELECT MODIFIER.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,INVISIBLE,VISIBLE,MULTIPLE,IS_PARENT,MAX_QTY,MIN_QTY,ABLE_DIS_COUNT,PRINT_SET,COST" +
" FROM MODIFIER join FOOD_MODIFIER fm on MODIFIER.MID=FOOD_MODIFIER.MID where MODIFIER.INVISIBLE!=1 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.SEQ_NO,MODIFIER.SEQ_NO"; " FROM MODIFIER join FOOD_MODIFIER fm on MODIFIER.MID=FOOD_MODIFIER.MID where MODIFIER.INVISIBLE!=1 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.SEQ_NO,MODIFIER.TOP_ID,MODIFIER.SEQ_NO";
List<Modifier> mfs_child = new ArrayList<>(); List<Modifier> mfs_child = new ArrayList<>();
...@@ -335,14 +335,14 @@ public class ModifierDaoUtils { ...@@ -335,14 +335,14 @@ public class ModifierDaoUtils {
switch (mode) { switch (mode) {
case modifierMode_All: case modifierMode_All:
sqlstr = " SELECT m.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,INVISIBLE,VISIBLE,MULTIPLE,IS_PARENT,DEFMODIFIER,MAX_QTY,MIN_QTY,ABLE_DIS_COUNT,PRINT_SET,KT_SETTING,COST" + sqlstr = " SELECT m.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,INVISIBLE,VISIBLE,MULTIPLE,IS_PARENT,DEFMODIFIER,MAX_QTY,MIN_QTY,ABLE_DIS_COUNT,PRINT_SET,KT_SETTING,COST" +
" FROM MODIFIER m join FOOD_MODIFIER fm on m.TOP_ID=fm.MID where m.INVISIBLE!=1 and m.IS_PARENT=1 and fm.FID='" + fid + "' order by fm.SEQ_NO,m.SEQ_NO"; " FROM MODIFIER m join FOOD_MODIFIER fm on m.TOP_ID=fm.MID where m.INVISIBLE!=1 and m.IS_PARENT=1 and fm.FID='" + fid + "' order by fm.SEQ_NO,m.TOP_ID,m.SEQ_NO";
mfs_child1 = query_modifier_Child_new(sqlstr, fid); mfs_child1 = query_modifier_Child_new(sqlstr, fid);
List<Modifier> mfs_child2 = new ArrayList<>(); List<Modifier> mfs_child2 = new ArrayList<>();
sqlstr = " SELECT m.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,INVISIBLE,VISIBLE,MULTIPLE,IS_PARENT,DEFMODIFIER,MAX_QTY,MIN_QTY,ABLE_DIS_COUNT,PRINT_SET,KT_SETTING,COST" + sqlstr = " SELECT m.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,INVISIBLE,VISIBLE,MULTIPLE,IS_PARENT,DEFMODIFIER,MAX_QTY,MIN_QTY,ABLE_DIS_COUNT,PRINT_SET,KT_SETTING,COST" +
" FROM MODIFIER m join FOOD_MODIFIER fm on m.TOP_ID=fm.MID where m.INVISIBLE!=1 and m.IS_PARENT=0 and fm.FID='" + fid + "' order by fm.SEQ_NO,m.SEQ_NO"; " FROM MODIFIER m join FOOD_MODIFIER fm on m.TOP_ID=fm.MID where m.INVISIBLE!=1 and m.IS_PARENT=0 and fm.FID='" + fid + "' order by fm.SEQ_NO,m.TOP_ID,m.SEQ_NO";
mfs_child2 = query_modifier_Child_new(sqlstr, fid); mfs_child2 = query_modifier_Child_new(sqlstr, fid);
mfs_child1.addAll(mfs_child2); mfs_child1.addAll(mfs_child2);
......
...@@ -26,6 +26,7 @@ public class PosActionStatusExceptionParam implements Parcelable { ...@@ -26,6 +26,7 @@ public class PosActionStatusExceptionParam implements Parcelable {
public PosActionStatusExceptionParam() { public PosActionStatusExceptionParam() {
} }
@Override @Override
public int describeContents() { public int describeContents() {
return 0; return 0;
......
...@@ -4,38 +4,43 @@ package com.gingersoft.gsa.cloud.pay.contract; ...@@ -4,38 +4,43 @@ package com.gingersoft.gsa.cloud.pay.contract;
* @作者: bin * @作者: bin
* @創建時間: 2020-12-28 10:40 * @創建時間: 2020-12-28 10:40
* @更新時間: 2020-12-28 10:40 * @更新時間: 2020-12-28 10:40
* @描述: * @描述:支付方式類型
*/ */
public interface PayTypeContract { public class PayTypeContract {
/** /**
* 支付方式 * 支付方式
* 1:寶達通 * 1:寶達通
* 8:支付寶 * 8:支付寶
* 1001:現金 * 1001:現金
* 1021:Google Pay
* 1023:支付寶HK * 1023:支付寶HK
* *
*
* <p>
* 1030:N5卡片 * 1030:N5卡片
* 1031:N5掃碼 * 1031:N5掃碼
* 1032:N5八達通 * 1032:N5八達通
* 1033:N5美國運通 * 1033:N5美國運通
*/ */
int PAY_METHOD_ID_1 = 1; public static final int PAY_METHOD_ID_1 = 1;
int PAY_METHOD_ID_8 = 8;
int PAY_METHOD_ID_1001 = 1001;
int PAY_METHOD_ID_1023 = 1023; public static final int PAY_METHOD_ID_8 = 8;
int PAY_METHOD_ID_1030 = 1030; public static final int PAY_METHOD_ID_1001 = 1001;
int PAY_METHOD_ID_1031 = 1031; public static final int PAY_METHOD_ID_1021 = 1021;
int PAY_METHOD_ID_1032 = 1031; public static final int PAY_METHOD_ID_1023 = 1023;
int PAY_METHOD_ID_1033 = 1031;
/**
* Hyweb POS支付方式
*/
public static final int PAY_METHOD_ID_1030 = 1030;
public static final int PAY_METHOD_ID_1031 = 1031;
public static final int PAY_METHOD_ID_1032 = 1032;
public static final int PAY_METHOD_ID_1033 = 1033;
public static final int[] HYWEB_PAY_METHODS = {PAY_METHOD_ID_1030,PAY_METHOD_ID_1031,PAY_METHOD_ID_1032,PAY_METHOD_ID_1033};
} }
...@@ -18,8 +18,9 @@ import com.jess.arms.mvp.IView; ...@@ -18,8 +18,9 @@ import com.jess.arms.mvp.IView;
* 修订历史:2019/6/13 * 修订历史:2019/6/13
* 描述: * 描述:
*/ */
public abstract class IPosAction <T extends HywebPosResponse>{ public abstract class IPosAction<T extends HywebPosResponse> {
protected final String TAG = this.getClass().getSimpleName();
protected Context mContext; protected Context mContext;
protected IView mView; protected IView mView;
protected PosAction mPosAction; protected PosAction mPosAction;
...@@ -73,11 +74,12 @@ public abstract class IPosAction <T extends HywebPosResponse>{ ...@@ -73,11 +74,12 @@ public abstract class IPosAction <T extends HywebPosResponse>{
/** /**
* POS回調成功的方法 * POS回調成功的方法
*
* @param context * @param context
* @param originalActivity * @param originalActivity
* @param response * @param response
*/ */
public void onPosSuccess(Context context, Activity originalActivity,T response) { public void onPosSuccess(Context context, Activity originalActivity, T response) {
if (mStatusLoadingDialog != null) { if (mStatusLoadingDialog != null) {
mStatusLoadingDialog.setStatusText(mPosAction.getActionName() + mLoadingActionComplteText); mStatusLoadingDialog.setStatusText(mPosAction.getActionName() + mLoadingActionComplteText);
mStatusLoadingDialog.loadSuccess(); mStatusLoadingDialog.loadSuccess();
...@@ -91,8 +93,8 @@ public abstract class IPosAction <T extends HywebPosResponse>{ ...@@ -91,8 +93,8 @@ public abstract class IPosAction <T extends HywebPosResponse>{
/** /**
* POS回調為null或狀態異常 * POS回調為null或狀態異常
*/ */
public void onPosException(Context context, Activity originalActivity,T response) { public void onPosException(Context context, Activity originalActivity, T response) {
String codeRequest = HywebActionStatusCode.getHywebRequestTextByCode(response.getSTATUS()); String codeRequest = HywebActionStatusCode.getHywebRequestTextByCode(response.getSTATUS());
if (mStatusLoadingDialog != null) { if (mStatusLoadingDialog != null) {
mStatusLoadingDialog.setStatusText(mPosAction.getCallbackExceptionText() + codeRequest); mStatusLoadingDialog.setStatusText(mPosAction.getCallbackExceptionText() + codeRequest);
mStatusLoadingDialog.loadFailure(); mStatusLoadingDialog.loadFailure();
...@@ -107,7 +109,7 @@ public abstract class IPosAction <T extends HywebPosResponse>{ ...@@ -107,7 +109,7 @@ public abstract class IPosAction <T extends HywebPosResponse>{
* POS調起失敗 * POS調起失敗
*/ */
public void onPosInvalid(Context context, Activity originalActivity, T response) { public void onPosInvalid(Context context, Activity originalActivity, T response) {
String codeRequest = HywebActionStatusCode.getHywebRequestTextByCode(response.getSTATUS()); String codeRequest = HywebActionStatusCode.getHywebRequestTextByCode(response.getSTATUS());
if (mStatusLoadingDialog != null) { if (mStatusLoadingDialog != null) {
mStatusLoadingDialog.setStatusText(mPosAction.getActionName() + codeRequest); mStatusLoadingDialog.setStatusText(mPosAction.getActionName() + codeRequest);
mStatusLoadingDialog.loadFailure(); mStatusLoadingDialog.loadFailure();
...@@ -123,11 +125,11 @@ public abstract class IPosAction <T extends HywebPosResponse>{ ...@@ -123,11 +125,11 @@ public abstract class IPosAction <T extends HywebPosResponse>{
* *
* @param response * @param response
*/ */
public void onUpdateStatusSuccess(T response) { public void onUpdateStatusSuccess(T response) {
if (mStatusLoadingDialog != null) { // if (mStatusLoadingDialog != null) {
mStatusLoadingDialog.setStatusText(mPosAction.getActionName() + HywebActionStatusCode.getHywebRequestTextByCode(response.getSTATUS())); // mStatusLoadingDialog.setStatusText(mPosAction.getActionName() + HywebActionStatusCode.getHywebRequestTextByCode(response.getSTATUS()));
mStatusLoadingDialog.cancel(); // mStatusLoadingDialog.cancel();
} // }
if (mOnPosActionListener != null) { if (mOnPosActionListener != null) {
mOnPosActionListener.onUpdateStatusSuccess(response); mOnPosActionListener.onUpdateStatusSuccess(response);
} }
...@@ -139,10 +141,10 @@ public abstract class IPosAction <T extends HywebPosResponse>{ ...@@ -139,10 +141,10 @@ public abstract class IPosAction <T extends HywebPosResponse>{
* @param e * @param e
*/ */
public void onUpdateStatusError(Exception e) { public void onUpdateStatusError(Exception e) {
if (mStatusLoadingDialog != null) { // if (mStatusLoadingDialog != null) {
mStatusLoadingDialog.setStatusText(mPosAction.getActionName() + e.getMessage()); // mStatusLoadingDialog.setStatusText(mPosAction.getActionName() + e.getMessage());
mStatusLoadingDialog.cancel(); // mStatusLoadingDialog.cancel();
} // }
if (mOnPosActionListener != null) { if (mOnPosActionListener != null) {
mOnPosActionListener.onUpdateStatusError(e); mOnPosActionListener.onUpdateStatusError(e);
} }
......
...@@ -71,7 +71,10 @@ public class PosActionStatusExceptionFragment extends BaseFragment implements IV ...@@ -71,7 +71,10 @@ public class PosActionStatusExceptionFragment extends BaseFragment implements IV
private TextView tv_order_num, tv_final_prompt, tv_exception, tv_amount, tv_pay_method; private TextView tv_order_num, tv_final_prompt, tv_exception, tv_amount, tv_pay_method;
private int retryCount; /**
* 最多重试三次,显示联系开发人员提示
*/
private int retryCount = 3;
public static final String REFREAFSH_ORDER_EVENT = "refreafsh_order"; public static final String REFREAFSH_ORDER_EVENT = "refreafsh_order";
...@@ -195,6 +198,7 @@ public class PosActionStatusExceptionFragment extends BaseFragment implements IV ...@@ -195,6 +198,7 @@ public class PosActionStatusExceptionFragment extends BaseFragment implements IV
@Override @Override
public void onUpdateStatusSuccess(HywebPosResponse response) { public void onUpdateStatusSuccess(HywebPosResponse response) {
EventBus.getDefault().post(true,REFREAFSH_ORDER_EVENT);
tvPosStatus.setText(mPosStatusExceptionParam.getPosAction().getActionName() + "成功"); tvPosStatus.setText(mPosStatusExceptionParam.getPosAction().getActionName() + "成功");
loadService.showSuccess(); loadService.showSuccess();
setPosActionStatus(response.getSTATUS()); setPosActionStatus(response.getSTATUS());
...@@ -206,26 +210,6 @@ public class PosActionStatusExceptionFragment extends BaseFragment implements IV ...@@ -206,26 +210,6 @@ public class PosActionStatusExceptionFragment extends BaseFragment implements IV
}); });
} }
// private MealOrderPayRequest getMealOrderPayRequest(){
// SaleRequest saleRequest = new SaleRequest();
// saleRequest.setPAYMENT_APP_ID(PayMethodConstant.PAY_TYPE_CC);
// saleRequest.setTXN_AMT(DoshokuOrder.getInstance().getShoppingCart().getTotalAmount());
// saleRequest.setTIPS(0);
//
// GetTxnIdRequest txnIdRequest = new GetTxnIdRequest();
// txnIdRequest.setOrderId(DoshokuOrder.getInstance().getOrderId());
// if (!TextUtils.isEmpty(DoshokuOrder.getInstance().getOpenTableInfo().getTableNumber())) {
// txnIdRequest.setTableExtId(DoshokuOrder.getInstance().getOpenTableInfo().getId());
// } else {
// txnIdRequest.setTableId(DoshokuOrder.getInstance().getOpenTableInfo().getId());
// }
// txnIdRequest.setPayMethodId(hywebPayMethod.getId());
// txnIdRequest.setAmount(hywebPayMethod.getPayMoney());
//
// MealOrderPayRequest orderPayRequest = mPresenter.getOrderPayRequest(gsaPayView);
// List<BillItem> billItemList = DoshokuOrder.getInstance().getShoppingCart().getBillItemList();
// }
@OnClick({R2.id.btn_back}) @OnClick({R2.id.btn_back})
public void onViewClicked(View view) { public void onViewClicked(View view) {
int id = view.getId(); int id = view.getId();
...@@ -262,12 +246,11 @@ public class PosActionStatusExceptionFragment extends BaseFragment implements IV ...@@ -262,12 +246,11 @@ public class PosActionStatusExceptionFragment extends BaseFragment implements IV
@Override @Override
public void killMyself() { public void killMyself() {
_mActivity.onBackPressed(); onBackPressedSupport();
} }
@Override @Override
public boolean onBackPressedSupport() { public boolean onBackPressedSupport() {
EventBus.getDefault().post(true,REFREAFSH_ORDER_EVENT);
return super.onBackPressedSupport(); return super.onBackPressedSupport();
} }
} }
...@@ -171,7 +171,7 @@ public class CommandImpl implements ICommand { ...@@ -171,7 +171,7 @@ public class CommandImpl implements ICommand {
} }
private HywebPosResponse returnErrorPosActionResponse(PosAction posAction,String errorStatus){ private HywebPosResponse returnErrorPosActionResponse(PosAction posAction,String errorStatus){
HywebPosResponse posResponse = null; HywebPosResponse posResponse;
if(posAction == PosAction.SALE){ if(posAction == PosAction.SALE){
posResponse = new SaleRespose(); posResponse = new SaleRespose();
}else if(posAction == PosAction.VOID){ }else if(posAction == PosAction.VOID){
...@@ -186,6 +186,8 @@ public class CommandImpl implements ICommand { ...@@ -186,6 +186,8 @@ public class CommandImpl implements ICommand {
posResponse = new RetrievalRespose(); posResponse = new RetrievalRespose();
}else if(posAction == PosAction.SETTLEMENT){ }else if(posAction == PosAction.SETTLEMENT){
posResponse = new SettlementRespose(); posResponse = new SettlementRespose();
}else{
posResponse = new HywebPosResponse();
} }
if(posResponse != null) { if(posResponse != null) {
posResponse.setSTATUS(errorStatus); posResponse.setSTATUS(errorStatus);
......
...@@ -45,4 +45,8 @@ public class PrintPaymentStubImpl extends IPosAction { ...@@ -45,4 +45,8 @@ public class PrintPaymentStubImpl extends IPosAction {
super.onPosException(context, originalActivity, response); super.onPosException(context, originalActivity, response);
} }
@Override
public void onPosInvalid(Context context, Activity originalActivity, HywebPosResponse response) {
super.onPosInvalid(context, originalActivity, response);
}
} }
...@@ -6,6 +6,7 @@ import android.text.TextUtils; ...@@ -6,6 +6,7 @@ import android.text.TextUtils;
import com.gingersoft.gsa.cloud.common.bean.BaseResult; import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.constans.HttpsConstans; import com.gingersoft.gsa.cloud.common.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils; import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils; import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils;
import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode; import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode;
...@@ -74,7 +75,6 @@ public class RefundActionImpl extends IPosAction<RefundRespose> { ...@@ -74,7 +75,6 @@ public class RefundActionImpl extends IPosAction<RefundRespose> {
mRefundRequest.setTXN_ID(mGetRefundIdResponse.getRefundId()); mRefundRequest.setTXN_ID(mGetRefundIdResponse.getRefundId());
//調起N5退款 //調起N5退款
onPosToAction(GsonUtils.GsonString(mRefundRequest)); onPosToAction(GsonUtils.GsonString(mRefundRequest));
// canCelLoadingDialog();
} else { } else {
onBeforeActionPosError(new Exception(error + PayExceptionCode.refund_901)); onBeforeActionPosError(new Exception(error + PayExceptionCode.refund_901));
} }
...@@ -138,7 +138,7 @@ public class RefundActionImpl extends IPosAction<RefundRespose> { ...@@ -138,7 +138,7 @@ public class RefundActionImpl extends IPosAction<RefundRespose> {
@Override @Override
public void onNext(String result) { public void onNext(String result) {
displayRefundResult(context, response, originalActivity); LoganManager.w_code(TAG, "RefundResponse onNext :" + result);
if (!TextUtils.isEmpty(result)) { if (!TextUtils.isEmpty(result)) {
BaseResult baseResult = GsonUtils.GsonToBean(result, BaseResult.class); BaseResult baseResult = GsonUtils.GsonToBean(result, BaseResult.class);
...@@ -158,12 +158,13 @@ public class RefundActionImpl extends IPosAction<RefundRespose> { ...@@ -158,12 +158,13 @@ public class RefundActionImpl extends IPosAction<RefundRespose> {
@Override @Override
public void onError(Throwable e) { public void onError(Throwable e) {
LoganManager.w_code(TAG, "RefundResponse onError :" + e.getMessage());
onUpdateStatusError(new Exception(e.getMessage())); onUpdateStatusError(new Exception(e.getMessage()));
displayRefundResult(context, response, originalActivity);
} }
@Override @Override
public void onComplete() { public void onComplete() {
displayRefundResult(context, response, originalActivity);
} }
}); });
} }
...@@ -196,6 +197,8 @@ public class RefundActionImpl extends IPosAction<RefundRespose> { ...@@ -196,6 +197,8 @@ public class RefundActionImpl extends IPosAction<RefundRespose> {
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(posMatter)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(posMatter));
String json = GsonUtils.GsonString(posMatter); String json = GsonUtils.GsonString(posMatter);
LoganManager.w_code(TAG, "RefundRequest JSON :" + json);
return requestBody; return requestBody;
} }
......
...@@ -7,8 +7,10 @@ import android.text.TextUtils; ...@@ -7,8 +7,10 @@ import android.text.TextUtils;
import com.etps.aca.lib.constant.Constant; import com.etps.aca.lib.constant.Constant;
import com.gingersoft.gsa.cloud.common.bean.BaseResult; import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.constans.HttpsConstans; import com.gingersoft.gsa.cloud.common.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils; import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils; import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils;
import com.gingersoft.gsa.cloud.order.bean.request.MealOrderPayRequest;
import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode; import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode;
import com.gingersoft.gsa.cloud.pay.pos.IPosAction; import com.gingersoft.gsa.cloud.pay.pos.IPosAction;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener; import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
...@@ -57,17 +59,17 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> { ...@@ -57,17 +59,17 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> {
@Override @Override
public void onPosSuccess(Context context, Activity originalActivity, RetrievalRespose response) { public void onPosSuccess(Context context, Activity originalActivity, RetrievalRespose response) {
updateMatter(context,originalActivity,response,response.getSTATUS()); updateMatter(context, originalActivity, response, response.getSTATUS());
} }
@Override @Override
public void onPosException(Context context, Activity originalActivity, RetrievalRespose response) { public void onPosException(Context context, Activity originalActivity, RetrievalRespose response) {
updateMatter(context,originalActivity,response,response.getSTATUS()); updateMatter(context, originalActivity, response, response.getSTATUS());
} }
@Override @Override
public void onPosInvalid(Context context, Activity originalActivity, RetrievalRespose response) { public void onPosInvalid(Context context, Activity originalActivity, RetrievalRespose response) {
updateMatter(context,originalActivity,response,response.getSTATUS()); updateMatter(context, originalActivity, response, response.getSTATUS());
} }
/** /**
...@@ -80,22 +82,22 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> { ...@@ -80,22 +82,22 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> {
* @param response * @param response
* @param status * @param status
*/ */
private void updateMatter(Context context, Activity originalActivity, RetrievalRespose response, String status){ private void updateMatter(Context context, Activity originalActivity, RetrievalRespose response, String status) {
String url = null; String url = null;
RequestBody requestBody; RequestBody requestBody;
switch (response.getTXN_TYPE()) { switch (response.getTXN_TYPE()) {
case Constant.EVENT.NAME.SALE: case Constant.EVENT.NAME.SALE:
if (mRetrievalAction == PosAction.TIP) { if (mRetrievalAction == PosAction.TIP) {
//查詢補消費狀態 //更新贴士狀態
url = "posPay/updatePosTip"; url = "posPay/updatePosTip";
requestBody = getPosMatterTipsRequest(response); requestBody = getPosMatterTipsRequest(response);
} else if (mRetrievalAction == PosAction.VOID) { } else if (mRetrievalAction == PosAction.VOID) {
//查詢取消狀態 //更新取消狀態
url = "posPay/updatePosCancel"; url = "posPay/updatePosCancel";
requestBody = getPosMatterVoidRequest(response); requestBody = getPosMatterVoidRequest(response);
} else { } else {
//查詢支付狀態 //更新支付狀態
url = "posPay/updatePosMatter"; url = "orderPay/add";
requestBody = getPosMatterSaleRequest(response); requestBody = getPosMatterSaleRequest(response);
} }
break; break;
...@@ -118,7 +120,7 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> { ...@@ -118,7 +120,7 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> {
//1、更新上傳狀態 //1、更新上傳狀態
OkHttp3Utils.post(HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + url, requestBody) OkHttp3Utils.post(HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + url, requestBody)
.compose(RxSchedulerUtils._io_main_o()) .compose(RxSchedulerUtils._io_main_o())
.compose(RxLifecycleUtils.bindToLifecycle(mView)) // .compose(RxLifecycleUtils.bindToLifecycle(mView))
.subscribe(new Observer<String>() { .subscribe(new Observer<String>() {
@Override @Override
public void onSubscribe(Disposable d) { public void onSubscribe(Disposable d) {
...@@ -127,7 +129,7 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> { ...@@ -127,7 +129,7 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> {
@Override @Override
public void onNext(String result) { public void onNext(String result) {
displayRetrievalResult(context, response, originalActivity); LoganManager.w_code(TAG, "RetrievalResponse onNext :" + result);
if (!TextUtils.isEmpty(result)) { if (!TextUtils.isEmpty(result)) {
BaseResult baseResult = GsonUtils.GsonToBean(result, BaseResult.class); BaseResult baseResult = GsonUtils.GsonToBean(result, BaseResult.class);
...@@ -147,11 +149,12 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> { ...@@ -147,11 +149,12 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> {
@Override @Override
public void onError(Throwable e) { public void onError(Throwable e) {
displayRetrievalResult(context, response, originalActivity); LoganManager.w_code(TAG, "RetrievalResponse onError :" + e.getMessage());
} }
@Override @Override
public void onComplete() { public void onComplete() {
displayRetrievalResult(context, response, originalActivity);
} }
}); });
} }
...@@ -165,11 +168,11 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> { ...@@ -165,11 +168,11 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> {
*/ */
private void displayRetrievalResult(Context context, RetrievalRespose response, Activity originalActivity) { private void displayRetrievalResult(Context context, RetrievalRespose response, Activity originalActivity) {
if (HywebActionStatusCode.withSuccess(response.getSTATUS())) { if (HywebActionStatusCode.withSuccess(response.getSTATUS())) {
super.onPosSuccess(context,originalActivity,response); super.onPosSuccess(context, originalActivity, response);
} else if(HywebActionStatusCode.withException(response.getSTATUS())){ } else if (HywebActionStatusCode.withException(response.getSTATUS())) {
super.onPosException(context,originalActivity,response); super.onPosException(context, originalActivity, response);
}else { } else {
super.onPosInvalid(context,originalActivity,response); super.onPosInvalid(context, originalActivity, response);
} }
} }
...@@ -179,12 +182,19 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> { ...@@ -179,12 +182,19 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> {
posMatter.setOrderId(mOrderId); posMatter.setOrderId(mOrderId);
posMatter.setPayId(response.getTXN_ID()); posMatter.setPayId(response.getTXN_ID());
posMatter.setContent(GsonUtils.GsonString(response)); posMatter.setContent(GsonUtils.GsonString(response));
posMatter.setStatus(getPosMatterStatus(response.getSTATUS())); if (response.getTXN_STATUS().equals(TransactionStatusCode.TXN_STATUS_A)) {
// mMealOrderPayRequest.setPosMatter(posMatter); //TXN_STATUS:A 支付成功
posMatter.setStatus(PosMatter.status_1);
} else {
posMatter.setStatus(getPosMatterStatus(HywebActionStatusCode.PAY_STATUS_99));
}
MealOrderPayRequest mealOrderPayRequest = new MealOrderPayRequest();
mealOrderPayRequest.setPosMatter(posMatter);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(posMatter)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(mealOrderPayRequest));
String json = GsonUtils.GsonString(posMatter); String json = GsonUtils.GsonString(mealOrderPayRequest);
LoganManager.w_code(TAG, "SaleRequest JSON :" + json);
return requestBody; return requestBody;
} }
...@@ -197,6 +207,8 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> { ...@@ -197,6 +207,8 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> {
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(posMatter)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(posMatter));
String json = GsonUtils.GsonString(posMatter); String json = GsonUtils.GsonString(posMatter);
LoganManager.w_code(TAG, "RefundRequest JSON :" + json);
return requestBody; return requestBody;
} }
...@@ -213,6 +225,8 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> { ...@@ -213,6 +225,8 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> {
} }
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(posMatter)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(posMatter));
String json = GsonUtils.GsonString(posMatter); String json = GsonUtils.GsonString(posMatter);
LoganManager.w_code(TAG, "VoidRequest JSON :" + json);
return requestBody; return requestBody;
} }
...@@ -226,6 +240,8 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> { ...@@ -226,6 +240,8 @@ public class RetrievalActionImpl extends IPosAction<RetrievalRespose> {
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(posMatter)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(posMatter));
String json = GsonUtils.GsonString(posMatter); String json = GsonUtils.GsonString(posMatter);
LoganManager.w_code(TAG, "TipRequest JSON :" + json);
return requestBody; return requestBody;
} }
......
...@@ -8,6 +8,7 @@ import com.billy.cc.core.component.CC; ...@@ -8,6 +8,7 @@ import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.common.bean.BaseResult; import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.constans.HttpsConstans; import com.gingersoft.gsa.cloud.common.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.common.core.table.TableBean; import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils; import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils; import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils;
import com.gingersoft.gsa.cloud.component.ComponentAction; import com.gingersoft.gsa.cloud.component.ComponentAction;
...@@ -88,7 +89,7 @@ public class SaleActionImpl extends IPosAction<SaleRespose> { ...@@ -88,7 +89,7 @@ public class SaleActionImpl extends IPosAction<SaleRespose> {
@Override @Override
protected void onPosActionBefore() { protected void onPosActionBefore() {
mTxnIdRequest.setContent(mMealOrderPayRequest.toString()); mTxnIdRequest.setContent(GsonUtils.GsonString(mMealOrderPayRequest));
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(mTxnIdRequest)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(mTxnIdRequest));
String json = GsonUtils.GsonString(mTxnIdRequest); String json = GsonUtils.GsonString(mTxnIdRequest);
...@@ -178,14 +179,14 @@ public class SaleActionImpl extends IPosAction<SaleRespose> { ...@@ -178,14 +179,14 @@ public class SaleActionImpl extends IPosAction<SaleRespose> {
@Override @Override
public void onNext(String result) { public void onNext(String result) {
displayPaymentResult(context, response, originalActivity); LoganManager.w_code(TAG, "SaleResponse onNext :" + result);
if (!TextUtils.isEmpty(result)) { if (!TextUtils.isEmpty(result)) {
BaseResult baseResult = GsonUtils.GsonToBean(result, BaseResult.class); BaseResult baseResult = GsonUtils.GsonToBean(result, BaseResult.class);
if (baseResult != null) { if (baseResult != null) {
if (baseResult.isSuccess()) { if (baseResult.isSuccess()) {
onUpdateStatusSuccess(response); onUpdateStatusSuccess(response);
startPaymentDetailActivity(context, response); // startPaymentDetailActivity(context, response);
} else { } else {
onUpdateStatusError(new Exception(mPosAction.getCallbackExceptionText() + "[" + baseResult.getErrMsg() + "]")); onUpdateStatusError(new Exception(mPosAction.getCallbackExceptionText() + "[" + baseResult.getErrMsg() + "]"));
} }
...@@ -199,19 +200,18 @@ public class SaleActionImpl extends IPosAction<SaleRespose> { ...@@ -199,19 +200,18 @@ public class SaleActionImpl extends IPosAction<SaleRespose> {
@Override @Override
public void onError(Throwable e) { public void onError(Throwable e) {
displayPaymentResult(context, response, originalActivity); LoganManager.w_code(TAG, "SaleResponse onError :" + e.getMessage());
startPaymentDetailActivity(context, response);
} }
@Override @Override
public void onComplete() { public void onComplete() {
displayPaymentResult(context, response, originalActivity);
} }
}); });
} }
/** /**
* 2、顯示支付結果 * 2、顯示支付結果
*
* @param context * @param context
* @param response * @param response
* @param originalActivity * @param originalActivity
...@@ -219,8 +219,10 @@ public class SaleActionImpl extends IPosAction<SaleRespose> { ...@@ -219,8 +219,10 @@ public class SaleActionImpl extends IPosAction<SaleRespose> {
private void displayPaymentResult(Context context, SaleRespose response, Activity originalActivity) { private void displayPaymentResult(Context context, SaleRespose response, Activity originalActivity) {
if (HywebActionStatusCode.withSuccess(response.getSTATUS())) { if (HywebActionStatusCode.withSuccess(response.getSTATUS())) {
super.onPosSuccess(context,originalActivity,response); super.onPosSuccess(context,originalActivity,response);
startPaymentDetailActivity(context, response);
} else if(HywebActionStatusCode.withException(response.getSTATUS())){ } else if(HywebActionStatusCode.withException(response.getSTATUS())){
super.onPosException(context,originalActivity,response); super.onPosException(context,originalActivity,response);
startPaymentDetailActivity(context, response);
}else { }else {
super.onPosInvalid(context,originalActivity,response); super.onPosInvalid(context,originalActivity,response);
} }
...@@ -271,6 +273,8 @@ public class SaleActionImpl extends IPosAction<SaleRespose> { ...@@ -271,6 +273,8 @@ public class SaleActionImpl extends IPosAction<SaleRespose> {
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(mMealOrderPayRequest)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(mMealOrderPayRequest));
String json = GsonUtils.GsonString(mMealOrderPayRequest); String json = GsonUtils.GsonString(mMealOrderPayRequest);
LoganManager.w_code(TAG, "SaleRequest JSON :" + json);
return requestBody; return requestBody;
} }
......
...@@ -132,9 +132,6 @@ public class SettlementActionImpl extends IPosAction<SettlementRespose> { ...@@ -132,9 +132,6 @@ public class SettlementActionImpl extends IPosAction<SettlementRespose> {
@Override @Override
public void onNext(String result) { public void onNext(String result) {
// displayTipsResult(context, response, originalActivity);
if (!TextUtils.isEmpty(result)) { if (!TextUtils.isEmpty(result)) {
BaseResult baseResult = GsonUtils.GsonToBean(result, BaseResult.class); BaseResult baseResult = GsonUtils.GsonToBean(result, BaseResult.class);
if (baseResult != null) { if (baseResult != null) {
...@@ -154,11 +151,11 @@ public class SettlementActionImpl extends IPosAction<SettlementRespose> { ...@@ -154,11 +151,11 @@ public class SettlementActionImpl extends IPosAction<SettlementRespose> {
@Override @Override
public void onError(Throwable e) { public void onError(Throwable e) {
// displayTipsResult(context, response, originalActivity);
} }
@Override @Override
public void onComplete() { public void onComplete() {
// displayTipsResult(context, response, originalActivity);
} }
}); });
} }
......
...@@ -6,6 +6,7 @@ import android.text.TextUtils; ...@@ -6,6 +6,7 @@ import android.text.TextUtils;
import com.gingersoft.gsa.cloud.common.bean.BaseResult; import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.constans.HttpsConstans; import com.gingersoft.gsa.cloud.common.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils; import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils; import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils;
import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode; import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode;
...@@ -145,7 +146,7 @@ public class TipsActionImpl extends IPosAction<AdjustTipRespose> { ...@@ -145,7 +146,7 @@ public class TipsActionImpl extends IPosAction<AdjustTipRespose> {
@Override @Override
public void onNext(String result) { public void onNext(String result) {
displayTipsResult(context, response, originalActivity); LoganManager.w_code(TAG, "TipResponse onNext :" + result);
if (!TextUtils.isEmpty(result)) { if (!TextUtils.isEmpty(result)) {
BaseResult baseResult = GsonUtils.GsonToBean(result, BaseResult.class); BaseResult baseResult = GsonUtils.GsonToBean(result, BaseResult.class);
...@@ -166,11 +167,12 @@ public class TipsActionImpl extends IPosAction<AdjustTipRespose> { ...@@ -166,11 +167,12 @@ public class TipsActionImpl extends IPosAction<AdjustTipRespose> {
@Override @Override
public void onError(Throwable e) { public void onError(Throwable e) {
displayTipsResult(context, response, originalActivity); LoganManager.w_code(TAG, "TipResponse onError :" + e.getMessage());
} }
@Override @Override
public void onComplete() { public void onComplete() {
displayTipsResult(context, response, originalActivity);
} }
}); });
} }
...@@ -204,6 +206,8 @@ public class TipsActionImpl extends IPosAction<AdjustTipRespose> { ...@@ -204,6 +206,8 @@ public class TipsActionImpl extends IPosAction<AdjustTipRespose> {
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(posMatter)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(posMatter));
String json = GsonUtils.GsonString(posMatter); String json = GsonUtils.GsonString(posMatter);
LoganManager.w_code(TAG, "TipRequest JSON :" + json);
return requestBody; return requestBody;
} }
......
...@@ -6,6 +6,7 @@ import android.text.TextUtils; ...@@ -6,6 +6,7 @@ import android.text.TextUtils;
import com.gingersoft.gsa.cloud.common.bean.BaseResult; import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.constans.HttpsConstans; import com.gingersoft.gsa.cloud.common.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils; import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils; import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils;
import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode; import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode;
...@@ -101,22 +102,22 @@ public class VoidActionImpl extends IPosAction<VoidRespose> { ...@@ -101,22 +102,22 @@ public class VoidActionImpl extends IPosAction<VoidRespose> {
@Override @Override
public void onPosSuccess(Context context, Activity originalActivity, VoidRespose response) { public void onPosSuccess(Context context, Activity originalActivity, VoidRespose response) {
updateMatter(context,originalActivity,response,response.getSTATUS()); updateMatter(context, originalActivity, response, response.getSTATUS());
} }
@Override @Override
public void onPosException(Context context, Activity originalActivity, VoidRespose response) { public void onPosException(Context context, Activity originalActivity, VoidRespose response) {
updateMatter(context,originalActivity,response,response.getSTATUS()); updateMatter(context, originalActivity, response, response.getSTATUS());
} }
@Override @Override
public void onPosInvalid(Context context, Activity originalActivity, VoidRespose response) { public void onPosInvalid(Context context, Activity originalActivity, VoidRespose response) {
updateMatter(context,originalActivity,response,response.getSTATUS()); updateMatter(context, originalActivity, response, response.getSTATUS());
} }
/** /**
* 取消回調成功 * 取消回調成功
* * <p>
* 1、更新上傳取消狀態 * 1、更新上傳取消狀態
* 2、顯示取消結果 * 2、顯示取消結果
* 3、刷新當前頁面 * 3、刷新當前頁面
...@@ -139,7 +140,7 @@ public class VoidActionImpl extends IPosAction<VoidRespose> { ...@@ -139,7 +140,7 @@ public class VoidActionImpl extends IPosAction<VoidRespose> {
@Override @Override
public void onNext(String result) { public void onNext(String result) {
displayVoidResult(context, response, originalActivity); LoganManager.w_code(TAG, "VoidResponse onNext :" + result);
if (!TextUtils.isEmpty(result)) { if (!TextUtils.isEmpty(result)) {
BaseResult baseResult = GsonUtils.GsonToBean(result, BaseResult.class); BaseResult baseResult = GsonUtils.GsonToBean(result, BaseResult.class);
...@@ -159,11 +160,12 @@ public class VoidActionImpl extends IPosAction<VoidRespose> { ...@@ -159,11 +160,12 @@ public class VoidActionImpl extends IPosAction<VoidRespose> {
@Override @Override
public void onError(Throwable e) { public void onError(Throwable e) {
displayVoidResult(context, response, originalActivity); LoganManager.w_code(TAG, "VoidResponse onError :" + e.getMessage());
} }
@Override @Override
public void onComplete() { public void onComplete() {
displayVoidResult(context, response, originalActivity);
} }
}); });
} }
...@@ -177,11 +179,11 @@ public class VoidActionImpl extends IPosAction<VoidRespose> { ...@@ -177,11 +179,11 @@ public class VoidActionImpl extends IPosAction<VoidRespose> {
*/ */
private void displayVoidResult(Context context, VoidRespose response, Activity originalActivity) { private void displayVoidResult(Context context, VoidRespose response, Activity originalActivity) {
if (HywebActionStatusCode.withSuccess(response.getSTATUS())) { if (HywebActionStatusCode.withSuccess(response.getSTATUS())) {
super.onPosSuccess(context,originalActivity,response); super.onPosSuccess(context, originalActivity, response);
} else if(HywebActionStatusCode.withException(response.getSTATUS())){ } else if (HywebActionStatusCode.withException(response.getSTATUS())) {
super.onPosException(context,originalActivity,response); super.onPosException(context, originalActivity, response);
}else { } else {
super.onPosInvalid(context,originalActivity,response); super.onPosInvalid(context, originalActivity, response);
} }
} }
...@@ -196,6 +198,8 @@ public class VoidActionImpl extends IPosAction<VoidRespose> { ...@@ -196,6 +198,8 @@ public class VoidActionImpl extends IPosAction<VoidRespose> {
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(posMatter)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(posMatter));
String json = GsonUtils.GsonString(posMatter); String json = GsonUtils.GsonString(posMatter);
LoganManager.w_code(TAG, "VoidRequest JSON :" + json);
return requestBody; return requestBody;
} }
} }
...@@ -48,11 +48,12 @@ public class PayMethodUtils { ...@@ -48,11 +48,12 @@ public class PayMethodUtils {
*/ */
public static int hasHywebPayMethod(List<PayMethod> payMethods) { public static int hasHywebPayMethod(List<PayMethod> payMethods) {
if (payMethods != null && payMethods.size() > 0) { if (payMethods != null && payMethods.size() > 0) {
int[] payTypes = {PayTypeContract.PAY_METHOD_ID_1030, PayTypeContract.PAY_METHOD_ID_1031, PayTypeContract.PAY_METHOD_ID_1032, PayTypeContract.PAY_METHOD_ID_1033};
for (int i = 0; i < payMethods.size(); i++) { for (int i = 0; i < payMethods.size(); i++) {
PayMethod payMethod = payMethods.get(i); PayMethod payMethod = payMethods.get(i);
if (payMethod.getPayType() == payTypes[0] || payMethod.getPayType() == payTypes[1]) { for (int type: PayTypeContract.HYWEB_PAY_METHODS) {
return i; if (payMethod.getPayType() == type) {
return i;
}
} }
} }
} }
...@@ -60,9 +61,10 @@ public class PayMethodUtils { ...@@ -60,9 +61,10 @@ public class PayMethodUtils {
} }
public static boolean withHywebPayMethod(PayMethod payMethod) { public static boolean withHywebPayMethod(PayMethod payMethod) {
int[] payTypes = {PayTypeContract.PAY_METHOD_ID_1030, PayTypeContract.PAY_METHOD_ID_1031, PayTypeContract.PAY_METHOD_ID_1032, PayTypeContract.PAY_METHOD_ID_1033}; for (int type: PayTypeContract.HYWEB_PAY_METHODS) {
if (payMethod.getPayType() == payTypes[0] || payMethod.getPayType() == payTypes[1]) { if (payMethod.getPayType() == type) {
return true; return true;
}
} }
return false; return false;
} }
...@@ -74,11 +76,12 @@ public class PayMethodUtils { ...@@ -74,11 +76,12 @@ public class PayMethodUtils {
*/ */
public static PayMethod getHywebPayMethod(List<PayMethod> payMethods) { public static PayMethod getHywebPayMethod(List<PayMethod> payMethods) {
if (payMethods != null && payMethods.size() > 0) { if (payMethods != null && payMethods.size() > 0) {
int[] payTypes = {PayTypeContract.PAY_METHOD_ID_1030, PayTypeContract.PAY_METHOD_ID_1031, PayTypeContract.PAY_METHOD_ID_1032, PayTypeContract.PAY_METHOD_ID_1033};
for (int i = 0; i < payMethods.size(); i++) { for (int i = 0; i < payMethods.size(); i++) {
PayMethod payMethod = payMethods.get(i); PayMethod payMethod = payMethods.get(i);
if (payMethod.getPayType() == payTypes[0] || payMethod.getPayType() == payTypes[1]) { for (int type: PayTypeContract.HYWEB_PAY_METHODS) {
return payMethod; if (payMethod.getPayType() == type) {
return payMethod;
}
} }
} }
} }
......
...@@ -4,7 +4,7 @@ package com.gingersoft.gsa.cloud.print.bean; ...@@ -4,7 +4,7 @@ package com.gingersoft.gsa.cloud.print.bean;
* @author : bin * @author : bin
* @create date: 2020-11-06 * @create date: 2020-11-06
* @update date: 2020-11-06 * @update date: 2020-11-06
* @description:打印實體接口 所有打印實體類都實現這個接口 * @description:打印實體接口,所有打印實體類都實現這個接口
* */ * */
public interface PrintContent { public interface PrintContent {
......
...@@ -32,7 +32,7 @@ import lombok.Data; ...@@ -32,7 +32,7 @@ import lombok.Data;
* @author : bin * @author : bin
* @create date: 2020-12-01 * @create date: 2020-12-01
* @update date: 2020-12-01 * @update date: 2020-12-01
* @description:打印內容適配類,打印類只需要拿到自身需要的實體信息 * @description:打印內容適配類,打印類只需要關注自身需要的實體信息
*/ */
@Data @Data
public class PrintContentAdapter implements AdaptationContent { public class PrintContentAdapter implements AdaptationContent {
......
...@@ -197,7 +197,6 @@ ...@@ -197,7 +197,6 @@
android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_10"
android:orientation="vertical" /> android:orientation="vertical" />
<TextView <TextView
android:id="@+id/tv_kitchen_print_table_number2" android:id="@+id/tv_kitchen_print_table_number2"
style="@style/Print_kitchen_table_number_text_style" style="@style/Print_kitchen_table_number_text_style"
......
This source diff could not be displayed because it is too large. You can view the blob instead.
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