建议1:
统一使用:onePassUtil.postFrom(String url, MultiValueMap<String, Object> param, Map<String, String> header);
可删除内部方法:
private JSONObject checkResult(String result)
private JSONObject postFrom(String url, MultiValueMap<String, Object> param, Map<String, String> header)
建议2:
短信发送服务和短信管理服务高度耦合,建议从接口SmsService提取公共短信发送接口,与一号通管理相关的接口区分开。
现在我有一个需求就是直接使用其他短信服务商的服务,不使用一号通的接口发送短信,只能自己封装一套接口。
建议3:
建议合并SmsServiceImpl类的方法
private Boolean commonSendSms(SendSmsVo sendSmsVo)和public Boolean sendCode(SendSmsVo sendSmsVo)
两个方法区别就是一个调用sendSmsVo.getParam和sendSmsVo.getContent。
我认为可以使用可以增加判空逻辑,选择字段赋值可以合并,例如:
Map<String, Object> map = (Map<String, Object>) JSONObject.parseObject(StringUtils.isEmpty(sendSmsVo.getParam())?sendSmsVo.getContent():sendSmsVo.getParam());