diff --git a/README.md b/README.md index caf64b9e..0c90a954 100644 --- a/README.md +++ b/README.md @@ -2,31 +2,23 @@

春松客服QQ交流群:185659917, 点击链接加入群聊
- +

# 春松客服: 多渠道智能客服 春松客服帮助企业快速而低成本的获得好用的智能客服系统。 - + 春松客服是 Chatopera 自主研发以及基于且增强其它开源软件的方式实现的,春松客服会不断增强客服系统的智能化,这包括利用自然语言处理、机器学习和语音识别等技术让客服工作更有效率、客服满意度更高、成本更低。 -**开源项目地址:** [https://github.com/chatopera/cosin](https://github.com/chatopera/cosin) +**开源项目地址:** [https://gitee.com/chatopera/cosin](https://gitee.com/chatopera/cosin) **开发环境搭建:** [https://docs.chatopera.com/products/cskefu/engineering.html](https://docs.chatopera.com/products/cskefu/engineering.html) **春松客服团队博客:** [https://blog.chatopera.com/](https://blog.chatopera.com/) -## 内容结构 - -| | | | -| ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | -| [产品文档](https://docs.chatopera.com/products/cskefu/index.html) | [在线培训课程](https://github.com/chatopera/cosin#%E5%9C%A8%E7%BA%BF%E5%9F%B9%E8%AE%AD%E8%AF%BE%E7%A8%8B) | [用户案例](https://github.com/chatopera/cosin#%E7%94%A8%E6%88%B7%E6%A1%88%E4%BE%8B) | -| [开发文档](https://github.com/chatopera/cosin#%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3) | [产品截图](https://github.com/chatopera/cosin#%E4%BA%A7%E5%93%81%E6%88%AA%E5%9B%BE) | [产品演示](https://github.com/chatopera/cosin#%E4%BA%A7%E5%93%81%E6%BC%94%E7%A4%BA) | -| [立即部署](https://github.com/chatopera/cosin#%E7%AB%8B%E5%8D%B3%E9%83%A8%E7%BD%B2) | [鸣谢](https://github.com/chatopera/cosin#%E9%B8%A3%E8%B0%A2) | [开源许可协议](https://github.com/chatopera/cosin#%E5%BC%80%E6%BA%90%E8%AE%B8%E5%8F%AF%E5%8D%8F%E8%AE%AE) | - ## 产品演示 - 坐席工作台 @@ -55,7 +47,7 @@ - 坐席工作台:汇聚多渠道访客请求,坐席根据策略自动分配,自动弹屏,转接等 -- 机器人客服:集成 Chatopera 云服务,通过插件形式安装,插件也以开源形式提供,[查看插件源码](./public/plugins)。 +- 机器人客服:集成 [Chatopera 云服务](https://bot.chatopera.com),利用 Chatopera 强大的聊天机器人解决方案,提升客户服务工作中的自动化、智能化;机器人客服插件既能通过知识库联想,知识库快捷支持坐席人员,也可以直接为访客提供查询、数据收集等功能;通过插件形式安装,插件也以开源形式提供,[查看插件源码](./public/plugins)。 - 企业聊天:支持企业员工在春松客服系统中群聊和私聊 @@ -84,7 +76,7 @@

主讲老师介绍
- +

@@ -93,11 +85,11 @@

TA们都选择春松客服
- +

-## 社区这样评价春松客服 +## 企业用户这样评价我们 ``` The collaboration is efficient, very professional. The software is steady with high quality services. @@ -122,58 +114,78 @@ The collaboration is efficient, very professional. The software is steady with h

开发文档
- +

+## 寻找开发者 + +寻找开发者合作智能客服项目,社区共建,携手共赢! + +* 组织或个人,在春松客服主页展示为认证开发者 +* 春松客服官方推荐项目机会 +* 专访并通过官方渠道曝光 + +填写申请:[https://www.wjx.top/jq/93397428.aspx](https://www.wjx.top/jq/93397428.aspx) + ## 产品截图

欢迎页
- +

+ + +
+展开查看更多产品截图 +

+

坐席工作台
- +

坐席监控
- +

外呼计划
- +

通话记录
- +

集成客服机器人
- +

客服机器人应答
- +

更多功能,敬请期待 ...
- +

+

+
+ ## 立即部署 - 私有部署版 参考部署[开源社区版本文档](https://docs.chatopera.com/products/cskefu/deploy.html)。 + ## 鸣谢 [FreeSWITCH 中国社区](http://www.freeswitch.org.cn/) @@ -182,9 +194,79 @@ The collaboration is efficient, very professional. The software is steady with h Copyright (2018-2020) 北京华夏春松科技有限公司 -[Apache License Version 2.0](https://github.com/chatopera/cosin/blob/master/LICENSE) +[Apache License Version 2.0](https://gitee.com/chatopera/cosin/blob/master/LICENSE) [![chatoper banner][co-banner-image]][co-url] -[co-banner-image]: https://user-images.githubusercontent.com/3538629/42383104-da925942-8168-11e8-8195-868d5fcec170.png +[co-banner-image]: https://static-public.chatopera.com/assets/images/42383104-da925942-8168-11e8-8195-868d5fcec170.png [co-url]: https://www.chatopera.com + + + +## Chatopera 云服务 + +[https://bot.chatopera.com/](https://bot.chatopera.com/) + +[Chatopera 云服务](https://bot.chatopera.com)是一站式实现聊天机器人的云服务,按接口调用次数计费。Chatopera 云服务是 [Chatopera 机器人平台](https://docs.chatopera.com/products/chatbot-platform/index.html)的软件即服务实例。在云计算基础上,Chatopera 云服务属于**聊天机器人即服务**的云服务。 + +Chatopera 机器人平台包括知识库、多轮对话、意图识别和语音识别等组件,标准化聊天机器人开发,支持企业 OA 智能问答、HR 智能问答、智能客服和网络营销等场景。企业 IT 部门、业务部门借助 Chatopera 云服务快速让聊天机器人上线! + +
+展开查看 Chatopera 云服务的产品截图 +

