|
@@ -1610,6 +1610,14 @@ public class AsyncTask {
|
|
|
noChangeList.add(warningMoreExceed.getNoChangeWarningRecord());
|
|
|
}
|
|
|
|
|
|
+ List<TXinyiIndustry> tXinyiIndustries = this.xinyiIndustryMapper.selectNIndustry(INT_4);
|
|
|
+ if(CollectionUtils.isEmpty(tXinyiIndustries) || tXinyiIndustries.size() < INT_4){
|
|
|
+ log.error("处理生化报警时,获取最近的4条工业库数据失败~~~~~~~");
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+ //2025年04月18日09:47:11 因为本地决策的当前进水表现从原来的1个值变成了现在的4个值
|
|
|
+ //拼接决策的最近4小时的值
|
|
|
+ String last4Str = this.getJsNh3StrByList(tXinyiIndustries);
|
|
|
|
|
|
//进水相关报警
|
|
|
|
|
@@ -1663,7 +1671,7 @@ public class AsyncTask {
|
|
|
//插入该类型报警
|
|
|
this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(warningRecordBreakPointOne);
|
|
|
//同时处理决策 不用调用大模型,本地处理问答
|
|
|
- addChatRecordByBreakPointsSingle(warningRecordBreakPointOne, tXinyiIndustry, normConfig, category);
|
|
|
+ addChatRecordByBreakPointsSingleNew(warningRecordBreakPointOne, tXinyiIndustry, normConfig, category, last4Str);
|
|
|
}else{
|
|
|
log.info("工业库报警的时候,发现存在仪表故障(断点不变单个指标)的报警,并且已经有该类型报警了,不做任何处理");
|
|
|
//2025年03月06日10:52:57 逻辑调整:更新一直报警的那条记录的显示值
|
|
@@ -1677,7 +1685,7 @@ public class AsyncTask {
|
|
|
//更新数据库
|
|
|
this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(xinyiWarningRecord);
|
|
|
//继续调用决策【本地模拟的决策】
|
|
|
- addChatRecordByBreakPointsSingle(xinyiWarningRecord, tXinyiIndustry, normConfig, category);
|
|
|
+ addChatRecordByBreakPointsSingleNew(xinyiWarningRecord, tXinyiIndustry, normConfig, category, last4Str);
|
|
|
}
|
|
|
//额外判断当前的异常是哪个指标,并处理标识
|
|
|
if(BusinessEnum.WarningCategoryEnum.CS_COD.getCode().equals(category)){
|
|
@@ -1721,7 +1729,7 @@ public class AsyncTask {
|
|
|
tXinyiWarningRecord.setSymbol(BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_GYK.getCode());
|
|
|
this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(tXinyiWarningRecord);
|
|
|
//同时处理决策 不用调用大模型,本地处理问答
|
|
|
- addChatRecordByBreakPointsMore(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ addChatRecordByBreakPointsMoreNew(tXinyiWarningRecord, tXinyiIndustry, normConfig, last4Str);
|
|
|
}
|
|
|
}else{//之前存在报警了 所以需要2个集合数据进行匹配,如果新的和原来的一样则不用做任何操作【持续报警】;如果不一样,则新的要报警,老报警要关闭
|
|
|
List<TXinyiWarningRecord> breakPointListNew = new ArrayList<>(breakPointList);//断点集合[需要新增的]
|
|
@@ -1752,7 +1760,7 @@ public class AsyncTask {
|
|
|
tXinyiWarningRecord.setSymbol(BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_GYK.getCode());
|
|
|
this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(tXinyiWarningRecord);
|
|
|
//同时处理决策 不用调用大模型,本地处理问答
|
|
|
- addChatRecordByBreakPointsMore(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ addChatRecordByBreakPointsMoreNew(tXinyiWarningRecord, tXinyiIndustry, normConfig, last4Str);
|
|
|
}
|
|
|
}
|
|
|
//关闭老的报警
|
|
@@ -1785,7 +1793,7 @@ public class AsyncTask {
|
|
|
//更新数据库
|
|
|
this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(tXinyiWarningRecord);
|
|
|
//继续调用决策【本地模拟的决策】
|
|
|
- addChatRecordByBreakPointsMore(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ addChatRecordByBreakPointsMoreNew(tXinyiWarningRecord, tXinyiIndustry, normConfig, last4Str);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1816,7 +1824,7 @@ public class AsyncTask {
|
|
|
//插入该类型报警
|
|
|
this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(noChangeWarningRecord);
|
|
|
//同时处理决策 不用调用大模型,本地处理问答
|
|
|
- addChatRecordByNoChangeSingle(noChangeWarningRecord, tXinyiIndustry, normConfig, category);
|
|
|
+ addChatRecordByNoChangeSingleNew(noChangeWarningRecord, tXinyiIndustry, normConfig, category, last4Str);
|
|
|
}else{
|
|
|
log.info("工业库报警的时候,发现存在仪表故障(连续不变单个指标)的报警,并且已经有该类型报警了,不做任何处理");
|
|
|
//2025年03月06日10:52:57 逻辑调整:更新一直报警的那条记录的显示值
|
|
@@ -1830,7 +1838,7 @@ public class AsyncTask {
|
|
|
//更新数据库
|
|
|
this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(xinyiWarningRecord);
|
|
|
//继续调用决策【本地模拟的决策】
|
|
|
- addChatRecordByNoChangeSingle(xinyiWarningRecord, tXinyiIndustry, normConfig, category);
|
|
|
+ addChatRecordByNoChangeSingleNew(xinyiWarningRecord, tXinyiIndustry, normConfig, category, last4Str);
|
|
|
}
|
|
|
//额外判断当前的异常是哪个指标,并处理标识
|
|
|
if(BusinessEnum.WarningCategoryEnum.CS_COD.getCode().equals(category)){
|
|
@@ -1874,7 +1882,7 @@ public class AsyncTask {
|
|
|
tXinyiWarningRecord.setSymbol(BusinessEnum.WarningSymbolEnum.YBGZ_LX_MORE.getCode());
|
|
|
this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(tXinyiWarningRecord);
|
|
|
//同时处理决策 不用调用大模型,本地处理问答
|
|
|
- addChatRecordByNoChangeMore(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ addChatRecordByNoChangeMoreNew(tXinyiWarningRecord, tXinyiIndustry, normConfig, last4Str);
|
|
|
}
|
|
|
}else{//之前存在报警了 所以需要2个集合数据进行匹配,如果新的和原来的一样则不用做任何操作【持续报警】;如果不一样,则新的要报警,老报警要关闭
|
|
|
List<TXinyiWarningRecord> noChangeListNew = new ArrayList<>(noChangeList);//断点集合[需要新增的]
|
|
@@ -1905,7 +1913,7 @@ public class AsyncTask {
|
|
|
tXinyiWarningRecord.setSymbol(BusinessEnum.WarningSymbolEnum.YBGZ_LX_MORE.getCode());
|
|
|
this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(tXinyiWarningRecord);
|
|
|
//同时处理决策 不用调用大模型,本地处理问答
|
|
|
- addChatRecordByNoChangeMore(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ addChatRecordByNoChangeMoreNew(tXinyiWarningRecord, tXinyiIndustry, normConfig, last4Str);
|
|
|
}
|
|
|
}
|
|
|
//关闭老的报警
|
|
@@ -1939,7 +1947,7 @@ public class AsyncTask {
|
|
|
//更新数据库
|
|
|
this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(tXinyiWarningRecord);
|
|
|
//继续调用决策【本地模拟的决策】
|
|
|
- addChatRecordByNoChangeMore(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ addChatRecordByNoChangeMoreNew(tXinyiWarningRecord, tXinyiIndustry, normConfig, last4Str);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -4096,7 +4104,7 @@ public class AsyncTask {
|
|
|
TXinyiIndustry tXinyiIndustry1 = tXinyiIndustries.get(INDEX_1);//前一个小时
|
|
|
|
|
|
//拼接决策的最近8小时的值
|
|
|
- String last8Str = this.getJsNh3Str8(tXinyiIndustries);
|
|
|
+ String last8Str = this.getJsNh3StrByList(tXinyiIndustries);
|
|
|
|
|
|
//单点突变-异常升高报警
|
|
|
if (existsJsNh3YCSG(jsBzz, currentVal, category, tXinyiIndustry, normConfig, cwrwfhz, tXinyiIndustries, nowDate, last8Str))
|
|
@@ -4308,7 +4316,7 @@ public class AsyncTask {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- private String getJsNh3Str8(List<TXinyiIndustry> tXinyiIndustries) {
|
|
|
+ private String getJsNh3StrByList(List<TXinyiIndustry> tXinyiIndustries) {
|
|
|
// return StringUtil.join(tXinyiIndustries.stream().map(TXinyiIndustry::getJsNh3).collect(Collectors.toList()) , "mg/L、");
|
|
|
int size = tXinyiIndustries.size();
|
|
|
StringBuilder sb = new StringBuilder();
|
|
@@ -5718,7 +5726,7 @@ public class AsyncTask {
|
|
|
chatReq.setQuestion(BusinessEnum.WarningSymbolEnum.SJYC_YCSG.getMsg());//本地问题
|
|
|
// chatReq.setAnswer(category + YCSG_ANSWER_ONE + exceedVal.multiply(BigDecimal_100) + "%" + YCSG_ANSWER_TWO + warningRecord.getWarningVal() + YCSG_ANSWER_THREE);
|
|
|
// chatReq.setAnswer(YCSG_ANSWER_REPLACE.replaceAll("@@@0", category).replaceAll("@@@1", String.valueOf(DecimalUtils.getAbsAndScale(warningRecord.getWarningVal(), INT_2))).replaceAll("@@@2", DecimalUtils.getAbsAndScale(exceedVal.multiply(BigDecimal_100), INT_1) + "%").replace("@@@3", String.valueOf(DecimalUtils.getAbsAndScale(lastVal, INDEX_2))));
|
|
|
- chatReq.setAnswer(YCSG_ANSWER_REPLACE.replaceAll("@@@0", category).replaceAll("@@@1", last8Str).replaceAll("@@@2", DecimalUtils.getAbsAndScale(exceedVal.multiply(BigDecimal_100), INT_1) + "%").replace("@@@3", String.valueOf(DecimalUtils.getAbsAndScale(lastVal, INDEX_2))));
|
|
|
+ chatReq.setAnswer(YCSG_ANSWER_REPLACE_NEW.replaceAll("@@@0", category).replaceAll("@@@1", last8Str).replaceAll("@@@2", DecimalUtils.getAbsAndScale(exceedVal.multiply(BigDecimal_100), INT_1) + "%").replace("@@@3", String.valueOf(DecimalUtils.getAbsAndScale(lastVal, INDEX_2))));
|
|
|
chatReq.setWarningId(String.valueOf(warningRecord.getId()));
|
|
|
chatReq.setCounts(1);//问答次数
|
|
|
|
|
@@ -5751,6 +5759,39 @@ public class AsyncTask {
|
|
|
this.xinyiChatRecordMapper.insertTXinyiChatRecord(chatReq);
|
|
|
}
|
|
|
|
|
|
+ /***
|
|
|
+ * 2025年04月18日09:50:50 因为本地决策的当前进水表现从原来的1个值变成了现在的4个值
|
|
|
+ * 单指标连续不变-本地决策-新的
|
|
|
+ * @param warningRecord
|
|
|
+ * @param tXinyiIndustry
|
|
|
+ * @param normConfig
|
|
|
+ * @param category
|
|
|
+ * @param last4Str
|
|
|
+ */
|
|
|
+ private void addChatRecordByNoChangeSingleNew(TXinyiWarningRecord warningRecord, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, String category, String last4Str) {
|
|
|
+ ChatReq chatReq = new ChatReq();
|
|
|
+ //保存聊天记录
|
|
|
+ //将问答更新到数据库中
|
|
|
+ chatReq.setSessionId(IdUtils.simpleUUID());
|
|
|
+ chatReq.setType(1);//0问答 1决策 2本地 3仿真预测
|
|
|
+ chatReq.setModule(3);
|
|
|
+ /*String userId = SecurityUtils.getUserId().toString();
|
|
|
+ String username = SecurityUtils.getUsername();*/
|
|
|
+ chatReq.setUserId(WARNING_DEFAULT_CREATE);
|
|
|
+ String showVal = this.buildShowValue(warningRecord, tXinyiIndustry, normConfig, DateUtils.getNowDate());
|
|
|
+ chatReq.setShowVal(showVal);//前端展示的数据和提问的数据不一致
|
|
|
+ chatReq.setQuestion(BusinessEnum.WarningSymbolEnum.YBGZ_LX_SINGLE.getMsg());//本地问题
|
|
|
+// chatReq.setAnswer(SINGLE_NO_CHANGE_ANSWER_ONE + category + SINGLE_NO_CHANGE_ANSWER_TWO + category + SINGLE_NO_CHANGE_ANSWER_THREE);
|
|
|
+// chatReq.setAnswer(SINGLE_NO_CHANGE_ANSWER_REPLACE.replaceAll("@@@0", category).replaceAll("@@@1", String.valueOf(DecimalUtils.getAbsAndScale(warningRecord.getWarningVal(), INDEX_2))));
|
|
|
+ chatReq.setAnswer(SINGLE_NO_CHANGE_ANSWER_REPLACE_NEW.replaceAll("@@@0", category).replaceAll("@@@1", last4Str));
|
|
|
+ chatReq.setWarningId(String.valueOf(warningRecord.getId()));
|
|
|
+ chatReq.setCounts(1);//问答次数
|
|
|
+
|
|
|
+ chatReq.setCreateBy(WARNING_DEFAULT_CREATE);
|
|
|
+ chatReq.setCreateTime(DateUtils.getNowDate());
|
|
|
+ this.xinyiChatRecordMapper.insertTXinyiChatRecord(chatReq);
|
|
|
+ }
|
|
|
+
|
|
|
private void addChatRecordByNoChangeSingle(TXinyiWarningRecord warningRecord, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, String category) {
|
|
|
ChatReq chatReq = new ChatReq();
|
|
|
//保存聊天记录
|
|
@@ -5774,6 +5815,39 @@ public class AsyncTask {
|
|
|
this.xinyiChatRecordMapper.insertTXinyiChatRecord(chatReq);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 2025年04月18日09:50:50 因为本地决策的当前进水表现从原来的1个值变成了现在的4个值
|
|
|
+ * 拼装本地决策-单指标断点
|
|
|
+ * @param warningRecord
|
|
|
+ * @param tXinyiIndustry
|
|
|
+ * @param normConfig
|
|
|
+ * @param category
|
|
|
+ * @param last4Str
|
|
|
+ */
|
|
|
+ private void addChatRecordByBreakPointsSingleNew(TXinyiWarningRecord warningRecord, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, String category, String last4Str) {
|
|
|
+ ChatReq chatReq = new ChatReq();
|
|
|
+ //保存聊天记录
|
|
|
+ //将问答更新到数据库中
|
|
|
+ chatReq.setSessionId(IdUtils.simpleUUID());
|
|
|
+ chatReq.setType(1);//0问答 1决策 2本地 3仿真预测
|
|
|
+ chatReq.setModule(3);
|
|
|
+ /*String userId = SecurityUtils.getUserId().toString();
|
|
|
+ String username = SecurityUtils.getUsername();*/
|
|
|
+ chatReq.setUserId(WARNING_DEFAULT_CREATE);
|
|
|
+ String showVal = this.buildShowValue(warningRecord, tXinyiIndustry, normConfig, DateUtils.getNowDate());
|
|
|
+ chatReq.setShowVal(showVal);//前端展示的数据和提问的数据不一致
|
|
|
+ chatReq.setQuestion(BusinessEnum.WarningSymbolEnum.YBGZ_DD_SINGLE.getMsg());//本地问题
|
|
|
+// chatReq.setAnswer(SINGLE_BREAKPOINT_ANSWER_PREFIX + category + SINGLE_BREAKPOINT_ANSWER_SUFFIX);
|
|
|
+// chatReq.setAnswer(SINGLE_BREAKPOINT_ANSWER_REPLACE.replaceAll("@@@0", category));
|
|
|
+ chatReq.setAnswer(SINGLE_BREAKPOINT_ANSWER_REPLACE_NEW.replaceAll("@@@0", category).replaceAll("@@@1", last4Str));
|
|
|
+ chatReq.setWarningId(String.valueOf(warningRecord.getId()));
|
|
|
+ chatReq.setCounts(1);//问答次数
|
|
|
+
|
|
|
+ chatReq.setCreateBy(WARNING_DEFAULT_CREATE);
|
|
|
+ chatReq.setCreateTime(DateUtils.getNowDate());
|
|
|
+ this.xinyiChatRecordMapper.insertTXinyiChatRecord(chatReq);
|
|
|
+ }
|
|
|
+
|
|
|
private void addChatRecordByBreakPointsSingle(TXinyiWarningRecord warningRecord, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, String category) {
|
|
|
ChatReq chatReq = new ChatReq();
|
|
|
//保存聊天记录
|
|
@@ -5798,6 +5872,39 @@ public class AsyncTask {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 2025年04月18日09:50:50 因为本地决策的当前进水表现从原来的1个值变成了现在的4个值
|
|
|
+ * 多指标连续不变-本地决策-新的
|
|
|
+ *
|
|
|
+ * @param tXinyiWarningRecord
|
|
|
+ * @param tXinyiIndustry
|
|
|
+ * @param normConfig
|
|
|
+ * @param last4Str
|
|
|
+ */
|
|
|
+ private void addChatRecordByNoChangeMoreNew(TXinyiWarningRecord tXinyiWarningRecord, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, String last4Str) {
|
|
|
+ ChatReq chatReq = new ChatReq();
|
|
|
+ //保存聊天记录
|
|
|
+ //将问答更新到数据库中
|
|
|
+ chatReq.setSessionId(IdUtils.simpleUUID());
|
|
|
+ chatReq.setType(1);//0问答 1决策 2本地 3仿真预测
|
|
|
+ chatReq.setModule(3);
|
|
|
+ /*String userId = SecurityUtils.getUserId().toString();
|
|
|
+ String username = SecurityUtils.getUsername();*/
|
|
|
+ chatReq.setUserId(WARNING_DEFAULT_CREATE);
|
|
|
+ String showVal = this.buildShowValue(tXinyiWarningRecord, tXinyiIndustry, normConfig, DateUtils.getNowDate());
|
|
|
+ chatReq.setShowVal(showVal);//前端展示的数据和提问的数据不一致
|
|
|
+ chatReq.setQuestion(BusinessEnum.WarningSymbolEnum.YBGZ_LX_MORE.getMsg());//本地问题
|
|
|
+// chatReq.setAnswer(MORE_NO_CHANGE_ANSWER);
|
|
|
+// chatReq.setAnswer(MORE_NO_CHANGE_ANSWER_REPLACE.replaceAll("@@@0", tXinyiWarningRecord.getCategory()).replaceAll("@@@1", String.valueOf(DecimalUtils.getAbsAndScale(tXinyiWarningRecord.getWarningVal(), INT_2))));
|
|
|
+ chatReq.setAnswer(MORE_NO_CHANGE_ANSWER_REPLACE_NEW.replaceAll("@@@0", tXinyiWarningRecord.getCategory()).replaceAll("@@@1", last4Str));
|
|
|
+ chatReq.setWarningId(String.valueOf(tXinyiWarningRecord.getId()));
|
|
|
+ chatReq.setCounts(1);//问答次数
|
|
|
+
|
|
|
+ chatReq.setCreateBy(WARNING_DEFAULT_CREATE);
|
|
|
+ chatReq.setCreateTime(DateUtils.getNowDate());
|
|
|
+ this.xinyiChatRecordMapper.insertTXinyiChatRecord(chatReq);
|
|
|
+ }
|
|
|
+
|
|
|
private void addChatRecordByNoChangeMore(TXinyiWarningRecord tXinyiWarningRecord, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig) {
|
|
|
ChatReq chatReq = new ChatReq();
|
|
|
//保存聊天记录
|
|
@@ -5821,6 +5928,39 @@ public class AsyncTask {
|
|
|
this.xinyiChatRecordMapper.insertTXinyiChatRecord(chatReq);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 2025年04月18日09:50:50 因为本地决策的当前进水表现从原来的1个值变成了现在的4个值
|
|
|
+ * 多指标断点本地解决方案-新的
|
|
|
+ * @param tXinyiWarningRecord
|
|
|
+ * @param tXinyiIndustry
|
|
|
+ * @param normConfig
|
|
|
+ * @param last4Str
|
|
|
+ */
|
|
|
+ private void addChatRecordByBreakPointsMoreNew(TXinyiWarningRecord tXinyiWarningRecord, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, String last4Str) {
|
|
|
+ ChatReq chatReq = new ChatReq();
|
|
|
+ //保存聊天记录
|
|
|
+ //将问答更新到数据库中
|
|
|
+ chatReq.setSessionId(IdUtils.simpleUUID());
|
|
|
+ chatReq.setType(1);//0问答 1决策 2本地 3仿真预测
|
|
|
+ chatReq.setModule(3);
|
|
|
+ /*String userId = SecurityUtils.getUserId().toString();
|
|
|
+ String username = SecurityUtils.getUsername();*/
|
|
|
+ chatReq.setUserId(WARNING_DEFAULT_CREATE);
|
|
|
+ String showVal = this.buildShowValue(tXinyiWarningRecord, tXinyiIndustry, normConfig, DateUtils.getNowDate());
|
|
|
+ chatReq.setShowVal(showVal);//前端展示的数据和提问的数据不一致
|
|
|
+ chatReq.setQuestion(BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_GYK.getMsg());//本地问题
|
|
|
+// chatReq.setAnswer(MORE_BREAKPOINT_ANSWER);
|
|
|
+ chatReq.setAnswer(MORE_BREAKPOINT_ANSWER_REPLACE_NEW.replaceAll("@@@0", tXinyiWarningRecord.getCategory()).replaceAll("@@@1", last4Str));
|
|
|
+ chatReq.setWarningId(String.valueOf(tXinyiWarningRecord.getId()));
|
|
|
+ chatReq.setCounts(1);//问答次数
|
|
|
+
|
|
|
+ chatReq.setCreateBy(WARNING_DEFAULT_CREATE);
|
|
|
+ chatReq.setCreateTime(DateUtils.getNowDate());
|
|
|
+ this.xinyiChatRecordMapper.insertTXinyiChatRecord(chatReq);
|
|
|
+ }
|
|
|
+
|
|
|
private void addChatRecordByBreakPointsMore(TXinyiWarningRecord tXinyiWarningRecord, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig) {
|
|
|
ChatReq chatReq = new ChatReq();
|
|
|
//保存聊天记录
|