| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 短信发送服务实现层 |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Object sendSignMsg(String title, String content, SMSSendRequest request) { |
| | | String[] titleArr = title.split(","); |
| | | String[] rows = content.split(";"); |
| | | String[][] dyns = new String[rows.length + 1][titleArr.length]; |
| | | dyns[0] = titleArr; |
| | | int rowNum = 1; |
| | | for (String row : rows) { |
| | | String[] cols = row.split(","); |
| | | dyns[rowNum++] = cols; |
| | | public Object sendSignMsg(String title, String content, SMSSendRequest request,Integer type) { |
| | | if (type==1){ |
| | | String[] rows = content.split(";"); |
| | | // 先保存结果记录 |
| | | SmsResult smsResult = saveSendResult(request, rows.length); |
| | | List<SmsRecord> list = new ArrayList<>(); |
| | | // 遍历发送短信 |
| | | for (String row : rows) { |
| | | String[][] dyns = new String[][]{{title}, {row}}; |
| | | //请求参数 |
| | | DynSMSSendRequest sendRequest = new DynSMSSendRequest(); |
| | | sendRequest.setTemplateId(request.getTemplateId()); |
| | | sendRequest.setDynData(dyns); |
| | | // 发送 |
| | | ComResult<DynSMSSendDataResult> resultComResult = SmsUtils.dynSendMethod(sendRequest); |
| | | |
| | | SmsRecord smsRecord = new SmsRecord(); |
| | | if (null != smsResult){ |
| | | // 保存记录 |
| | | smsRecord = saveSmsRecord(request, resultComResult.getCode(), resultComResult.getMsg(), smsResult.getId()); |
| | | } |
| | | list.add(smsRecord); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(2); |
| | | map.put("smsRecord",list); |
| | | map.put("smsResult",smsResult); |
| | | // 返回 |
| | | return map; |
| | | } |
| | | //请求参数 |
| | | DynSMSSendRequest sendRequest = new DynSMSSendRequest(); |
| | | sendRequest.setTemplateId(request.getTemplateId()); |
| | | sendRequest.setDynData(dyns); |
| | | // 发送 |
| | | ComResult<DynSMSSendDataResult> resultComResult = SmsUtils.dynSendMethod(sendRequest); |
| | | // 先保存结果记录 |
| | | SmsResult smsResult = saveSendResult(request, rows.length); |
| | | if (null != smsResult){ |
| | | // 保存记录 |
| | | saveSmsRecord(request,resultComResult.getCode(),resultComResult.getMsg(),smsResult.getId()); |
| | | if (type==2){ |
| | | String[] titleArr = title.split(","); |
| | | String[] rows = content.split(";"); |
| | | String[][] dyns = new String[rows.length + 1][titleArr.length]; |
| | | dyns[0] = titleArr; |
| | | int rowNum = 1; |
| | | for (String row : rows) { |
| | | String[] cols = row.split(","); |
| | | dyns[rowNum++] = cols; |
| | | } |
| | | //请求参数 |
| | | DynSMSSendRequest sendRequest = new DynSMSSendRequest(); |
| | | sendRequest.setTemplateId(request.getTemplateId()); |
| | | sendRequest.setDynData(dyns); |
| | | // 发送 |
| | | ComResult<DynSMSSendDataResult> resultComResult = SmsUtils.dynSendMethod(sendRequest); |
| | | // 先保存结果记录 |
| | | SmsResult smsResult = saveSendResult(request, rows.length); |
| | | SmsRecord smsRecord = new SmsRecord(); |
| | | if (null != smsResult){ |
| | | // 保存记录 |
| | | smsRecord = saveSmsRecord(request, resultComResult.getCode(), resultComResult.getMsg(), smsResult.getId()); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(2); |
| | | map.put("smsRecord",smsRecord); |
| | | map.put("smsResult",smsResult); |
| | | // 返回 |
| | | return map; |
| | | } |
| | | // 返回 |
| | | return resultComResult; |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param msg 响应消息 |
| | | * @param resultId |
| | | */ |
| | | private void saveSmsRecord(SMSSendRequest request,Integer code,String msg, Long resultId) { |
| | | private SmsRecord saveSmsRecord(SMSSendRequest request,Integer code,String msg, Long resultId) { |
| | | // 在保存明细 |
| | | SmsRecord smsRecord = new SmsRecord(); |
| | | smsRecord.setTel(request.getUserNumber()); |
| | |
| | | smsRecord.setResponseMsg(msg); |
| | | //插入记录 |
| | | smsRecordService.save(smsRecord); |
| | | // 返回 |
| | | return smsRecord; |
| | | } |
| | | |
| | | /** |