+ +

+ 自定义词典
+ +

+ +

+ 自定义词条
+ +

+ +

+ 创建意图
+ +

+ +

+ 添加说法和槽位
+ +

+ +

+ 训练模型
+ +

+ +

+ 测试对话
+ +

+ +

+ 机器人画像
+ +

+ +

+ 系统集成
+ +

+ +

+ 聊天历史
+ +

+ +

+
+ + +

+ 立即使用
+ + + +

diff --git a/contact-center/app/pom.xml b/contact-center/app/pom.xml index 1360f364..02ff7672 100644 --- a/contact-center/app/pom.xml +++ b/contact-center/app/pom.xml @@ -373,7 +373,7 @@ com.chatopera.bot sdk - 2.1.0 + 3.1.0 diff --git a/contact-center/app/src/main/java/com/chatopera/cc/controller/ApplicationController.java b/contact-center/app/src/main/java/com/chatopera/cc/controller/ApplicationController.java index 433cb239..5d360147 100644 --- a/contact-center/app/src/main/java/com/chatopera/cc/controller/ApplicationController.java +++ b/contact-center/app/src/main/java/com/chatopera/cc/controller/ApplicationController.java @@ -54,6 +54,10 @@ public class ApplicationController extends Handler { @Autowired private Cache cache; + @Value("${tongji.baidu.sitekey}") + private String tongjiBaiduSiteKey; + + @RequestMapping("/") public ModelAndView admin(HttpServletRequest request) { // logger.info("[admin] path {} queryString {}", request.getPathInfo(),request.getQueryString()); @@ -85,6 +89,12 @@ public class ApplicationController extends Handler { } } view.addObject("agentStatus", cache.findOneAgentStatusByAgentnoAndOrig(logined.getId(), logined.getOrgi())); + + if (StringUtils.isNotBlank(tongjiBaiduSiteKey) && !StringUtils.equalsIgnoreCase(tongjiBaiduSiteKey, "placeholder")) { + logger.info("tongjiBaiduSiteKey: {}", tongjiBaiduSiteKey); + view.addObject("tongjiBaiduSiteKey", tongjiBaiduSiteKey); + } + return view; } diff --git a/contact-center/app/src/main/java/com/chatopera/cc/controller/LoginController.java b/contact-center/app/src/main/java/com/chatopera/cc/controller/LoginController.java index af59ee0f..36394a8c 100644 --- a/contact-center/app/src/main/java/com/chatopera/cc/controller/LoginController.java +++ b/contact-center/app/src/main/java/com/chatopera/cc/controller/LoginController.java @@ -39,6 +39,7 @@ import org.jasypt.exceptions.EncryptionOperationNotPossibleException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; @@ -90,6 +91,12 @@ public class LoginController extends Handler { @Autowired private ACDWorkMonitor acdWorkMonitor; + @Value("${tongji.baidu.sitekey}") + private String tongjiBaiduSiteKey; + + @Value("${ads.login.banner}") + private String adsLoginBanner; + /** * 登录页面 * @@ -149,6 +156,15 @@ public class LoginController extends Handler { if (systemConfig != null) { view.addObject("systemConfig", systemConfig); } + + if (StringUtils.isNotBlank(tongjiBaiduSiteKey) && !StringUtils.equalsIgnoreCase(tongjiBaiduSiteKey, "placeholder")) { + view.addObject("tongjiBaiduSiteKey", tongjiBaiduSiteKey); + } + + if(StringUtils.isNotBlank(adsLoginBanner) && StringUtils.equalsIgnoreCase(adsLoginBanner, "on")){ + view.addObject("adsLoginBanner", "on"); + } + return view; } @@ -211,14 +227,14 @@ public class LoginController extends Handler { // 工作状态记录 acdWorkMonitor.recordAgentStatus(agentStatus.getAgentno(), - agentStatus.getUsername(), - agentStatus.getAgentno(), - user.isAdmin(), // 0代表admin - agentStatus.getAgentno(), - MainContext.AgentStatusEnum.OFFLINE.toString(), - MainContext.AgentStatusEnum.READY.toString(), - MainContext.AgentWorkType.MEIDIACHAT.toString(), - orgi, null); + agentStatus.getUsername(), + agentStatus.getAgentno(), + user.isAdmin(), // 0代表admin + agentStatus.getAgentno(), + MainContext.AgentStatusEnum.OFFLINE.toString(), + MainContext.AgentStatusEnum.READY.toString(), + MainContext.AgentWorkType.MEIDIACHAT.toString(), + orgi, null); } catch (Exception e) { logger.error("[login] set agent status", e); diff --git a/contact-center/app/src/main/java/com/chatopera/cc/controller/admin/system/TemplateController.java b/contact-center/app/src/main/java/com/chatopera/cc/controller/admin/system/TemplateController.java index 5014a165..49f26988 100644 --- a/contact-center/app/src/main/java/com/chatopera/cc/controller/admin/system/TemplateController.java +++ b/contact-center/app/src/main/java/com/chatopera/cc/controller/admin/system/TemplateController.java @@ -67,7 +67,7 @@ public class TemplateController extends Handler{ @Menu(type = "admin" , subtype = "template" , access = false , admin = true) public void expall(ModelMap map , HttpServletRequest request , HttpServletResponse response) throws Exception { List