mirror of
https://github.com/Nezumi-2711/Foodify.git
synced 2026-09-22 20:00:50 +00:00
Fix calculate total not correctly
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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<SlideModel> slideModels = new ArrayList<>();
|
||||
|
||||
@@ -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<String> wardList = new ArrayList<>();
|
||||
private static final ArrayList<String> 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);
|
||||
|
||||
@@ -59,7 +59,7 @@ public class BasketAdapter extends RecyclerView.Adapter<BasketAdapter.BasketView
|
||||
holder.value.setText(foodBasket.getQuantity());
|
||||
|
||||
//Check value discountPercent
|
||||
float cost = 0;
|
||||
float cost;
|
||||
if(foodBasket.getDiscountPercent() > 0){
|
||||
|
||||
//Calculate final cost when apply discountPercent
|
||||
@@ -195,12 +195,12 @@ public class BasketAdapter extends RecyclerView.Adapter<BasketAdapter.BasketView
|
||||
}
|
||||
|
||||
private void showRecycleViewAndHideNotificationEmpty(){
|
||||
basketFragment.recyclerView_basket_food.setVisibility(View.VISIBLE);
|
||||
basketFragment.listBasketFoodLayout.setVisibility(View.VISIBLE);
|
||||
basketFragment.empty_layout.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
private void hideRecyclerViewAndShowNotificationEmpty(){
|
||||
basketFragment.recyclerView_basket_food.setVisibility(View.GONE);
|
||||
basketFragment.listBasketFoodLayout.setVisibility(View.GONE);
|
||||
basketFragment.empty_layout.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,11 +7,13 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.core.widget.NestedScrollView;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.DividerItemDecoration;
|
||||
import androidx.recyclerview.widget.ItemTouchHelper;
|
||||
@@ -36,7 +38,8 @@ public class BasketFragment extends Fragment implements ItemTouchHelperListener
|
||||
public RecyclerView recyclerView_basket_food;
|
||||
private BasketAdapter adapter;
|
||||
private List<Basket> 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(){
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user