diff --git a/app/Classes/Modules/Bookings/Processors/CreateBookingPaymentProcessor.php b/app/Classes/Modules/Bookings/Processors/CreateBookingPaymentProcessor.php index 00fe657c..db0d1119 100644 --- a/app/Classes/Modules/Bookings/Processors/CreateBookingPaymentProcessor.php +++ b/app/Classes/Modules/Bookings/Processors/CreateBookingPaymentProcessor.php @@ -106,6 +106,7 @@ class CreateBookingPaymentProcessor * @param string|null $voucherCode * @param string|null $bankCode * @param string $email + * @param bool $checkSysRecordedOutstanding * @return Transaction * @throws MalformedRequestException */ diff --git a/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWF1688BookingLogic.php b/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWF1688BookingLogic.php index 205b6dbe..94cca5ee 100644 --- a/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWF1688BookingLogic.php +++ b/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWF1688BookingLogic.php @@ -7,7 +7,7 @@ use App\Classes\General\Abstracts\AbstractControllerLogic; use App\Classes\Modules\Questionnaires\Standards\Rules\CanFetchQuestion; use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\Modules\Bookings\Services\FetchesBooking; -use App\Http\Resources\BookingBaseResource; +use App\Http\Resources\BookingAdminWorkflowResource; use App\Models\Booking; use App\Models\KeyValuePair; use Carbon\Carbon; @@ -75,13 +75,16 @@ class FetchAdminWF1688BookingLogic extends AbstractControllerLogic $booking = Booking::where('service_id', $serviceId) ->where('status', ApprovalStatus::APPROVED) ->whereNotIn('id', $excludedBookingIds) - ->whereHas('bills', function ($query) { - $query->whereHas('groupTransaction', function ($query) { - $query->whereHas('group', function ($query) { - $query->whereDoesntHave('billGroup')->whereIn('issuer', [2]); - }); - }); + ->whereHas('transactions', function ($query) { + $query->payments()->whereIn('status', [ApprovalStatus::PENDING_VERIFICATION, ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED]); }) + // ->whereHas('bills', function ($query) { + // $query->whereHas('groupTransaction', function ($query) { + // $query->whereHas('group', function ($query) { + // $query->whereDoesntHave('billGroup')->whereIn('issuer', [2]); + // }); + // }); + // }) ->where('created_at', '>=', $timeAgo) ->latest() ->first(); @@ -103,9 +106,9 @@ class FetchAdminWF1688BookingLogic extends AbstractControllerLogic // ]); // return responseJson([ - // 'booking' => new BookingBaseResource($booking) + // 'booking' => new BookingAdminWorkflowResource($booking) // ]); - return $this->resourceResponse(new BookingBaseResource($booking)); + return $this->resourceResponse(new BookingAdminWorkflowResource($booking)); } } diff --git a/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWFModelAttributesLogic.php b/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWFModelAttributesLogic.php index ed7151e0..0c3cfe64 100644 --- a/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWFModelAttributesLogic.php +++ b/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWFModelAttributesLogic.php @@ -7,7 +7,7 @@ use App\Classes\General\Abstracts\AbstractControllerLogic; use App\Classes\Modules\Questionnaires\Standards\Rules\CanFetchQuestion; use App\Classes\ValueObjects\Constants\BookingAttributeNames; use App\Classes\Modules\Bookings\Services\FetchesBooking; -use App\Http\Resources\BookingBaseResource; +use App\Http\Resources\BookingAdminWorkflowResource; use App\Http\Resources\BookingResource; use App\Models\Booking; use ErrorException; @@ -76,7 +76,7 @@ class FetchAdminWFModelAttributesLogic extends AbstractControllerLogic // 'total_amount' =>$transaction->currency->short_code . ' ' . number_format((float)$transaction->amount, 2, '.', '') // ]); - return $this->resourceResponse(new BookingBaseResource($booking)); + return $this->resourceResponse(new BookingAdminWorkflowResource($booking)); } } diff --git a/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWFPendingApprovalPOLogic.php b/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWFPendingApprovalPOLogic.php index 7006bdc0..a1b6b510 100644 --- a/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWFPendingApprovalPOLogic.php +++ b/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWFPendingApprovalPOLogic.php @@ -8,7 +8,7 @@ use App\Classes\Modules\Questionnaires\Standards\Rules\CanFetchQuestion; use App\Classes\Modules\Bookings\Services\FetchesBooking; use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\TransactionType; -use App\Http\Resources\BookingBaseResource; +use App\Http\Resources\BookingAdminWorkflowResource; use App\Http\Resources\BookingResource; use App\Models\KeyValuePair; use Carbon\Carbon; @@ -87,13 +87,13 @@ class FetchAdminWFPendingApprovalPOLogic extends AbstractControllerLogic markedProcessing($booking, 'approve_po_admin_workflow_processing'); - // $result = new BookingBaseResource($booking); + // $result = new BookingAdminWorkflowResource($booking); // return responseJson([ // 'booking' => $result, // ]); - // return $booking ? responseJson(new BookingBaseResource($booking)) : responseJson(null, 'No booking found', 404); + // return $booking ? responseJson(new BookingAdminWorkflowResource($booking)) : responseJson(null, 'No booking found', 404); - return $this->resourceResponse(new BookingBaseResource($booking)); + return $this->resourceResponse(new BookingAdminWorkflowResource($booking)); } } diff --git a/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWFPendingFillPOLogic.php b/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWFPendingFillPOLogic.php index 001838ce..28cf797b 100644 --- a/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWFPendingFillPOLogic.php +++ b/app/Classes/Modules/Questionnaires/ControllersLogic/FetchAdminWFPendingFillPOLogic.php @@ -8,7 +8,7 @@ use App\Classes\Modules\Questionnaires\Standards\Rules\CanFetchQuestion; use App\Classes\Modules\Bookings\Services\FetchesBooking; use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\TransactionType; -use App\Http\Resources\BookingBaseResource; +use App\Http\Resources\BookingAdminWorkflowResource; use App\Models\KeyValuePair; use Carbon\Carbon; use App\Models\Booking; @@ -84,13 +84,13 @@ class FetchAdminWFPendingFillPOLogic extends AbstractControllerLogic markedProcessing($booking, 'fill_po_admin_workflow_processing'); - // $result = new BookingBaseResource($booking); + // $result = new BookingAdminWorkflowResource($booking); // return responseJson([ // 'booking' => $result, // ]); // return $booking ? responseJson(new BookingResource($booking)) : responseJson(null, 'No booking found', 404); - return $this->resourceResponse(new BookingBaseResource($booking)); + return $this->resourceResponse(new BookingAdminWorkflowResource($booking)); } } diff --git a/app/Http/Resources/BookingBaseResource.php b/app/Http/Resources/BookingAdminWorkflowResource.php similarity index 97% rename from app/Http/Resources/BookingBaseResource.php rename to app/Http/Resources/BookingAdminWorkflowResource.php index 960be05e..1020fc69 100644 --- a/app/Http/Resources/BookingBaseResource.php +++ b/app/Http/Resources/BookingAdminWorkflowResource.php @@ -13,7 +13,7 @@ use App\Classes\ValueObjects\Constants\BookingAttributeNames; use Illuminate\Http\Resources\Json\JsonResource; use Carbon\Carbon; -class BookingBaseResource extends JsonResource +class BookingAdminWorkflowResource extends JsonResource { /** * Transform the resource into an array. @@ -30,7 +30,7 @@ class BookingBaseResource extends JsonResource 'bank' => new BankResource($this->bank), 'service' => new ServiceTypeResource($this->service), 'marking' => $this->marking, - // 'amount' => $this->fix_amount, + 'amount' => $this->fix_amount, // 'floating_amount' => floatval((App()->make(CalculatesBookingFloatingAmount::class))->execute($this->resource, $this->fix_currency_id)), 'paid_amount' => floatval((App()->make(CalculatesBookingPayableAmount::class))->execute($this->resource, $this->fix_currency_id)) - floatval((App()->make(CalculatesBookingRefundAmount::class))->execute($this->resource, $this->fix_currency_id)), // 'outstanding_amount' => floatval((App()->make(CalculatesBookingOutstanding::class))->execute($this->resource)), diff --git a/database/seeds/QAWorkFlowSeeder.php b/database/seeds/QAWorkFlowSeeder.php index bc875b5a..1b75372c 100644 --- a/database/seeds/QAWorkFlowSeeder.php +++ b/database/seeds/QAWorkFlowSeeder.php @@ -128,7 +128,7 @@ class QAWorkFlowSeeder extends Seeder [ 'question_number' => '1688_order_verify', 'question_title' => 'Order Amount (CNY)', - 'question_description' => 'Please key in the order amount', + 'question_description' => 'Please confirm whether the order amount on 1688 matches the total order amount', 'question_' => 'Order Amount', 'question_type' => QAType::FLOAT_MONEY, 'next_nested_question' => '1688_order_verification', @@ -296,7 +296,7 @@ class QAWorkFlowSeeder extends Seeder [ 'question_number' => '1688_underpaid_order_2', 'question_title' => 'Underpaid Order', - 'question_description' => 'Insufficient wallet balance. Refund request to be sent', + 'question_description' => 'Insufficient wallet balance. Refund request sent.', 'question_type' => QAType::MULTIPLE_CHOICES, 'is_start' => false, 'is_end' => false, @@ -316,16 +316,16 @@ class QAWorkFlowSeeder extends Seeder // ['display_text' => 'Done', 'value' => '1688_issue_submit', 'next_question_number' => '1688_issue_submit'], // ], // 'group' => '1688', - // ], + // ], [ 'question_number' => '1688_overpaid_order', 'question_title' => 'Overpaid Order', - 'question_description' => 'Exceeded amount to be refunded to customer’s wallet', + 'question_description' => 'A refund request has been sent for the excess amount', 'question_type' => QAType::MULTIPLE_CHOICES, 'is_start' => false, 'is_end' => false, 'answer_options' => [ - ['display_text' => 'Next', 'value' => '1688_overpaid_proceed_order', 'next_question_number' => '1688_overpaid_proceed_order'], + ['display_text' => 'Proceed', 'value' => '1688_overpaid_proceed_order', 'next_question_number' => '1688_overpaid_proceed_order'], ], 'group' => '1688', ], diff --git a/resources/assets/vue/components/admin-workflow/elements/QuestionAnswer2Component.vue b/resources/assets/vue/components/admin-workflow/elements/QuestionAnswer2Component.vue index 9a25f5af..a3ad1fa2 100644 --- a/resources/assets/vue/components/admin-workflow/elements/QuestionAnswer2Component.vue +++ b/resources/assets/vue/components/admin-workflow/elements/QuestionAnswer2Component.vue @@ -4,11 +4,11 @@
-
{{ item.id }}
{{ item.created_at_with_time }}
{{ item.source_email }}
+
{{ item.id }}
{{ item.created_at_with_time }}
{{ item.source_email }}
{{ item.questionnaire.version }}
{{ item.questionnaire.description }}
-
{{ item.question_title }}
Time(s): {{ item.time }}
+
{{ item.question_title }}
Time(s): {{ item.time }}
{{ parsedAnswer === 'go_back' ? '' : item.answer }}
-
{{ parsedAnswer }}
+
{{ parsedAnswer }}
{{ item.question_title }}
{{ item.answer }}
{{ item.answer_value }}
-
{{ item.source_email }}
+
{{ item.source_email }}
{{ item.time }}
{{ item.created_at_with_time }}
diff --git a/resources/assets/vue/components/admin-workflow/elements/QuestionAnswerInnerComponent.vue b/resources/assets/vue/components/admin-workflow/elements/QuestionAnswerInnerComponent.vue index 298960e5..b490ddca 100644 --- a/resources/assets/vue/components/admin-workflow/elements/QuestionAnswerInnerComponent.vue +++ b/resources/assets/vue/components/admin-workflow/elements/QuestionAnswerInnerComponent.vue @@ -5,9 +5,9 @@
{{ item.id }}
-
{{ item.question_title }}
-
{{ parsedAnswer === 'go_back' ? '' : item.answer }}
-
{{ parsedAnswer }}
+
{{ item.question_title }}
+
{{ parsedAnswer === 'go_back' ? '' : item.answer }}
+
{{ parsedAnswer }}
Total Paid:
- {{(Math.round((externalApiResponse.data.paid_amount + Number.EPSILON) * 1000) / 1000).toFixed(3)}} {{externalApiResponse.data.fixed_currency.short_code}}
+
+
Total (Booking):
+
+ {{(Math.round((externalApiResponse.data.amount + Number.EPSILON) * 1000) / 1000).toFixed(3)}} {{externalApiResponse.data.fixed_currency.short_code}} +
+