From 884f10a686d0c576209498a1e6573e7bee4fd172 Mon Sep 17 00:00:00 2001
From: GWY <guweiyiscp096@foxmail.com>
Date: 星期二, 19 四月 2022 10:39:38 +0800
Subject: [PATCH] Merge branch 'master' of http://47.92.229.245:8089/r/OlympusSSBG
---
force-app/main/default/classes/SearchContactController.cls | 82 +++++++++++++++++++++++++++++++----------
1 files changed, 62 insertions(+), 20 deletions(-)
diff --git a/force-app/main/default/classes/SearchContactController.cls b/force-app/main/default/classes/SearchContactController.cls
index f657e3b..c2f9efa 100644
--- a/force-app/main/default/classes/SearchContactController.cls
+++ b/force-app/main/default/classes/SearchContactController.cls
@@ -7,28 +7,42 @@
* 02/08/2022 - Bubba Li - Initial Code.
*
* */
-public without sharing class SearchContactController {
+public with sharing class SearchContactController {
public String searchKeyWord{set;get;}
public String staticResource {get; set;}
public String contactAWSIds {set;get;}
public String contactsInfo {set;get;}
public String PIPL_Search_Contact_Label{set;get;}
+ public String aId{set;get;}
+ public Boolean showHeader{set;get;}
+ public static Boolean checkNullString(String inputString){
+ if(String.isEmpty(inputString)||String.isBlank(inputString)){
+ return true;
+ }
+ return false;
+ }
public SearchContactController() {
String accountId = ApexPages.currentPage().getParameters().get('accountId');
+ searchKeyWord = ApexPages.currentPage().getParameters().get('searchContactKeyWord');
+ aId = accountId;
PIPL_Search_Contact_Label = Label.PIPL_Search_Contact_Label;
+ showHeader = false;
+ if(ApexPages.currentPage().getParameters().containskey('showheader')){
+ showHeader = Boolean.valueof(ApexPages.currentPage().getParameters().get('showheader'));
+ }
//1. Query Contact by accountId
List<Contact> conList = new List<Contact>();
system.debug('Account Id from Front-end:'+accountId);
- if(String.isNotBlank(accountId) && String.isNotEmpty(accountId)){
- String accountIdStr = '';
- String[] accountIds = accountId.split(',');
- List<String> accountIdList = new List<String>();
- for(String s : accountIds){
- accountIdList.add(s);
+ if(checkNullString(accountId)&&checkNullString(searchKeyWord)){
+ conList = new List<Contact>();
+ }else{
+ if(checkNullString(accountId)){
+ conList = new List<Contact>();
+ }else {
+ conList = new List<Contact>([select Id,AWS_Data_Id__c,Account.Name from Contact where AccountId=:accountId and AWS_Data_Id__c!='']);
}
- conList = new List<Contact>([select Id,AWS_Data_Id__c from Contact where AccountId in:accountIdList and AWS_Data_Id__c!='']);
- System.debug('conList:'+conList);
- }
+
+ }
//2. Prepare the Contact Info
Map<String,Contact> awsIdToContactMap = new Map<String,Contact>();
List<String> conAWSIds = new List<String>();
@@ -42,21 +56,48 @@
}
@RemoteAction
- public static Response searchContacts(String awsContactIds) {
+ public static Response searchContacts(String awsContactIds,String searchContactName,String accountId) {
+ system.debug('awsContactIds = ' + awsContactIds);
Response resp = new Response();
resp.status = 'fail';
- if(String.isBlank(awsContactIds)||String.isEmpty(awsContactIds)){
- return resp;
- }
- List<String> awsDataIds = (List<String>) JSON.deserialize(awsContactIds, List<String>.class);
Map<String,Contact> awsIdToContactMapTemp = new Map<String,Contact>();
- List<Contact> conListTemp = new List<Contact>([select Id,AWS_Data_Id__c from Contact where AWS_Data_Id__c in:awsDataIds]);
- for(Contact con:conListTemp){
- awsIdToContactMapTemp.put(con.AWS_Data_Id__c,con);
+ if(!checkNullString(awsContactIds)){
+ List<String> awsDataIds = (List<String>) JSON.deserialize(awsContactIds, List<String>.class);
+ List<Contact> conListTemp = new List<Contact>();
+ if(!checkNullString(accountId)){
+ conListTemp = new List<Contact>([select Id,AWS_Data_Id__c,Account.Name from Contact where AccountId=:accountId and AWS_Data_Id__c in:awsDataIds]);
+ }else {
+ conListTemp = new List<Contact>([select Id,AWS_Data_Id__c,Account.Name from Contact where AWS_Data_Id__c in:awsDataIds]);
+ }
+ for(Contact con:conListTemp){
+ awsIdToContactMapTemp.put(con.AWS_Data_Id__c,con);
+ }
}
- if(awsIdToContactMapTemp.keySet().size()>0){
+ System.debug('awsIdToContactMapTemp = ' + awsIdToContactMapTemp);
+ Map<String,Contact> noPIContactMapTemp = new Map<String,Contact>();
+ List<Contact> partnerContactList = AWSServiceTool.getNoPIContact(searchContactName,accountId);
+ System.debug('partnerContactList = ' + partnerContactList);
+ if(partnerContactList.size()>0){
+ for(Contact con:partnerContactList){
+ noPIContactMapTemp.put(con.Id,con);
+ }
+ }
+ if(awsIdToContactMapTemp.keySet().size()>0 ||noPIContactMapTemp.keySet().size()>0){
resp.status = 'success';
- resp.message = JSON.serialize(awsIdToContactMapTemp);
+ resp.message = JSON.serialize(awsIdToContactMapTemp);// PI contact info
+ resp.noPIContactList = JSON.serialize(noPIContactMapTemp);//NoPI contact info
+ }
+ return resp;
+ }
+
+ @RemoteAction
+ public static Response searchContactsNoPI(String contactName) {
+ Response resp = new Response();
+ resp.status = 'fail';
+ List<Contact> conListTemp = new List<Contact>([select Id,Name,Account.Name,Phone,Email,MobilePhone from Contact where Name like :contactName]);
+ if(conListTemp.size() > 0){
+ resp.status = 'success';
+ resp.message = JSON.serialize(conListTemp);
}
return resp;
}
@@ -64,5 +105,6 @@
public class Response{
public String message{set;get;}
public String status{set;get;}
+ public String noPIContactList{set;get;}
}
}
\ No newline at end of file
--
Gitblit v1.9.1