我在 Symfony 中构建了一个管理应用程序,我需要从其他应用程序中获取信息,Genesys 是一个企业软件,用于处理从电话到在线聊天帮助的各种类型的通信,Genesys 历史数据的数据库是面向对象的并且易于使用,但我想知道与之交互的最佳方式是什么,我的 Symfony 项目已经建立了连接,但是我不确定是否应该使用查询获取信息或根据 Genesys 设计创建和映射对象,并且 SDK 或库是不可能的,因为 Genesys 只为 Java 和 Microsoft .Net 提供此类软件。
配置.yml
# Doctrine Configuration
doctrine:
dbal:
default_connection: cscc
connections:
cscc:
driver: pdo_mysql
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
infomart:
driver: pdo_sqlsrv
host: '%database_host2%'
port: '%database_port2%'
dbname: '%database_name2%'
user: '%database_user2%'
password: '%database_password2%'
charset: UTF8
wfm:
driver: pdo_sqlsrv
host: '%database_host3%'
port: '%database_port3%'
dbname: '%database_name3%'
user: '%database_user3%'
password: '%database_password3%'
charset: UTF8
考虑以下问题:我需要在纯 sql 方法中使用的查询类型有点复杂,而且很长
Select DISTINCT INTERACTION_FACT_GI2.START_TS_TIME as cal_date
,RESOURCE_GI2.EMPLOYEE_ID as Windows_User
,RESOURCE_GI2.RESOURCE_NAME Ignition_ID
,RESOURCE_GI2.AGENT_FIRST_NAME
,RESOURCE_GI2.AGENT_LAST_NAME
,INTERACTION_FACT_GI2.SOURCE_ADDRESS as Phone
,INTERACTION_FACT_GI2.TARGET_ADDRESS
,TicketType
,AgentComment
,ItemCategory
,Problem
,Solution
,storeID
,LoyaltyNumber
,OrderNumber
FROM [IRF_USER_DATA_CUST_1]
JOIN INTERACTION_RESOURCE_FACT_GI2 ON (INTERACTION_RESOURCE_FACT_GI2.INTERACTION_RESOURCE_ID=IRF_USER_DATA_CUST_1.INTERACTION_RESOURCE_ID)
JOIN INTERACTION_FACT_GI2 on (INTERACTION_FACT_GI2.INTERACTION_ID=INTERACTION_RESOURCE_FACT_GI2.INTERACTION_ID)
JOIN DATE_TIME ON (DATE_TIME.DATE_TIME_KEY=INTERACTION_FACT_GI2.START_DATE_TIME_KEY)
JOIN MEDIA_TYPE ON (MEDIA_TYPE.MEDIA_TYPE_KEY=INTERACTION_RESOURCE_FACT_GI2.MEDIA_TYPE_KEY)
JOIN RESOURCE_GI2 ON (INTERACTION_RESOURCE_FACT_GI2.RESOURCE_KEY=RESOURCE_GI2.RESOURCE_KEY)
JOIN [INTERACTION_TYPE] ON [INTERACTION_TYPE].[INTERACTION_TYPE_KEY] = INTERACTION_FACT_GI2.INTERACTION_TYPE_KEY
Where [IRF_USER_DATA_CUST_1].TICKETTYPE =''
AND [IRF_USER_DATA_CUST_1].TICKETTYPE IS NOT NULL
AND MEDIA_TYPE.MEDIA_NAME IN ('Voice','Email')
AND [INTERACTION_TYPE].INTERACTION_TYPE= 'Inbound'
AND INTERACTION_FACT_GI2.START_TS_TIME > '2017-01-26 00:00:00' and INTERACTION_FACT_GI2.START_TS_TIME < '2017-01-27 23:59:59'
order by INTERACTION_FACT_GI2.START_TS_TIME