@@ -0,0 +1,33 @@ | |||
HELP.md | |||
target/ | |||
!.mvn/wrapper/maven-wrapper.jar | |||
!**/src/main/**/target/ | |||
!**/src/test/**/target/ | |||
### STS ### | |||
.apt_generated | |||
.classpath | |||
.factorypath | |||
.project | |||
.settings | |||
.springBeans | |||
.sts4-cache | |||
### IntelliJ IDEA ### | |||
.idea | |||
*.iws | |||
*.iml | |||
*.ipr | |||
### NetBeans ### | |||
/nbproject/private/ | |||
/nbbuild/ | |||
/dist/ | |||
/nbdist/ | |||
/.nb-gradle/ | |||
build/ | |||
!**/src/main/**/build/ | |||
!**/src/test/**/build/ | |||
### VS Code ### | |||
.vscode/ |
@@ -0,0 +1,67 @@ | |||
package com.cn.bjca.chatbots.core.client; | |||
import cn.hutool.core.date.DateUtil; | |||
import cn.hutool.core.util.URLUtil; | |||
import cn.hutool.http.HttpRequest; | |||
import cn.hutool.http.HttpUtil; | |||
import cn.hutool.http.Method; | |||
import com.cn.bjca.chatbots.core.properties.ChatbotsProperties; | |||
import com.cn.bjca.chatbots.core.util.SignUtil; | |||
import lombok.SneakyThrows; | |||
/** | |||
* <pre>外呼client</pre> | |||
* | |||
* <p>Description</p> | |||
* <pre> | |||
* __ | |||
* / /____ ___ | |||
* / __/ _ \/ _ \ | |||
* \__/\___/ .__/ | |||
* / / Coding is an art, | |||
* /_/ And I'm its Picasso. | |||
* | |||
* ██████ █ ██ ▓█████▄ ▓█████ ██▀███ | |||
* ▒██ ▒ ██ ▓██▒▒██▀ ██▌▓█ ▀ ▓██ ▒ ██▒ | |||
* ░ ▓██▄ ▓██ ▒██░░██ █▌▒███ ▓██ ░▄█ ▒ | |||
* ▒ ██▒▓▓█ ░██░░▓█▄ ▌▒▓█ ▄ ▒██▀▀█▄ | |||
* ▒██████▒▒▒▒█████▓ ░▒████▓ ░▒████▒░██▓ ▒██▒ | |||
* ▒ ▒▓▒ ▒ ░░▒▓▒ ▒ ▒ ▒▒▓ ▒ ░░ ▒░ ░░ ▒▓ ░▒▓░ | |||
* ░ ░▒ ░ ░░░▒░ ░ ░ ░ ▒ ▒ ░ ░ ░ ░▒ ░ ▒░ | |||
* ░ ░ ░ ░░░ ░ ░ ░ ░ ░ ░ ░░ ░ | |||
* ░ ░ ░ ░ ░ ░ | |||
* ░ | |||
* </pre> | |||
* | |||
* @author topsuder | |||
* @date 2024/9/20-16:01 | |||
* @see IntelliJ IDEA chatbots-yiwise-parent | |||
* @see ChatBotsClient 外呼client | |||
* @since <p>Copyright: 北京数字医信科技责任有限公司 (c) 2024</p> | |||
* <p>Company: 15303997779</p> | |||
*/ | |||
public class ChatBotsClient { | |||
private final ChatbotsProperties chatbotsProperties; | |||
public ChatBotsClient(ChatbotsProperties chatbotsProperties) { | |||
this.chatbotsProperties = chatbotsProperties; | |||
} | |||
@SneakyThrows | |||
public HttpRequest build(Method method, String uri) { | |||
final HttpRequest request = HttpUtil.createRequest(method, URLUtil.completeUrl(chatbotsProperties.getBaseUrl(), chatbotsProperties.getVersion() + uri)); | |||
request.header("appkey", chatbotsProperties.getAppKey()); | |||
final Long timestamp = DateUtil.date().toTimestamp().getTime(); | |||
request.header("signature", SignUtil.sign(chatbotsProperties.getAppKey() | |||
, chatbotsProperties.getAppSecret() | |||
, chatbotsProperties.getTenantSign() | |||
, chatbotsProperties.getVersion() | |||
, String.valueOf(timestamp))); | |||
request.header("timestamp", String.valueOf(timestamp)); | |||
request.header("tenantsign", chatbotsProperties.getTenantSign()); | |||
return request; | |||
} | |||
} |
@@ -0,0 +1,30 @@ | |||
package com.cn.bjca.chatbots.core.enums; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
/** | |||
* 通话结果枚举 | |||
* author: topsuder | |||
*/ | |||
@Getter | |||
@AllArgsConstructor | |||
public enum CallResult { | |||
ANSWERED("已接听"), | |||
NO_ANSWER("无应答"), | |||
BUSY("忙线中"), | |||
POWER_OFF("关机"), | |||
OUT_OF_SERVICE("停机"), | |||
REFUSED("拒接"), | |||
VACANT_NUMBER("空号"), | |||
CAN_NOT_CONNECT("无法接通"), | |||
EXTENSION_NUMBER("分机号错误"), | |||
CALL_LIMIT("呼叫受限"), | |||
FROM_PHONE_ERROR("主叫欠费"), | |||
SYSTEM_ERROR("外呼失败"), | |||
CALL_LOSS("多并发呼损"), | |||
TRANSFER_ARTIFICIAL("转人工呼损"), | |||
LINE_INTERCEPT("线路拦截"); | |||
private final String desc; | |||
} |
@@ -0,0 +1,30 @@ | |||
package com.cn.bjca.chatbots.core.enums; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
/** | |||
* 外呼过滤枚举 | |||
* author: topsuder | |||
*/ | |||
@Getter | |||
@AllArgsConstructor | |||
public enum OutboundFilter { | |||
DEAD_ZONE("线路盲区"), | |||
OPERATOR_RESTRICT("运营商限制"), | |||
SHARE_WHITE_LIST("系统黑名单拦截"), | |||
JOB_WHITE_LIST("账号黑名单拦截"), | |||
INTERCEPT("账号超频拦截"), | |||
CALL_UPPER_LIMIT("拨打上限"), | |||
LACK_PROPERTIES("自定义变量缺失"), | |||
BLACK_LIST("大数据黑名单拦截"), | |||
ILLEGAL_TEL("非法联系电话"), | |||
OPERATOR_AND_AREA("运营商限制&线路盲区"), | |||
INVALID_ADD_WECHAT_ACCOUNT("加微账号不可用"), | |||
SYSTEM_ATTRIBUTE_LIMIT("系统属性限制"), | |||
ATTRIBUTE_LIMIT("业务属性限制"), | |||
BRAND_BLACK_LIST("集团黑名单拦截"), | |||
SYSTEM_INTERCEPT("系统超频拦截"); | |||
private final String desc; | |||
} |
@@ -0,0 +1,17 @@ | |||
package com.cn.bjca.chatbots.core.enums; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
/** | |||
* 电话卡类型枚举 | |||
* author: topsuder | |||
*/ | |||
@Getter | |||
@AllArgsConstructor | |||
public enum PhoneType { | |||
MOBILE("手机"), | |||
LANDLINE("固话"); | |||
private final String desc; | |||
} |
@@ -0,0 +1,33 @@ | |||
package com.cn.bjca.chatbots.core.enums; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
@Getter | |||
@AllArgsConstructor | |||
public enum PrimaryIndustry { | |||
OTHER("其他产品推广"), | |||
FINANCE("金融类"), | |||
REALTY("房产类"), | |||
COMPANY("企业服务"), | |||
INSURANCE("保险行业"), | |||
HEALTH("健康保健"), | |||
CONFERENCE("会务营销"), | |||
ALLIANCE("招商加盟"), | |||
EDUCATION("教育类"), | |||
CALLBACK("通知回访"), | |||
AUTO("汽车行业"), | |||
INTERNET("互联网行业"), | |||
CULTURAL("文化行业"), | |||
CLOTHING("服装行业"), | |||
MARKETING("市场调研"), | |||
HUMANRESOURCE("人力资源"), | |||
TRANSPORT("交通出行"), | |||
GOVERNMENT("市政"), | |||
WEDDING("婚庆"), | |||
SUPPLY_CHAIN("运输行业"), | |||
GAME("游戏行业"), | |||
COMMUNICATION("通信行业"); | |||
private final String desc; | |||
} |
@@ -0,0 +1,16 @@ | |||
package com.cn.bjca.chatbots.core.enums; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
@Getter | |||
@AllArgsConstructor | |||
public enum QueueType { | |||
LESS_ROBOT_COUNT("可使用空闲坐席不足"), | |||
RUNNING_TASK("存在进行中通话"), | |||
LESS_PHONE_NUMBER("手机线路被使用"), | |||
LESS_LINE_CONCURRENCY("线路当前可用并发数不足"), | |||
LOW_PRIORITY("并发被优先任务占用"); | |||
private final String desc; | |||
} |
@@ -0,0 +1,34 @@ | |||
package com.cn.bjca.chatbots.core.enums; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
/** | |||
* 系统挂起类型枚举 | |||
* author: topsuder | |||
*/ | |||
@Getter | |||
@AllArgsConstructor | |||
public enum SystemHangUpType { | |||
ACCOUNT_DEBT("使用的线路账户已欠费"), | |||
NO_ROBOT_AVAILABLE("当前没有可用坐席"), | |||
PHONE_UNBIND("使用的线路已解绑"), | |||
LINE_BREAKDOWN("使用的线路状态均为故障"), | |||
AVAILABLE_ROBOT_NOT_ENOUGH("有效坐席数不足,请检查有效AI坐席数量!"), | |||
PREEMPTION_BY_HIGH_PRIORITY_JOB("并发被优先任务占用"), | |||
BOT_UNBOUND("任务使用的话术已解绑 ,请检查"), | |||
TTS_UNBOUND("任务使用的话术关联的音色已解绑,请检查"), | |||
NO_AUTHENTICATION("未进行资质认证"), | |||
ASR_UNBOUND("任务使用的话术关联的ASR已解绑,请检查"), | |||
LINE_NOT_SUPPORT("任务使用的线路均不支持AI外呼"), | |||
TOTAL_ACCOUNT_DEBT("按量付费客户账户余额不足"), | |||
WECHAT_ADD_FRIEND_TYPE_UPDATE("微信加好友类型已经修改"), | |||
LINE_CONCURRENCY_NOT_ENOUGH("线路并发数不足"), | |||
SMS_DEBT("短信余额不足,无法发送意向短信"), | |||
INDUSTRY_NOT_MATCH("线路外呼行业限制"), | |||
SCRM_RELATION_INVALID("未关联SCRM企业 无法推送加微数据"), | |||
SCRM_ACCOUNTS_UNAVAILABLE("所有加微账号均不可用 具体原因可参见SCRM-加微账号模块"); | |||
private final String desc; | |||
} |
@@ -0,0 +1,30 @@ | |||
package com.cn.bjca.chatbots.core.enums; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
/** | |||
* 任务状态枚举 | |||
* author: topsuder | |||
*/ | |||
@Getter | |||
@AllArgsConstructor | |||
public enum TaskStatus { | |||
NOT_STARTED("未开始"), | |||
IN_PROCESS("进行中"), | |||
COMPLETED("已完成"), | |||
RUNNABLE("可运行"), | |||
USER_PAUSE("用户暂停"), | |||
SYSTEM_SUSPENDED("系统暂停"), | |||
TERMINATE("已终止"), | |||
IN_QUEUE("排队中"), | |||
SYSTEM_HANG_UP("系统挂起"), | |||
WAITING_FOR_REDIAL("等待重呼"), | |||
ACCOUNT_DISABLE("账户禁用"), | |||
MAINTAIN("系统维护"), | |||
EXPIRED("任务超时"), | |||
NOT_GENERATED("未生成"), | |||
ARCHIVED("已归档"); | |||
private final String desc; | |||
} |
@@ -0,0 +1,17 @@ | |||
package com.cn.bjca.chatbots.core.enums; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Getter; | |||
/** | |||
* 任务类型枚举 | |||
* author: topsuder | |||
*/ | |||
@Getter | |||
@AllArgsConstructor | |||
public enum TaskType { | |||
AUTO("自动任务"), | |||
MANUAL("手动任务"); | |||
private final String desc; | |||
} |
@@ -0,0 +1,19 @@ | |||
package com.cn.bjca.chatbots.core.pojo; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Builder; | |||
import lombok.Data; | |||
import lombok.NoArgsConstructor; | |||
@Data | |||
@Builder | |||
@AllArgsConstructor | |||
@NoArgsConstructor | |||
public class ApiResponse<T> { | |||
private Integer code; // 响应码 | |||
private T data; // 返回的数据 | |||
private String requestId; // 请求 ID | |||
private String resultMsg; // 响应说明 | |||
private String host; // 业务主机名 | |||
private String errorStackTrace; // 异常堆栈 | |||
} |
@@ -0,0 +1,35 @@ | |||
package com.cn.bjca.chatbots.core.pojo; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Data; | |||
import lombok.NoArgsConstructor; | |||
import lombok.experimental.SuperBuilder; | |||
/** | |||
* 描述:分页参数 | |||
* | |||
* @author liweichao | |||
* @date 2023/6/29 2:58 下午 | |||
* Copyright (C) 2023 BJCA | |||
* All rights reserved | |||
*/ | |||
@Data | |||
@SuperBuilder | |||
@AllArgsConstructor | |||
@NoArgsConstructor | |||
public class PageParam { | |||
private int pageNum = 1; | |||
private int pageSize = 10; | |||
/** | |||
* 是否首页 | |||
* | |||
* @return boolean | |||
*/ | |||
public boolean isFirstPage() { | |||
return 1 == pageNum; | |||
} | |||
} |
@@ -0,0 +1,23 @@ | |||
package com.cn.bjca.chatbots.core.pojo.dialogflow; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Builder; | |||
import lombok.Data; | |||
import lombok.NoArgsConstructor; | |||
@Data | |||
@Builder | |||
@NoArgsConstructor | |||
@AllArgsConstructor | |||
public class DialogFlow { | |||
private Long dialogFlowId; // 话术 ID | |||
private String name; // 话术名称 | |||
private Long intentLevelTagId; // 意向分组 ID | |||
private String intentLevelTagName; // 意向分组名称 | |||
private String status; // 话术状态 | |||
private String createTime; // 话术创建时间 | |||
private Industry industry; // 一级行业 | |||
private Industry subIndustry; // 二级行业 | |||
private String description; // 描述 | |||
private String type; // 话术类型 | |||
} |
@@ -0,0 +1,49 @@ | |||
package com.cn.bjca.chatbots.core.pojo.dialogflow; | |||
import com.cn.bjca.chatbots.core.pojo.PageParam; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Data; | |||
import lombok.EqualsAndHashCode; | |||
import lombok.NoArgsConstructor; | |||
import lombok.experimental.SuperBuilder; | |||
/** | |||
* <pre></pre> | |||
* | |||
* <p>Description</p> | |||
* <pre> | |||
* __ | |||
* / /____ ___ | |||
* / __/ _ \/ _ \ | |||
* \__/\___/ .__/ | |||
* / / Coding is an art, | |||
* /_/ And I'm its Picasso. | |||
* | |||
* ██████ █ ██ ▓█████▄ ▓█████ ██▀███ | |||
* ▒██ ▒ ██ ▓██▒▒██▀ ██▌▓█ ▀ ▓██ ▒ ██▒ | |||
* ░ ▓██▄ ▓██ ▒██░░██ █▌▒███ ▓██ ░▄█ ▒ | |||
* ▒ ██▒▓▓█ ░██░░▓█▄ ▌▒▓█ ▄ ▒██▀▀█▄ | |||
* ▒██████▒▒▒▒█████▓ ░▒████▓ ░▒████▒░██▓ ▒██▒ | |||
* ▒ ▒▓▒ ▒ ░░▒▓▒ ▒ ▒ ▒▒▓ ▒ ░░ ▒░ ░░ ▒▓ ░▒▓░ | |||
* ░ ░▒ ░ ░░░▒░ ░ ░ ░ ▒ ▒ ░ ░ ░ ░▒ ░ ▒░ | |||
* ░ ░ ░ ░░░ ░ ░ ░ ░ ░ ░ ░░ ░ | |||
* ░ ░ ░ ░ ░ ░ | |||
* ░ | |||
* </pre> | |||
* | |||
* @author topsuder | |||
* @date 2024/9/20-17:08 | |||
* @see IntelliJ IDEA chatbots-yiwise-parent | |||
* @see DialogFlowPageDTO | |||
* @since <p>Copyright: 北京数字医信科技责任有限公司 (c) 2024</p> | |||
* <p>Company: 15303997779</p> | |||
*/ | |||
@EqualsAndHashCode(callSuper = true) | |||
@SuperBuilder | |||
@Data | |||
@AllArgsConstructor | |||
@NoArgsConstructor | |||
public class DialogFlowPageDTO extends PageParam { | |||
String name; | |||
} | |||
@@ -0,0 +1,49 @@ | |||
package com.cn.bjca.chatbots.core.pojo.dialogflow; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Builder; | |||
import lombok.Data; | |||
import lombok.NoArgsConstructor; | |||
/** | |||
* <pre>行业对象</pre> | |||
* | |||
* <p>Description</p> | |||
* <pre> | |||
* __ | |||
* / /____ ___ | |||
* / __/ _ \/ _ \ | |||
* \__/\___/ .__/ | |||
* / / Coding is an art, | |||
* /_/ And I'm its Picasso. | |||
* | |||
* ██████ █ ██ ▓█████▄ ▓█████ ██▀███ | |||
* ▒██ ▒ ██ ▓██▒▒██▀ ██▌▓█ ▀ ▓██ ▒ ██▒ | |||
* ░ ▓██▄ ▓██ ▒██░░██ █▌▒███ ▓██ ░▄█ ▒ | |||
* ▒ ██▒▓▓█ ░██░░▓█▄ ▌▒▓█ ▄ ▒██▀▀█▄ | |||
* ▒██████▒▒▒▒█████▓ ░▒████▓ ░▒████▒░██▓ ▒██▒ | |||
* ▒ ▒▓▒ ▒ ░░▒▓▒ ▒ ▒ ▒▒▓ ▒ ░░ ▒░ ░░ ▒▓ ░▒▓░ | |||
* ░ ░▒ ░ ░░░▒░ ░ ░ ░ ▒ ▒ ░ ░ ░ ░▒ ░ ▒░ | |||
* ░ ░ ░ ░░░ ░ ░ ░ ░ ░ ░ ░░ ░ | |||
* ░ ░ ░ ░ ░ ░ | |||
* ░ | |||
* </pre> | |||
* | |||
* @author topsuder | |||
* @date 2024/9/20-17:00 | |||
* @see IntelliJ IDEA chatbots-yiwise-parent | |||
* @see Industry 行业对象 | |||
* @since <p>Copyright: 北京数字医信科技责任有限公司 (c) 2024</p> | |||
* <p>Company: 15303997779</p> | |||
*/ | |||
@Data | |||
@Builder | |||
@AllArgsConstructor | |||
@NoArgsConstructor | |||
public class Industry { | |||
private String name; | |||
private String desc; | |||
} |
@@ -0,0 +1,42 @@ | |||
package com.cn.bjca.chatbots.core.pool; | |||
/** | |||
* <pre>外呼接口常量池</pre> | |||
* | |||
* <p>Description</p> | |||
* <pre> | |||
* __ | |||
* / /____ ___ | |||
* / __/ _ \/ _ \ | |||
* \__/\___/ .__/ | |||
* / / Coding is an art, | |||
* /_/ And I'm its Picasso. | |||
* | |||
* ██████ █ ██ ▓█████▄ ▓█████ ██▀███ | |||
* ▒██ ▒ ██ ▓██▒▒██▀ ██▌▓█ ▀ ▓██ ▒ ██▒ | |||
* ░ ▓██▄ ▓██ ▒██░░██ █▌▒███ ▓██ ░▄█ ▒ | |||
* ▒ ██▒▓▓█ ░██░░▓█▄ ▌▒▓█ ▄ ▒██▀▀█▄ | |||
* ▒██████▒▒▒▒█████▓ ░▒████▓ ░▒████▒░██▓ ▒██▒ | |||
* ▒ ▒▓▒ ▒ ░░▒▓▒ ▒ ▒ ▒▒▓ ▒ ░░ ▒░ ░░ ▒▓ ░▒▓░ | |||
* ░ ░▒ ░ ░░░▒░ ░ ░ ░ ▒ ▒ ░ ░ ░ ░▒ ░ ▒░ | |||
* ░ ░ ░ ░░░ ░ ░ ░ ░ ░ ░ ░░ ░ | |||
* ░ ░ ░ ░ ░ ░ | |||
* ░ | |||
* </pre> | |||
* | |||
* @author topsuder | |||
* @date 2024/9/20-15:45 | |||
* @see IntelliJ IDEA chatbots-yiwise-parent | |||
* @see UrlPool 外呼接口常量池 | |||
* @since <p>Copyright: 北京数字医信科技责任有限公司 (c) 2024</p> | |||
* <p>Company: 15303997779</p> | |||
*/ | |||
public interface UrlPool { | |||
String BASE_URL = "https://openapi.tanyibot.com/apiOpen/"; | |||
String BASE_VERSION = "v1"; | |||
interface DialogFlowPool { | |||
String BASE_URL = "/dialogFlow"; | |||
String GET_TOTAL_DIALOGFLOW_LIST = BASE_URL + "/getTotalDialogFlowList"; | |||
} | |||
} |
@@ -0,0 +1,53 @@ | |||
package com.cn.bjca.chatbots.core.properties; | |||
import com.cn.bjca.chatbots.core.pool.UrlPool; | |||
import lombok.Data; | |||
import lombok.experimental.Accessors; | |||
import org.springframework.boot.context.properties.ConfigurationProperties; | |||
/** | |||
* <pre>外呼属性类</pre> | |||
* | |||
* <span>Form File</span> | |||
* <p>Description</p> | |||
* <p>Copyright: 北京数字医信科技责任有限公司 (c) 2023</p> | |||
* <p>Company:Wechat 15303997779</p> | |||
* | |||
* @author topsuder | |||
* @version v1.0.0 | |||
* @DATE 2023/12/11-14:09 | |||
* @Description | |||
* @see com.szyx.spring.boot.autoconfigure chat-parent | |||
*/ | |||
@Data | |||
@Accessors(chain = true) | |||
@ConfigurationProperties(prefix = "szyx.chatbots") | |||
public class ChatbotsProperties { | |||
/** | |||
* openapi url | |||
*/ | |||
private String baseUrl = UrlPool.BASE_URL; | |||
/** | |||
* version | |||
*/ | |||
private String version = UrlPool.BASE_VERSION; | |||
/** | |||
* key | |||
*/ | |||
private String appKey; | |||
/** | |||
* secret | |||
*/ | |||
private String appSecret; | |||
/** | |||
* sign | |||
*/ | |||
private String tenantSign; | |||
} |
@@ -0,0 +1,40 @@ | |||
package com.cn.bjca.chatbots.core.service; | |||
import com.cn.bjca.chatbots.core.pojo.dialogflow.DialogFlowPageDTO; | |||
import lombok.SneakyThrows; | |||
/** | |||
* <pre>基础信息接口</pre> | |||
* | |||
* <p>Description</p> | |||
* <pre> | |||
* __ | |||
* / /____ ___ | |||
* / __/ _ \/ _ \ | |||
* \__/\___/ .__/ | |||
* / / Coding is an art, | |||
* /_/ And I'm its Picasso. | |||
* | |||
* ██████ █ ██ ▓█████▄ ▓█████ ██▀███ | |||
* ▒██ ▒ ██ ▓██▒▒██▀ ██▌▓█ ▀ ▓██ ▒ ██▒ | |||
* ░ ▓██▄ ▓██ ▒██░░██ █▌▒███ ▓██ ░▄█ ▒ | |||
* ▒ ██▒▓▓█ ░██░░▓█▄ ▌▒▓█ ▄ ▒██▀▀█▄ | |||
* ▒██████▒▒▒▒█████▓ ░▒████▓ ░▒████▒░██▓ ▒██▒ | |||
* ▒ ▒▓▒ ▒ ░░▒▓▒ ▒ ▒ ▒▒▓ ▒ ░░ ▒░ ░░ ▒▓ ░▒▓░ | |||
* ░ ░▒ ░ ░░░▒░ ░ ░ ░ ▒ ▒ ░ ░ ░ ░▒ ░ ▒░ | |||
* ░ ░ ░ ░░░ ░ ░ ░ ░ ░ ░ ░░ ░ | |||
* ░ ░ ░ ░ ░ ░ | |||
* ░ | |||
* </pre> | |||
* | |||
* @author topsuder | |||
* @date 2024/9/20-15:58 | |||
* @see IntelliJ IDEA chatbots-yiwise-parent | |||
* @see DialogFlowService 基础信息接口 | |||
* @since <p>Copyright: 北京数字医信科技责任有限公司 (c) 2024</p> | |||
* <p>Company: 15303997779</p> | |||
*/ | |||
public interface DialogFlowService { | |||
@SneakyThrows | |||
Object getTotalDialogFlowList(DialogFlowPageDTO dialogFlowPageDTO); | |||
} |
@@ -0,0 +1,72 @@ | |||
package com.cn.bjca.chatbots.core.service.impl; | |||
import cn.hutool.http.HttpRequest; | |||
import cn.hutool.http.HttpResponse; | |||
import cn.hutool.http.Method; | |||
import cn.hutool.json.JSONUtil; | |||
import com.cn.bjca.chatbots.core.client.ChatBotsClient; | |||
import com.cn.bjca.chatbots.core.pojo.dialogflow.DialogFlowPageDTO; | |||
import com.cn.bjca.chatbots.core.pool.UrlPool; | |||
import com.cn.bjca.chatbots.core.service.DialogFlowService; | |||
import lombok.Cleanup; | |||
import lombok.SneakyThrows; | |||
import lombok.extern.slf4j.Slf4j; | |||
import javax.annotation.Resource; | |||
/** | |||
* <pre></pre> | |||
* | |||
* <p>Description</p> | |||
* <pre> | |||
* __ | |||
* / /____ ___ | |||
* / __/ _ \/ _ \ | |||
* \__/\___/ .__/ | |||
* / / Coding is an art, | |||
* /_/ And I'm its Picasso. | |||
* | |||
* ██████ █ ██ ▓█████▄ ▓█████ ██▀███ | |||
* ▒██ ▒ ██ ▓██▒▒██▀ ██▌▓█ ▀ ▓██ ▒ ██▒ | |||
* ░ ▓██▄ ▓██ ▒██░░██ █▌▒███ ▓██ ░▄█ ▒ | |||
* ▒ ██▒▓▓█ ░██░░▓█▄ ▌▒▓█ ▄ ▒██▀▀█▄ | |||
* ▒██████▒▒▒▒█████▓ ░▒████▓ ░▒████▒░██▓ ▒██▒ | |||
* ▒ ▒▓▒ ▒ ░░▒▓▒ ▒ ▒ ▒▒▓ ▒ ░░ ▒░ ░░ ▒▓ ░▒▓░ | |||
* ░ ░▒ ░ ░░░▒░ ░ ░ ░ ▒ ▒ ░ ░ ░ ░▒ ░ ▒░ | |||
* ░ ░ ░ ░░░ ░ ░ ░ ░ ░ ░ ░░ ░ | |||
* ░ ░ ░ ░ ░ ░ | |||
* ░ | |||
* </pre> | |||
* | |||
* @author topsuder | |||
* @date 2024/9/20-15:59 | |||
* @see IntelliJ IDEA chatbots-yiwise-parent | |||
* @see DialogFlowServiceImpl | |||
* @since <p>Copyright: 北京数字医信科技责任有限公司 (c) 2024</p> | |||
* <p>Company: 15303997779</p> | |||
*/ | |||
@Slf4j | |||
public class DialogFlowServiceImpl implements DialogFlowService { | |||
@Resource | |||
private ChatBotsClient chatBotsClient; | |||
@SneakyThrows | |||
@Override | |||
public Object getTotalDialogFlowList(DialogFlowPageDTO dialogFlowPageDTO) { | |||
final HttpRequest request | |||
= chatBotsClient.build(Method.POST, UrlPool.DialogFlowPool.GET_TOTAL_DIALOGFLOW_LIST); | |||
request.body(JSONUtil.toJsonStr(dialogFlowPageDTO)); | |||
System.out.println(request); | |||
@Cleanup final HttpResponse execute = request.execute(); | |||
System.out.println(execute); | |||
return execute.body(); | |||
} | |||
} |
@@ -0,0 +1,48 @@ | |||
package com.cn.bjca.chatbots.core.util; | |||
import cn.hutool.core.util.HexUtil; | |||
import cn.hutool.crypto.digest.DigestUtil; | |||
import java.io.UnsupportedEncodingException; | |||
import java.nio.charset.StandardCharsets; | |||
/** | |||
* <pre>签名工具类</pre> | |||
* | |||
* <p>Description</p> | |||
* <pre> | |||
* __ | |||
* / /____ ___ | |||
* / __/ _ \/ _ \ | |||
* \__/\___/ .__/ | |||
* / / Coding is an art, | |||
* /_/ And I'm its Picasso. | |||
* | |||
* ██████ █ ██ ▓█████▄ ▓█████ ██▀███ | |||
* ▒██ ▒ ██ ▓██▒▒██▀ ██▌▓█ ▀ ▓██ ▒ ██▒ | |||
* ░ ▓██▄ ▓██ ▒██░░██ █▌▒███ ▓██ ░▄█ ▒ | |||
* ▒ ██▒▓▓█ ░██░░▓█▄ ▌▒▓█ ▄ ▒██▀▀█▄ | |||
* ▒██████▒▒▒▒█████▓ ░▒████▓ ░▒████▒░██▓ ▒██▒ | |||
* ▒ ▒▓▒ ▒ ░░▒▓▒ ▒ ▒ ▒▒▓ ▒ ░░ ▒░ ░░ ▒▓ ░▒▓░ | |||
* ░ ░▒ ░ ░░░▒░ ░ ░ ░ ▒ ▒ ░ ░ ░ ░▒ ░ ▒░ | |||
* ░ ░ ░ ░░░ ░ ░ ░ ░ ░ ░ ░░ ░ | |||
* ░ ░ ░ ░ ░ ░ | |||
* ░ | |||
* </pre> | |||
* | |||
* @author topsuder | |||
* @date 2024/9/20-15:41 | |||
* @see IntelliJ IDEA chatbots-yiwise-parent | |||
* @see SignUtil 签名工具类 | |||
* @since <p>Copyright: 北京数字医信科技责任有限公司 (c) 2024</p> | |||
* <p>Company: 15303997779</p> | |||
*/ | |||
public class SignUtil { | |||
public static String sign(String appKey, String appSecret, String tenantSign, String version, String timestamp) throws UnsupportedEncodingException { | |||
String params = tenantSign + "appKey=" + appKey + "&appSecret=" + appSecret + "&tenantSign=" + tenantSign + "&version=" + version + "×tamp=" + timestamp; | |||
byte[] result = DigestUtil.sha256(params.getBytes(StandardCharsets.UTF_8)); | |||
return HexUtil.encodeHexStr(result); | |||
} | |||
} |
@@ -0,0 +1,33 @@ | |||
HELP.md | |||
target/ | |||
!.mvn/wrapper/maven-wrapper.jar | |||
!**/src/main/**/target/ | |||
!**/src/test/**/target/ | |||
### STS ### | |||
.apt_generated | |||
.classpath | |||
.factorypath | |||
.project | |||
.settings | |||
.springBeans | |||
.sts4-cache | |||
### IntelliJ IDEA ### | |||
.idea | |||
*.iws | |||
*.iml | |||
*.ipr | |||
### NetBeans ### | |||
/nbproject/private/ | |||
/nbbuild/ | |||
/dist/ | |||
/nbdist/ | |||
/.nb-gradle/ | |||
build/ | |||
!**/src/main/**/build/ | |||
!**/src/test/**/build/ | |||
### VS Code ### | |||
.vscode/ |
@@ -0,0 +1,26 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" | |||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<modelVersion>4.0.0</modelVersion> | |||
<parent> | |||
<groupId>com.cn.bjca.chatbots</groupId> | |||
<artifactId>chatbots-yiwise-parent</artifactId> | |||
<version>0.0.1-SNAPSHOT</version> | |||
</parent> | |||
<artifactId>chatbots-dubbo-provider</artifactId> | |||
<name>chatbots-dubbo-provider</name> | |||
<description>chatbots-dubbo-provider</description> | |||
<packaging>jar</packaging> | |||
<dependencies> | |||
<dependency> | |||
<groupId>com.cn.bjca.chatbots</groupId> | |||
<artifactId>chatbots-core</artifactId> | |||
<version>0.0.1-SNAPSHOT</version> | |||
</dependency> | |||
</dependencies> | |||
</project> |
@@ -0,0 +1,13 @@ | |||
package com.cn.bjca.chatbots.core; | |||
import org.junit.jupiter.api.Test; | |||
import org.springframework.boot.test.context.SpringBootTest; | |||
@SpringBootTest | |||
class ChatbotsCoreApplicationTests { | |||
@Test | |||
void contextLoads() { | |||
} | |||
} |
@@ -0,0 +1,33 @@ | |||
HELP.md | |||
target/ | |||
!.mvn/wrapper/maven-wrapper.jar | |||
!**/src/main/**/target/ | |||
!**/src/test/**/target/ | |||
### STS ### | |||
.apt_generated | |||
.classpath | |||
.factorypath | |||
.project | |||
.settings | |||
.springBeans | |||
.sts4-cache | |||
### IntelliJ IDEA ### | |||
.idea | |||
*.iws | |||
*.iml | |||
*.ipr | |||
### NetBeans ### | |||
/nbproject/private/ | |||
/nbbuild/ | |||
/dist/ | |||
/nbdist/ | |||
/.nb-gradle/ | |||
build/ | |||
!**/src/main/**/build/ | |||
!**/src/test/**/build/ | |||
### VS Code ### | |||
.vscode/ |
@@ -0,0 +1,30 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" | |||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<modelVersion>4.0.0</modelVersion> | |||
<parent> | |||
<groupId>com.cn.bjca.chatbots</groupId> | |||
<artifactId>chatbots-yiwise-parent</artifactId> | |||
<version>0.0.1-SNAPSHOT</version> | |||
</parent> | |||
<artifactId>chatbots-web</artifactId> | |||
<name>chatbots-web</name> | |||
<description>chatbots-web</description> | |||
<packaging>jar</packaging> | |||
<dependencies> | |||
<dependency> | |||
<groupId>org.szyx</groupId> | |||
<artifactId>szyx-chatbots-spring-boot-starter</artifactId> | |||
<version>0.0.1-SNAPSHOT</version> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.springframework.boot</groupId> | |||
<artifactId>spring-boot-starter-web</artifactId> | |||
</dependency> | |||
</dependencies> | |||
</project> |
@@ -0,0 +1,46 @@ | |||
package com.cn.bjca.chatbots.web; | |||
import org.springframework.boot.SpringApplication; | |||
import org.springframework.boot.autoconfigure.SpringBootApplication; | |||
/** | |||
* <pre></pre> | |||
* | |||
* <p>Description</p> | |||
* <pre> | |||
* __ | |||
* / /____ ___ | |||
* / __/ _ \/ _ \ | |||
* \__/\___/ .__/ | |||
* / / Coding is an art, | |||
* /_/ And I'm its Picasso. | |||
* | |||
* ██████ █ ██ ▓█████▄ ▓█████ ██▀███ | |||
* ▒██ ▒ ██ ▓██▒▒██▀ ██▌▓█ ▀ ▓██ ▒ ██▒ | |||
* ░ ▓██▄ ▓██ ▒██░░██ █▌▒███ ▓██ ░▄█ ▒ | |||
* ▒ ██▒▓▓█ ░██░░▓█▄ ▌▒▓█ ▄ ▒██▀▀█▄ | |||
* ▒██████▒▒▒▒█████▓ ░▒████▓ ░▒████▒░██▓ ▒██▒ | |||
* ▒ ▒▓▒ ▒ ░░▒▓▒ ▒ ▒ ▒▒▓ ▒ ░░ ▒░ ░░ ▒▓ ░▒▓░ | |||
* ░ ░▒ ░ ░░░▒░ ░ ░ ░ ▒ ▒ ░ ░ ░ ░▒ ░ ▒░ | |||
* ░ ░ ░ ░░░ ░ ░ ░ ░ ░ ░ ░░ ░ | |||
* ░ ░ ░ ░ ░ ░ | |||
* ░ | |||
* </pre> | |||
* | |||
* @author topsuder | |||
* @date 2024/9/20-17:17 | |||
* @see IntelliJ IDEA chatbots-yiwise-parent | |||
* @see ChatBotsApp | |||
* @since <p>Copyright: 北京数字医信科技责任有限公司 (c) 2024</p> | |||
* <p>Company: 15303997779</p> | |||
*/ | |||
@SpringBootApplication(scanBasePackages = { | |||
"com.*" | |||
}) | |||
public class ChatBotsApp { | |||
public static void main(String[] args) { | |||
SpringApplication.run(ChatBotsApp.class, args); | |||
} | |||
} |
@@ -0,0 +1,58 @@ | |||
package com.cn.bjca.chatbots.web; | |||
import com.cn.bjca.chatbots.core.pojo.dialogflow.DialogFlowPageDTO; | |||
import com.cn.bjca.chatbots.core.service.DialogFlowService; | |||
import org.springframework.web.bind.annotation.GetMapping; | |||
import org.springframework.web.bind.annotation.RequestMapping; | |||
import org.springframework.web.bind.annotation.RestController; | |||
import javax.annotation.Resource; | |||
/** | |||
* <pre></pre> | |||
* | |||
* <p>Description</p> | |||
* <pre> | |||
* __ | |||
* / /____ ___ | |||
* / __/ _ \/ _ \ | |||
* \__/\___/ .__/ | |||
* / / Coding is an art, | |||
* /_/ And I'm its Picasso. | |||
* | |||
* ██████ █ ██ ▓█████▄ ▓█████ ██▀███ | |||
* ▒██ ▒ ██ ▓██▒▒██▀ ██▌▓█ ▀ ▓██ ▒ ██▒ | |||
* ░ ▓██▄ ▓██ ▒██░░██ █▌▒███ ▓██ ░▄█ ▒ | |||
* ▒ ██▒▓▓█ ░██░░▓█▄ ▌▒▓█ ▄ ▒██▀▀█▄ | |||
* ▒██████▒▒▒▒█████▓ ░▒████▓ ░▒████▒░██▓ ▒██▒ | |||
* ▒ ▒▓▒ ▒ ░░▒▓▒ ▒ ▒ ▒▒▓ ▒ ░░ ▒░ ░░ ▒▓ ░▒▓░ | |||
* ░ ░▒ ░ ░░░▒░ ░ ░ ░ ▒ ▒ ░ ░ ░ ░▒ ░ ▒░ | |||
* ░ ░ ░ ░░░ ░ ░ ░ ░ ░ ░ ░░ ░ | |||
* ░ ░ ░ ░ ░ ░ | |||
* ░ | |||
* </pre> | |||
* | |||
* @author topsuder | |||
* @date 2024/9/20-17:25 | |||
* @see IntelliJ IDEA chatbots-yiwise-parent | |||
* @see DemoController | |||
* @since <p>Copyright: 北京数字医信科技责任有限公司 (c) 2024</p> | |||
* <p>Company: 15303997779</p> | |||
*/ | |||
@RestController | |||
@RequestMapping("/ai/yiwise/demo") | |||
public class DemoController { | |||
@Resource | |||
private DialogFlowService dialogFlowService; | |||
@GetMapping("/dialogFlowPageTest") | |||
public Object listTest() { | |||
return dialogFlowService.getTotalDialogFlowList(DialogFlowPageDTO.builder() | |||
.name("khcrm") | |||
.pageNum(1) | |||
.pageSize(20) | |||
.build()); | |||
} | |||
} |
@@ -0,0 +1,5 @@ | |||
szyx: | |||
chatbots: | |||
app-key: pVgxJyVDkOeOgZz5 | |||
app-secret: YNj2GZryfz43BAZiSxZ7AxOxWBX0ZbOn | |||
tenant-sign: bjszyx |
@@ -0,0 +1,13 @@ | |||
package com.cn.bjca.chatbots.core; | |||
import org.junit.jupiter.api.Test; | |||
import org.springframework.boot.test.context.SpringBootTest; | |||
@SpringBootTest | |||
class ChatbotsCoreApplicationTests { | |||
@Test | |||
void contextLoads() { | |||
} | |||
} |
@@ -0,0 +1,101 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" | |||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<modelVersion>4.0.0</modelVersion> | |||
<groupId>com.cn.bjca.chatbots</groupId> | |||
<artifactId>chatbots-yiwise-parent</artifactId> | |||
<version>0.0.1-SNAPSHOT</version> | |||
<name>chatbots-yiwise-parent</name> | |||
<description>chatbots-yiwise-parent</description> | |||
<modules> | |||
<module>chatbots-core</module> | |||
<module>chatbots-web</module> | |||
<module>chatbots-dubbo-provider</module> | |||
<module>spring-boot-starter</module> | |||
</modules> | |||
<packaging>pom</packaging> | |||
<properties> | |||
<java.version>1.8</java.version> | |||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> | |||
<spring-boot.version>2.7.6</spring-boot.version> | |||
</properties> | |||
<dependencies> | |||
<dependency> | |||
<groupId>org.springframework.boot</groupId> | |||
<artifactId>spring-boot-starter</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.springframework.boot</groupId> | |||
<artifactId>spring-boot-starter-test</artifactId> | |||
<scope>test</scope> | |||
</dependency> | |||
</dependencies> | |||
<dependencyManagement> | |||
<dependencies> | |||
<dependency> | |||
<groupId>org.springframework.boot</groupId> | |||
<artifactId>spring-boot-dependencies</artifactId> | |||
<version>${spring-boot.version}</version> | |||
<type>pom</type> | |||
<scope>import</scope> | |||
</dependency> | |||
</dependencies> | |||
</dependencyManagement> | |||
<build> | |||
<plugins> | |||
<plugin> | |||
<groupId>org.apache.maven.plugins</groupId> | |||
<artifactId>maven-compiler-plugin</artifactId> | |||
<version>3.8.1</version> | |||
<configuration> | |||
<source>1.8</source> | |||
<target>1.8</target> | |||
<encoding>UTF-8</encoding> | |||
</configuration> | |||
</plugin> | |||
<plugin> | |||
<groupId>org.springframework.boot</groupId> | |||
<artifactId>spring-boot-maven-plugin</artifactId> | |||
<version>${spring-boot.version}</version> | |||
<configuration> | |||
<mainClass>com.cn.bjca.chatbots.ChatbotsYiwiseParentApplication</mainClass> | |||
<skip>true</skip> | |||
</configuration> | |||
<executions> | |||
<execution> | |||
<id>repackage</id> | |||
<goals> | |||
<goal>repackage</goal> | |||
</goals> | |||
</execution> | |||
</executions> | |||
</plugin> | |||
</plugins> | |||
</build> | |||
<distributionManagement> | |||
<repository> | |||
<snapshots> | |||
<updatePolicy>always</updatePolicy> | |||
<enabled>true</enabled> | |||
</snapshots> | |||
<id>snapshots</id> | |||
<url>http://nexus.51trust.net/repository/maven-snapshots/</url> | |||
</repository> | |||
</distributionManagement> | |||
<repositories> | |||
<repository> | |||
<id>51trust</id> | |||
<name>51trust</name> | |||
<url>http://nexus.51trust.net/repository/maven-public/</url> | |||
</repository> | |||
</repositories> | |||
</project> |
@@ -0,0 +1,53 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xmlns="http://maven.apache.org/POM/4.0.0" | |||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<modelVersion>4.0.0</modelVersion> | |||
<groupId>org.szyx</groupId> | |||
<version>0.0.1-SNAPSHOT</version> | |||
<packaging>pom</packaging> | |||
<artifactId>spring-boot-starter</artifactId> | |||
<properties> | |||
<maven.compiler.source>1.8</maven.compiler.source> | |||
<maven.compiler.target>1.8</maven.compiler.target> | |||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |||
<spring_boot.version>2.3.0.RELEASE</spring_boot.version> | |||
</properties> | |||
<modules> | |||
<module>szyx-chatbots-spring-boot-autoconfigure</module> | |||
<module>szyx-chatbots-spring-boot-starter</module> | |||
</modules> | |||
<dependencyManagement> | |||
<dependencies> | |||
<!-- Spring Boot --> | |||
<dependency> | |||
<groupId>org.springframework.boot</groupId> | |||
<artifactId>spring-boot-dependencies</artifactId> | |||
<version>${spring_boot.version}</version> | |||
<type>pom</type> | |||
<scope>import</scope> | |||
</dependency> | |||
</dependencies> | |||
</dependencyManagement> | |||
<distributionManagement> | |||
<repository> | |||
<id>snapshots</id> | |||
<url>http://nexus.51trust.net/repository/maven-snapshots/</url> | |||
</repository> | |||
</distributionManagement> | |||
<repositories> | |||
<repository> | |||
<id>51trust</id> | |||
<name>51trust</name> | |||
<url>http://nexus.51trust.net/repository/maven-public/</url> | |||
</repository> | |||
</repositories> | |||
</project> |
@@ -0,0 +1,42 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xmlns="http://maven.apache.org/POM/4.0.0" | |||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<modelVersion>4.0.0</modelVersion> | |||
<parent> | |||
<groupId>org.szyx</groupId> | |||
<artifactId>spring-boot-starter</artifactId> | |||
<version>0.0.1-SNAPSHOT</version> | |||
<relativePath>../pom.xml</relativePath> | |||
</parent> | |||
<packaging>jar</packaging> | |||
<artifactId>szyx-chatbots-spring-boot-autoconfigure</artifactId> | |||
<properties> | |||
<maven.compiler.source>1.8</maven.compiler.source> | |||
<maven.compiler.target>1.8</maven.compiler.target> | |||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |||
</properties> | |||
<dependencies> | |||
<dependency> | |||
<groupId>com.cn.bjca.chatbots</groupId> | |||
<artifactId>chatbots-core</artifactId> | |||
<version>0.0.1-SNAPSHOT</version> | |||
<scope>compile</scope> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.projectlombok</groupId> | |||
<artifactId>lombok</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>cn.hutool</groupId> | |||
<artifactId>hutool-all</artifactId> | |||
<version>5.8.21</version> | |||
</dependency> | |||
</dependencies> | |||
</project> |
@@ -0,0 +1,53 @@ | |||
package com.szyx.spring.boot.autoconfigure; | |||
import com.cn.bjca.chatbots.core.client.ChatBotsClient; | |||
import com.cn.bjca.chatbots.core.properties.ChatbotsProperties; | |||
import com.cn.bjca.chatbots.core.service.DialogFlowService; | |||
import com.cn.bjca.chatbots.core.service.impl.DialogFlowServiceImpl; | |||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | |||
import org.springframework.boot.context.properties.EnableConfigurationProperties; | |||
import org.springframework.context.annotation.Bean; | |||
import org.springframework.context.annotation.Configuration; | |||
/** | |||
* <pre>即时通讯自动配置类</pre> | |||
* | |||
* <span>Form File</span> | |||
* <p>Description</p> | |||
* <p>Copyright: 北京数字医信科技责任有限公司 (c) 2023</p> | |||
* <p>Company:Wechat 15303997779</p> | |||
* | |||
* @author topsuder | |||
* @version v1.0.0 | |||
* @DATE 2023/12/11-13:53 | |||
* @Description | |||
* @see com.szyx.spring.boot.autoconfigure chat-parent | |||
*/ | |||
@Configuration(proxyBeanMethods = false) | |||
@EnableConfigurationProperties(ChatbotsProperties.class) | |||
public class ChatBotsAutoConfiguration { | |||
private final ChatbotsProperties chatbotsProperties; | |||
public ChatBotsAutoConfiguration(ChatbotsProperties chatbotsProperties) { | |||
this.chatbotsProperties = chatbotsProperties; | |||
} | |||
@Bean | |||
@ConditionalOnMissingBean | |||
// @ConditionalOnBean(ChatbotsProperties.class) | |||
public ChatBotsClient defaultChatBotsClient() { | |||
return new ChatBotsClient(chatbotsProperties); | |||
} | |||
@Bean("dialogFlowServiceImpl") | |||
@SuppressWarnings("all") | |||
@ConditionalOnMissingBean | |||
// @ConditionalOnBean(ChatbotsProperties.class) | |||
public DialogFlowService chatService() { | |||
return new DialogFlowServiceImpl(); | |||
} | |||
} |
@@ -0,0 +1,2 @@ | |||
# Auto Configure | |||
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.szyx.spring.boot.autoconfigure.ChatBotsAutoConfiguration |
@@ -0,0 +1,32 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xmlns="http://maven.apache.org/POM/4.0.0" | |||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<modelVersion>4.0.0</modelVersion> | |||
<parent> | |||
<groupId>org.szyx</groupId> | |||
<artifactId>spring-boot-starter</artifactId> | |||
<version>0.0.1-SNAPSHOT</version> | |||
<relativePath>../pom.xml</relativePath> | |||
</parent> | |||
<artifactId>szyx-chatbots-spring-boot-starter</artifactId> | |||
<packaging>pom</packaging> | |||
<properties> | |||
<maven.compiler.source>1.8</maven.compiler.source> | |||
<maven.compiler.target>1.8</maven.compiler.target> | |||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |||
</properties> | |||
<dependencies> | |||
<dependency> | |||
<groupId>org.szyx</groupId> | |||
<artifactId>szyx-chatbots-spring-boot-autoconfigure</artifactId> | |||
<version>0.0.1-SNAPSHOT</version> | |||
<scope>compile</scope> | |||
</dependency> | |||
</dependencies> | |||
</project> |