From 1a34082077577a3dea9ebcc608e6e289059616eb Mon Sep 17 00:00:00 2001 From: wulin Date: Sat, 11 Nov 2023 20:39:19 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E5=88=86=E7=AC=AC=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E4=BC=9A=E5=B8=A6=E8=8B=B1=E8=AF=AD=E8=87=AA=E5=8A=A8fanyi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/qiuguo/iot/base/.DS_Store | Bin 0 -> 6148 bytes .../qiuguo/iot/base/enums/LanguageEnum.java | 46 ++++++++++++++++++ .../qiuguo/iot/base/utils/StringUtils.java | 13 +++++ .../qiuguo/iot/third/service/NlpService.java | 8 +-- iot-modules/iot-box-websocket-api/pom.xml | 18 +++++++ 5 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 iot-common/iot-base/src/main/java/com/qiuguo/iot/base/.DS_Store create mode 100644 iot-common/iot-base/src/main/java/com/qiuguo/iot/base/enums/LanguageEnum.java diff --git a/iot-common/iot-base/src/main/java/com/qiuguo/iot/base/.DS_Store b/iot-common/iot-base/src/main/java/com/qiuguo/iot/base/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5898eebfd07b1f80b41004ca3dd0ab185382f877 GIT binary patch literal 6148 zcmeHKISv9b4752UBpOP}e1RWC2wuPkC_pr@NFb=U;$1wA@zJbSbWniCk~4|pNt7wp zYZ1}qZMP7aiO2+QC=VO@X8Yzn8)QU*aGY_yZ!XR8+#Gtj?*hgh%U&9}$*IG)9U2v& z0#twsPys6NX$7*vPNttenCDReD)93P*!Q8p4QpZ>=${S@-U0we2)kkKy#%mW09X^- zKtx~~RA5jwTMP|4;wAHHVjCEA(QH06Z`SNk)NjZ6#nVM=AV(@d1-c3hV>z?>zlOi* z|GOlvr~noCD+P44+N_p%Qr6bqi80h5~3oFNSPl~)^bL`i| UHqhyaI~~ZM0n>#>1-`Ao3o;87;Q#;t literal 0 HcmV?d00001 diff --git a/iot-common/iot-base/src/main/java/com/qiuguo/iot/base/enums/LanguageEnum.java b/iot-common/iot-base/src/main/java/com/qiuguo/iot/base/enums/LanguageEnum.java new file mode 100644 index 0000000..9d3057f --- /dev/null +++ b/iot-common/iot-base/src/main/java/com/qiuguo/iot/base/enums/LanguageEnum.java @@ -0,0 +1,46 @@ +package com.qiuguo.iot.base.enums; + +/* +* 动作类型 +* 作者:吴林 +* */ +// 动作类型:0:文本播放 1音频播放 2 U3D动作 3物联网设备动作 +public enum LanguageEnum { + ENGLISH(0, "en"), + CHINESE(1, "zh"), + + ; + LanguageEnum(Integer c, String n){ + code = c; + name = n; + } + private Integer code; + private String name; + + public Integer getCode() { + return code; + } + + public String getName() { + return name; + } + + public static LanguageEnum getEnumWithCode(Integer c){ + for (LanguageEnum e:values() + ) { + if(e.getCode().compareTo(c) == 0){ + return e; + } + } + return null; + } + public static LanguageEnum getEnumWithName(String name){ + for (LanguageEnum e:values() + ) { + if(e.getName().equals(name)){ + return e; + } + } + return null; + } +} diff --git a/iot-common/iot-base/src/main/java/com/qiuguo/iot/base/utils/StringUtils.java b/iot-common/iot-base/src/main/java/com/qiuguo/iot/base/utils/StringUtils.java index 2835476..1cf5993 100644 --- a/iot-common/iot-base/src/main/java/com/qiuguo/iot/base/utils/StringUtils.java +++ b/iot-common/iot-base/src/main/java/com/qiuguo/iot/base/utils/StringUtils.java @@ -1,9 +1,13 @@ package com.qiuguo.iot.base.utils; import java.util.Random; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class StringUtils extends cn.hutool.core.util.StrUtil{ private static final String chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + + private static Pattern pChinese = Pattern.compile("[\u4E00-\u9FA5|\\!|\\,|\\。|\\(|\\)|\\《|\\》|\\“|\\”|\\?|\\:|\\;|\\【|\\】]"); /** * 获取随机字符串 0-9, a-z, A-Z * @param length 个数 @@ -21,4 +25,13 @@ public class StringUtils extends cn.hutool.core.util.StrUtil{ } return sb.toString(); } + + public static Boolean isContainChinese(String str){ + if (StringUtils.isEmpty(str)) { + return false; + } + + Matcher m = pChinese.matcher(str); + return m.find(); + } } diff --git a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/NlpService.java b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/NlpService.java index 269b6c0..e0fc4f1 100644 --- a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/NlpService.java +++ b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/NlpService.java @@ -49,6 +49,7 @@ public class NlpService { //涂鸦设备 request.setDeviceType(DeviceTypeEnum.ELECTRIC_SOCKET.getCode()); request.setPageSize(MAX_COUT); + Boolean isEng = !StringUtils.isContainChinese(text); return deviceUserBindService.selectDeviceUserBindsByRequest(request).flatMap(deviceUserBindEntityPagerResult -> { List includs = new ArrayList<>(); List systemIncluds = new ArrayList<>(); @@ -119,7 +120,7 @@ public class NlpService { if(sysTalkKeyAndDeviceName.getType().equals(KeyTypeEnum.QIUGUO_NAME.getCode())){ pinyinArray = pinyinArray.replace(sysTalkKeyAndDeviceName.getKey(), "#" + (j++) + "#"); systemIncluds.add(systemTalkAnswerConfigService.getCommandList().get(sysTalkKeyAndDeviceName.getIndex())); - return getActions(pinyinArray, text, includs, systemIncluds, type); + return getActions(pinyinArray, text, includs, systemIncluds, type, isEng); } } } @@ -127,7 +128,7 @@ public class NlpService { log.info("获取拼音异常"); } } - return getActions(pText, text, includs, systemIncluds, type); + return getActions(pText, text, includs, systemIncluds, type, isEng); }); @@ -136,7 +137,8 @@ public class NlpService { public Mono getActions(String text, String recordText, List includs, List commands, - String type) { + String type, + Boolean isEng) { return liguoNlpService.geSingletNlp(text, type).map(nlp -> { Actions actions = new Actions(); diff --git a/iot-modules/iot-box-websocket-api/pom.xml b/iot-modules/iot-box-websocket-api/pom.xml index 2e06c5e..7b76620 100644 --- a/iot-modules/iot-box-websocket-api/pom.xml +++ b/iot-modules/iot-box-websocket-api/pom.xml @@ -94,7 +94,25 @@ 4.6.4 + + + com.aliyun + alimt20181012 + 1.0.3 + + + com.aliyun + tea-openapi + 0.2.5 + + + + com.alibaba.xingchen + xingchen-java-client + 1.0.2 + compile +