From 4cd6a4aee4c05085ac062da14d96e4ae3c11ac1e Mon Sep 17 00:00:00 2001 From: bitbucket Date: Tue, 25 Jun 2024 10:10:13 +0530 Subject: [PATCH] FEATURE_ chat bot : GWM --- app/Config/Routes.php | 7 +- app/Controllers/ChatBotController.php | 118 ++++++++++++++++++++++++++ app/Models/ChatBotModel.php | 22 +++++ 3 files changed, 145 insertions(+), 2 deletions(-) create mode 100644 app/Controllers/ChatBotController.php create mode 100644 app/Models/ChatBotModel.php diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 34426123..95cbabf3 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -267,9 +267,9 @@ $routes->group("/api", ["filter" => "authJWT"], function ($routes) { - +$routes->get("getChatResponse", "ChatBotController::getChatResponse"); $routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) { - + $routes->get("getChatResponse", "ChatBotController::getChatResponse"); $routes->get("getEmployeeProfile", "EmployeeRestController::getEmployeeProfile"); $routes->post("employeeUpload", "EmployeeRestController::employeeUpload"); $routes->get("relationshipList", "EmployeeRestController::relationshipList"); @@ -300,6 +300,9 @@ $routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) { $routes->get("getAdvertisementImage", "EmployeeRestController::getAdvertisementImage"); }); + + + $routes->post("sendEmail", "EmployeeRestController::send_email"); diff --git a/app/Controllers/ChatBotController.php b/app/Controllers/ChatBotController.php new file mode 100644 index 00000000..d048ada7 --- /dev/null +++ b/app/Controllers/ChatBotController.php @@ -0,0 +1,118 @@ +myLogger = \Config\Services::mylogger(); + $this->employeeModel = new EmployeeModel(); + $this->employeePolicyModel = new EmployeePolicyModel(); + $this->clientModel = new ClientModel(); + $this->clientRMModel = new ClientRMModel(); + $this->policesModel = new PolicesModel(); + $this->relationshipModel = new RelationshipModel(); + $this->fileModel= new FileModel(); + $this->clientPolicyModel = new ClientPolicyModel(); + $this->policyPremium1Model = new PolicyPremium1Model(); + $this->policyPremium2Model = new PolicyPremium2Model(); + $this->policyTypeModel = new PolicyTypeModel(); + $this->notificationModel = new NotificationModel(); + $this->userModel = new UserModel(); + $this->feContentModel = new FEContentModel(); + $this->addImgModel = new AddImgModel(); + $this->ChatBotModel = new ChatBotModel(); + } + + + public function getChatResponse() + { + // try { + $request_for = $this->request->getGet('request_for'); + $option = $this->request->getGet('option'); + + $requestData = $this->ChatBotModel->where('request', $request_for) + ->where('is_active', 1 ) + ->first(); + + if ($requestData) { + + + + if($option != 0){ + + $decodedData = json_decode($requestData['options'],true); + + $requestFor = $decodedData[$request_for][$option]; + + $requestData = $this->ChatBotModel->where('request', $requestFor) + ->where('is_active', 1 ) + ->first(); + } + + + $result = ['request_for'=>$requestData['request'],'options'=>json_decode($requestData['options'],true)]; + return $this->respond(['status' => 'success','code' => 200,'data' => $result ],200); + + + + + } else { + + return $this->respond(['status' => 'failed','code' => 404,'data' => 'No Data'],404); + } + // } catch (\Throwable $th) { + // return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500); + // } + } + + + +} + diff --git a/app/Models/ChatBotModel.php b/app/Models/ChatBotModel.php new file mode 100644 index 00000000..caae27a5 --- /dev/null +++ b/app/Models/ChatBotModel.php @@ -0,0 +1,22 @@ + \ No newline at end of file