From 9f7f6a4b40b1c84b2d2080ded44e5d732e5fbbed Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Fri, 6 Jan 2023 16:11:38 +0530 Subject: [PATCH] added paymentrequery api after trasaction --- .../bajajfd/interfaces/ApiInterface.kt | 2 +- .../bajajfd/model/PaymentReQueryRequest.kt | 6 ++ .../bajajfd/model/PaymentReQueryResponse.kt | 5 ++ .../bajajfd/model/ResponseXXXXXXXXXXXXXXX.kt | 8 ++ .../bajajfd/repositories/MainRepository.kt | 4 +- .../ui/activity/BajajFdMainActivity.kt | 83 ++++++++++++++----- .../ui/fragment/StepFiveBajajFDFragment.kt | 4 + .../bajajfd/viewModel/BajajFDViewModel.kt | 11 +++ 8 files changed, 98 insertions(+), 25 deletions(-) create mode 100644 app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryRequest.kt create mode 100644 app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryResponse.kt create mode 100644 app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXX.kt diff --git a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt index 740db9c..4a7b331 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt @@ -64,7 +64,7 @@ interface ApiInterface { @POST("PaymentRequery") suspend fun paymentReQuery( - @Body requestBody: RequestBody, + @Body requestBody: PaymentReQueryRequest, @Header("token") token: String ): Response diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryRequest.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryRequest.kt new file mode 100644 index 0000000..b7391d7 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryRequest.kt @@ -0,0 +1,6 @@ +package com.nivesh.production.bajajfd.model + +data class PaymentReQueryRequest( + var NiveshClientCode: String? = "", + var UniqueId: String? = "" +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryResponse.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryResponse.kt new file mode 100644 index 0000000..82d78d9 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryResponse.kt @@ -0,0 +1,5 @@ +package com.nivesh.production.bajajfd.model + +data class PaymentReQueryResponse( + val Response: ResponseXXXXXXXXXXXXXXX +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXX.kt new file mode 100644 index 0000000..02339b2 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXX.kt @@ -0,0 +1,8 @@ +package com.nivesh.production.bajajfd.model + +data class ResponseXXXXXXXXXXXXXXX( + val Errors: List, + val Message: String, + val Status: String, + val StatusCode: Int +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt index dae4441..81ab7a2 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt @@ -44,8 +44,8 @@ class MainRepository constructor(private val apiInterface: ApiInterface) { suspend fun finaliseKYCResponse(getRatesRequest: GetRatesRequest, token: String) = apiInterface.getRates(getRatesRequest, token) - suspend fun paymentReQueryResponse(getRatesRequest: GetRatesRequest, token: String) = - apiInterface.getRates(getRatesRequest, token) + suspend fun paymentReQueryResponse(getRatesRequest: PaymentReQueryRequest, token: String) = + apiInterface.paymentReQuery(getRatesRequest, token) suspend fun panCheck(panCheck: PanCheckRequest, token: String) = apiInterface.panCheckApi(panCheck, token) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt index 598740c..4083daf 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt @@ -1,15 +1,12 @@ package com.nivesh.production.bajajfd.ui.activity import android.annotation.SuppressLint -import android.app.Dialog import android.graphics.Bitmap import android.graphics.drawable.Drawable import android.os.Bundle import android.util.Log -import android.view.WindowManager import android.webkit.WebView import android.webkit.WebViewClient -import android.widget.TextView import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import androidx.viewpager.widget.ViewPager @@ -88,8 +85,7 @@ class BajajFdMainActivity : BaseActivity() { val fdStepsCount = FDStepsCountRequest() fdStepsCount.FDProvider = getString(R.string.bajaj) fdStepsCount.NiveshClientCode = "8872" - //hemant client code =8872 /60476 - + // client code =8872 /60476 viewModel.getStepsCount(fdStepsCount, token, this) viewModel.getStepsCountMutableData.observe(this) { response -> when (response) { @@ -106,7 +102,7 @@ class BajajFdMainActivity : BaseActivity() { stepCount = stepsCountResponse.Response.StepsCount getClientDetailsApi(stepsCountResponse.Response.StepsCount) } - 650 -> refreshToken(fdStepsCount) + 650 -> refreshToken("") else -> { showDialogValidation( this@BajajFdMainActivity, @@ -132,10 +128,63 @@ class BajajFdMainActivity : BaseActivity() { } } - private fun refreshToken(fdStepsCount: FDStepsCountRequest) { + private fun paymentReQueryApi() { + if (Common.isNetworkAvailable(this)) { + val paymentReQueryRequest = PaymentReQueryRequest() + paymentReQueryRequest.UniqueId = "" + paymentReQueryRequest.NiveshClientCode = + getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + // client code =8872 /60476 + + viewModel.getPaymentReQuery(paymentReQueryRequest, token, this) + viewModel.getPaymentReQueryMutableData.observe(this) { response -> + when (response) { + is Resource.Success -> { + Log.e("response", "-->$response") + val paymentReQueryResponse: PaymentReQueryResponse = + Gson().fromJson( + response.data?.toString(), + PaymentReQueryResponse::class.java + ) + paymentReQueryResponse.Response.StatusCode.let { code -> + when (code) { + 200 -> { + if (stepCount == 4) { + binding.viewPager.currentItem = 4 + } else { + binding.viewPager.currentItem = 3 + } + stepFiveBajajFDFragment.getData() + } + 650 -> refreshToken("") + else -> { + showDialogValidation( + this@BajajFdMainActivity, + paymentReQueryResponse.Response.Errors[0].ErrorMessage + ) + } + } + } + } + is Resource.Error -> { + response.message?.let { message -> + showDialogValidation(this@BajajFdMainActivity, message) + } + } + is Resource.Loading -> { + + } + is Resource.DataError -> { + } + } + } + } } + private fun refreshToken(fdStepsCount: String) { + + } private fun getClientDetailsApi(stepsCount: Int) { if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { @@ -143,10 +192,7 @@ class BajajFdMainActivity : BaseActivity() { getClientDetailsRequest.client_code = "8872" getClientDetailsRequest.AppOrWeb = getString(R.string.app) getClientDetailsRequest.sub_broker_code = "1038" - - //hemant 8872/1038 - - + // 8872/1038 val userRequest = UserRequest() userRequest.UID = 0 userRequest.IPAddress = "" @@ -206,7 +252,6 @@ class BajajFdMainActivity : BaseActivity() { } } - private fun setViewPager(stepsCount: Int) { // steps setting setBackground(selectedShape(), defaultShape(), defaultShape(), defaultShape()) @@ -352,7 +397,6 @@ class BajajFdMainActivity : BaseActivity() { } - // set background for selected/ default step private fun setBackground( drawable: Drawable?, @@ -367,13 +411,13 @@ class BajajFdMainActivity : BaseActivity() { } // step 1 response - fun stepOneApi(data: String?) { + fun stepOneApi(data: String?) { Log.e("stepOneApi", " response ---> $data") binding.viewPager.currentItem = 1 } // step 2 response - fun stepTwoApi(data: CreateFDApplicationResponse) { + fun stepTwoApi(data: CreateFDApplicationResponse) { Log.e("stepTwoApi", " response ---> " + Gson().toJson(data)) binding.viewPager.currentItem = 2 stepThreeBajajFDFragment.displayReceivedData(data) @@ -381,7 +425,7 @@ class BajajFdMainActivity : BaseActivity() { // step 3 response - fun stepThreeApi(data: CreateFDApplicationResponse) { + fun stepThreeApi(data: CreateFDApplicationResponse) { Log.e("stepThreeApi", " response --->" + Gson().toJson(data)) // call create fd api binding.viewPager.currentItem = 3 @@ -389,7 +433,7 @@ class BajajFdMainActivity : BaseActivity() { } // step 4 response - fun stepFourApi(payUrl: String, value: String) { + fun stepFourApi(payUrl: String, value: String) { paymentDialog(payUrl, value) } @@ -431,15 +475,10 @@ class BajajFdMainActivity : BaseActivity() { override fun onPageStarted(view: WebView, url: String, favicon: Bitmap?) { super.onPageStarted(view, url, favicon) Log.e("onPageStarted", "-->$url") - if (url.isNotEmpty() && url.contains("CustomerPaymentResponse")) { - - } } override fun onPageFinished(view: WebView, url: String) { super.onPageFinished(view, url) } - } - } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt index cbde8cb..ceb6f7d 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt @@ -38,6 +38,10 @@ class StepFiveBajajFDFragment : Fragment() { return root } + fun getData(){ + + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) stepFiveBajajFDViewModel = ViewModelProvider( diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt index 5cee438..732aba4 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt @@ -49,4 +49,15 @@ class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() } } + + val getPaymentReQueryMutableData: MutableLiveData> = MutableLiveData() + fun getPaymentReQuery(requestBody: PaymentReQueryRequest, token : String, activity: Activity) = viewModelScope.launch(handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getPaymentReQueryMutableData.postValue(Resource.Loading()) + val response = mainRepository.paymentReQueryResponse(requestBody, token) + getPaymentReQueryMutableData.postValue(handleResponse(response)) + } + } + + } \ No newline at end of file