Commit f808c3ba authored by Muhammad Suryono's avatar Muhammad Suryono

Update

parent 1e073fe5
......@@ -25,9 +25,12 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import com.yono.messeripos.api.client.Client;
import com.yono.messeripos.api.service.PaymentService;
import com.yono.messeripos.models.PaymentsModels;
import com.yono.messeripos.models.VaNumberModels;
import com.yono.messeripos.response.DataResponse;
import com.yono.messeripos.utils.Utils;
import java.util.List;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......@@ -44,7 +47,7 @@ public class BottomSheets extends BottomSheetDialogFragment {
Utils utils;
String defaultText = "0";
Client client = new Client();
public static long grossAmount;
public static long grossAmount,result, input;
SharedPreferences sharedPreferences;
public static BottomSheetBehavior bottomSheetBehavior;
RelativeLayout layoutFormCash;
......@@ -127,8 +130,8 @@ public class BottomSheets extends BottomSheetDialogFragment {
if (TextUtils.isEmpty(charSequence)) inputAmount.setText("");
grossAmount = paymentsModels.getGrossAmount();
long input = Long.parseLong(inputAmount.getText().toString());
long result = input-grossAmount;
input = Long.parseLong(inputAmount.getText().toString());
result = input-grossAmount;
hargaChange.setText(utils.convertPrice("Rp.", result));
......@@ -156,9 +159,9 @@ public class BottomSheets extends BottomSheetDialogFragment {
);
PaymentService paymentService = client.Client(PaymentService.class);
paymentService.postFromCart(paymentsModels).enqueue(new Callback<DataResponse<PaymentsModels>>() {
paymentService.postFromCart(paymentsModels).enqueue(new Callback<DataResponse<PaymentsModels<List<VaNumberModels>>>>() {
@Override
public void onResponse(Call<DataResponse<PaymentsModels>> call, Response<DataResponse<PaymentsModels>> response) {
public void onResponse(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Response<DataResponse<PaymentsModels<List<VaNumberModels>>>> response) {
Log.i("CASH", "onResponse: "+utils.convertGson(response.body()));
if (response.body() != null){
SharedPreferences.Editor editor = PaymentActivity.sharedPreferences.edit();
......@@ -172,7 +175,7 @@ public class BottomSheets extends BottomSheetDialogFragment {
}
@Override
public void onFailure(Call<DataResponse<PaymentsModels>> call, Throwable t) {
public void onFailure(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Throwable t) {
}
});
......
......@@ -34,6 +34,7 @@ import com.yono.messeripos.models.MainViewModelsCart;
import com.yono.messeripos.models.PaymentsModels;
import com.yono.messeripos.models.ProductCartModels;
import com.yono.messeripos.models.ProductModels;
import com.yono.messeripos.models.VaNumberModels;
import com.yono.messeripos.response.DataResponse;
import com.yono.messeripos.response.OrdersResponse;
import com.yono.messeripos.utils.Utils;
......@@ -238,9 +239,9 @@ public class CartActivity extends AppCompatActivity {
paymentsModels.setTransactionStatus("pending");
Log.i("Convert Input", "onChanged: "+utils.convertGson(paymentsModels));
PaymentService paymentService = client.Client(PaymentService.class);
paymentService.postFromCart(paymentsModels).enqueue(new Callback<DataResponse<PaymentsModels>>() {
paymentService.postFromCart(paymentsModels).enqueue(new Callback<DataResponse<PaymentsModels<List<VaNumberModels>>>>() {
@Override
public void onResponse(Call<DataResponse<PaymentsModels>> call, Response<DataResponse<PaymentsModels>> response) {
public void onResponse(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Response<DataResponse<PaymentsModels<List<VaNumberModels>>>> response) {
Log.i("Response simpan_cart", "onResponse: "+utils.convertGson(response.body()));
if (response.body() != null){
SharedPreferences.Editor editor = sharedPreferences.edit();
......@@ -258,7 +259,7 @@ public class CartActivity extends AppCompatActivity {
}
@Override
public void onFailure(Call<DataResponse<PaymentsModels>> call, Throwable t) {
public void onFailure(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Throwable t) {
new AlertDialog.Builder(CartActivity.this)
.setCancelable(false)
.setTitle("Save new Order")
......
......@@ -67,9 +67,9 @@ public class HistoryActivity extends AppCompatActivity {
mainViewModels.getAllTransactions().observe(HistoryActivity.this,
new Observer<DataResponse<List<PaymentsModels>>>() {
new Observer<DataResponse<List<PaymentsModels<String>>>>() {
@Override
public void onChanged(DataResponse<List<PaymentsModels>> listDataResponse) {
public void onChanged(DataResponse<List<PaymentsModels<String>>> listDataResponse) {
Log.i("Hasil_transaksi", "onChanged: "+utils.convertGson(listDataResponse.getData()));
ArrayList<PaymentsModels> newData = new ArrayList<>();
newData.addAll(listDataResponse.getData());
......
......@@ -384,10 +384,9 @@ public class MainActivity extends AppCompatActivity {
categoryAdapter.setListener(new CategoryAdapter.CategoryListener() {
@Override
public void onGetProduct(CategoryModels categoryModels) {
showLoading(true);
progressDialog.show();
Log.i("diluar if", "onGetProduct: "+selectCategory);
if (!selectCategory){
progressDialog.show();
binding.rvProduct.setVisibility(View.GONE);
Log.i("if", "onGetProduct: "+selectCategory);
}
......
......@@ -34,6 +34,7 @@ import com.yono.messeripos.api.service.PaymentService;
import com.yono.messeripos.models.MainViewModelsCart;
import com.yono.messeripos.models.PaymentsModels;
import com.yono.messeripos.models.ProductCartModels;
import com.yono.messeripos.models.VaNumberModels;
import com.yono.messeripos.response.DataResponse;
import com.yono.messeripos.response.PaymentResponse;
import com.yono.messeripos.utils.Utils;
......@@ -193,12 +194,17 @@ public class PaymentActivity extends AppCompatActivity {
Client client = new Client();
paymentsModels.setPaymentType("bank_transfer");
paymentsModels.setBank(methodPay);
paymentsModels.setOrderId(orderId);
paymentsModels.setOrderIdUpdate(sharedPreferences.getString(ORDER_ID,""));
paymentsModels.setOrderId(sharedPreferences.getString(ORDER_ID, ""));
paymentsModels.setTransactionStatus("success");
paymentsModels.setTransaction_id(utils.timeStamp()+"-MES");
paymentsModels.setTransaction_time(utils.timeStamp());
Log.i("BANK", "onClick: "+utils.convertGson(paymentsModels));
PaymentService paymentService = client.Client(PaymentService.class);
paymentService.postFromCart(paymentsModels).enqueue(new Callback<DataResponse<PaymentsModels>>() {
if (paymentsModelsIntent == null){
paymentService.postFromCart(paymentsModels).enqueue(new Callback<DataResponse<PaymentsModels<List<VaNumberModels>>>>() {
@Override
public void onResponse(Call<DataResponse<PaymentsModels>> call, Response<DataResponse<PaymentsModels>> response) {
public void onResponse(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Response<DataResponse<PaymentsModels<List<VaNumberModels>>>> response) {
Log.i("Paymen_bank", "onResponse: "+utils.convertGson(response.body()));
if (response.body() != null){
......@@ -212,7 +218,42 @@ public class PaymentActivity extends AppCompatActivity {
getSupportFragmentManager(),
"QRCode"
);
}
}else{
progressDialog.dismiss();
new AlertDialog.Builder(PaymentActivity.this)
.setTitle("Payment Order")
.setMessage("Erorr save!").show();
}
}
@Override
public void onFailure(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Throwable t) {
progressDialog.dismiss();
new AlertDialog.Builder(PaymentActivity.this)
.setCancelable(false)
.setTitle("Payment Order")
.setMessage("Add new payment failed, try again!").show();
}
});
}else{
paymentService.postFromCartPending(paymentsModels).enqueue(new Callback<DataResponse>() {
@Override
public void onResponse(Call<DataResponse> call,
Response<DataResponse> response) {
Log.i("Paymen_bank_sa", "onResponse: "+utils.convertGson(response.body()));
if (response.body() != null){
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(ORDER_ID, "");
editor.putBoolean(CHECKOUT, false);
progressDialog.dismiss();
if (editor.commit()){
qrCode = new QRCode(response.body());
qrCode.show(
getSupportFragmentManager(),
"QRCode"
);
}
}else{
progressDialog.dismiss();
......@@ -223,7 +264,7 @@ public class PaymentActivity extends AppCompatActivity {
}
@Override
public void onFailure(Call<DataResponse<PaymentsModels>> call, Throwable t) {
public void onFailure(Call<DataResponse> call, Throwable t) {
progressDialog.dismiss();
new AlertDialog.Builder(PaymentActivity.this)
.setCancelable(false)
......@@ -232,6 +273,8 @@ public class PaymentActivity extends AppCompatActivity {
}
});
}
}
}
});
......@@ -248,9 +291,10 @@ public class PaymentActivity extends AppCompatActivity {
);
PaymentService paymentService = client.Client(PaymentService.class);
paymentService.postFromCart(paymentsModels1).enqueue(new Callback<DataResponse<PaymentsModels>>() {
paymentService.postFromCart(paymentsModels1).enqueue(new Callback<DataResponse<PaymentsModels<List<VaNumberModels>>>>() {
@Override
public void onResponse(Call<DataResponse<PaymentsModels>> call, Response<DataResponse<PaymentsModels>> response) {
public void onResponse(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call,
Response<DataResponse<PaymentsModels<List<VaNumberModels>>>> response) {
if (response.body() != null){
progressDialog.dismiss();
SharedPreferences.Editor editor = sharedPreferences.edit();
......@@ -263,7 +307,7 @@ public class PaymentActivity extends AppCompatActivity {
}
@Override
public void onFailure(Call<DataResponse<PaymentsModels>> call, Throwable t) {
public void onFailure(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Throwable t) {
}
});
......
......@@ -21,8 +21,11 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import com.google.android.material.textview.MaterialTextView;
import com.google.zxing.WriterException;
import com.yono.messeripos.models.PaymentsModels;
import com.yono.messeripos.models.VaNumberModels;
import com.yono.messeripos.response.DataResponse;
import java.util.List;
import androidmads.library.qrgenearator.QRGContents;
import androidmads.library.qrgenearator.QRGEncoder;
......@@ -33,9 +36,9 @@ public class QRCode extends BottomSheetDialogFragment {
QRGEncoder qrgEncoder;
String inputValue;
Bitmap bitmap;
DataResponse<PaymentsModels> paymentsModels;
DataResponse<PaymentsModels<List<VaNumberModels>>> paymentsModels;
public QRCode(DataResponse<PaymentsModels> paymentsModels) {
public QRCode(DataResponse<PaymentsModels<List<VaNumberModels>>> paymentsModels) {
this.paymentsModels = paymentsModels;
Log.d("TAG", "QRCode: "+paymentsModels);
......
......@@ -2,8 +2,11 @@ package com.yono.messeripos.api.service;
import com.yono.messeripos.api.ApiHelper;
import com.yono.messeripos.models.PaymentsModels;
import com.yono.messeripos.models.VaNumberModels;
import com.yono.messeripos.response.DataResponse;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
......@@ -12,7 +15,10 @@ import retrofit2.http.Path;
public interface PaymentService {
@POST(ApiHelper.VERSI_API_1+"payment")
Call<DataResponse<PaymentsModels>> postFromCart(@Body PaymentsModels paymentsModels);
Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> postFromCart(@Body PaymentsModels paymentsModels);
@POST(ApiHelper.VERSI_API_1+"payment/midtrans/push")
Call<DataResponse> postFromCartPending(@Body PaymentsModels paymentsModels);
@GET(ApiHelper.VERSI_API_1+"payment/{id}")
Call<DataResponse<PaymentsModels>> getTransactionById(@Body PaymentsModels paymentsModels, @Path("id") int id);
......
......@@ -11,6 +11,6 @@ import retrofit2.http.GET;
public interface TransactionService {
@GET(ApiHelper.VERSI_API_1+"payments")
Call<DataResponse<List<PaymentsModels>>> getAllTransaction();
Call<DataResponse<List<PaymentsModels<String>>>> getAllTransaction();
}
......@@ -29,7 +29,7 @@ public class MainViewModels extends ViewModel {
MutableLiveData<DataResponse<List<ProductModels>>> productByCategory;
MutableLiveData<DataResponse<List<CategoryModels>>> categoryList;
MutableLiveData<DataResponse<UsersModels>> usersLogin;
MutableLiveData<DataResponse<List<PaymentsModels>>> transactions;
MutableLiveData<DataResponse<List<PaymentsModels<String>>>> transactions;
private MainViewModels mainViewModels;
......@@ -63,7 +63,7 @@ public class MainViewModels extends ViewModel {
return productByCategory;
}
public LiveData<DataResponse<List<PaymentsModels>>> getAllTransactions(){
public LiveData<DataResponse<List<PaymentsModels<String>>>> getAllTransactions(){
getDataTransaction();
return transactions;
}
......@@ -102,10 +102,10 @@ public class MainViewModels extends ViewModel {
private void getDataTransaction() {
TransactionService transactionService = client.Client(TransactionService.class);
transactionService.getAllTransaction().enqueue(new Callback<DataResponse<List<PaymentsModels>>>() {
transactionService.getAllTransaction().enqueue(new Callback<DataResponse<List<PaymentsModels<String>>>>() {
@Override
public void onResponse(Call<DataResponse<List<PaymentsModels>>> call,
Response<DataResponse<List<PaymentsModels>>> response) {
public void onResponse(Call<DataResponse<List<PaymentsModels<String>>>> call,
Response<DataResponse<List<PaymentsModels<String>>>> response) {
Log.i("Get all transaction", "onResponse: "+utils.convertGson(response.body()));
if (response.body() != null){
transactions.setValue(response.body());
......@@ -115,7 +115,7 @@ public class MainViewModels extends ViewModel {
}
@Override
public void onFailure(Call<DataResponse<List<PaymentsModels>>> call, Throwable t) {
public void onFailure(Call<DataResponse<List<PaymentsModels<String>>>> call, Throwable t) {
Log.e("Error get transaction", "onFailure: ",t );
transactions = null;
}
......
......@@ -65,20 +65,20 @@ public class MainViewModelsCart extends AndroidViewModel {
}
public void insertPayments(PaymentsModels paymentsModels){
PaymentService paymentService = client.Client(PaymentService.class);
paymentService.postFromCart(paymentsModels).enqueue(new Callback<DataResponse<PaymentsModels>>() {
@Override
public void onResponse(Call<DataResponse<PaymentsModels>> call, Response<DataResponse<PaymentsModels>> response) {
}
@Override
public void onFailure(Call<DataResponse<PaymentsModels>> call, Throwable t) {
}
});
}
// public void insertPayments(PaymentsModels paymentsModels){
// PaymentService paymentService = client.Client(PaymentService.class);
// paymentService.postFromCart(paymentsModels).enqueue(new Callback<DataResponse<PaymentsModels<List<VaNumberModels>>>>() {
// @Override
// public void onResponse(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Response<DataResponse<PaymentsModels>> response) {
//
// }
//
// @Override
// public void onFailure(Call<DataResponse<PaymentsModels>> call, Throwable t) {
//
// }
// });
// }
public void insertOrders(OrdersResponse ordersResponse){
Client client = new Client();
......
......@@ -10,7 +10,7 @@ import androidx.databinding.BindingAdapter;
import com.google.gson.annotations.SerializedName;
import com.yono.messeripos.R;
public class PaymentsModels implements Parcelable {
public class PaymentsModels<T> implements Parcelable {
@SerializedName("order_code")
private String orderId;
......@@ -26,14 +26,26 @@ public class PaymentsModels implements Parcelable {
@SerializedName("transaction_status")
private String transactionStatus;
@SerializedName("transaction_time")
private String transaction_time;
@SerializedName("transaction_id")
private String transaction_id;
@SerializedName("created_at")
private String createdAt;
@SerializedName("updated_at")
private String updatedAt;
@SerializedName("va_numbers")
private T nomorPembayaran;
@SerializedName("va_number")
private String nomorPembayaran;
private String nomorPembayaranGet;
@SerializedName("order_id")
private String orderIdUpdate;
public PaymentsModels() {
......@@ -54,7 +66,6 @@ public class PaymentsModels implements Parcelable {
transactionStatus = in.readString();
createdAt = in.readString();
updatedAt = in.readString();
nomorPembayaran = in.readString();
}
public static final Creator<PaymentsModels> CREATOR = new Creator<PaymentsModels>() {
......@@ -125,15 +136,46 @@ public class PaymentsModels implements Parcelable {
this.updatedAt = updatedAt;
}
public String getNomorPembayaran() {
public T getNomorPembayaran() {
return nomorPembayaran;
}
public void setNomorPembayaran(String nomorPembayaran) {
public void setNomorPembayaran(T nomorPembayaran) {
this.nomorPembayaran = nomorPembayaran;
}
public String getTransaction_time() {
return transaction_time;
}
public void setTransaction_time(String transaction_time) {
this.transaction_time = transaction_time;
}
public String getNomorPembayaranGet() {
return nomorPembayaranGet;
}
public void setNomorPembayaranGet(String nomorPembayaranGet) {
this.nomorPembayaranGet = nomorPembayaranGet;
}
public String getOrderIdUpdate() {
return orderIdUpdate;
}
public void setOrderIdUpdate(String orderIdUpdate) {
this.orderIdUpdate = orderIdUpdate;
}
public String getTransaction_id() {
return transaction_id;
}
public void setTransaction_id(String transaction_id) {
this.transaction_id = transaction_id;
}
@Override
public int describeContents() {
return 0;
......@@ -148,6 +190,5 @@ public class PaymentsModels implements Parcelable {
parcel.writeString(transactionStatus);
parcel.writeString(createdAt);
parcel.writeString(updatedAt);
parcel.writeString(nomorPembayaran);
}
}
package com.yono.messeripos.models;
import com.google.gson.annotations.SerializedName;
public class VaNumberModels {
@SerializedName("bank")
private String bank;
@SerializedName("va_number")
private String va_number;
}
......@@ -79,7 +79,7 @@
android:id="@+id/tvVA"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{transaction.nomorPembayaran}"
android:text="@{transaction.nomorPembayaranGet}"
android:textAllCaps="true"
android:textColor="#000"
android:textStyle="bold"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment