Я хочу хранить в таблице «Заказы» в моей базе данных Firebase много заказов определенного пользователя. Например, если пользователь покупает товар у продавца1, он совершает оформление заказа, затем он также покупает товар у продавца2 и оформляет заказ. в этом случае у пользователя будет два заказа в таблице «Заказы».
Но в моем случае каждый раз, когда я пытаюсь заказать второй товар, он просто обновляет базу данных, удаляя предыдущий заказ и сохраняя новый заказ.
ниже моя касса. Как мне это исправить?
private void confirmOrder() {
final String saveCurrentDate, saveCurrentTime;
Calendar calForDate = Calendar.getInstance();
SimpleDateFormat currentDate = new SimpleDateFormat("MMM dd, yyyy");
saveCurrentDate = currentDate.format(calForDate.getTime());
SimpleDateFormat currentTime = new SimpleDateFormat("HH:mm:ss a");
saveCurrentTime = currentTime.format(calForDate.getTime());
final DatabaseReference ordersRef = FirebaseDatabase
.getInstance().getReference().child("Orders")
.child(Prevalent.currentOnlineUser.getEmail());
final HashMap<String, Object> ordersMap = new HashMap<>();
ordersMap.put("amount", totalAmount + "$");
ordersMap.put("quantity", pQuantity);
ordersMap.put("pname", pname);
ordersMap.put("storename", storename);
ordersMap.put("statep", statep);
ordersMap.put("fullname", fullNameEditText.getText().toString());
ordersMap.put("phone", phoneEditText.getText().toString());
ordersMap.put("city", cityEditText.getText().toString());
ordersMap.put("street", streetEditText.getText().toString());
ordersMap.put("house", houseEditText.getText().toString());
ordersMap.put("note", noteEditText.getText().toString());
ordersMap.put("state", "not shipped");
ordersMap.put("time", saveCurrentTime);
ordersMap.put("date", saveCurrentDate);
ordersRef.updateChildren(ordersMap).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
FirebaseDatabase.getInstance().getReference().child("Cart List")
.child("User view").child(Prevalent.currentOnlineUser.getEmail())
.removeValue().addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(CheckoutActivity.this, "Order Complete", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(CheckoutActivity.this, HomeActivity.class);
//cleaning the cart list userView after the user has checked out the items
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
}
}
});
}
}
});
}