From bf6118ab398cc72b9ccce631bf4f72b4f29ec718 Mon Sep 17 00:00:00 2001
From: Gracia Hotmauli <95269134+hotmauligracia@users.noreply.github.com>
Date: Fri, 25 Apr 2025 13:05:51 +0700
Subject: [PATCH] update
---
app/src/main/AndroidManifest.xml | 11 +-
.../data/api/dto/OrdersItem.kt | 113 ++++++++++++------
.../customer/order/OrderListResponse.kt | 91 +-------------
.../data/api/retrofit/ApiService.kt | 19 +--
.../data/repository/OrderRepository.kt | 27 +++--
.../ui/order/detail/PaymentViewModel.kt | 4 +-
.../ui/order/history/HistoryViewModel.kt | 2 +-
.../ui/order/history/OrderHistoryAdapter.kt | 2 +-
.../ui/order/history/OrderListFragment.kt | 2 +-
.../ui/order/history/OrderProductAdapter.kt | 2 +-
.../ui/profile/mystore/sells/SellsAdapter.kt | 8 +-
.../mystore/sells/order/OrderAdapter.kt | 2 +-
.../mystore/sells/payment/PaymentAdapter.kt | 4 +-
.../mystore/sells/shipment/ShipmentAdapter.kt | 4 +-
.../res/layout/fragment_detail_profile.xml | 2 +-
15 files changed, 110 insertions(+), 183 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 725d239..fada1ca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -33,16 +33,7 @@
android:name=".ui.order.detail.PaymentActivity"
android:exported="false" />
-
-
-
? = null
+ val orderItems: List,
+
+ @field:SerializedName("auto_completed_at")
+ val autoCompletedAt: String? = null,
+
+ @field:SerializedName("is_store_location")
+ val isStoreLocation: Boolean? = null,
+
+ @field:SerializedName("voucher_name")
+ val voucherName: String? = null,
+
+ @field:SerializedName("address_id")
+ val addressId: Int,
+
+ @field:SerializedName("cancel_reason")
+ val cancelReason: String? = null,
+
+ @field:SerializedName("total_amount")
+ val totalAmount: String,
+
+ @field:SerializedName("user_id")
+ val userId: Int,
+
+ @field:SerializedName("province_id")
+ val provinceId: Int,
+
+ @field:SerializedName("courier")
+ val courier: String,
+
+ @field:SerializedName("subdistrict")
+ val subdistrict: String,
+
+ @field:SerializedName("service")
+ val service: String,
+
+ @field:SerializedName("shipment_price")
+ val shipmentPrice: String,
+
+ @field:SerializedName("voucher_id")
+ val voucherId: Int? = null,
+
+ @field:SerializedName("payment_info_id")
+ val paymentInfoId: Int? = null,
+
+ @field:SerializedName("detail")
+ val detail: String,
+
+ @field:SerializedName("postal_code")
+ val postalCode: String,
+
+ @field:SerializedName("order_id")
+ val orderId: Int,
+
+ @field:SerializedName("city_id")
+ val cityId: Int
)
diff --git a/app/src/main/java/com/alya/ecommerce_serang/data/api/response/customer/order/OrderListResponse.kt b/app/src/main/java/com/alya/ecommerce_serang/data/api/response/customer/order/OrderListResponse.kt
index 9f10e09..dd8c43f 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/data/api/response/customer/order/OrderListResponse.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/data/api/response/customer/order/OrderListResponse.kt
@@ -1,5 +1,6 @@
package com.alya.ecommerce_serang.data.api.response.customer.order
+import com.alya.ecommerce_serang.data.api.dto.OrdersItem
import com.google.gson.annotations.SerializedName
data class OrderListResponse(
@@ -37,93 +38,3 @@ data class OrderItemsItem(
@field:SerializedName("product_name")
val productName: String
)
-
-data class OrdersItem(
-
- @field:SerializedName("receipt_num")
- val receiptNum: Int? = null,
-
- @field:SerializedName("latitude")
- val latitude: String,
-
- @field:SerializedName("created_at")
- val createdAt: String,
-
- @field:SerializedName("voucher_code")
- val voucherCode: String? = null,
-
- @field:SerializedName("updated_at")
- val updatedAt: String,
-
- @field:SerializedName("etd")
- val etd: String,
-
- @field:SerializedName("street")
- val street: String,
-
- @field:SerializedName("cancel_date")
- val cancelDate: String? = null,
-
- @field:SerializedName("longitude")
- val longitude: String,
-
- @field:SerializedName("shipment_status")
- val shipmentStatus: String,
-
- @field:SerializedName("order_items")
- val orderItems: List,
-
- @field:SerializedName("auto_completed_at")
- val autoCompletedAt: String? = null,
-
- @field:SerializedName("is_store_location")
- val isStoreLocation: Boolean? = null,
-
- @field:SerializedName("voucher_name")
- val voucherName: String? = null,
-
- @field:SerializedName("address_id")
- val addressId: Int,
-
- @field:SerializedName("cancel_reason")
- val cancelReason: String? = null,
-
- @field:SerializedName("total_amount")
- val totalAmount: String,
-
- @field:SerializedName("user_id")
- val userId: Int,
-
- @field:SerializedName("province_id")
- val provinceId: Int,
-
- @field:SerializedName("courier")
- val courier: String,
-
- @field:SerializedName("subdistrict")
- val subdistrict: String,
-
- @field:SerializedName("service")
- val service: String,
-
- @field:SerializedName("shipment_price")
- val shipmentPrice: String,
-
- @field:SerializedName("voucher_id")
- val voucherId: Int? = null,
-
- @field:SerializedName("payment_info_id")
- val paymentInfoId: Int? = null,
-
- @field:SerializedName("detail")
- val detail: String,
-
- @field:SerializedName("postal_code")
- val postalCode: String,
-
- @field:SerializedName("order_id")
- val orderId: Int,
-
- @field:SerializedName("city_id")
- val cityId: Int
-)
diff --git a/app/src/main/java/com/alya/ecommerce_serang/data/api/retrofit/ApiService.kt b/app/src/main/java/com/alya/ecommerce_serang/data/api/retrofit/ApiService.kt
index c95ff78..15d6858 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/data/api/retrofit/ApiService.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/data/api/retrofit/ApiService.kt
@@ -28,8 +28,8 @@ import com.alya.ecommerce_serang.data.api.response.customer.order.CourierCostRes
import com.alya.ecommerce_serang.data.api.response.customer.order.CreateOrderResponse
import com.alya.ecommerce_serang.data.api.response.customer.order.ListCityResponse
import com.alya.ecommerce_serang.data.api.response.customer.order.ListProvinceResponse
-import com.alya.ecommerce_serang.data.api.response.order.OrderDetailResponse
-import com.alya.ecommerce_serang.data.api.response.order.OrderListResponse
+import com.alya.ecommerce_serang.data.api.response.customer.order.OrderDetailResponse
+import com.alya.ecommerce_serang.data.api.response.customer.order.OrderListResponse
import com.alya.ecommerce_serang.data.api.response.customer.product.AllProductResponse
import com.alya.ecommerce_serang.data.api.response.customer.product.CategoryResponse
import com.alya.ecommerce_serang.data.api.response.customer.product.DetailStoreProductResponse
@@ -39,12 +39,12 @@ import com.alya.ecommerce_serang.data.api.response.customer.product.StoreRespons
import com.alya.ecommerce_serang.data.api.response.customer.profile.AddressResponse
import com.alya.ecommerce_serang.data.api.response.customer.profile.CreateAddressResponse
import com.alya.ecommerce_serang.data.api.response.customer.profile.ProfileResponse
-import com.alya.ecommerce_serang.data.api.response.store.orders.OrderListResponse
import com.alya.ecommerce_serang.data.api.response.store.product.DeleteProductResponse
import com.alya.ecommerce_serang.data.api.response.store.product.UpdateProductResponse
import retrofit2.Call
import retrofit2.Response
import retrofit2.http.Body
+import retrofit2.http.DELETE
import retrofit2.http.Field
import retrofit2.http.FormUrlEncoded
import retrofit2.http.GET
@@ -211,18 +211,6 @@ interface ApiService {
suspend fun getOrdersByStatus(
@Query("status") status: String
): Response
- @PUT("store/order/update")
- suspend fun confirmOrder(
- @Body confirmOrder : CompletedOrderRequest
- ): Response
-
- @Multipart
- @POST("addcomplaint")
- suspend fun addComplaint(
- @Part("order_id") orderId: RequestBody,
- @Part("description") description: RequestBody,
- @Part complaintimg: MultipartBody.Part
- ): Response
@PUT("store/order/update")
suspend fun confirmOrder(
@@ -236,4 +224,5 @@ interface ApiService {
@Part("description") description: RequestBody,
@Part complaintimg: MultipartBody.Part
): Response
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/alya/ecommerce_serang/data/repository/OrderRepository.kt b/app/src/main/java/com/alya/ecommerce_serang/data/repository/OrderRepository.kt
index 3f15abd..3378880 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/data/repository/OrderRepository.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/data/repository/OrderRepository.kt
@@ -7,22 +7,23 @@ import com.alya.ecommerce_serang.data.api.dto.CourierCostRequest
import com.alya.ecommerce_serang.data.api.dto.CreateAddressRequest
import com.alya.ecommerce_serang.data.api.dto.OrderRequest
import com.alya.ecommerce_serang.data.api.dto.OrderRequestBuy
+import com.alya.ecommerce_serang.data.api.dto.OrdersItem
import com.alya.ecommerce_serang.data.api.dto.UserProfile
-import com.alya.ecommerce_serang.data.api.response.cart.DataItem
+import com.alya.ecommerce_serang.data.api.response.customer.cart.DataItem
+import com.alya.ecommerce_serang.data.api.response.customer.order.CreateOrderResponse
+import com.alya.ecommerce_serang.data.api.response.customer.order.OrderDetailResponse
+import com.alya.ecommerce_serang.data.api.response.customer.order.OrderListResponse
+import com.alya.ecommerce_serang.data.api.response.customer.product.ProductResponse
import com.alya.ecommerce_serang.data.api.response.order.AddEvidenceResponse
import com.alya.ecommerce_serang.data.api.response.order.ComplaintResponse
import com.alya.ecommerce_serang.data.api.response.order.CompletedOrderResponse
-import com.alya.ecommerce_serang.data.api.response.order.CourierCostResponse
-import com.alya.ecommerce_serang.data.api.response.order.CreateOrderResponse
-import com.alya.ecommerce_serang.data.api.response.order.ListCityResponse
-import com.alya.ecommerce_serang.data.api.response.order.ListProvinceResponse
-import com.alya.ecommerce_serang.data.api.response.order.OrderDetailResponse
-import com.alya.ecommerce_serang.data.api.response.order.OrderListResponse
-import com.alya.ecommerce_serang.data.api.response.product.ProductResponse
-import com.alya.ecommerce_serang.data.api.response.product.StoreProduct
-import com.alya.ecommerce_serang.data.api.response.product.StoreResponse
-import com.alya.ecommerce_serang.data.api.response.profile.AddressResponse
-import com.alya.ecommerce_serang.data.api.response.profile.CreateAddressResponse
+import com.alya.ecommerce_serang.data.api.response.customer.order.CourierCostResponse
+import com.alya.ecommerce_serang.data.api.response.customer.order.ListCityResponse
+import com.alya.ecommerce_serang.data.api.response.customer.order.ListProvinceResponse
+import com.alya.ecommerce_serang.data.api.response.customer.product.StoreProduct
+import com.alya.ecommerce_serang.data.api.response.customer.product.StoreResponse
+import com.alya.ecommerce_serang.data.api.response.customer.profile.AddressResponse
+import com.alya.ecommerce_serang.data.api.response.customer.profile.CreateAddressResponse
import com.alya.ecommerce_serang.data.api.retrofit.ApiService
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
@@ -233,7 +234,7 @@ class OrderRepository(private val apiService: ApiService) {
return if (response.isSuccessful) response.body() else null
}
- suspend fun fetchSells(): List {
+ suspend fun fetchSells(): List {
return try {
val response = apiService.getAllOrders() // Replace with the actual method from your ApiService
if (response.isSuccessful) {
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/order/detail/PaymentViewModel.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/order/detail/PaymentViewModel.kt
index 0913e22..c2419ce 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/order/detail/PaymentViewModel.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/order/detail/PaymentViewModel.kt
@@ -8,8 +8,8 @@ import androidx.lifecycle.viewModelScope
import com.alya.ecommerce_serang.data.api.dto.AddEvidenceMultipartRequest
import com.alya.ecommerce_serang.data.api.response.order.AddEvidenceResponse
import com.alya.ecommerce_serang.data.api.response.order.CompletedOrderResponse
-import com.alya.ecommerce_serang.data.api.response.order.OrderListItemsItem
-import com.alya.ecommerce_serang.data.api.response.order.Orders
+import com.alya.ecommerce_serang.data.api.response.customer.order.OrderListItemsItem
+import com.alya.ecommerce_serang.data.api.response.customer.order.Orders
import com.alya.ecommerce_serang.data.repository.OrderRepository
import com.alya.ecommerce_serang.data.repository.Result
import kotlinx.coroutines.launch
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/HistoryViewModel.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/HistoryViewModel.kt
index f294043..694f1f7 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/HistoryViewModel.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/HistoryViewModel.kt
@@ -6,8 +6,8 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.alya.ecommerce_serang.data.api.dto.CompletedOrderRequest
+import com.alya.ecommerce_serang.data.api.dto.OrdersItem
import com.alya.ecommerce_serang.data.api.response.order.CompletedOrderResponse
-import com.alya.ecommerce_serang.data.api.response.order.OrdersItem
import com.alya.ecommerce_serang.data.repository.OrderRepository
import com.alya.ecommerce_serang.data.repository.Result
import com.alya.ecommerce_serang.ui.order.address.ViewState
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/OrderHistoryAdapter.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/OrderHistoryAdapter.kt
index 007c8f7..c6c0b99 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/OrderHistoryAdapter.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/OrderHistoryAdapter.kt
@@ -21,7 +21,7 @@ import androidx.lifecycle.findViewTreeLifecycleOwner
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.alya.ecommerce_serang.R
-import com.alya.ecommerce_serang.data.api.response.order.OrdersItem
+import com.alya.ecommerce_serang.data.api.dto.OrdersItem
import com.alya.ecommerce_serang.ui.order.detail.PaymentActivity
import com.google.android.material.button.MaterialButton
import com.google.android.material.textfield.TextInputLayout
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/OrderListFragment.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/OrderListFragment.kt
index 4fde4f9..05d1e78 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/OrderListFragment.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/OrderListFragment.kt
@@ -8,7 +8,7 @@ import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.recyclerview.widget.LinearLayoutManager
-import com.alya.ecommerce_serang.data.api.response.order.OrdersItem
+import com.alya.ecommerce_serang.data.api.dto.OrdersItem
import com.alya.ecommerce_serang.data.api.retrofit.ApiConfig
import com.alya.ecommerce_serang.data.repository.OrderRepository
import com.alya.ecommerce_serang.data.repository.Result
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/OrderProductAdapter.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/OrderProductAdapter.kt
index 2f36ab7..2051c2c 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/OrderProductAdapter.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/order/history/OrderProductAdapter.kt
@@ -7,7 +7,7 @@ import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.alya.ecommerce_serang.R
-import com.alya.ecommerce_serang.data.api.response.order.OrderItemsItem
+import com.alya.ecommerce_serang.data.api.response.customer.order.OrderItemsItem
import com.bumptech.glide.Glide
import com.google.android.material.button.MaterialButton
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsAdapter.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsAdapter.kt
index e61b286..d1d6f61 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsAdapter.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsAdapter.kt
@@ -61,7 +61,7 @@ class SellsAdapter : RecyclerView.Adapter() {
// Determine the view type based on the order status
override fun getItemViewType(position: Int): Int {
val order = orderList[position]
- return when (order?.status) {
+ return when (order?.shipmentStatus) {
"pending" -> TYPE_PENDING
"paid" -> TYPE_PAYMENT
"shipped" -> TYPE_SHIPMENT
@@ -94,7 +94,7 @@ class SellsAdapter : RecyclerView.Adapter() {
fun bind(order: OrdersItem?) {
tvOrderNumber.text = "Order #${order?.orderId}"
- tvOrderCustomer.text = order?.username
+ tvOrderCustomer.text = order?.userId.toString()
tvOrderPrice.text = "Total: ${order?.totalAmount}"
}
}
@@ -107,7 +107,7 @@ class SellsAdapter : RecyclerView.Adapter() {
fun bind(order: OrdersItem?) {
tvPaymentNumber.text = "Order #${order?.orderId}"
- tvPaymentCustomer.text = order?.username
+ tvPaymentCustomer.text = order?.userId.toString()
tvPaymentPrice.text = "Paid: ${order?.totalAmount}"
}
}
@@ -119,7 +119,7 @@ class SellsAdapter : RecyclerView.Adapter() {
fun bind(order: OrdersItem?) {
tvShipmentNumber.text = "Shipment #${order?.orderId}"
- tvShipmentLocation.text = "Location: ${order?.address?.subdistrict}"
+ tvShipmentLocation.text = "Location: ${order?.addressId.toString()}"
}
}
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/order/OrderAdapter.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/order/OrderAdapter.kt
index 5683546..4cc68e0 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/order/OrderAdapter.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/order/OrderAdapter.kt
@@ -51,7 +51,7 @@ class OrderAdapter : RecyclerView.Adapter() {
fun bind(order: OrdersItem?) {
tvOrderNumber.text = "No. Pesanan: ${order?.orderId}"
- tvOrderCustomer.text = order?.username
+ tvOrderCustomer.text = order?.userId.toString()
tvOrderDue.text = order?.createdAt + 7
tvOrderQty.text = "${order?.orderItems?.size} produk"
tvOrderPrice.text = "Rp${order?.totalAmount}"
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/payment/PaymentAdapter.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/payment/PaymentAdapter.kt
index 32ff37c..030d450 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/payment/PaymentAdapter.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/payment/PaymentAdapter.kt
@@ -54,8 +54,8 @@ class PaymentAdapter : RecyclerView.Adapter()
tvPaymentDue.text = order?.createdAt + 7
tvPaymentQty.text = "${order?.orderItems?.size} produk"
tvPaymentPrice.text = "Rp${order?.totalAmount}"
- tvPaymentCustomer.text = order?.username
- tvPaymentLocation.text = order?.address?.subdistrict
+ tvPaymentCustomer.text = order?.userId.toString()
+ tvPaymentLocation.text = order?.addressId.toString()
}
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/shipment/ShipmentAdapter.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/shipment/ShipmentAdapter.kt
index faf911e..d7e4fa0 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/shipment/ShipmentAdapter.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/shipment/ShipmentAdapter.kt
@@ -49,8 +49,8 @@ class ShipmentAdapter : RecyclerView.Adapter
fun bind(order: OrdersItem) {
tvShipmentNumber.text = "No. Pesanan: ${order.orderId}"
tvShipmentDue.text = order.createdAt + 7
- tvShipmentCustomer.text = order.username
- tvShipmentLocation.text = order.address?.subdistrict
+ tvShipmentCustomer.text = order.userId.toString()
+ tvShipmentLocation.text = order.addressId.toString()
}
}
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_detail_profile.xml b/app/src/main/res/layout/fragment_detail_profile.xml
index 12bc41c..f12bbe2 100644
--- a/app/src/main/res/layout/fragment_detail_profile.xml
+++ b/app/src/main/res/layout/fragment_detail_profile.xml
@@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
- tools:context=".ui.profile.DetailProfileFragment">
+ tools:context=".ui.profile.DetailProfileActivity">