拦截box和物联网操作

This commit is contained in:
wulin 2023-11-18 09:45:34 +08:00
parent 667e125107
commit 85b91c7531
6 changed files with 23 additions and 16 deletions

View File

@ -191,13 +191,9 @@ public abstract class ActionCommand {
if(data.getCode() == 200){ if(data.getCode() == 200){
log.info("千问正常结束"); log.info("千问正常结束");
//保存记录 //保存记录
return actionSendMessage.sendMsgFinished(action, baseSession, data.getResut()).flatMap(b -> { return actionSendMessage.sendMsgFinished(action, baseSession, data.getResut());
return Mono.just(false);
});
}else{ }else{
return sendMessage(action, baseSession, "很抱歉,我无法回答您的问题,请换一个问题。", AskTypeEnum.NONE.getCode(), actionSendMessage).flatMap(b ->{ return sendMessage(action, baseSession, "很抱歉,我无法回答您的问题,请换一个问题。", AskTypeEnum.NONE.getCode(), actionSendMessage);
return Mono.just(false);
});
} }
}); });
} }

View File

@ -17,6 +17,9 @@ public class QianWenActionCommand extends ActionCommand implements IActionComma
return toTongYi(action, return toTongYi(action,
baseSession, baseSession,
action.getSystemTalkAnswerConfigEntity() == null ? AskTypeEnum.TTS.getCode() : action.getSystemTalkAnswerConfigEntity().getAnswerType(), action.getSystemTalkAnswerConfigEntity() == null ? AskTypeEnum.TTS.getCode() : action.getSystemTalkAnswerConfigEntity().getAnswerType(),
actionSendMessage); actionSendMessage).flatMap(vo ->{
//千问只调一次
return Mono.empty();
});
} }
} }

View File

@ -19,7 +19,7 @@ public class QiuGuoActionCommand extends ActionCommand implements IActionComman
AskTypeEnum.TTS.getCode(), AskTypeEnum.TTS.getCode(),
actionSendMessage).flatMap(m ->{ actionSendMessage).flatMap(m ->{
//自定义只能到这里截止 //自定义只能到这里截止
return Mono.just(false); return Mono.empty();
}); });
} }
} }

View File

@ -20,7 +20,10 @@ public class TtsActionCommand extends ActionCommand implements IActionCommand{
baseSession, baseSession,
AskTypeEnum.TTS.getCode(), AskTypeEnum.TTS.getCode(),
actionSendMessage actionSendMessage
); ).flatMap(vo ->{
//千问只调一次
return Mono.empty();
});
}else{ }else{
return sendMessage(action, return sendMessage(action,
baseSession, baseSession,

View File

@ -37,7 +37,7 @@ public class UserConfigActionCommand extends ActionCommand implements IActionCo
AskTypeEnum.TTS.getCode(), AskTypeEnum.TTS.getCode(),
actionSendMessage).flatMap(m ->{ actionSendMessage).flatMap(m ->{
//自定义只能到这里截止 //自定义只能到这里截止
return Mono.just(false); return Mono.empty();
}); });
}else{ }else{
log.info("调用用户匹配的回答"); log.info("调用用户匹配的回答");
@ -47,7 +47,7 @@ public class UserConfigActionCommand extends ActionCommand implements IActionCo
AskTypeEnum.TTS.getCode(), AskTypeEnum.TTS.getCode(),
actionSendMessage).flatMap(m ->{ actionSendMessage).flatMap(m ->{
//自定义只能到这里截止 //自定义只能到这里截止
return Mono.just(false); return Mono.empty();
}); });
} }
}); });

View File

@ -1,10 +1,7 @@
package com.qiuguo.iot.user.api.controller.device; package com.qiuguo.iot.user.api.controller.device;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.qiuguo.iot.base.enums.DeviceCodeEnum; import com.qiuguo.iot.base.enums.*;
import com.qiuguo.iot.base.enums.DeviceTypeEnum;
import com.qiuguo.iot.base.enums.OrderByEnum;
import com.qiuguo.iot.base.enums.YesNo;
import com.qiuguo.iot.base.utils.StringUtils; import com.qiuguo.iot.base.utils.StringUtils;
import com.qiuguo.iot.data.domain.BaseMessageResp; import com.qiuguo.iot.data.domain.BaseMessageResp;
import com.qiuguo.iot.data.domain.BaseSession; import com.qiuguo.iot.data.domain.BaseSession;
@ -89,6 +86,14 @@ public class DeviceController {
return ActionCommand.processAction(actions, session, new IActionSendMessage() { return ActionCommand.processAction(actions, session, new IActionSendMessage() {
@Override @Override
public Mono<Boolean> sendMessage(Action action, BaseSession baseSession, BaseMessageResp resp) { public Mono<Boolean> sendMessage(Action action, BaseSession baseSession, BaseMessageResp resp) {
int type = resp.getType();
if(type == AskTypeEnum.ALARM_CLOCK.getCode().intValue()
|| type == AskTypeEnum.MUSIC.getCode().intValue()
|| type == AskTypeEnum.U3D.getCode().intValue()){
resp.setText("需要购买秋果Box才具备该功能");
}else if(type == AskTypeEnum.IOT.getCode().intValue()){
resp.setText("需要购买秋果Box和秋果物联网设备才具备该功能");
}
BeanUtils.copyProperties(resp, baseMessageResp); BeanUtils.copyProperties(resp, baseMessageResp);
return Mono.just(true); return Mono.just(true);
} }
@ -128,7 +133,7 @@ public class DeviceController {
//调用远端 //调用远端
return null; return null;
} }
}).flatMap(fm -> { }).defaultIfEmpty(false).flatMap(fm -> {
return Mono.just(baseMessageResp); return Mono.just(baseMessageResp);
}); });