diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/entity/system/SystemTalkBindU3dEntity.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/entity/system/SystemTalkBindU3dEntity.java
new file mode 100644
index 0000000..49aaf99
--- /dev/null
+++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/entity/system/SystemTalkBindU3dEntity.java
@@ -0,0 +1,84 @@
+package com.qiuguo.iot.data.entity.system;
+import org.hswebframework.ezorm.rdb.mapping.annotation.Comment;
+import org.hswebframework.web.crud.annotation.EnableEntityEvent;
+import org.hswebframework.web.api.crud.entity.GenericEntity;
+import javax.persistence.Column;
+import javax.persistence.Table;import lombok.Data;
+import java.util.Date;
+/**
+*
+*
*自定义命令和u3d动作绑定表
+* @author wulin
+* @since 2023-10-13
+*/
+
+@Data
+@Comment("自定义命令和u3d动作绑定表")
+@Table(name = "system_talk_bind_u3d")
+@EnableEntityEvent
+public class SystemTalkBindU3dEntity extends GenericEntity {
+ @Comment("id")
+ @Column(name = "id", length = 11, nullable = false, unique = true)
+ private Long id;
+
+ @Comment("是否删除:0 否 1 删除")
+ @Column(name = "is_delete", nullable = false)
+ private Integer isDelete;
+
+ @Comment("创建时间")
+ @Column(name = "create_time")
+ private Date createTime;
+
+ @Comment("修改时间")
+ @Column(name = "modify_time")
+ private Date modifyTime;
+
+ @Comment("自定义命令id")
+ @Column(name = "system_talk_id", nullable = false)
+ private Long systemTalkId;
+
+ @Comment("U3D动作配置id")
+ @Column(name = "u3d_action_id", nullable = false)
+ private Long u3dActionId;
+
+ @Comment("u3d动作类型")
+ @Column(name = "u3d_type")
+ private Integer u3dType;
+
+ @Comment("动作后的变量,名词")
+ @Column(name = "ask_common", length = 255)
+ private String askCommon;
+
+ @Comment("成功回答内容(传给box)")
+ @Column(name = "answer_value", length = 255)
+ private String answerValue;
+
+ @Comment("执行失败回答内容")
+ @Column(name = "answer_value_faild", length = 255)
+ private String answerValueFaild;
+
+ @Comment("回答时的动作(数字人的口型以外动作)")
+ @Column(name = "answer_action", length = 255)
+ private String answerAction;
+
+ @Comment("执行失败所对应动作")
+ @Column(name = "answer_action_faild", length = 255)
+ private String answerActionFaild;
+
+ @Comment("回答时的背景音乐(URL)")
+ @Column(name = "answer_back_sound", length = 255)
+ private String answerBackSound;
+
+ @Comment("回答时的背景图片、视屏、动画(URL)")
+ @Column(name = "answer_back_img", length = 255)
+ private String answerBackImg;
+
+ @Comment("备注")
+ @Column(name = "remark", length = 255)
+ private String remark;
+
+ @Comment("U3D状态ID")
+ @Column(name = "u3d_status_id")
+ private Long u3dStatusId;
+
+}
\ No newline at end of file
diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/system/SystemTalkBindU3dRequest.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/system/SystemTalkBindU3dRequest.java
new file mode 100644
index 0000000..f83bd02
--- /dev/null
+++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/system/SystemTalkBindU3dRequest.java
@@ -0,0 +1,103 @@
+package com.qiuguo.iot.data.request.system;
+import lombok.Data;
+import java.util.Date;
+/**
+*
+*自定义命令和u3d动作绑定请求类
+* @author wulin
+* @since 2023-10-13
+*/
+
+
+@Data
+public class SystemTalkBindU3dRequest implements java.io.Serializable {
+
+ private int currPage = 1;
+ private int pageSize = 10;
+ private String sort;
+ private String order;
+ /**
+ *
+ */
+ private Long id;
+ /**
+ *是否删除:0 否 1 删除
+ */
+ private Integer isDelete;
+ /**
+ *创建时间
+ */
+ private Date createTime;
+ /**
+ *创建时间搜索开始
+ */
+
+ private Date createTimeStart;
+
+ /**
+ *创建时间搜索结束
+ */
+ private Date createTimeEnd;
+ /**
+ *修改时间
+ */
+ private Date modifyTime;
+ /**
+ *修改时间搜索开始
+ */
+
+ private Date modifyTimeStart;
+
+ /**
+ *修改时间搜索结束
+ */
+ private Date modifyTimeEnd;
+ /**
+ *自定义命令id
+ */
+ private Long systemTalkId;
+ /**
+ *U3D动作配置id
+ */
+ private Long u3dActionId;
+ /**
+ *u3d动作类型
+ */
+ private Integer u3dType;
+ /**
+ *动作后的变量,名词
+ */
+ private String askCommon;
+ /**
+ *成功回答内容(传给box)
+ */
+ private String answerValue;
+ /**
+ *执行失败回答内容
+ */
+ private String answerValueFaild;
+ /**
+ *回答时的动作(数字人的口型以外动作)
+ */
+ private String answerAction;
+ /**
+ *执行失败所对应动作
+ */
+ private String answerActionFaild;
+ /**
+ *回答时的背景音乐(URL)
+ */
+ private String answerBackSound;
+ /**
+ *回答时的背景图片、视屏、动画(URL)
+ */
+ private String answerBackImg;
+ /**
+ *备注
+ */
+ private String remark;
+ /**
+ *U3D状态ID
+ */
+ private Long u3dStatusId;
+}
\ No newline at end of file
diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/system/SystemTalkBindU3dResp.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/system/SystemTalkBindU3dResp.java
new file mode 100644
index 0000000..2cdb16f
--- /dev/null
+++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/system/SystemTalkBindU3dResp.java
@@ -0,0 +1,94 @@
+package com.qiuguo.iot.data.resp.system;
+import com.qiuguo.iot.data.entity.system.SystemTalkBindU3dEntity;
+import lombok.Data;
+import java.util.Date;
+/**
+*
+*
*自定义命令和u3d动作绑定返回类
+* @author wulin
+* @since 2023-10-13
+*/
+
+@Data
+public class SystemTalkBindU3dResp {
+ public SystemTalkBindU3dResp(){
+ }
+ public SystemTalkBindU3dResp(SystemTalkBindU3dEntity entity){
+ id = entity.getId();
+ createTime = entity.getCreateTime();
+ modifyTime = entity.getModifyTime();
+ systemTalkId = entity.getSystemTalkId();
+ u3dActionId = entity.getU3dActionId();
+ u3dType = entity.getU3dType();
+ askCommon = entity.getAskCommon();
+ answerValue = entity.getAnswerValue();
+ answerValueFaild = entity.getAnswerValueFaild();
+ answerAction = entity.getAnswerAction();
+ answerActionFaild = entity.getAnswerActionFaild();
+ answerBackSound = entity.getAnswerBackSound();
+ answerBackImg = entity.getAnswerBackImg();
+ remark = entity.getRemark();
+ u3dStatusId = entity.getU3dStatusId();
+ }
+
+ /**
+ *
+ */
+ private Long id;
+ /**
+ *创建时间
+ */
+ private Date createTime;
+ /**
+ *修改时间
+ */
+ private Date modifyTime;
+ /**
+ *自定义命令id
+ */
+ private Long systemTalkId;
+ /**
+ *U3D动作配置id
+ */
+ private Long u3dActionId;
+ /**
+ *u3d动作类型
+ */
+ private Integer u3dType;
+ /**
+ *动作后的变量,名词
+ */
+ private String askCommon;
+ /**
+ *成功回答内容(传给box)
+ */
+ private String answerValue;
+ /**
+ *执行失败回答内容
+ */
+ private String answerValueFaild;
+ /**
+ *回答时的动作(数字人的口型以外动作)
+ */
+ private String answerAction;
+ /**
+ *执行失败所对应动作
+ */
+ private String answerActionFaild;
+ /**
+ *回答时的背景音乐(URL)
+ */
+ private String answerBackSound;
+ /**
+ *回答时的背景图片、视屏、动画(URL)
+ */
+ private String answerBackImg;
+ /**
+ *备注
+ */
+ private String remark;
+ /**
+ *U3D状态ID
+ */
+ private Long u3dStatusId;
+}
\ No newline at end of file
diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/service/system/SystemTalkBindU3dService.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/service/system/SystemTalkBindU3dService.java
new file mode 100644
index 0000000..e91dc21
--- /dev/null
+++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/service/system/SystemTalkBindU3dService.java
@@ -0,0 +1,278 @@
+package com.qiuguo.iot.data.service.system;
+
+
+
+import com.qiuguo.iot.base.utils.StringUtils;
+import com.qiuguo.iot.data.entity.system.SystemTalkBindU3dEntity;
+import com.qiuguo.iot.data.request.system.SystemTalkBindU3dRequest;
+import lombok.extern.slf4j.Slf4j;
+import org.hswebframework.ezorm.core.param.Sort;
+import org.hswebframework.ezorm.rdb.mapping.ReactiveQuery;
+import org.hswebframework.ezorm.rdb.mapping.ReactiveUpdate;
+import org.hswebframework.ezorm.rdb.operator.dml.query.SortOrder;
+import org.hswebframework.web.api.crud.entity.PagerResult;
+import org.hswebframework.web.api.crud.entity.QueryParamEntity;
+import org.hswebframework.web.crud.service.GenericReactiveCrudService;
+import org.springframework.stereotype.Service;
+import reactor.core.publisher.Mono;
+
+import java.util.Arrays;
+import java.util.Date;
+/**
+*
+* 自定义命令和u3d动作绑定服务类
+*
+*
+* @author wulin
+* @since 2023-10-13
+*/
+
+@Service
+@Slf4j
+public class SystemTalkBindU3dService extends GenericReactiveCrudService {
+
+
+ public Mono selectSystemTalkBindU3dByRequest(SystemTalkBindU3dRequest request){
+ ReactiveQuery reactiveQuery = createQuery();
+ reactiveQuery = reactiveQuery.and("is_delete", 0);
+ if(request.getId() != null){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getId, request.getId());
+ }
+ if(request.getIsDelete() != null){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getIsDelete, request.getIsDelete());
+ }
+ if(request.getCreateTime() != null){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getCreateTime, request.getCreateTime());
+ }
+ if(request.getModifyTime() != null){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getModifyTime, request.getModifyTime());
+ }
+ if(request.getSystemTalkId() != null){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getSystemTalkId, request.getSystemTalkId());
+ }
+ if(request.getU3dActionId() != null){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getU3dActionId, request.getU3dActionId());
+ }
+ if(request.getU3dType() != null){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getU3dType, request.getU3dType());
+ }
+ if(StringUtils.isNotEmpty(request.getAskCommon())){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getAskCommon, request.getAskCommon());
+ }
+ if(StringUtils.isNotEmpty(request.getAnswerValue())){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getAnswerValue, request.getAnswerValue());
+ }
+ if(StringUtils.isNotEmpty(request.getAnswerValueFaild())){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getAnswerValueFaild, request.getAnswerValueFaild());
+ }
+ if(StringUtils.isNotEmpty(request.getAnswerAction())){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getAnswerAction, request.getAnswerAction());
+ }
+ if(StringUtils.isNotEmpty(request.getAnswerActionFaild())){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getAnswerActionFaild, request.getAnswerActionFaild());
+ }
+ if(StringUtils.isNotEmpty(request.getAnswerBackSound())){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getAnswerBackSound, request.getAnswerBackSound());
+ }
+ if(StringUtils.isNotEmpty(request.getAnswerBackImg())){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getAnswerBackImg, request.getAnswerBackImg());
+ }
+ if(StringUtils.isNotEmpty(request.getRemark())){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getRemark, request.getRemark());
+ }
+ if(request.getU3dStatusId() != null){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getU3dStatusId, request.getU3dStatusId());
+ }
+ SortOrder sortOrder = null;
+ if(StringUtils.isNotEmpty(request.getOrder())){
+ if(StringUtils.isNotEmpty(request.getSort()) && request.getSort().compareTo("0") == 0){
+ sortOrder = SortOrder.desc(request.getOrder());
+ }else{
+ sortOrder = SortOrder.asc(request.getOrder());
+ }
+ reactiveQuery = reactiveQuery.orderBy(sortOrder);
+ }
+ return reactiveQuery.fetchOne();
+ }
+
+
+
+ public Mono> selectSystemTalkBindU3dsByRequest(SystemTalkBindU3dRequest request){
+ ReactiveQuery reactiveQuery = createQuery();
+ reactiveQuery = reactiveQuery.and("is_delete", 0);
+ if(request.getId() != null){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getId, request.getId());
+ }
+ if(request.getIsDelete() != null){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getIsDelete, request.getIsDelete());
+ }
+ if(request.getCreateTimeStart() != null){
+ reactiveQuery = reactiveQuery.gte(SystemTalkBindU3dRequest::getCreateTime, request.getCreateTimeStart());
+ }
+ if(request.getCreateTimeEnd() != null){
+ reactiveQuery = reactiveQuery.lte(SystemTalkBindU3dRequest::getCreateTime, request.getCreateTimeEnd());
+ }
+ if(request.getModifyTimeStart() != null){
+ reactiveQuery = reactiveQuery.gte(SystemTalkBindU3dRequest::getModifyTime, request.getModifyTimeStart());
+ }
+ if(request.getModifyTimeEnd() != null){
+ reactiveQuery = reactiveQuery.lte(SystemTalkBindU3dRequest::getModifyTime, request.getModifyTimeEnd());
+ }
+ if(request.getSystemTalkId() != null){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getSystemTalkId, request.getSystemTalkId());
+ }
+ if(request.getU3dActionId() != null){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getU3dActionId, request.getU3dActionId());
+ }
+ if(request.getU3dType() != null){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getU3dType, request.getU3dType());
+ }
+ if(StringUtils.isNotEmpty(request.getAskCommon())){
+ reactiveQuery = reactiveQuery.$like$(SystemTalkBindU3dRequest::getAskCommon, request.getAskCommon());
+ }
+ if(StringUtils.isNotEmpty(request.getAnswerValue())){
+ reactiveQuery = reactiveQuery.$like$(SystemTalkBindU3dRequest::getAnswerValue, request.getAnswerValue());
+ }
+ if(StringUtils.isNotEmpty(request.getAnswerValueFaild())){
+ reactiveQuery = reactiveQuery.$like$(SystemTalkBindU3dRequest::getAnswerValueFaild, request.getAnswerValueFaild());
+ }
+ if(StringUtils.isNotEmpty(request.getAnswerAction())){
+ reactiveQuery = reactiveQuery.$like$(SystemTalkBindU3dRequest::getAnswerAction, request.getAnswerAction());
+ }
+ if(StringUtils.isNotEmpty(request.getAnswerActionFaild())){
+ reactiveQuery = reactiveQuery.$like$(SystemTalkBindU3dRequest::getAnswerActionFaild, request.getAnswerActionFaild());
+ }
+ if(StringUtils.isNotEmpty(request.getAnswerBackSound())){
+ reactiveQuery = reactiveQuery.$like$(SystemTalkBindU3dRequest::getAnswerBackSound, request.getAnswerBackSound());
+ }
+ if(StringUtils.isNotEmpty(request.getAnswerBackImg())){
+ reactiveQuery = reactiveQuery.$like$(SystemTalkBindU3dRequest::getAnswerBackImg, request.getAnswerBackImg());
+ }
+ if(StringUtils.isNotEmpty(request.getRemark())){
+ reactiveQuery = reactiveQuery.$like$(SystemTalkBindU3dRequest::getRemark, request.getRemark());
+ }
+ if(request.getU3dStatusId() != null){
+ reactiveQuery = reactiveQuery.and(SystemTalkBindU3dRequest::getU3dStatusId, request.getU3dStatusId());
+ }
+ QueryParamEntity param = QueryParamEntity.of(reactiveQuery.getParam());
+ if(StringUtils.isNotEmpty(request.getOrder())){
+ Sort sort = new Sort();
+ sort.setName(request.getOrder());
+ if(StringUtils.isNotEmpty(request.getSort()) && request.getSort().compareTo("0") == 0){
+ sort.desc();
+ }else{
+ sort.asc();
+ }
+ param.setSorts(Arrays.asList(sort));
+ }
+ param.setPageIndex(request.getCurrPage());
+ param.setPageSize(request.getPageSize());
+ param.setPaging(true);
+ param.setFirstPageIndex(1);
+ return queryPager(param);
+ }
+
+
+
+ public Mono selectSystemTalkBindU3dById(Long id){
+ return createQuery()
+ .and("is_delete", 0)
+ .and("id", id)
+ .fetchOne();
+ }
+
+
+
+ public Mono insertSystemTalkBindU3d(SystemTalkBindU3dEntity entity){
+ entity.setId(null);
+ entity.setCreateTime(null);
+ entity.setModifyTime(null);
+ return insert(entity);
+ }
+
+
+
+ public Mono updateSystemTalkBindU3dById(SystemTalkBindU3dEntity entity){
+ ReactiveUpdate update = createUpdate()
+ .set(SystemTalkBindU3dEntity::getModifyTime, new Date());
+ if(entity.getIsDelete() != null){
+ update = update.set(SystemTalkBindU3dEntity::getIsDelete, entity.getIsDelete());
+ }
+ if(entity.getSystemTalkId() != null){
+ update = update.set(SystemTalkBindU3dEntity::getSystemTalkId, entity.getSystemTalkId());
+ }
+ if(entity.getU3dActionId() != null){
+ update = update.set(SystemTalkBindU3dEntity::getU3dActionId, entity.getU3dActionId());
+ }
+ if(entity.getU3dType() != null){
+ update = update.set(SystemTalkBindU3dEntity::getU3dType, entity.getU3dType());
+ }
+ if(StringUtils.isNotEmpty(entity.getAskCommon())){
+ update = update.set(SystemTalkBindU3dEntity::getAskCommon, entity.getAskCommon());
+ }
+ if(StringUtils.isNotEmpty(entity.getAnswerValue())){
+ update = update.set(SystemTalkBindU3dEntity::getAnswerValue, entity.getAnswerValue());
+ }
+ if(StringUtils.isNotEmpty(entity.getAnswerValueFaild())){
+ update = update.set(SystemTalkBindU3dEntity::getAnswerValueFaild, entity.getAnswerValueFaild());
+ }
+ if(StringUtils.isNotEmpty(entity.getAnswerAction())){
+ update = update.set(SystemTalkBindU3dEntity::getAnswerAction, entity.getAnswerAction());
+ }
+ if(StringUtils.isNotEmpty(entity.getAnswerActionFaild())){
+ update = update.set(SystemTalkBindU3dEntity::getAnswerActionFaild, entity.getAnswerActionFaild());
+ }
+ if(StringUtils.isNotEmpty(entity.getAnswerBackSound())){
+ update = update.set(SystemTalkBindU3dEntity::getAnswerBackSound, entity.getAnswerBackSound());
+ }
+ if(StringUtils.isNotEmpty(entity.getAnswerBackImg())){
+ update = update.set(SystemTalkBindU3dEntity::getAnswerBackImg, entity.getAnswerBackImg());
+ }
+ if(StringUtils.isNotEmpty(entity.getRemark())){
+ update = update.set(SystemTalkBindU3dEntity::getRemark, entity.getRemark());
+ }
+ if(entity.getU3dStatusId() != null){
+ update = update.set(SystemTalkBindU3dEntity::getU3dStatusId, entity.getU3dStatusId());
+ }
+ return update.where(SystemTalkBindU3dEntity::getId, entity.getId()).and("is_delete", 0).execute();
+ }
+
+
+
+ public Mono updateCoverSystemTalkBindU3dById(SystemTalkBindU3dEntity entity){
+ ReactiveUpdate update = createUpdate()
+ .set(SystemTalkBindU3dEntity::getModifyTime, new Date());
+ update = update.set(SystemTalkBindU3dEntity::getIsDelete, entity.getIsDelete());
+ update = update.set(SystemTalkBindU3dEntity::getSystemTalkId, entity.getSystemTalkId());
+ update = update.set(SystemTalkBindU3dEntity::getU3dActionId, entity.getU3dActionId());
+ update = update.set(SystemTalkBindU3dEntity::getU3dType, entity.getU3dType());
+ update = update.set(SystemTalkBindU3dEntity::getAskCommon, entity.getAskCommon());
+ update = update.set(SystemTalkBindU3dEntity::getAnswerValue, entity.getAnswerValue());
+ update = update.set(SystemTalkBindU3dEntity::getAnswerValueFaild, entity.getAnswerValueFaild());
+ update = update.set(SystemTalkBindU3dEntity::getAnswerAction, entity.getAnswerAction());
+ update = update.set(SystemTalkBindU3dEntity::getAnswerActionFaild, entity.getAnswerActionFaild());
+ update = update.set(SystemTalkBindU3dEntity::getAnswerBackSound, entity.getAnswerBackSound());
+ update = update.set(SystemTalkBindU3dEntity::getAnswerBackImg, entity.getAnswerBackImg());
+ update = update.set(SystemTalkBindU3dEntity::getRemark, entity.getRemark());
+ update = update.set(SystemTalkBindU3dEntity::getU3dStatusId, entity.getU3dStatusId());
+ return update.where(SystemTalkBindU3dEntity::getId, entity.getId()).and("is_delete", 0).execute();
+ }
+
+
+
+ public Mono deleteSystemTalkBindU3dById(Long id){
+ return createUpdate()
+ .set("is_delete", 1)
+ .set("modify_time", new Date())
+ .where("id", id)
+ .execute();
+ }
+
+
+ public Mono selectSystemTalkBindU3dBySystemTalkId(Long systemTalkId) {
+ return createQuery()
+ .and("is_delete", 0)
+ .and("system_talk_id", systemTalkId)
+ .fetchOne();
+ }
+}
diff --git a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/nlp/AliYunQianWen.java b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/nlp/AliYunQianWen.java
index 832fd6c..7f644c6 100644
--- a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/nlp/AliYunQianWen.java
+++ b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/nlp/AliYunQianWen.java
@@ -36,6 +36,10 @@ public class AliYunQianWen {
*/
MessageManager msgManager = new MessageManager(10);
+ /**
+ * 有由于千问限制,必须一问一答
+ */
+ private boolean canAsk = true;
GenerationResult lastGenerationResult = null;
@@ -53,13 +57,16 @@ public class AliYunQianWen {
public void sendMessage(String msg,
Consumer super String> onNext,
QWenReplyResponse qwenReplyResponse) throws NoApiKeyException, InputRequiredException, InterruptedException {
-
+ if(!canAsk){
+ msgManager = new MessageManager(10);
+ }
Message userMsg = Message
.builder()
.role(Role.USER.getValue())
.content(msg)
.build();
msgManager.add(userMsg);
+ canAsk = !canAsk;
Generation gen = new Generation();
@@ -81,6 +88,7 @@ public class AliYunQianWen {
}else{
lastGenerationResult = message;
msgManager.add(lastGenerationResult);
+ canAsk = !canAsk;
}
} catch (Exception e) {
log.info("千问回调异常{}", e);
@@ -92,7 +100,6 @@ public class AliYunQianWen {
@Override
public void onComplete() {
if(lastGenerationResult != null){
-
qwenReplyResponse.setResut(lastGenerationResult.getOutput().getChoices().get(0).getMessage().getContent());
}
diff --git a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/QWenService.java b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/QWenService.java
index 399d434..9b1bd52 100644
--- a/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/QWenService.java
+++ b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/QWenService.java
@@ -48,12 +48,12 @@ public class QWenService {
final AliYunQianWen aliQianWen1 = aliQianWen;
return Mono.just(new QWenReplyResponse()).map(qWenReplyResponse -> {
try {
- aliQianWen1.sendMessage(rest.getText(), onNext, qWenReplyResponse);
qWenReplyResponse.setCode(200);
+ aliQianWen1.sendMessage(rest.getText(), onNext, qWenReplyResponse);
+
} catch (Exception e) {
log.info("调用千问异常{}", e);
qWenReplyResponse.setCode(500);
- throw new RuntimeException(e);
}
return qWenReplyResponse;
diff --git a/iot-modules/iot-admin-http-api/src/main/java/com/qiuguo/iot/admin/http/api/controller/SystemTalkBindU3dController.java b/iot-modules/iot-admin-http-api/src/main/java/com/qiuguo/iot/admin/http/api/controller/SystemTalkBindU3dController.java
new file mode 100644
index 0000000..21211dd
--- /dev/null
+++ b/iot-modules/iot-admin-http-api/src/main/java/com/qiuguo/iot/admin/http/api/controller/SystemTalkBindU3dController.java
@@ -0,0 +1,102 @@
+package com.qiuguo.iot.admin.http.api.controller;
+
+
+
+import com.qiuguo.iot.data.entity.system.SystemTalkBindU3dEntity;
+import com.qiuguo.iot.data.request.system.SystemTalkBindU3dRequest;
+import com.qiuguo.iot.data.resp.system.SystemTalkBindU3dResp;
+import com.qiuguo.iot.data.service.system.SystemTalkBindU3dService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.hswebframework.web.api.crud.entity.PagerResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import reactor.core.publisher.Mono;
+
+import java.util.Date;
+import java.util.List;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+/**
+*
+* 自定义命令和u3d动作绑定Controller类
+*
+*
+* @author wulin
+* @since 2023-10-13
+*/
+
+@RestController
+@Slf4j
+@RequestMapping("/SystemTalkBindU3d")
+public class SystemTalkBindU3dController{
+
+
+ @Autowired
+ private SystemTalkBindU3dService systemTalkBindU3dService;
+ @PostMapping("/info")
+ public Mono selectSystemTalkBindU3dByRequest(@RequestBody SystemTalkBindU3dRequest request){
+ return systemTalkBindU3dService.selectSystemTalkBindU3dByRequest(request).map(d -> {return new SystemTalkBindU3dResp(d);});
+ }
+
+
+
+ @PostMapping("/list")
+ public Mono> selectSystemTalkBindU3dsByRequest(@RequestBody SystemTalkBindU3dRequest request){
+ return systemTalkBindU3dService.selectSystemTalkBindU3dsByRequest(request).map(d -> {
+ PagerResult result = new PagerResult<>();
+ result.setPageIndex(d.getPageIndex());
+ result.setPageSize(d.getPageSize());
+ result.setTotal(d.getTotal());
+ List ds = d.getData().stream().map(new Function() {
+ @Override
+ public SystemTalkBindU3dResp apply(SystemTalkBindU3dEntity entity) {
+ return new SystemTalkBindU3dResp(entity);
+ }
+ }
+
+ ).collect(Collectors.toList());
+ result.setData(ds);
+ return result;
+ });
+ }
+
+
+
+ @GetMapping("/id")
+ public Mono selectSystemTalkBindU3dById(@RequestParam Long id){
+ return systemTalkBindU3dService.selectSystemTalkBindU3dById(id).map(d -> {return new SystemTalkBindU3dResp(d);});
+ }
+
+
+
+ @PostMapping("/save")
+ public Mono insertSystemTalkBindU3d(@RequestBody SystemTalkBindU3dEntity entity){
+ return systemTalkBindU3dService.insertSystemTalkBindU3d(entity);
+ }
+
+
+
+ @PostMapping("/update")
+ public Mono updateSystemTalkBindU3dById(@RequestBody SystemTalkBindU3dEntity entity){
+ return systemTalkBindU3dService.updateSystemTalkBindU3dById(entity);
+ }
+
+
+
+ @PostMapping("/updateCover")
+ public Mono updateCoverSystemTalkBindU3dById(@RequestBody SystemTalkBindU3dEntity entity){
+ return systemTalkBindU3dService.updateCoverSystemTalkBindU3dById(entity);
+ }
+
+
+
+ @PostMapping("/delete")
+ public Mono deleteSystemTalkBindU3dById(@RequestParam Long id){
+ return systemTalkBindU3dService.deleteSystemTalkBindU3dById(id);
+ }
+
+
+
+}
diff --git a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/BaseWebSocketProcess.java b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/BaseWebSocketProcess.java
index 1390801..6cbb24c 100644
--- a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/BaseWebSocketProcess.java
+++ b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/BaseWebSocketProcess.java
@@ -11,6 +11,7 @@ import com.qiuguo.iot.data.entity.device.DeviceUserBindEntity;
import com.qiuguo.iot.data.entity.device.DeviceUserTalkRecordEntity;
import com.qiuguo.iot.data.entity.system.SystemTalkAnswerConfigEntity;
import com.qiuguo.iot.data.entity.system.SystemTalkBindDeviceEntity;
+import com.qiuguo.iot.data.entity.system.SystemTalkBindU3dEntity;
import com.qiuguo.iot.data.request.device.DeviceUserBindRequest;
import com.qiuguo.iot.data.request.qwen.TongYiCommunicationRest;
import com.qiuguo.iot.data.request.system.SystemTalkBindDeviceRequest;
@@ -23,6 +24,7 @@ import com.qiuguo.iot.data.service.device.DeviceUserTalkRecordService;
import com.qiuguo.iot.data.service.mq.MqService;
import com.qiuguo.iot.data.service.system.SystemAddressService;
import com.qiuguo.iot.data.service.system.SystemTalkBindDeviceService;
+import com.qiuguo.iot.data.service.system.SystemTalkBindU3dService;
import com.qiuguo.iot.third.nlp.action.Action;
import com.qiuguo.iot.third.nlp.action.ActionTime;
import com.qiuguo.iot.third.nlp.action.Actions;
@@ -74,6 +76,9 @@ public class BaseWebSocketProcess {
@Autowired
protected MqService mqService;
+ @Autowired
+ protected SystemTalkBindU3dService systemTalkBindU3dService;
+
protected static ConcurrentHashMap userGroup = new ConcurrentHashMap<>();
@@ -159,23 +164,40 @@ public class BaseWebSocketProcess {
}).subscribeOn(Schedulers.boundedElastic()).subscribe();
}
- private void toU3DMq(Action action, SystemTalkBindDeviceEntity systemTalkBindDeviceEntity){
+ private void toU3DMq(Action action, SystemTalkBindDeviceEntity systemTalkBindDeviceEntity, Long metaId){
+
+ U3dMsg u3dMsg = new U3dMsg();
+ u3dMsg.setMsgType(U3dMsgTypeEnum.IOT.getCode());
+ u3dMsg.setMetaId(metaId);
+ u3dMsg.setScenceId(action.getDeviceUserBindEntity().getScenceId());
+ u3dMsg.setStatusId(systemTalkBindDeviceEntity.getU3dStatusId());
+ sendMq(JSONObject.toJSONString(u3dMsg));
+ }
+
+ private void toU3DMq(Action action, SystemTalkBindU3dEntity systemTalkBindU3dEntity, Long metaId){
+
+ U3dMsg u3dMsg = new U3dMsg();
+ u3dMsg.setMsgType(systemTalkBindU3dEntity.getU3dType());
+ u3dMsg.setMetaId(metaId);
+ u3dMsg.setScenceId(action.getDeviceUserBindEntity().getScenceId());
+ u3dMsg.setStatusId(systemTalkBindU3dEntity.getU3dStatusId());
+
+ sendMq(JSONObject.toJSONString(u3dMsg));
+ }
+
+ private void sendMq(String msg){
log.info("通知U3DMQ");
try{
- U3dMsg u3dMsg = new U3dMsg();
- u3dMsg.setMsgType(U3dMsgTypeEnum.IOT.getCode());
- u3dMsg.setMetaId(action.getDeviceUserBindEntity().getU3dId());
- u3dMsg.setScenceId(action.getDeviceUserBindEntity().getScenceId());
- u3dMsg.setStatusId(systemTalkBindDeviceEntity.getU3dStatusId());
//发送消息到MQ,通知U3D
mqService.sendMessageWithConfirmation(YunxiRabbitConst.EXCHANGE_YUNXI_EVENT,
YunxiRabbitConst.ROUTE_KEY_YUNXI,
- JSONObject.toJSONString(u3dMsg)).subscribe();
+ msg).subscribe();
}catch (Exception e){
log.info("通知U3D MQ异常{}", e);
}
}
+
protected void processAction(Actions actions, Long userId, BaseSession baseSession) {
if(actions.getActions() == null || actions.getActions().size() == 0){
//调用千问回答\
@@ -365,7 +387,17 @@ public class BaseWebSocketProcess {
}else if(action.getSystemTalkAnswerConfigEntity().getAnswerType().equals(AskTypeEnum.QIU_GUO.getCode())){
sendMessage(action, baseSession, action.getSystemTalkAnswerConfigEntity().getAnswerValue(), AskTypeEnum.TTS.getCode());
}else if(action.getSystemTalkAnswerConfigEntity().getAnswerType().equals(AskTypeEnum.U3D.getCode())){
- //sendMessage(action, baseSession, action.getSystemTalkAnswerConfigEntity().getAnswerValue(), AskTypeEnum.TTS.getCode());
+ systemTalkBindU3dService.selectSystemTalkBindU3dBySystemTalkId(action.getSystemTalkAnswerConfigEntity().getId())
+ .defaultIfEmpty(new SystemTalkBindU3dEntity())
+ .map(systemTalkBindU3d ->{
+ if(systemTalkBindU3d.getId() == null){
+ sendMessage(action, baseSession, "暂时不支持该指令", AskTypeEnum.TTS.getCode());
+ return systemTalkBindU3d;
+ }
+ //数字人的id直接用用户id来代替
+ toU3DMq(action, systemTalkBindU3d, baseSession.getUserId());
+ return systemTalkBindU3d;
+ });
}
}
}
@@ -397,7 +429,7 @@ public class BaseWebSocketProcess {
String msg = "";
if(isOk.getCode().equals(RespCodeEnum.SUCESS.getCode())){
if(action.getDeviceUserBindEntity().getU3dId() != null){
- toU3DMq(action, systemTalkBindDeviceEntity);
+ toU3DMq(action, systemTalkBindDeviceEntity, action.getDeviceUserBindEntity().getU3dId());
}
//通知打开灯成功
diff --git a/iot-modules/iot-customer-http-api/src/test/java/com/qiuguo/iot/customer/http/api/mysql/MysqlMain.java b/iot-modules/iot-customer-http-api/src/test/java/com/qiuguo/iot/customer/http/api/mysql/MysqlMain.java
index 8faf9f7..2da1c41 100644
--- a/iot-modules/iot-customer-http-api/src/test/java/com/qiuguo/iot/customer/http/api/mysql/MysqlMain.java
+++ b/iot-modules/iot-customer-http-api/src/test/java/com/qiuguo/iot/customer/http/api/mysql/MysqlMain.java
@@ -59,7 +59,7 @@ public class MysqlMain {
}
List list = new ArrayList<>();
- list.add(new TablesBean("system_address"));
+ list.add(new TablesBean("system_talk_bind_u3d"));
//list.add(new TablesBean("system_same_talk"));
List list2 = new ArrayList();
diff --git a/iot-modules/iot-customer-http-api/src/test/java/com/qiuguo/iot/customer/http/api/mysql/MysqlUtilTable2Contoller.java b/iot-modules/iot-customer-http-api/src/test/java/com/qiuguo/iot/customer/http/api/mysql/MysqlUtilTable2Contoller.java
index 008a4a3..13d62bc 100644
--- a/iot-modules/iot-customer-http-api/src/test/java/com/qiuguo/iot/customer/http/api/mysql/MysqlUtilTable2Contoller.java
+++ b/iot-modules/iot-customer-http-api/src/test/java/com/qiuguo/iot/customer/http/api/mysql/MysqlUtilTable2Contoller.java
@@ -159,14 +159,14 @@ public class MysqlUtilTable2Contoller {
content += "\n";
content += TAB + "@PostMapping(\"/list\")\n";
content += TAB + "public Mono> select" + realName + "sByRequest(@RequestBody " + realName + "Request request){\n";
- content += TAB + TAB + "return " + MysqlUtil.getFirstToLower(realName) + "Service.selectDeviceInfosByRequest(request).map(d -> {\n" +
+ content += TAB + TAB + "return " + MysqlUtil.getFirstToLower(realName) + "Service.select" + realName + "sByRequest(request).map(d -> {\n" +
" PagerResult<" + realName + "Resp> result = new PagerResult<>();\n" +
" result.setPageIndex(d.getPageIndex());\n" +
" result.setPageSize(d.getPageSize());\n" +
" result.setTotal(d.getTotal());\n" +
" List<" + realName + "Resp> ds = d.getData().stream().map(new Function<" + realName + "Entity, " + realName + "Resp>() {\n" +
" @Override\n" +
- " public DeviceInfoResp apply(" + realName + "Entity entity) {\n" +
+ " public " + realName + "Resp apply(" + realName + "Entity entity) {\n" +
" return new " + realName + "Resp(entity);\n" +
" }\n" +
" }\n" +
diff --git a/iot-modules/iot-customer-http-api/src/test/java/com/qiuguo/iot/customer/http/api/mysql/MysqlUtilTable2Service.java b/iot-modules/iot-customer-http-api/src/test/java/com/qiuguo/iot/customer/http/api/mysql/MysqlUtilTable2Service.java
index e487e85..b7160c3 100644
--- a/iot-modules/iot-customer-http-api/src/test/java/com/qiuguo/iot/customer/http/api/mysql/MysqlUtilTable2Service.java
+++ b/iot-modules/iot-customer-http-api/src/test/java/com/qiuguo/iot/customer/http/api/mysql/MysqlUtilTable2Service.java
@@ -31,7 +31,6 @@ public class MysqlUtilTable2Service {
List list = tableBean.getFieldList();
try {
String content = "package com.admin.service.impl;\n\n\n\n" +
- "import org.apache.commons.lang3.StringUtils;\n" +
"import java.util.Date;\n";
diff --git a/iot-modules/iot-customer-http-api/src/test/tmp/SystemAddressController.java b/iot-modules/iot-customer-http-api/src/test/tmp/SystemAddressController.java
deleted file mode 100644
index a1af4ad..0000000
--- a/iot-modules/iot-customer-http-api/src/test/tmp/SystemAddressController.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package com.admin.service.impl;
-
-
-
-import org.apache.commons.lang3.StringUtils;
-import java.util.Date;
-/**
-*
-* 数据-区域Controller类
-*
-*
-* @author wulin
-* @since 2023-10-11
-*/
-
-@RestController
-@Slf4j
-@RequestMapping("/SystemAddress")
-public class SystemAddressController{
-
-
- @Autowired
- private SystemAddressService systemAddressService;
- @PostMapping("/info")
- public Mono selectSystemAddressByRequest(@RequestBody SystemAddressRequest request){
- return systemAddressService.selectSystemAddressByRequest(request).map(d -> {return new SystemAddressResp(d);});
- }
-
-
-
- @PostMapping("/list")
- public Mono> selectSystemAddresssByRequest(@RequestBody SystemAddressRequest request){
- return systemAddressService.selectDeviceInfosByRequest(request).map(d -> {
- PagerResult result = new PagerResult<>();
- result.setPageIndex(d.getPageIndex());
- result.setPageSize(d.getPageSize());
- result.setTotal(d.getTotal());
- List ds = d.getData().stream().map(new Function() {
- @Override
- public DeviceInfoResp apply(SystemAddressEntity entity) {
- return new SystemAddressResp(entity);
- }
- }
-
- ).collect(Collectors.toList());
- result.setData(ds);
- return result;
- });
- }
-
-
-
- @GetMapping("/id")
- public Mono selectSystemAddressById(@RequestParam Long id){
- return systemAddressService.selectSystemAddressById(id).map(d -> {return new SystemAddressResp(d);});
- }
-
-
-
- @PostMapping("/save")
- public Mono insertSystemAddress(@RequestBody SystemAddressEntity entity){
- return systemAddressService.insertSystemAddress(entity);
- }
-
-
-
- @PostMapping("/update")
- public Mono updateSystemAddressById(@RequestBody SystemAddressEntity entity){
- return systemAddressService.updateSystemAddressById(entity);
- }
-
-
-
- @PostMapping("/updateCover")
- public Mono updateCoverSystemAddressById(@RequestBody SystemAddressEntity entity){
- return systemAddressService.updateCoverSystemAddressById(entity);
- }
-
-
-
- @PostMapping("/delete")
- public Mono deleteSystemAddressById(@RequestParam Long id){
- return systemAddressService.deleteSystemAddressById(id);
- }
-
-
-
-}
diff --git a/iot-modules/iot-customer-http-api/src/test/tmp/SystemAddressEntity.java b/iot-modules/iot-customer-http-api/src/test/tmp/SystemAddressEntity.java
deleted file mode 100644
index 39b4c5f..0000000
--- a/iot-modules/iot-customer-http-api/src/test/tmp/SystemAddressEntity.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.qiuguo.iot.data.entity;
-import org.hswebframework.ezorm.rdb.mapping.annotation.Comment;
-import org.hswebframework.web.crud.annotation.EnableEntityEvent;
-import org.hswebframework.web.api.crud.entity.GenericEntity;
-import javax.persistence.Column;
-import javax.persistence.Table;import lombok.Data;
-import java.util.Date;
-/**
-*
-*
*数据-区域
-* @author wulin
-* @since 2023-10-11
-*/
-
-@Data
-@Comment("数据-区域")
-@Table(name = "system_address")
-@EnableEntityEvent
-public class SystemAddressEntity extends GenericEntity {
- @Comment("ID")
- @Column(name = "id", length = 11, nullable = false, unique = true)
- private Long id;
-
- @Comment("is_delete")
- @Column(name = "is_delete")
- private Integer isDelete;
-
- @Comment("create_time")
- @Column(name = "create_time")
- private Date createTime;
-
- @Comment("modify_time")
- @Column(name = "modify_time")
- private Date modifyTime;
-
- @Comment("上级ID")
- @Column(name = "parent_id", nullable = false)
- private Long parentId;
-
- @Comment("adcode")
- @Column(name = "adcode")
- private Integer adcode;
-
- @Comment("上级 adcode")
- @Column(name = "padcode", nullable = false)
- private Integer padcode;
-
- @Comment("首字母")
- @Column(name = "first", length = 50)
- private String first;
-
- @Comment("区域简称")
- @Column(name = "short_name", length = 100)
- private String shortName;
-
- @Comment("区域名称")
- @Column(name = "name", length = 100)
- private String name;
-
- @Comment("adcode_link")
- @Column(name = "adcode_link", length = 56)
- private String adcodeLink;
-
- @Comment("name_link")
- @Column(name = "name_link", length = 255)
- private String nameLink;
-
- @Comment("区域层级")
- @Column(name = "level")
- private Integer level;
-
- @Comment("区域拼音")
- @Column(name = "pinyin", length = 100)
- private String pinyin;
-
- @Comment("区域邮编")
- @Column(name = "postcode", length = 100)
- private String postcode;
-
- @Comment("使用状态")
- @Column(name = "status", length = 1)
- private Integer status;
-
- @Comment("所在经度")
- @Column(name = "lng", length = 100)
- private String lng;
-
- @Comment("所在纬度")
- @Column(name = "lat", length = 100)
- private String lat;
-
-}
\ No newline at end of file
diff --git a/iot-modules/iot-customer-http-api/src/test/tmp/SystemAddressRequest.java b/iot-modules/iot-customer-http-api/src/test/tmp/SystemAddressRequest.java
deleted file mode 100644
index 78d46bd..0000000
--- a/iot-modules/iot-customer-http-api/src/test/tmp/SystemAddressRequest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package com.qiuguo.iot.data.entity;
-import lombok.Data;
-import java.util.Date;
-/**
-*
-*数据-区域请求类
-* @author wulin
-* @since 2023-10-11
-*/
-
-
-@Data
-public class SystemAddressRequest implements java.io.Serializable {
-
- private int currPage = 1;
- private int pageSize = 10;
- private String sort;
- private String order;
- /**
- *ID
- */
- private Long id;
- /**
- *
- */
- private Integer isDelete;
- /**
- *
- */
- private Date createTime;
- /**
- *搜索开始
- */
-
- private Date createTimeStart;
-
- /**
- *搜索结束
- */
- private Date createTimeEnd;
- /**
- *
- */
- private Date modifyTime;
- /**
- *搜索开始
- */
-
- private Date modifyTimeStart;
-
- /**
- *搜索结束
- */
- private Date modifyTimeEnd;
- /**
- *上级ID
- */
- private Long parentId;
- /**
- *adcode
- */
- private Integer adcode;
- /**
- *上级 adcode
- */
- private Integer padcode;
- /**
- *首字母
- */
- private String first;
- /**
- *区域简称
- */
- private String shortName;
- /**
- *区域名称
- */
- private String name;
- /**
- *
- */
- private String adcodeLink;
- /**
- *
- */
- private String nameLink;
- /**
- *区域层级
- */
- private Integer level;
- /**
- *区域拼音
- */
- private String pinyin;
- /**
- *区域邮编
- */
- private String postcode;
- /**
- *使用状态
- */
- private Integer status;
- /**
- *所在经度
- */
- private String lng;
- /**
- *所在纬度
- */
- private String lat;
-}
\ No newline at end of file
diff --git a/iot-modules/iot-customer-http-api/src/test/tmp/SystemAddressResp.java b/iot-modules/iot-customer-http-api/src/test/tmp/SystemAddressResp.java
deleted file mode 100644
index 0172086..0000000
--- a/iot-modules/iot-customer-http-api/src/test/tmp/SystemAddressResp.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.qiuguo.iot.data.entity;
-import lombok.Data;
-import java.util.Date;
-/**
-*
-*
*数据-区域返回类
-* @author wulin
-* @since 2023-10-11
-*/
-
-@Data
-public class SystemAddressResp {
- public SystemAddressResp(){
- }
- public SystemAddressResp(SystemAddressEntity entity){
- id = entity.getId();
- createTime = entity.getCreateTime();
- modifyTime = entity.getModifyTime();
- parentId = entity.getParentId();
- adcode = entity.getAdcode();
- padcode = entity.getPadcode();
- first = entity.getFirst();
- shortName = entity.getShortName();
- name = entity.getName();
- adcodeLink = entity.getAdcodeLink();
- nameLink = entity.getNameLink();
- level = entity.getLevel();
- pinyin = entity.getPinyin();
- postcode = entity.getPostcode();
- status = entity.getStatus();
- lng = entity.getLng();
- lat = entity.getLat();
- }
-
- /**
- *ID
- */
- private Long id;
- /**
- *
- */
- private Date createTime;
- /**
- *
- */
- private Date modifyTime;
- /**
- *上级ID
- */
- private Long parentId;
- /**
- *adcode
- */
- private Integer adcode;
- /**
- *上级 adcode
- */
- private Integer padcode;
- /**
- *首字母
- */
- private String first;
- /**
- *区域简称
- */
- private String shortName;
- /**
- *区域名称
- */
- private String name;
- /**
- *
- */
- private String adcodeLink;
- /**
- *
- */
- private String nameLink;
- /**
- *区域层级
- */
- private Integer level;
- /**
- *区域拼音
- */
- private String pinyin;
- /**
- *区域邮编
- */
- private String postcode;
- /**
- *使用状态
- */
- private Integer status;
- /**
- *所在经度
- */
- private String lng;
- /**
- *所在纬度
- */
- private String lat;
-}
\ No newline at end of file
diff --git a/iot-modules/iot-customer-http-api/src/test/tmp/SystemAddressService.java b/iot-modules/iot-customer-http-api/src/test/tmp/SystemAddressService.java
deleted file mode 100644
index 9ede45c..0000000
--- a/iot-modules/iot-customer-http-api/src/test/tmp/SystemAddressService.java
+++ /dev/null
@@ -1,279 +0,0 @@
-package com.admin.service.impl;
-
-
-
-import org.apache.commons.lang3.StringUtils;
-import java.util.Date;
-/**
-*
-* 数据-区域服务类
-*
-*
-* @author wulin
-* @since 2023-10-11
-*/
-
-@Service
-@Slf4j
-public class SystemAddressService extends GenericReactiveCrudService {
-
-
- public Mono selectSystemAddressByRequest(SystemAddressRequest request){
- ReactiveQuery reactiveQuery = createQuery();
- reactiveQuery = reactiveQuery.and("is_delete", 0);
- if(request.getId() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getId, request.getId());
- }
- if(request.getIsDelete() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getIsDelete, request.getIsDelete());
- }
- if(request.getCreateTime() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getCreateTime, request.getCreateTime());
- }
- if(request.getModifyTime() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getModifyTime, request.getModifyTime());
- }
- if(request.getParentId() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getParentId, request.getParentId());
- }
- if(request.getAdcode() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getAdcode, request.getAdcode());
- }
- if(request.getPadcode() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getPadcode, request.getPadcode());
- }
- if(StringUtils.isNotEmpty(request.getFirst())){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getFirst, request.getFirst());
- }
- if(StringUtils.isNotEmpty(request.getShortName())){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getShortName, request.getShortName());
- }
- if(StringUtils.isNotEmpty(request.getName())){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getName, request.getName());
- }
- if(StringUtils.isNotEmpty(request.getAdcodeLink())){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getAdcodeLink, request.getAdcodeLink());
- }
- if(StringUtils.isNotEmpty(request.getNameLink())){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getNameLink, request.getNameLink());
- }
- if(request.getLevel() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getLevel, request.getLevel());
- }
- if(StringUtils.isNotEmpty(request.getPinyin())){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getPinyin, request.getPinyin());
- }
- if(StringUtils.isNotEmpty(request.getPostcode())){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getPostcode, request.getPostcode());
- }
- if(request.getStatus() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getStatus, request.getStatus());
- }
- if(StringUtils.isNotEmpty(request.getLng())){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getLng, request.getLng());
- }
- if(StringUtils.isNotEmpty(request.getLat())){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getLat, request.getLat());
- }
- SortOrder sortOrder = null;
- if(StringUtils.isNotEmpty(request.getOrder())){
- if(StringUtils.isNotEmpty(request.getSort()) && request.getSort().compareTo("0") == 0){
- sortOrder = SortOrder.desc(request.getOrder());
- }else{
- sortOrder = SortOrder.asc(request.getOrder());
- }
- reactiveQuery = reactiveQuery.orderBy(sortOrder);
- }
- return reactiveQuery.fetchOne();
- }
-
-
-
- public Mono> selectSystemAddresssByRequest(SystemAddressRequest request){
- ReactiveQuery reactiveQuery = createQuery();
- reactiveQuery = reactiveQuery.and("is_delete", 0);
- if(request.getId() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getId, request.getId());
- }
- if(request.getIsDelete() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getIsDelete, request.getIsDelete());
- }
- if(request.getCreateTimeStart() != null){
- reactiveQuery = reactiveQuery.gte(SystemAddressRequest::getCreateTime, request.getCreateTimeStart());
- }
- if(request.getCreateTimeEnd() != null){
- reactiveQuery = reactiveQuery.lte(SystemAddressRequest::getCreateTime, request.getCreateTimeEnd());
- }
- if(request.getModifyTimeStart() != null){
- reactiveQuery = reactiveQuery.gte(SystemAddressRequest::getModifyTime, request.getModifyTimeStart());
- }
- if(request.getModifyTimeEnd() != null){
- reactiveQuery = reactiveQuery.lte(SystemAddressRequest::getModifyTime, request.getModifyTimeEnd());
- }
- if(request.getParentId() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getParentId, request.getParentId());
- }
- if(request.getAdcode() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getAdcode, request.getAdcode());
- }
- if(request.getPadcode() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getPadcode, request.getPadcode());
- }
- if(StringUtils.isNotEmpty(request.getFirst())){
- reactiveQuery = reactiveQuery.$like$(SystemAddressRequest::getFirst, request.getFirst());
- }
- if(StringUtils.isNotEmpty(request.getShortName())){
- reactiveQuery = reactiveQuery.$like$(SystemAddressRequest::getShortName, request.getShortName());
- }
- if(StringUtils.isNotEmpty(request.getName())){
- reactiveQuery = reactiveQuery.$like$(SystemAddressRequest::getName, request.getName());
- }
- if(StringUtils.isNotEmpty(request.getAdcodeLink())){
- reactiveQuery = reactiveQuery.$like$(SystemAddressRequest::getAdcodeLink, request.getAdcodeLink());
- }
- if(StringUtils.isNotEmpty(request.getNameLink())){
- reactiveQuery = reactiveQuery.$like$(SystemAddressRequest::getNameLink, request.getNameLink());
- }
- if(request.getLevel() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getLevel, request.getLevel());
- }
- if(StringUtils.isNotEmpty(request.getPinyin())){
- reactiveQuery = reactiveQuery.$like$(SystemAddressRequest::getPinyin, request.getPinyin());
- }
- if(StringUtils.isNotEmpty(request.getPostcode())){
- reactiveQuery = reactiveQuery.$like$(SystemAddressRequest::getPostcode, request.getPostcode());
- }
- if(request.getStatus() != null){
- reactiveQuery = reactiveQuery.and(SystemAddressRequest::getStatus, request.getStatus());
- }
- if(StringUtils.isNotEmpty(request.getLng())){
- reactiveQuery = reactiveQuery.$like$(SystemAddressRequest::getLng, request.getLng());
- }
- if(StringUtils.isNotEmpty(request.getLat())){
- reactiveQuery = reactiveQuery.$like$(SystemAddressRequest::getLat, request.getLat());
- }
- QueryParamEntity param = QueryParamEntity.of(reactiveQuery.getParam());
- if(StringUtils.isNotEmpty(request.getOrder())){
- Sort sort = new Sort();
- sort.setName(request.getOrder());
- if(StringUtils.isNotEmpty(request.getSort()) && request.getSort().compareTo("0") == 0){
- sort.desc();
- }else{
- sort.asc();
- }
- param.setSorts(Arrays.asList(sort));
- }
- param.setPageIndex(request.getCurrPage());
- param.setPageSize(request.getPageSize());
- param.setPaging(true);
- param.setFirstPageIndex(1);
- return queryPager(param);
- }
-
-
-
- public Mono selectSystemAddressById(Long id){
- return createQuery()
- .and("is_delete", 0)
- .and("id", id)
- .fetchOne();
- }
-
-
-
- public Mono insertSystemAddress(SystemAddressEntity entity){
- entity.setId(null);
- entity.setCreateTime(null);
- entity.setModifyTime(null);
- return insert(entity);
- }
-
-
-
- public Mono updateSystemAddressById(SystemAddressEntity entity){
- ReactiveUpdate update = createUpdate()
- .set(SystemAddressEntity::getModifyTime, new Date());
- if(entity.getIsDelete() != null){
- update = update.set(SystemAddressEntity::getIsDelete, entity.getIsDelete());
- }
- if(entity.getParentId() != null){
- update = update.set(SystemAddressEntity::getParentId, entity.getParentId());
- }
- if(entity.getAdcode() != null){
- update = update.set(SystemAddressEntity::getAdcode, entity.getAdcode());
- }
- if(entity.getPadcode() != null){
- update = update.set(SystemAddressEntity::getPadcode, entity.getPadcode());
- }
- if(StringUtils.isNotEmpty(entity.getFirst())){
- update = update.set(SystemAddressEntity::getFirst, entity.getFirst());
- }
- if(StringUtils.isNotEmpty(entity.getShortName())){
- update = update.set(SystemAddressEntity::getShortName, entity.getShortName());
- }
- if(StringUtils.isNotEmpty(entity.getName())){
- update = update.set(SystemAddressEntity::getName, entity.getName());
- }
- if(StringUtils.isNotEmpty(entity.getAdcodeLink())){
- update = update.set(SystemAddressEntity::getAdcodeLink, entity.getAdcodeLink());
- }
- if(StringUtils.isNotEmpty(entity.getNameLink())){
- update = update.set(SystemAddressEntity::getNameLink, entity.getNameLink());
- }
- if(entity.getLevel() != null){
- update = update.set(SystemAddressEntity::getLevel, entity.getLevel());
- }
- if(StringUtils.isNotEmpty(entity.getPinyin())){
- update = update.set(SystemAddressEntity::getPinyin, entity.getPinyin());
- }
- if(StringUtils.isNotEmpty(entity.getPostcode())){
- update = update.set(SystemAddressEntity::getPostcode, entity.getPostcode());
- }
- if(entity.getStatus() != null){
- update = update.set(SystemAddressEntity::getStatus, entity.getStatus());
- }
- if(StringUtils.isNotEmpty(entity.getLng())){
- update = update.set(SystemAddressEntity::getLng, entity.getLng());
- }
- if(StringUtils.isNotEmpty(entity.getLat())){
- update = update.set(SystemAddressEntity::getLat, entity.getLat());
- }
- return update.where(SystemAddressEntity::getId, entity.getId()).and("is_delete", 0).execute();
- }
-
-
-
- public Mono updateCoverSystemAddressById(SystemAddressEntity entity){
- ReactiveUpdate update = createUpdate()
- .set(SystemAddressEntity::getModifyTime, new Date());
- update = update.set(SystemAddressEntity::getIsDelete, entity.getIsDelete());
- update = update.set(SystemAddressEntity::getParentId, entity.getParentId());
- update = update.set(SystemAddressEntity::getAdcode, entity.getAdcode());
- update = update.set(SystemAddressEntity::getPadcode, entity.getPadcode());
- update = update.set(SystemAddressEntity::getFirst, entity.getFirst());
- update = update.set(SystemAddressEntity::getShortName, entity.getShortName());
- update = update.set(SystemAddressEntity::getName, entity.getName());
- update = update.set(SystemAddressEntity::getAdcodeLink, entity.getAdcodeLink());
- update = update.set(SystemAddressEntity::getNameLink, entity.getNameLink());
- update = update.set(SystemAddressEntity::getLevel, entity.getLevel());
- update = update.set(SystemAddressEntity::getPinyin, entity.getPinyin());
- update = update.set(SystemAddressEntity::getPostcode, entity.getPostcode());
- update = update.set(SystemAddressEntity::getStatus, entity.getStatus());
- update = update.set(SystemAddressEntity::getLng, entity.getLng());
- update = update.set(SystemAddressEntity::getLat, entity.getLat());
- return update.where(SystemAddressEntity::getId, entity.getId()).and("is_delete", 0).execute();
- }
-
-
-
- public Mono deleteSystemAddressById(Long id){
- return createUpdate()
- .set("is_delete", 1)
- .set("modify_time", new Date())
- .where("id", id)
- .execute();
- }
-
-
-
-}