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 对象,避免了代码重复。
  • 优化后的代码更简洁,可读性更强,也更容易维护。

总结:

通过提取公共部分,我们可以有效地减少代码重复,提高代码的可读性和可维护性。这对于大型项目来说尤其重要,可以帮助我们节省开发时间,降低代码维护成本。

Java 发送短信 ESB 接口实现优化

原文地址: https://www.cveoy.top/t/topic/mwA6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录