Prechádzať zdrojové kódy

1.添加订单记录UI和接口

王鹏鹏 2 rokov pred
rodič
commit
1d9315dcfd

+ 4 - 3
workbenches/src/main/java/com/yingyang/workbenches/adapter/OrderListAdapter.kt

@@ -2,15 +2,16 @@ package com.yingyang.workbenches.adapter
 
 import com.yingyang.workbenches.R
 import com.yingyang.workbenches.databinding.ItemOrderListBinding
+import com.yingyang.workbenches.entity.OrderBean
 import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
 
 /**
  * 订单记录adapter
  */
 class OrderListAdapter(override val layoutId: Int = R.layout.item_order_list) :
-    BaseDataBindingAdapter<String, ItemOrderListBinding>() {
-
-    override fun onBindViewHolder(binding: ItemOrderListBinding, item: String, position: Int) {
+    BaseDataBindingAdapter<OrderBean, ItemOrderListBinding>() {
 
+    override fun onBindViewHolder(binding: ItemOrderListBinding, item: OrderBean, position: Int) {
+        binding.data = item
     }
 }

+ 1 - 4
workbenches/src/main/java/com/yingyang/workbenches/datamonitor/DataMonitorFragment.kt

@@ -74,10 +74,7 @@ class DataMonitorFragment : BaseFragment<FragmentDataMonitorBinding>() {
         }
         // 将日期设为当月
         calendar!![Calendar.MONTH] = calendar!![Calendar.MONTH] + 1
-        val currentDays = getMonth(
-            calendar!![Calendar.MONTH] + 1,
-            calendar!![Calendar.YEAR]
-        )
+        val currentDays = getMonth(calendar!![Calendar.MONTH] + 1, calendar!![Calendar.YEAR])
         // 拿到当月的天数
         for (i in 0 until currentDays) {
             val bean = DayBean()

+ 5 - 3
workbenches/src/main/java/com/yingyang/workbenches/dialog/PurchaseServicesDialog.kt

@@ -40,6 +40,7 @@ class PurchaseServicesDialog : DialogFragment() {
     private var packageId = ""
     private var payMoney = ""
     private var packageName = ""
+    private var packageType = ""
 
     private var tvPackageMoney: TextView? = null
     private var tvPay: TextView? = null
@@ -49,10 +50,11 @@ class PurchaseServicesDialog : DialogFragment() {
     private var paySuccessBtn: Button? = null
     private var purchaseServicesBtn: Button? = null
 
-    fun setPackageBean(packageId: String, payMoney: String, packageName: String) {
+    fun setPackageBean(packageId: String, payMoney: String, packageName: String, packageType: String) {
         this.packageId = packageId
         this.payMoney = payMoney
         this.packageName = packageName
+        this.packageType = packageType
     }
 
     override fun onCreate(savedInstanceState: Bundle?) {
@@ -108,11 +110,11 @@ class PurchaseServicesDialog : DialogFragment() {
         tvPackageMoney?.text = spannableString
         //微信支付
         weChatLayout?.setOnSingleClickListener {
-            RxBus.get().send(GetPayImageEvent(packageId, "1", payMoney, packageName))
+            RxBus.get().send(GetPayImageEvent(packageId, "1", payMoney, packageName, packageType))
         }
         //支付宝支付
         alipayLayout?.setOnSingleClickListener {
-            RxBus.get().send(GetPayImageEvent(packageId, "2", payMoney, packageName))
+            RxBus.get().send(GetPayImageEvent(packageId, "2", payMoney, packageName, packageType))
         }
         //查询支付状态
         paySuccessBtn?.setOnSingleClickListener {

+ 7 - 1
workbenches/src/main/java/com/yingyang/workbenches/entity/GetPayImageEvent.java

@@ -10,12 +10,14 @@ public class GetPayImageEvent {
     private String payMethod;
     private String payMoney;
     private String description;
+    private String packageType;
 
-    public GetPayImageEvent(String relationId, String payMethod, String payMoney, String description) {
+    public GetPayImageEvent(String relationId, String payMethod, String payMoney, String description, String packageType) {
         this.relationId = relationId;
         this.payMethod = payMethod;
         this.payMoney = payMoney;
         this.description = description;
+        this.packageType = packageType;
     }
 
     public String getRelationId() {
@@ -33,4 +35,8 @@ public class GetPayImageEvent {
     public String getDescription() {
         return description;
     }
+
+    public String getPackageType() {
+        return packageType;
+    }
 }

+ 28 - 0
workbenches/src/main/java/com/yingyang/workbenches/entity/OrderBean.kt

@@ -0,0 +1,28 @@
+package com.yingyang.workbenches.entity
+
+/**
+ * 订单列表bean
+ */
+data class OrderBean(
+    val attach: Any,
+    val createBy: String,
+    val createTime: String,
+    val description: String,
+    val id: String,
+    val packageType: String,
+    val payMethod: String,
+    val payMoney: String,
+    val payOrderId: String,
+    val payStatus: String,
+    val payStatusDesc: Any,
+    val payTime: Any,
+    val payer: Any,
+    val relationId: String,
+    val remark: Any,
+    val sendPayTime: String,
+    val transactionId: Any,
+    val updateBy: Any,
+    val updateTime: Any,
+    val userId: String,
+    val userName: String
+)

+ 6 - 0
workbenches/src/main/java/com/yingyang/workbenches/net/WorkbenchesApiService.kt

@@ -100,4 +100,10 @@ interface WorkbenchesApiService {
     suspend fun delPayOrder(
         @Query("orderNo") orderNo: String
     ): BaseResp<String>
+
+    /**
+     * 查订单列表
+     */
+    @POST("app/pay/queryMyOrder")
+    suspend fun getQueryMyOrder(): BaseResp<List<OrderBean>>
 }

+ 7 - 2
workbenches/src/main/java/com/yingyang/workbenches/orderlist/OrderListActivity.kt

@@ -3,6 +3,7 @@ package com.yingyang.workbenches.orderlist
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.yingyang.workbenches.adapter.OrderListAdapter
 import com.yingyang.workbenches.databinding.ActivityOrderListBinding
+import com.yingyang.workbenches.entity.OrderBean
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
 import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
@@ -15,7 +16,7 @@ import com.yingyangfly.baselib.utils.JumpUtil
 @Route(path = RouterUrlCommon.orderList)
 class OrderListActivity : BaseMVVMActivity<ActivityOrderListBinding, OrderListViewModel>() {
 
-    private var orderListList = mutableListOf<String>()
+    private var orderListList = mutableListOf<OrderBean>()
     private val orderListAdapter by lazy { OrderListAdapter() }
 
     override fun initViews() {
@@ -31,10 +32,14 @@ class OrderListActivity : BaseMVVMActivity<ActivityOrderListBinding, OrderListVi
     }
 
     override fun initData() {
+        orderListList.clear()
         viewModel.getOrderList(fail = {
             it.toast()
         }, success = {
-
+            if (it.isNullOrEmpty().not()) {
+                orderListList.addAll(it)
+            }
+            orderListAdapter.setData(orderListList)
         })
     }
 

+ 3 - 3
workbenches/src/main/java/com/yingyang/workbenches/orderlist/OrderListViewModel.kt

@@ -1,6 +1,6 @@
 package com.yingyang.workbenches.orderlist
 
-import com.yingyang.workbenches.entity.TrainTypeBean
+import com.yingyang.workbenches.entity.OrderBean
 import com.yingyang.workbenches.net.WORKBENCHES_API
 import com.yingyangfly.baselib.mvvm.BaseViewModel
 
@@ -15,9 +15,9 @@ class OrderListViewModel : BaseViewModel() {
      */
     fun getOrderList(
         fail: ((msg: String) -> Unit)? = null,
-        success: ((success: List<TrainTypeBean>) -> Unit)? = null,
+        success: ((success: List<OrderBean>) -> Unit)? = null,
     ) = launchFlow(false) {
-        WORKBENCHES_API.getSelectByDictType("package_type")
+        WORKBENCHES_API.getQueryMyOrder()
     }.runUI(
         success,
         fail

+ 1 - 1
workbenches/src/main/java/com/yingyang/workbenches/servicepackage/ServicePackageActivity.kt

@@ -51,7 +51,7 @@ class ServicePackageActivity :
             rvTrainingPackage.adapter = servicePackageListAdapter
             servicePackageListAdapter.onServicePackageListClickListener = {
                 val dialog = PurchaseServicesDialog()
-                dialog.setPackageBean(it.id, it.price, it.packageName)
+                dialog.setPackageBean(it.id, it.price, it.packageName, it.packageType)
                 dialog.show(supportFragmentManager, "purchaseServicesDialog")
             }
         }

+ 1 - 0
workbenches/src/main/res/layout/fragment_data_monitor.xml

@@ -110,6 +110,7 @@
                 android:id="@+id/rvDate"
                 android:layout_width="match_parent"
                 android:layout_height="0dp"
+                android:layout_marginTop="@dimen/divider_20px"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintRight_toRightOf="parent"
                 app:layout_constraintTop_toBottomOf="@+id/weekLayoutLeft" />

+ 4 - 2
workbenches/src/main/res/layout/item_date.xml

@@ -12,12 +12,14 @@
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content">
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:minHeight="@dimen/divider_76px">
 
         <androidx.appcompat.widget.AppCompatTextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:gravity="center"
             android:text="@{data.getNowDay()}"
             android:textColor="@color/color_FF9FA5B4"
             android:textSize="@dimen/divider_24px"

+ 82 - 1
workbenches/src/main/res/layout/item_order_list.xml

@@ -1,15 +1,96 @@
 <?xml version="1.0" encoding="utf-8"?>
 <layout 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"
     tools:ignore="ResourceName">
 
+    <data>
+
+        <variable
+            name="data"
+            type="com.yingyang.workbenches.entity.OrderBean" />
+    </data>
+
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginTop="@dimen/divider_36px"
-        android:background="@drawable/bg_item_order_list">
+        android:background="@drawable/bg_item_order_list"
+        android:paddingBottom="@dimen/divider_28px">
+
+        <TextView
+            android:id="@+id/tvPackageType"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/divider_40px"
+            android:layout_marginTop="@dimen/divider_21px"
+            android:text='@{data.packageType+data.description}'
+            android:textColor="@color/color_FF2B70FF"
+            android:textSize="@dimen/divider_28px"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/tvPayOrderId"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/divider_40px"
+            android:layout_marginTop="@dimen/divider_16px"
+            android:text='@{"订单编号:"+data.payOrderId}'
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_24px"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tvPackageType" />
+
+        <TextView
+            android:id="@+id/tvPayMoney"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/divider_40px"
+            android:layout_marginTop="@dimen/divider_16px"
+            android:layout_marginBottom="@dimen/divider_28px"
+            android:text='@{"费用:"+data.payMoney}'
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_24px"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tvPayOrderId" />
+
+        <TextView
+            android:id="@+id/tvContactAfterSalesService"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/divider_28px"
+            android:layout_marginEnd="@dimen/divider_38px"
+            android:text="@string/contact_after_sales_service"
+            android:textColor="@color/color_FF2B70FF"
+            android:textSize="@dimen/divider_24px"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
 
+        <TextView
+            android:id="@+id/tvSendPayTime"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/divider_16px"
+            android:layout_marginEnd="@dimen/divider_38px"
+            android:layout_marginBottom="@dimen/divider_28px"
+            android:text='@{"支付时间:"+data.sendPayTime}'
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_24px"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tvContactAfterSalesService" />
 
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/divider_16px"
+            android:layout_marginEnd="@dimen/divider_38px"
+            android:layout_marginBottom="@dimen/divider_28px"
+            android:text='@{"订单类型::"+data.sendPayTime}'
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_24px"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tvSendPayTime" />
     </androidx.constraintlayout.widget.ConstraintLayout>
 
 </layout>

+ 1 - 1
workbenches/src/main/res/values/strings.xml

@@ -45,5 +45,5 @@
     <string name="friday" tools:ignore="ResourceName">周五</string>
     <string name="saturday" tools:ignore="ResourceName">周六</string>
     <string name="sunday" tools:ignore="ResourceName">周日</string>
-
+    <string name="contact_after_sales_service" tools:ignore="ResourceName">联系售后</string>
 </resources>