From 002edf4a6c39f1f873e28718cf27a8c42df2f403 Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Mon, 2 Jan 2023 12:55:30 +0530 Subject: [PATCH 1/2] added changes --- .../bajajfd/interfaces/ApiInterface.kt | 2 +- .../bajajfd/interfaces/BajajFDInterface.kt | 2 +- .../bajajfd/repositories/MainRepository.kt | 4 +- .../ui/activity/BajajFdMainActivity.kt | 67 +++++++++++++------ .../ui/fragment/StepFourBajajFDFragment.kt | 9 ++- .../ui/fragment/StepThreeBajajFDFragment.kt | 10 +-- .../bajajfd/viewModel/BajajFDViewModel.kt | 8 +++ .../viewModel/StepOneBajajFDViewModel.kt | 2 + .../viewModel/StepTwoBajajFDViewModel.kt | 18 +---- 9 files changed, 74 insertions(+), 48 deletions(-) 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 006ec10..a86e642 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 @@ -22,7 +22,7 @@ interface ApiInterface { @POST("WebApi_Bajaj/CreateFDApplication") suspend fun createFDApp( - @Body requestBody: RequestBody, + @Body createFDRequest: CreateFDRequest, @Header("token") token: String ): Response diff --git a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt index fac88a3..94538dc 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt @@ -5,6 +5,6 @@ import com.nivesh.production.bajajfd.model.CreateFDRequest interface BajajFDInterface { fun stepOneApi(data: String?) fun stepTwoApi(data: CreateFDRequest) - fun stepThreeApi(data: String?) + fun stepThreeApi(data: CreateFDRequest) fun stepFourApi(data: String?) } \ 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 4dcb559..226ea0b 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 @@ -23,8 +23,8 @@ class MainRepository constructor(private val apiInterface: ApiInterface) { apiInterface.getCalculateFDMaturityAmount(requestBody, token) - suspend fun checkFDKYCResponse(getRatesRequest: GetRatesRequest, token: String) = - apiInterface.getRates(getRatesRequest, token) + suspend fun checkFDKYCResponse(createFDRequest: CreateFDRequest, token: String) = + apiInterface.createFDApp(createFDRequest, token) suspend fun documentsUploadResponse(getRatesRequest: GetRatesRequest, token: String) = apiInterface.getRates(getRatesRequest, 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 2b41fd8..808f5b9 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 @@ -26,7 +26,6 @@ import com.nivesh.production.bajajfd.viewModel.* class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { lateinit var binding: ActivityBajajFdBinding private lateinit var viewModel: BajajFDViewModel - private lateinit var viewModel1: BajajFDViewModel lateinit var stepOneBajajFDViewModel: StepOneBajajFDViewModel lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel @@ -69,17 +68,6 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { binding = ActivityBajajFdBinding.inflate(layoutInflater) setContentView(binding.root) - -// createFDRequest = CreateFDRequest() -// createFDApplicantRequest = CreateFDApplicationRequest() -// -// fdInvestmentDetails = FDInvestmentDetails() -// applicantDetails = ApplicantDetails() -// applicantRelationDetails = ApplicantRelationDetails() -// fdBankDetails = FdBankDetails() -// nomineeDetails = NomineeDetails() -// nomineeGuardianDetails = NomineeGuardianDetails() - //start Repository viewModel = ViewModelProvider( this, @@ -313,22 +301,21 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { // step 2 response override fun stepTwoApi(data: CreateFDRequest) { Log.e("stepTwoApi", " response ---> $data") - if (stepCount == 4) { + // go to step 3 image Upload binding.viewPager.currentItem = 2 }else{ - // call create fd api + // call create fd api bypass step 3 + createFDApi(data , 2) } - } + // step 3 response - override fun stepThreeApi(data: String?) { + override fun stepThreeApi(data: CreateFDRequest) { Log.e("stepThreeApi", " response ---> $data") // call create fd api - - // StepFourBajajFDFragment.getInstance().getCreateFDResponse() - binding.viewPager.currentItem = 3 + createFDApi(data, 3) } // step 4 response @@ -337,4 +324,46 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { binding.viewPager.currentItem = 4 } + private fun createFDApi(data: CreateFDRequest, currentItem: Int) { + if (Common.isNetworkAvailable(this@BajajFdMainActivity)){ + + viewModel.createFDApi(data, token) + viewModel.getFDResponseMutableData.observe(this) { response -> + when (response) { + is Resource.Success -> { + Log.e("response", "-->$response") + val createFDApplicationResponse : CreateFDApplicationResponse = + Gson().fromJson( + response.data?.toString(), + CreateFDApplicationResponse::class.java + ) + createFDApplicationResponse.Response.StatusCode.let { code -> + when (code) { + 200 -> { + binding.viewPager.currentItem = currentItem + StepFourBajajFDFragment.getInstance(this).getFDData(createFDApplicationResponse) + } + // 650 -> refreshToken() + else -> {} + } + } + } + + is Resource.Error -> { + response.message?.let { message -> + Log.e(" ", "An error occurred:$message") + } + } + is Resource.Loading -> { + + } + } + } + + + } + + } + + } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt index 1a0f314..278b0cb 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt @@ -10,6 +10,7 @@ import com.google.gson.Gson import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFourBinding import com.nivesh.production.bajajfd.interfaces.BajajFDInterface +import com.nivesh.production.bajajfd.model.CreateFDApplicationResponse import com.nivesh.production.bajajfd.model.GetCodeRequest import com.nivesh.production.bajajfd.model.GetCodeResponse import com.nivesh.production.bajajfd.model.GetRatesRequest @@ -25,6 +26,7 @@ class StepFourBajajFDFragment : Fragment() { private lateinit var stepFourBajajFDViewModel: StepFourBajajFDViewModel private var _binding: FragmentBajajfdStepFourBinding? = null private val binding get() = _binding!! + var uniqueId : String? = "" private lateinit var bajajFDInterface: BajajFDInterface @@ -83,7 +85,7 @@ class StepFourBajajFDFragment : Fragment() { binding.btnNext.setOnClickListener { if (binding.checkBox.isChecked) { - bajajFDInterface.stepThreeApi("stepThreeResponse") + bajajFDInterface.stepFourApi("stepThreeResponse") }else{ showDialogValidation(activity as BajajFdMainActivity, resources.getString(R.string.validTermsConditions)) } @@ -91,8 +93,9 @@ class StepFourBajajFDFragment : Fragment() { return root } - fun getCreateFDResponse() - { + fun getFDData(createFDApplicationResponse: CreateFDApplicationResponse) { + uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId + // } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt index 22ec05b..4612c7f 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt @@ -28,10 +28,7 @@ import com.nivesh.production.bajajfd.BuildConfig import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepThreeBinding import com.nivesh.production.bajajfd.interfaces.BajajFDInterface -import com.nivesh.production.bajajfd.model.DocumentUpload -import com.nivesh.production.bajajfd.model.GetCodeRequest -import com.nivesh.production.bajajfd.model.GetCodeResponse -import com.nivesh.production.bajajfd.model.GetCodes +import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Constants @@ -101,7 +98,8 @@ class StepThreeBajajFDFragment : Fragment() { binding.btnNext.setOnClickListener { if (validate()) { - + // + // bajajFDInterface.stepThreeApi((activity as BajajFdMainActivity).createFDRequest) } } binding.btnBack.setOnClickListener { @@ -309,6 +307,8 @@ class StepThreeBajajFDFragment : Fragment() { ) } + + override fun onDestroyView() { super.onDestroyView() _binding = null 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 7ad9327..3ecd373 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 @@ -4,7 +4,9 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.gson.JsonObject +import com.nivesh.production.bajajfd.model.CreateFDRequest import com.nivesh.production.bajajfd.model.FDStepsCountRequest +import com.nivesh.production.bajajfd.model.GetRatesRequest import com.nivesh.production.bajajfd.model.getClientDetailsRequest import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.util.Resource @@ -27,6 +29,12 @@ class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() getClientDetailsMutableData.postValue(handleRatesResponse(response)) } + val getFDResponseMutableData: MutableLiveData> = MutableLiveData() + fun createFDApi(getRatesRequest: CreateFDRequest, token :String) = viewModelScope.launch { + getFDResponseMutableData.postValue(Resource.Loading()) + val response = mainRepository.checkFDKYCResponse(getRatesRequest, token) + getFDResponseMutableData.postValue(handleRatesResponse(response)) + } private fun handleRatesResponse(response: retrofit2.Response): Resource { if (response.isSuccessful) { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt index 56f311d..ff0c74c 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt @@ -51,6 +51,8 @@ class StepOneBajajFDViewModel(private val mainRepository: MainRepository) : View getMaxAmountMutableData.postValue(handleRatesResponse(response)) } + + private fun handleRatesResponse(response: retrofit2.Response): Resource { if (response.isSuccessful) { response.body()?.let { resultResponse -> diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt index 4079a46..1260697 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt @@ -4,10 +4,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.gson.JsonObject -import com.nivesh.production.bajajfd.model.CityRequest -import com.nivesh.production.bajajfd.model.GetCodeRequest -import com.nivesh.production.bajajfd.model.GetRatesRequest -import com.nivesh.production.bajajfd.model.PanCheckRequest +import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.util.Resource import kotlinx.coroutines.launch @@ -18,13 +15,6 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View private val getRatesMutableData: MutableLiveData> = MutableLiveData() val getPanCheckMutableData: MutableLiveData> = MutableLiveData() - - fun checkFDKYC(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch { - getRatesMutableData.postValue(Resource.Loading()) - val response = mainRepository.checkFDKYCResponse(getRatesRequest, token) - getRatesMutableData.postValue(handleRatesResponse(response)) - } - private fun handleRatesResponse(response: retrofit2.Response): Resource { if (response.isSuccessful) { response.body()?.let { resultResponse -> @@ -35,12 +25,6 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View } -// fun createFDApp(getRatesRequest: GetRatesRequest) = viewModelScope.launch { -// getRatesMutableData.postValue(Resource.Loading()) -// val response = mainRepository.createFDAppResponse(getRatesRequest) -// getRatesMutableData.postValue(handleRatesResponse(response)) -// } - fun panCheck(panCheck: PanCheckRequest, token: String) = viewModelScope.launch { getPanCheckMutableData.postValue(Resource.Loading()) val response = mainRepository.panCheck(panCheck, token) From d0f802e1830957bf8d7bee0bd2101de661049e46 Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Mon, 2 Jan 2023 13:21:35 +0530 Subject: [PATCH 2/2] url change --- .../bajajfd/interfaces/ApiInterface.kt | 42 +++++++++---------- .../ui/activity/BajajFdMainActivity.kt | 5 ++- 2 files changed, 24 insertions(+), 23 deletions(-) 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 a86e642..f6c3d72 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 @@ -8,74 +8,74 @@ import retrofit2.http.* interface ApiInterface { - @POST("WebApi_Bajaj/GetRates") + @POST("WebApi_Bajaj/api/GetRates") suspend fun getRates( @Body getRatesRequest: GetRatesRequest, @Header("token") token: String ): Response - @POST("WebApi_Bajaj/CheckFDCKYC") + @POST("WebApi_Bajaj/api/CheckFDCKYC") suspend fun checkFDKYC( @Body requestBody: RequestBody, @Header("token") token: String ): Response - @POST("WebApi_Bajaj/CreateFDApplication") + @POST("WebApi_Bajaj/api/CreateFDApplication") suspend fun createFDApp( @Body createFDRequest: CreateFDRequest, @Header("token") token: String ): Response - @POST("WebApi_Bajaj/DocumentsUpload") + @POST("WebApi_Bajaj/api/DocumentsUpload") suspend fun documentsUpload( @Body requestBody: RequestBody, @Header("token") token: String ): Response - @POST("WebApi_Bajaj/SaveFDOtherData") + @POST("WebApi_Bajaj/api/SaveFDOtherData") suspend fun saveFDOtherData( @Body requestBody: RequestBody, @Header("token") token: String ): Response - @POST("WebApi_Bajaj/GetFDDetails") + @POST("WebApi_Bajaj/api/GetFDDetails") suspend fun getFDDetails( @Body requestBody: RequestBody, @Header("token") token: String ): Response - @POST("WebApi_Bajaj/UpdateFDPaymentStatus") + @POST("WebApi_Bajaj/api/UpdateFDPaymentStatus") suspend fun updateFDPaymentStatus( @Body requestBody: RequestBody, @Header("token") token: String ): Response - @POST("WebApi_Bajaj/FinaliseFD") + @POST("WebApi_Bajaj/api/FinaliseFD") suspend fun finaliseFD( @Body requestBody: RequestBody, @Header("token") token: String ): Response - @POST("WebApi_Bajaj/FinaliseKYC") + @POST("WebApi_Bajaj/api/FinaliseKYC") suspend fun finaliseKYC( @Body requestBody: RequestBody, @Header("token") token: String ): Response - @POST("WebApi_Bajaj/PaymentRequery") + @POST("WebApi_Bajaj/api/PaymentRequery") suspend fun paymentReQuery( @Body requestBody: RequestBody, @Header("token") token: String ): Response // @FormUrlEncoded - @POST("WebApi_Bajaj/GetCodes") + @POST("WebApi_Bajaj/api/GetCodes") suspend fun getCodes( @Body requestBody: GetCodeRequest, @Header("token") token: String ): Response - @POST("WebApi_Bajaj/CalculateFDMaturityAmount") + @POST("WebApi_Bajaj/api/CalculateFDMaturityAmount") suspend fun getCalculateFDMaturityAmount( @Body requestBody: GetMaturityAmountRequest, @Header("token") token: String @@ -87,7 +87,7 @@ interface ApiInterface { @Header("token") token: String ): Response - @POST("WebApi_Bajaj/getFDStepsCount") + @POST("WebApi_Bajaj/api/getFDStepsCount") suspend fun getFDStepsCount( @Body fdStepsCountRequest: FDStepsCountRequest, @Header("token") token: String @@ -100,37 +100,37 @@ interface ApiInterface { ): Response - @POST("WebApi_Bajaj/GetCodes") + @POST("WebApi_Bajaj/api/GetCodes") suspend fun titleApi( @Body getCodeRequest: GetCodeRequest, @Header("token") token: String ): Response - @POST("WebApi_Bajaj/GetCodes") + @POST("WebApi_Bajaj/api/GetCodes") suspend fun genderApi( @Body getCodeRequest: GetCodeRequest, @Header("token") token: String ): Response - @POST("WebApi_Bajaj/GetCodes") + @POST("WebApi_Bajaj/api/GetCodes") suspend fun annualIncomeApi( @Body getCodeRequest: GetCodeRequest, @Header("token") token: String ): Response - @POST("WebApi_Bajaj/GetCodes") + @POST("WebApi_Bajaj/api/GetCodes") suspend fun relationShipApi( @Body getCodeRequest: GetCodeRequest, @Header("token") token: String ): Response - @POST("WebApi_Bajaj/GetCodes") + @POST("WebApi_Bajaj/api/GetCodes") suspend fun maritalStatusApi( @Body getCodeRequest: GetCodeRequest, @Header("token") token: String ): Response - @POST("WebApi_Bajaj/GetCodes") + @POST("WebApi_Bajaj/api/GetCodes") suspend fun occupationApi( @Body getCodeRequest: GetCodeRequest, @Header("token") token: String @@ -145,7 +145,7 @@ interface ApiInterface { @Header("token") token: String ): Response - @GET("WebAPI_Bajaj/GetFDBankList?FDProvider=Bajaj") + @GET("WebAPI_Bajaj/api/GetFDBankList?FDProvider=Bajaj") suspend fun bankListApi(@Header("token") token: String): Response @GET("WebApi/api/GetIFSC_Autofill?prefix={prefix}") @@ -154,7 +154,7 @@ interface ApiInterface { @GET("WebApi/api/GetBankDetailsFromIFSC?") suspend fun getIFSCDetailsApi(@Query("ifsc") ifsc : String,@Header("token") token: String): Response - @POST("WebApi_Bajaj/GetCodes") + @POST("WebApi_Bajaj/api/GetCodes") suspend fun payModeApi( @Body getCodeRequest: GetCodeRequest, @Header("token") token: String 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 808f5b9..a6d9902 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 @@ -119,10 +119,11 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { 200 -> { stepCount = stepsCountResponse.Response.StepsCount getClientDetailsApi(stepsCountResponse.Response.StepsCount) - // setViewPager(stepsCountResponse.Response.StepsCount) } // 650 -> refreshToken() - else -> {} + else -> { + + } } } }