From 4bd28e3ccad9cb08a385a66d3249a058be9cd803 Mon Sep 17 00:00:00 2001 From: edmondlang Date: Tue, 30 May 2023 19:38:45 +0800 Subject: [PATCH 1/2] add company id in support --- resources/views/pages/customer_support.blade.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/views/pages/customer_support.blade.php b/resources/views/pages/customer_support.blade.php index bebb4a15..dbb0885b 100644 --- a/resources/views/pages/customer_support.blade.php +++ b/resources/views/pages/customer_support.blade.php @@ -36,6 +36,7 @@ @endphp

Customer Account

+

Company Id: {{$company->id}}

Marking: {{$company->reference}}

Account Type: {{$company->type === 1 ? 'Business' : 'Personal'}}

@if($company->type === 1)

Company's Name: {{$company->name}}

@endif From 209c843b2def781c7e086e7d0e77c4fac4ed8165 Mon Sep 17 00:00:00 2001 From: edmondlang Date: Wed, 31 May 2023 08:21:47 +0800 Subject: [PATCH 2/2] add segment 'honey trap new registration' to new registered customer --- .../ControllersLogic/CreateCustomerLogic.php | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/app/Classes/Modules/Accounts/ControllersLogic/CreateCustomerLogic.php b/app/Classes/Modules/Accounts/ControllersLogic/CreateCustomerLogic.php index 0e920fe9..803dec47 100644 --- a/app/Classes/Modules/Accounts/ControllersLogic/CreateCustomerLogic.php +++ b/app/Classes/Modules/Accounts/ControllersLogic/CreateCustomerLogic.php @@ -19,12 +19,15 @@ use App\Classes\ValueObjects\Constants\BusinessType; use App\Classes\ValueObjects\Constants\CompanyType; use App\Classes\ValueObjects\Constants\RoleTypes; use App\Classes\Jobs\CreatePerfexCRMCustomer; +use App\Classes\Modules\Segments\DataTransferObjects\SeasonalSegmentObject; use App\Models\Company; +use App\Models\Segment; use App\Models\User; +use Carbon\Carbon; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\App; - +use App\Classes\Modules\Segments\Services\CreatesSeasonalSegment; class CreateCustomerLogic extends AbstractControllerLogic { @@ -63,6 +66,9 @@ class CreateCustomerLogic extends AbstractControllerLogic /** @var CreatePerfexCRMLeadProcessor */ private $createPerfexCRMLeadProcessor; + /** @var CreatesSeasonalSegment */ + private $createsSeasonalSegment; + /** * CreateCustomerLogic constructor. * @param CreateUserProcessor $createUserProcessor @@ -73,9 +79,10 @@ class CreateCustomerLogic extends AbstractControllerLogic * @param AuthenticationProcessor $authenticationProcessor * @param GenerateEmailVerificationAttemptProcessor $generateEmailVerificationAttemptProcessor * @param CreatePerfexCRMLeadProcessor $createPerfexCRMLeadProcessor + * @param CreatesSeasonalSegment $createsSeasonalSegment */ public function __construct(CreateUserProcessor $createUserProcessor, CreateCompanyProcessor $createCompanyProcessor, CreateContactProcessor $createContactProcessor, AssignEmployeeProcessor $assignEmployeeProcessor, AssignSegmentProcessor $assignSegmentProcessor, AuthenticationProcessor $authenticationProcessor, GenerateEmailVerificationAttemptProcessor $generateEmailVerificationAttemptProcessor, - CreatePerfexCRMLeadProcessor $createPerfexCRMLeadProcessor) + CreatePerfexCRMLeadProcessor $createPerfexCRMLeadProcessor, CreatesSeasonalSegment $createsSeasonalSegment) { $this->createUserProcessor = $createUserProcessor; $this->createCompanyProcessor = $createCompanyProcessor; @@ -85,6 +92,7 @@ class CreateCustomerLogic extends AbstractControllerLogic $this->authenticationProcessor = $authenticationProcessor; $this->generateEmailVerificationAttemptProcessor = $generateEmailVerificationAttemptProcessor; $this->createPerfexCRMLeadProcessor = $createPerfexCRMLeadProcessor; + $this->createsSeasonalSegment = $createsSeasonalSegment; } /** @@ -109,8 +117,20 @@ class CreateCustomerLogic extends AbstractControllerLogic $Object = new EmploymentObject($company, $user); $this->assignEmployeeProcessor->execute($Object); + // assign STANDARD_SEGMENT to all new customers $this->assignSegmentProcessor->execute($company); + // assign other standard segment to all new customers + $otherDefaultSegmentToAdd = Segment::whereIn('name', ['HONEY TRAP NEW REGISTRATION'])->get(); + $start_date = Carbon::now(); + $end_date = $start_date->addDays(30); + foreach ($otherDefaultSegmentToAdd as $segment) { + $seasonalSegmentObject = new SeasonalSegmentObject($company->id, $segment->id, $start_date, $end_date ?? null); + + $this->createsSeasonalSegment->execute($seasonalSegmentObject); + $this->assignSegmentProcessor->execute($company, $segment->id); + } + if(config('perfexcrm.is_enabled') == 'true'){ //$this->createPerfexCRMLeadProcessor->execute($request); $createLeadPerfexCRMObject = new CreateLeadPerfexCRMObject(