Commit 1f930e91ee09f5c52fe436b1843e1ecef7c7fd5c
1 parent
c784f262
AI 对于时间的处理
Showing
4 changed files
with
37 additions
and
13 deletions
src/main/java/com/xly/exception/dto/BusinessException.java
| @@ -13,7 +13,6 @@ public class BusinessException extends BaseException { | @@ -13,7 +13,6 @@ public class BusinessException extends BaseException { | ||
| 13 | public BusinessException(ErrorCode errorCode) { | 13 | public BusinessException(ErrorCode errorCode) { |
| 14 | super(errorCode); | 14 | super(errorCode); |
| 15 | } | 15 | } |
| 16 | - | ||
| 17 | public BusinessException(ErrorCode errorCode, String message) { | 16 | public BusinessException(ErrorCode errorCode, String message) { |
| 18 | super(errorCode, message); | 17 | super(errorCode, message); |
| 19 | } | 18 | } |
src/main/java/com/xly/service/XlyErpService.java
| @@ -219,7 +219,7 @@ public class XlyErpService { | @@ -219,7 +219,7 @@ public class XlyErpService { | ||
| 219 | private void doCleanUserMemory(UserSceneSession session,String userId){ | 219 | private void doCleanUserMemory(UserSceneSession session,String userId){ |
| 220 | operableChatMemoryProvider.clearSpecifiedMemory(userId); | 220 | operableChatMemoryProvider.clearSpecifiedMemory(userId); |
| 221 | session.setCurrentTool(null); | 221 | session.setCurrentTool(null); |
| 222 | - session.setSceneSelected(false); | 222 | +// session.setSceneSelected(false); |
| 223 | UserSceneSessionService.ERP_AGENT_CACHE.remove(userId); | 223 | UserSceneSessionService.ERP_AGENT_CACHE.remove(userId); |
| 224 | UserSceneSessionService.CHAT_AGENT_CACHE.remove(userId); | 224 | UserSceneSessionService.CHAT_AGENT_CACHE.remove(userId); |
| 225 | session.setBCleanMemory(false); | 225 | session.setBCleanMemory(false); |
src/main/java/com/xly/tool/DynamicToolProvider.java
| @@ -576,7 +576,18 @@ public class DynamicToolProvider implements ToolProvider { | @@ -576,7 +576,18 @@ public class DynamicToolProvider implements ToolProvider { | ||
| 576 | sRowData = (List<Map<String, Object>>) sRowDataMap.get("sRowData"); | 576 | sRowData = (List<Map<String, Object>>) sRowDataMap.get("sRowData"); |
| 577 | sHandleType = sRowDataMap.get("sHandleType").toString(); | 577 | sHandleType = sRowDataMap.get("sHandleType").toString(); |
| 578 | } | 578 | } |
| 579 | - if((isConfirmed || 0== meta.getIActionType()) && 5!= meta.getIBizType()){ | 579 | + //{"1":"存储过程","2":"SQL查询","3":"第三方API","4":"ERP未清","5":"ERP列表(报表)","6":"ERP单据","7":"其它","8":"自然语言TEXT2SQL"} |
| 580 | + | ||
| 581 | + if((isConfirmed && 4== meta.getIBizType()) | ||
| 582 | + || 1== meta.getIBizType() | ||
| 583 | + || 2== meta.getIBizType() | ||
| 584 | + || 3== meta.getIBizType() | ||
| 585 | + || 5== meta.getIBizType() | ||
| 586 | + || 6== meta.getIBizType() | ||
| 587 | + || 7== meta.getIBizType() | ||
| 588 | + || 8== meta.getIBizType() | ||
| 589 | + ) | ||
| 590 | + { | ||
| 580 | // 确认后必填项校验 | 591 | // 确认后必填项校验 |
| 581 | List<String> missingAfter = checkConfirmAfterParam(args, paramRuleData); | 592 | List<String> missingAfter = checkConfirmAfterParam(args, paramRuleData); |
| 582 | if (!missingAfter.isEmpty()) { | 593 | if (!missingAfter.isEmpty()) { |
| @@ -589,9 +600,10 @@ public class DynamicToolProvider implements ToolProvider { | @@ -589,9 +600,10 @@ public class DynamicToolProvider implements ToolProvider { | ||
| 589 | return executeTool(toolExecutionRequest, meta, args, paramRuleData, memoryId.toString(), session); | 600 | return executeTool(toolExecutionRequest, meta, args, paramRuleData, memoryId.toString(), session); |
| 590 | } | 601 | } |
| 591 | String askconfirmMsg =StrUtil.EMPTY; | 602 | String askconfirmMsg =StrUtil.EMPTY; |
| 592 | - if(0== meta.getIActionType() && 4!= meta.getIBizType() && 5!= meta.getIBizType()){ | ||
| 593 | - askconfirmMsg = buildConfirmUserMessage(meta, args); | ||
| 594 | - }else if(4== meta.getIBizType() || meta.getIBizType()==5){ | 603 | +// if(0== meta.getIActionType() && 4!= meta.getIBizType() && 5!= meta.getIBizType()){ |
| 604 | +// askconfirmMsg = buildConfirmUserMessage(meta, args); | ||
| 605 | +// }else | ||
| 606 | + if(4== meta.getIBizType() || meta.getIBizType()==5){ | ||
| 595 | askconfirmMsg = doGetFromData( meta,args,session); | 607 | askconfirmMsg = doGetFromData( meta,args,session); |
| 596 | // session.setSFunPrompts(askconfirmMsg); | 608 | // session.setSFunPrompts(askconfirmMsg); |
| 597 | // operableChatMemoryProvider.get(memoryId).add(UserMessage.from("SYSTEM: 等待用户确认或选择部分数据操作")); | 609 | // operableChatMemoryProvider.get(memoryId).add(UserMessage.from("SYSTEM: 等待用户确认或选择部分数据操作")); |
| @@ -867,7 +879,8 @@ public class DynamicToolProvider implements ToolProvider { | @@ -867,7 +879,8 @@ public class DynamicToolProvider implements ToolProvider { | ||
| 867 | String sReturn ="执行成功"; | 879 | String sReturn ="执行成功"; |
| 868 | try{ | 880 | try{ |
| 869 | sReturn = executeToolAfter(meta, args,toolExecutionRequest,paramRuleData,session); | 881 | sReturn = executeToolAfter(meta, args,toolExecutionRequest,paramRuleData,session); |
| 870 | - }catch (Exception e) { | 882 | + }catch (BusinessException e) { |
| 883 | + return e.getMessage(); | ||
| 871 | } | 884 | } |
| 872 | if(meta.getIActionType()==1){ | 885 | if(meta.getIActionType()==1){ |
| 873 | session.setBCleanMemory(true); | 886 | session.setBCleanMemory(true); |
| @@ -892,17 +905,29 @@ public class DynamicToolProvider implements ToolProvider { | @@ -892,17 +905,29 @@ public class DynamicToolProvider implements ToolProvider { | ||
| 892 | args.put("sBrId", session.getSBrandsId()); | 905 | args.put("sBrId", session.getSBrandsId()); |
| 893 | args.put("sBrandsId", session.getSBrandsId()); | 906 | args.put("sBrandsId", session.getSBrandsId()); |
| 894 | args.put("sSuId", session.getSSubsidiaryId()); | 907 | args.put("sSuId", session.getSSubsidiaryId()); |
| 908 | + args.put("sSrcFormId", meta.getSSrcFormId()); | ||
| 909 | + args.put("sControlName", meta.getSControlName()); | ||
| 910 | + args.put("iBizType", iBizType); | ||
| 895 | args.put("sSubsidiaryId", session.getSSubsidiaryId()); | 911 | args.put("sSubsidiaryId", session.getSSubsidiaryId()); |
| 912 | + args.put("sToolId", meta.getSId()); | ||
| 896 | if (iBizType == 1 || iBizType == 4) { | 913 | if (iBizType == 1 || iBizType == 4) { |
| 897 | Map<String, Object> data = new HashMap<>(args); | 914 | Map<String, Object> data = new HashMap<>(args); |
| 898 | data.put("sData", JSONObject.toJSONString(data)); | 915 | data.put("sData", JSONObject.toJSONString(data)); |
| 916 | + if(ObjectUtil.isEmpty(sBizContent) && iBizType == 4){ | ||
| 917 | + sBizContent ="Sp_Ai_AddCommonAfter"; | ||
| 918 | + }else{ | ||
| 919 | + String sMsgText = "未配置业务处理逻辑的方法"; | ||
| 920 | + session.setSFunPrompts(sMsgText); | ||
| 921 | + throw new BusinessException(-1,sMsgText); | ||
| 922 | + } | ||
| 899 | Map<String, Object> searMap = this.dynamicExeDbService.getDoProMap(sBizContent, data); | 923 | Map<String, Object> searMap = this.dynamicExeDbService.getDoProMap(sBizContent, data); |
| 900 | Map<String, Object> sReturn = this.dynamicExeDbService.getCallPro(searMap, sBizContent); | 924 | Map<String, Object> sReturn = this.dynamicExeDbService.getCallPro(searMap, sBizContent); |
| 901 | Integer sCode = ObjectUtil.isNotEmpty(sReturn.get(ProcedureConstant.SCODE)) ? Integer.valueOf(sReturn.get(ProcedureConstant.SCODE).toString()) : 0; | 925 | Integer sCode = ObjectUtil.isNotEmpty(sReturn.get(ProcedureConstant.SCODE)) ? Integer.valueOf(sReturn.get(ProcedureConstant.SCODE).toString()) : 0; |
| 902 | String sMsgText = ObjectUtil.isNotEmpty(sReturn.get(ProcedureConstant.SRETURN)) ? sReturn.get(ProcedureConstant.SRETURN).toString() : "操作成功"; | 926 | String sMsgText = ObjectUtil.isNotEmpty(sReturn.get(ProcedureConstant.SRETURN)) ? sReturn.get(ProcedureConstant.SRETURN).toString() : "操作成功"; |
| 903 | if (sCode < 0) { | 927 | if (sCode < 0) { |
| 904 | - String msg = ObjectUtil.isEmpty(sMsgText) ? "调用过程sCode:" + Integer.valueOf(searMap.get(ProcedureConstant.SCODE).toString()) : sMsgText; | ||
| 905 | - return String.valueOf(askUserResult(toolExecutionRequest, msg)); | 928 | + sMsgText = ObjectUtil.isEmpty(sMsgText) ? "调用过程sCode:" + Integer.valueOf(searMap.get(ProcedureConstant.SCODE).toString()) : sMsgText; |
| 929 | + session.setSFunPrompts(sMsgText); | ||
| 930 | + throw new BusinessException(sCode,sMsgText); | ||
| 906 | } | 931 | } |
| 907 | session.setSFunPrompts(sMsgText); | 932 | session.setSFunPrompts(sMsgText); |
| 908 | return sMsgText; | 933 | return sMsgText; |
| @@ -933,8 +958,9 @@ public class DynamicToolProvider implements ToolProvider { | @@ -933,8 +958,9 @@ public class DynamicToolProvider implements ToolProvider { | ||
| 933 | } | 958 | } |
| 934 | return String.valueOf(successResult(toolExecutionRequest, sb.toString())); | 959 | return String.valueOf(successResult(toolExecutionRequest, sb.toString())); |
| 935 | } else { | 960 | } else { |
| 936 | - session.setSFunPrompts("未找到对应的数据"); | ||
| 937 | - return "未找到对应的数据"; | 961 | + String sMsgText = "未找到对应的数据"; |
| 962 | + session.setSFunPrompts(sMsgText); | ||
| 963 | + throw new BusinessException(-1,sMsgText); | ||
| 938 | } | 964 | } |
| 939 | } | 965 | } |
| 940 | } else if (iBizType == 3) { | 966 | } else if (iBizType == 3) { |
src/main/resources/templates/chat.html
| @@ -468,8 +468,7 @@ | @@ -468,8 +468,7 @@ | ||
| 468 | let subsidiaryid= "1111111111"; | 468 | let subsidiaryid= "1111111111"; |
| 469 | let usertype= "sysadmin"; | 469 | let usertype= "sysadmin"; |
| 470 | // let usertype= "General"; | 470 | // let usertype= "General"; |
| 471 | - let authorization="CE444885A9BCFDDE1FD793F8A0931301E9D7DE6CEDD9DE4B83ECE2219C7829A8F3419238942A93E9AD666629E18D159AF7FE144A6407DE745BA0AEC8B235FC1DD20808D80550B390B6BE6ECDCFF597F4D8668502224FF2D5675E74B8CDD2ABFB538155B7ADAEE71E899235DC1122F426"; | ||
| 472 | - //"1EDB99C9BF070115F7A57AC43D8CB09F0B8C49F979DAB63A2AEA84B372B2B42BF3419238942A93E9AD666629E18D159AF7FE144A6407DE745BA0AEC8B235FC1DC16A7526DEC4395CF09285C2BD330B9FD8668502224FF2D5675E74B8CDD2ABFB538155B7ADAEE71E899235DC1122F426"; | 471 | + let authorization="CE444885A9BCFDDE1FD793F8A0931301E9D7DE6CEDD9DE4B83ECE2219C7829A8F3419238942A93E9AD666629E18D159AF7FE144A6407DE745BA0AEC8B235FC1DFAA0AB1345E95AFF7B0EAF75448070A329D9BB4A0103841ED6E33C9191B264BF538155B7ADAEE71E899235DC1122F426"; |
| 473 | let hrefLock = window.location.origin+"/xlyAi"; | 472 | let hrefLock = window.location.origin+"/xlyAi"; |
| 474 | // ==================== 配置部分 ==================== | 473 | // ==================== 配置部分 ==================== |
| 475 | const CONFIG = { | 474 | const CONFIG = { |