Java 发送短信 ESB 接口实现优化
Java 发送短信 ESB 接口实现优化
本文介绍了如何使用 Java 发送短信 ESB 接口,并对代码进行了优化,提取公共部分,避免重复代码,提高代码可读性和可维护性。
原始代码:
public Map<String, Object> sendEsbSms1(@RequestBody @Valid smsSendDto smsSendDto) throws Exception {
String phone=smsSendDto.getPhone();
JSONObject esbHeader = new JSONObject();
esbHeader.put('VrsNo', '100');
esbHeader.put('ScnNo', '10');
esbHeader.put('SrcDate', '20190903');
esbHeader.put('SrcTime', '165025');
esbHeader.put('SrcSysId', '0332');
esbHeader.put('SrcCalCod', 'UMP');
esbHeader.put('GloSeqNo', 'G033220190903000000000004 ');
esbHeader.put('ReqNo', 'G033220190903000000000004 ');
// 创建Header对象
JSONObject header = new JSONObject();
header.put('Action', 'http://www.dongguanbank.cn/G0120006/02 ');
header.put('Address', '0332');
// 创建APPBody对象
JSONObject appBody = new JSONObject();
appBody.put('templateno', 'T1006');
appBody.put('phone',phone);
appBody.put('filename', '20190828100836.dat');
// 创建最终的JSON对象
JSONObject request = new JSONObject();
request.put('EsbHeader', esbHeader);
request.put('Header', header);
request.put('APPBody', appBody);
return request;
}
优化后的代码:
private JSONObject createEsbHeader() {
JSONObject esbHeader = new JSONObject();
esbHeader.put('VrsNo', '100');
esbHeader.put('ScnNo', '10');
esbHeader.put('SrcDate', '20190903');
esbHeader.put('SrcTime', '165025');
esbHeader.put('SrcSysId', '0332');
esbHeader.put('SrcCalCod', 'UMP');
esbHeader.put('GloSeqNo', 'G033220190903000000000004 ');
esbHeader.put('ReqNo', 'G033220190903000000000004 ');
return esbHeader;
}
private JSONObject createHeader() {
JSONObject header = new JSONObject();
header.put('Action', 'http://www.dongguanbank.cn/G0120006/02 ');
header.put('Address', '0332');
return header;
}
public Map<String, Object> sendEsbSms1(@RequestBody @Valid smsSendDto smsSendDto) throws Exception {
String phone=smsSendDto.getPhone();
// 创建APPBody对象
JSONObject appBody = new JSONObject();
appBody.put('templateno', 'T1006');
appBody.put('phone',phone);
appBody.put('filename', '20190828100836.dat');
// 创建最终的JSON对象
JSONObject request = new JSONObject();
request.put('EsbHeader', createEsbHeader());
request.put('Header', createHeader());
request.put('APPBody', appBody);
return request;
}
优化说明:
- 提取了两个公共方法
createEsbHeader()和createHeader(),用于创建 ESBHeader 和 Header 对象,避免了代码重复。 - 优化后的代码更简洁,可读性更强,也更容易维护。
总结:
通过提取公共部分,我们可以有效地减少代码重复,提高代码的可读性和可维护性。这对于大型项目来说尤其重要,可以帮助我们节省开发时间,降低代码维护成本。
原文地址: https://www.cveoy.top/t/topic/mwA6 著作权归作者所有。请勿转载和采集!