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 0000000..5898eeb Binary files /dev/null and b/iot-common/iot-base/src/main/java/com/qiuguo/iot/base/.DS_Store differ 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 +