Przeglądaj źródła

first commit 😄

main
topsuder 5 dni temu
commit
5a1a74041e
35 zmienionych plików z 1277 dodań i 0 usunięć
  1. +33
    -0
      .gitignore
  2. +67
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/client/ChatBotsClient.java
  3. +30
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/CallResult.java
  4. +30
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/OutboundFilter.java
  5. +17
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/PhoneType.java
  6. +33
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/PrimaryIndustry.java
  7. +16
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/QueueType.java
  8. +34
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/SystemHangUpType.java
  9. +30
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/TaskStatus.java
  10. +17
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/TaskType.java
  11. +19
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/pojo/ApiResponse.java
  12. +35
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/pojo/PageParam.java
  13. +23
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/pojo/dialogflow/DialogFlow.java
  14. +49
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/pojo/dialogflow/DialogFlowPageDTO.java
  15. +49
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/pojo/dialogflow/Industry.java
  16. +42
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/pool/UrlPool.java
  17. +53
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/properties/ChatbotsProperties.java
  18. +40
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/service/DialogFlowService.java
  19. +72
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/service/impl/DialogFlowServiceImpl.java
  20. +48
    -0
      chatbots-core/src/main/java/com/cn/bjca/chatbots/core/util/SignUtil.java
  21. +33
    -0
      chatbots-dubbo-provider/.gitignore
  22. +26
    -0
      chatbots-dubbo-provider/pom.xml
  23. +13
    -0
      chatbots-dubbo-provider/src/test/java/com/cn/bjca/chatbots/core/ChatbotsCoreApplicationTests.java
  24. +33
    -0
      chatbots-web/.gitignore
  25. +30
    -0
      chatbots-web/pom.xml
  26. +46
    -0
      chatbots-web/src/main/java/com/cn/bjca/chatbots/web/ChatBotsApp.java
  27. +58
    -0
      chatbots-web/src/main/java/com/cn/bjca/chatbots/web/DemoController.java
  28. +5
    -0
      chatbots-web/src/main/resources/application.yml
  29. +13
    -0
      chatbots-web/src/test/java/com/cn/bjca/chatbots/core/ChatbotsCoreApplicationTests.java
  30. +101
    -0
      pom.xml
  31. +53
    -0
      spring-boot-starter/pom.xml
  32. +42
    -0
      spring-boot-starter/szyx-chatbots-spring-boot-autoconfigure/pom.xml
  33. +53
    -0
      spring-boot-starter/szyx-chatbots-spring-boot-autoconfigure/src/main/java/com/szyx/spring/boot/autoconfigure/ChatBotsAutoConfiguration.java
  34. +2
    -0
      spring-boot-starter/szyx-chatbots-spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories
  35. +32
    -0
      spring-boot-starter/szyx-chatbots-spring-boot-starter/pom.xml

+ 33
- 0
.gitignore Wyświetl plik

@@ -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/

+ 67
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/client/ChatBotsClient.java Wyświetl plik

@@ -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;
}


}

+ 30
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/CallResult.java Wyświetl plik

@@ -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;
}

+ 30
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/OutboundFilter.java Wyświetl plik

@@ -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;
}

+ 17
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/PhoneType.java Wyświetl plik

@@ -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;
}

+ 33
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/PrimaryIndustry.java Wyświetl plik

@@ -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;
}

+ 16
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/QueueType.java Wyświetl plik

@@ -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;
}

+ 34
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/SystemHangUpType.java Wyświetl plik

@@ -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;
}

+ 30
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/TaskStatus.java Wyświetl plik

@@ -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;
}

+ 17
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/enums/TaskType.java Wyświetl plik

@@ -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;
}

+ 19
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/pojo/ApiResponse.java Wyświetl plik

@@ -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; // 异常堆栈
}

+ 35
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/pojo/PageParam.java Wyświetl plik

@@ -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;
}

}

+ 23
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/pojo/dialogflow/DialogFlow.java Wyświetl plik

@@ -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; // 话术类型
}

+ 49
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/pojo/dialogflow/DialogFlowPageDTO.java Wyświetl plik

@@ -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;
}


+ 49
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/pojo/dialogflow/Industry.java Wyświetl plik

@@ -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;

}

+ 42
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/pool/UrlPool.java Wyświetl plik

@@ -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";
}
}

+ 53
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/properties/ChatbotsProperties.java Wyświetl plik

@@ -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;

}

+ 40
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/service/DialogFlowService.java Wyświetl plik

@@ -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);
}

+ 72
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/service/impl/DialogFlowServiceImpl.java Wyświetl plik

@@ -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();


}

}

+ 48
- 0
chatbots-core/src/main/java/com/cn/bjca/chatbots/core/util/SignUtil.java Wyświetl plik

@@ -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 + "&timestamp=" + timestamp;
byte[] result = DigestUtil.sha256(params.getBytes(StandardCharsets.UTF_8));
return HexUtil.encodeHexStr(result);
}

}

+ 33
- 0
chatbots-dubbo-provider/.gitignore Wyświetl plik

@@ -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/

+ 26
- 0
chatbots-dubbo-provider/pom.xml Wyświetl plik

@@ -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>

+ 13
- 0
chatbots-dubbo-provider/src/test/java/com/cn/bjca/chatbots/core/ChatbotsCoreApplicationTests.java Wyświetl plik

@@ -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() {
}

}

+ 33
- 0
chatbots-web/.gitignore Wyświetl plik

@@ -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/

+ 30
- 0
chatbots-web/pom.xml Wyświetl plik

@@ -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>

+ 46
- 0
chatbots-web/src/main/java/com/cn/bjca/chatbots/web/ChatBotsApp.java Wyświetl plik

@@ -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);
}

}

+ 58
- 0
chatbots-web/src/main/java/com/cn/bjca/chatbots/web/DemoController.java Wyświetl plik

@@ -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());
}

}

+ 5
- 0
chatbots-web/src/main/resources/application.yml Wyświetl plik

@@ -0,0 +1,5 @@
szyx:
chatbots:
app-key: pVgxJyVDkOeOgZz5
app-secret: YNj2GZryfz43BAZiSxZ7AxOxWBX0ZbOn
tenant-sign: bjszyx

+ 13
- 0
chatbots-web/src/test/java/com/cn/bjca/chatbots/core/ChatbotsCoreApplicationTests.java Wyświetl plik

@@ -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() {
}

}

+ 101
- 0
pom.xml Wyświetl plik

@@ -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>

+ 53
- 0
spring-boot-starter/pom.xml Wyświetl plik

@@ -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>

+ 42
- 0
spring-boot-starter/szyx-chatbots-spring-boot-autoconfigure/pom.xml Wyświetl plik

@@ -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>

+ 53
- 0
spring-boot-starter/szyx-chatbots-spring-boot-autoconfigure/src/main/java/com/szyx/spring/boot/autoconfigure/ChatBotsAutoConfiguration.java Wyświetl plik

@@ -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();
}

}

+ 2
- 0
spring-boot-starter/szyx-chatbots-spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories Wyświetl plik

@@ -0,0 +1,2 @@
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.szyx.spring.boot.autoconfigure.ChatBotsAutoConfiguration

+ 32
- 0
spring-boot-starter/szyx-chatbots-spring-boot-starter/pom.xml Wyświetl plik

@@ -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>

Ładowanie…
Anuluj
Zapisz