diff --git a/app/src/main/java/com/capstone/foodify/API/FoodApi.java b/app/src/main/java/com/capstone/foodify/API/FoodApi.java index a10d49e..4d2ea5f 100644 --- a/app/src/main/java/com/capstone/foodify/API/FoodApi.java +++ b/app/src/main/java/com/capstone/foodify/API/FoodApi.java @@ -32,7 +32,7 @@ public interface FoodApi { Gson gson = new GsonBuilder().setDateFormat("HH:mm:ss dd-MM-yyyy").setLenient().create(); FoodApi apiService = new Retrofit.Builder() - .baseUrl("http://192.168.1.183:8080/api/").addConverterFactory(GsonConverterFactory.create(gson)) + .baseUrl("https://foodify-backend-production.up.railway.app/api/").addConverterFactory(GsonConverterFactory.create(gson)) .build() .create(FoodApi.class); diff --git a/app/src/main/java/com/capstone/foodify/API/FoodApiToken.java b/app/src/main/java/com/capstone/foodify/API/FoodApiToken.java index 90b4596..821924e 100644 --- a/app/src/main/java/com/capstone/foodify/API/FoodApiToken.java +++ b/app/src/main/java/com/capstone/foodify/API/FoodApiToken.java @@ -8,8 +8,6 @@ import com.capstone.foodify.Model.Address; import com.capstone.foodify.Model.Comment; import com.capstone.foodify.Model.Food; import com.capstone.foodify.Model.Order; -import com.capstone.foodify.Model.Response.Addresses; -import com.capstone.foodify.Model.Response.Comments; import com.capstone.foodify.Model.Response.CustomResponse; import com.capstone.foodify.Model.Response.Foods; import com.capstone.foodify.Model.Response.Orders; @@ -18,7 +16,6 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import java.io.IOException; -import java.util.List; import okhttp3.Interceptor; import okhttp3.OkHttpClient; @@ -50,7 +47,7 @@ public interface FoodApiToken { FoodApiToken apiService = new Retrofit.Builder() .client(client) - .baseUrl("http://192.168.1.183:8080/api/").addConverterFactory(GsonConverterFactory.create(gson)) + .baseUrl("https://foodify-backend-production.up.railway.app/api/").addConverterFactory(GsonConverterFactory.create(gson)) .build() .create(FoodApiToken.class); diff --git a/app/src/main/java/com/capstone/foodify/Activity/FoodDetailActivity.java b/app/src/main/java/com/capstone/foodify/Activity/FoodDetailActivity.java index e761ccc..6cf350e 100644 --- a/app/src/main/java/com/capstone/foodify/Activity/FoodDetailActivity.java +++ b/app/src/main/java/com/capstone/foodify/Activity/FoodDetailActivity.java @@ -177,7 +177,7 @@ public class FoodDetailActivity extends AppCompatActivity { if (totalPrice >= 0) totalPrice = price * i; - add_to_basket_button.setText("Add to basket - " + Common.changeCurrencyUnit(totalPrice)); + add_to_basket_button.setText("THÊM VÀO GIỎ HÀNG - " + Common.changeCurrencyUnit(totalPrice)); } }); @@ -491,7 +491,7 @@ public class FoodDetailActivity extends AppCompatActivity { } - add_to_basket_button.setText("ADD TO BASKET - " + Common.changeCurrencyUnit(0)); + add_to_basket_button.setText("THÊM VÀO GIỎ HÀNG - " + Common.changeCurrencyUnit(0)); //Set slider image food List slideModels = new ArrayList<>(); diff --git a/app/src/main/java/com/capstone/foodify/Activity/OrderCheckOutActivity.java b/app/src/main/java/com/capstone/foodify/Activity/OrderCheckOutActivity.java index 3b5cb60..4f79897 100644 --- a/app/src/main/java/com/capstone/foodify/Activity/OrderCheckOutActivity.java +++ b/app/src/main/java/com/capstone/foodify/Activity/OrderCheckOutActivity.java @@ -90,7 +90,7 @@ public class OrderCheckOutActivity extends AppCompatActivity { RadioButton list_address_input, auto_detect_location, manual_input_address, radio_button_selected, take_food_from_shop; RadioGroup address_option; ConstraintLayout progress_layout; - float total, shipCost; + float total, totalProduct, shipCost; private static final ArrayList wardList = new ArrayList<>(); private static final ArrayList districtList = new ArrayList<>(); @@ -143,7 +143,7 @@ public class OrderCheckOutActivity extends AppCompatActivity { if(getIntent() != null){ - total = getIntent().getFloatExtra("total", 0); + totalProduct = getIntent().getFloatExtra("total", 0); txt_total.setText(Common.changeCurrencyUnit(total)); } @@ -236,9 +236,10 @@ public class OrderCheckOutActivity extends AppCompatActivity { if(radio_button_selected != take_food_from_shop){ - if(LAT_SHOP != 0.0 && LNG_SHOP != 0.0) + if(LAT_SHOP != 0.0 && LNG_SHOP != 0.0){ + total = 0; getDistanceAndCalculateShipCost(finalAddress); - else { + } else { new AestheticDialog.Builder(OrderCheckOutActivity.this, DialogStyle.FLAT, DialogType.INFO) .setTitle("Thông báo!") .setMessage("Chưa thể lấy được vị trí shop, vui lòng thử lại hoặc có thể chọn \"Đến shop lấy\" để tiếp tục!") @@ -248,8 +249,19 @@ public class OrderCheckOutActivity extends AppCompatActivity { progress_layout.setVisibility(View.GONE); } + } else { + //Show distance to user + txt_distance.setText("0 km"); + + txt_ship_cost.setText(Common.changeCurrencyUnit(0)); + + //Change total value + total = totalProduct; + + txt_total.setText(Common.changeCurrencyUnit(total)); + progress_layout.setVisibility(View.GONE); } - progress_layout.setVisibility(View.GONE); + } } }); @@ -272,6 +284,7 @@ public class OrderCheckOutActivity extends AppCompatActivity { if(!Common.CURRENT_USER.isLocked()){ if(finalAddress != null){ + //Create order tracking number createOrderFood(Helpers.getAppTransId(), CASH_PAYMENT); } else { Toast.makeText(OrderCheckOutActivity.this, "Bạn chưa xác nhận địa chỉ!", Toast.LENGTH_SHORT).show(); @@ -339,11 +352,12 @@ public class OrderCheckOutActivity extends AppCompatActivity { CreateOrder orderApi = new CreateOrder(); + //Create order tracking number + String orderTrackingNumber = Helpers.getAppTransId(); try { - JSONObject data = orderApi.createOrder(String.valueOf((int) total)); + JSONObject data = orderApi.createOrder(String.valueOf((int) total), orderTrackingNumber); String code = data.getString("return_code"); - if (code.equals("1")) { //Success create order String token = data.getString("zp_trans_token"); @@ -354,7 +368,7 @@ public class OrderCheckOutActivity extends AppCompatActivity { runOnUiThread(new Runnable() { @Override public void run() { - createOrderFood(transactionId, ZALO_PAYMENT_METHOD); + createOrderFood(orderTrackingNumber, ZALO_PAYMENT_METHOD); } }); @@ -434,6 +448,8 @@ public class OrderCheckOutActivity extends AppCompatActivity { @Override public void onClick(@NonNull AestheticDialog.Builder builder) { Common.LIST_BASKET_FOOD.clear(); + Common.FINAL_SHOP = null; + startActivity(new Intent(OrderCheckOutActivity.this, OrderActivity.class)); builder.dismiss(); finish(); @@ -485,7 +501,7 @@ public class OrderCheckOutActivity extends AppCompatActivity { txt_ship_cost.setText(Common.changeCurrencyUnit(shipCost)); //Update total order - total = total + shipCost; + total = totalProduct + shipCost; txt_total.setText(Common.changeCurrencyUnit(total)); progress_layout.setVisibility(View.GONE); diff --git a/app/src/main/java/com/capstone/foodify/Adapter/BasketAdapter.java b/app/src/main/java/com/capstone/foodify/Adapter/BasketAdapter.java index bf2e815..559d4ed 100644 --- a/app/src/main/java/com/capstone/foodify/Adapter/BasketAdapter.java +++ b/app/src/main/java/com/capstone/foodify/Adapter/BasketAdapter.java @@ -59,7 +59,7 @@ public class BasketAdapter extends RecyclerView.Adapter 0){ //Calculate final cost when apply discountPercent @@ -195,12 +195,12 @@ public class BasketAdapter extends RecyclerView.Adapter listBasketFood = new ArrayList<>(); - private RelativeLayout listBasketFoodView; + private LinearLayout listBasketFoodView; + public NestedScrollView listBasketFoodLayout; private Button btnCheckOut; public ConstraintLayout empty_layout; public TextView total; @@ -56,6 +59,7 @@ public class BasketFragment extends Fragment implements ItemTouchHelperListener total = view.findViewById(R.id.total_text_view); empty_layout = view.findViewById(R.id.empty_layout); btnCheckOut = view.findViewById(R.id.btnCheckOut); + listBasketFoodLayout = view.findViewById(R.id.list_basket_food_layout); //Init data total.setText(Common.changeCurrencyUnit(0)); @@ -99,16 +103,17 @@ public class BasketFragment extends Fragment implements ItemTouchHelperListener showRecycleViewAndHideNotificationEmpty(); } else { hideRecyclerViewAndShowNotificationEmpty(); + total.setText(Common.changeCurrencyUnit(0)); } } private void showRecycleViewAndHideNotificationEmpty(){ - recyclerView_basket_food.setVisibility(View.VISIBLE); + listBasketFoodLayout.setVisibility(View.VISIBLE); empty_layout.setVisibility(View.GONE); } private void hideRecyclerViewAndShowNotificationEmpty(){ - recyclerView_basket_food.setVisibility(View.GONE); + listBasketFoodLayout.setVisibility(View.GONE); empty_layout.setVisibility(View.VISIBLE); } private void getListBasketFood(){ diff --git a/app/src/main/java/com/capstone/foodify/ZaloPay/Api/CreateOrder.java b/app/src/main/java/com/capstone/foodify/ZaloPay/Api/CreateOrder.java index a12d407..189a896 100644 --- a/app/src/main/java/com/capstone/foodify/ZaloPay/Api/CreateOrder.java +++ b/app/src/main/java/com/capstone/foodify/ZaloPay/Api/CreateOrder.java @@ -23,13 +23,13 @@ public class CreateOrder { String Description; String Mac; - private CreateOrderData(String amount) throws Exception { + private CreateOrderData(String amount, String appTransId) throws Exception { long appTime = new Date().getTime(); AppId = String.valueOf(AppInfo.APP_ID); AppUser = "Android_Demo"; AppTime = String.valueOf(appTime); Amount = amount; - AppTransId = Helpers.getAppTransId(); + AppTransId = appTransId; EmbedData = "{}"; Items = "[]"; BankCode = "zalopayapp"; @@ -47,8 +47,8 @@ public class CreateOrder { } } - public JSONObject createOrder(String amount) throws Exception { - CreateOrderData input = new CreateOrderData(amount); + public JSONObject createOrder(String amount, String appTransId) throws Exception { + CreateOrderData input = new CreateOrderData(amount, appTransId); RequestBody formBody = new FormBody.Builder() .add("app_id", input.AppId) diff --git a/app/src/main/res/layout/activity_shop_detail.xml b/app/src/main/res/layout/activity_shop_detail.xml index b6364e7..c691c2f 100644 --- a/app/src/main/res/layout/activity_shop_detail.xml +++ b/app/src/main/res/layout/activity_shop_detail.xml @@ -56,7 +56,7 @@ - - - - - + > + - + - + + + + + + + + - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/item_food_basket.xml b/app/src/main/res/layout/item_food_basket.xml index ec04a7d..f9f4376 100644 --- a/app/src/main/res/layout/item_food_basket.xml +++ b/app/src/main/res/layout/item_food_basket.xml @@ -55,7 +55,9 @@ android:src="@drawable/food" android:scaleType="centerCrop" app:riv_corner_radius="10dip" - tools:ignore="ContentDescription" /> + tools:ignore="ContentDescription" + android:layout_gravity="center_vertical" + />