优化这段代码 // 将解密后的报文明文设置进去 exchangeTelexMsg.setTelexMsg(dataContent); dataContent = JSONObject.toJSONString(exchangeTelexMsg); // 如果请求appID是上海p系统则记录入库 if (DataForwardAppIdEnum.P_SYSTEM_APPID.getAppId().equals(OpenApiAppContextHolder.getAppId())){ ExSendDataLogDTO exSendDataLog = getExSendDataLog(dataContent, DataForwardNameEnum.P_SYSTEM_RENDER.getName(), DataForwardNameEnum.P_SYSTEM_RECEIVER.getName(),DataTaskContentTypeEnum.CONTENT_TYPE_P_SYSTEM.getType()); // result进行判断 true为发送成功,false为发送失败 if (result) { exSendDataLog.setSendStatus(1); exSendDataLog.setSuccessMessage(message); } else { exSendDataLog.setSendStatus(2); exSendDataLog.setFailureReason(message); } log.info("转发上海p系统完成,结果={},发送记录={} appId={},请求IP={}",result ,JSONObject.toJSONString(exSendDataLog), OpenApiAppContextHolder.getAppId(), OpenApiAppContextHolder.getIp()); logService.save(exSendDataLog); }
时间: 2024-02-14 21:28:12 浏览: 320
这段代码的优化可以从以下几个方面进行:
1.减少重复操作:在代码中,将解密后的报文明文设置进去后,又将其转换为JSON格式的字符串。这里可以直接使用解密后的报文明文进行后续操作,避免了不必要的转换操作。
优化后的代码如下:
```java
exchangeTelexMsg.setTelexMsg(dataContent);
// 如果请求appID是上海p系统则记录入库
if (DataForwardAppIdEnum.P_SYSTEM_APPID.getAppId().equals(OpenApiAppContextHolder.getAppId())){
ExSendDataLogDTO exSendDataLog = getExSendDataLog(dataContent, DataForwardNameEnum.P_SYSTEM_RENDER.getName(),
DataForwardNameEnum.P_SYSTEM_RECEIVER.getName(),DataTaskContentTypeEnum.CONTENT_TYPE_P_SYSTEM.getType());
// result进行判断 true为发送成功,false为发送失败
if (result) {
exSendDataLog.setSendStatus(1);
exSendDataLog.setSuccessMessage(message);
} else {
exSendDataLog.setSendStatus(2);
exSendDataLog.setFailureReason(message);
}
log.info("转发上海p系统完成,结果={},发送记录={} appId={},请求IP={}",result
,JSONObject.toJSONString(exSendDataLog),
OpenApiAppContextHolder.getAppId(),
OpenApiAppContextHolder.getIp());
logService.save(exSendDataLog);
}
```
2.合并条件判断:在代码中,首先判断请求appID是否为上海p系统,然后再执行相应的操作。这里可以将条件判断和操作合并,减少代码的嵌套。
优化后的代码如下:
```java
if (DataForwardAppIdEnum.P_SYSTEM_APPID.getAppId().equals(OpenApiAppContextHolder.getAppId())){
exchangeTelexMsg.setTelexMsg(dataContent);
ExSendDataLogDTO exSendDataLog = getExSendDataLog(dataContent, DataForwardNameEnum.P_SYSTEM_RENDER.getName(),
DataForwardNameEnum.P_SYSTEM_RECEIVER.getName(),DataTaskContentTypeEnum.CONTENT_TYPE_P_SYSTEM.getType());
// result进行判断 true为发送成功,false为发送失败
if (result) {
exSendDataLog.setSendStatus(1);
exSendDataLog.setSuccessMessage(message);
} else {
exSendDataLog.setSendStatus(2);
exSendDataLog.setFailureReason(message);
}
log.info("转发上海p系统完成,结果={},发送记录={} appId={},请求IP={}",result
,JSONObject.toJSONString(exSendDataLog),
OpenApiAppContextHolder.getAppId(),
OpenApiAppContextHolder.getIp());
logService.save(exSendDataLog);
}
```
这样优化后的代码更加简洁、清晰,并且去除了不必要的操作。
阅读全文