修改发送短信逻辑 更改实体

master
bynt 3 years ago
parent f09a1d29b6
commit 3c2f4dabb3

@ -57,6 +57,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @author Enzo * @author Enzo
@ -70,7 +71,6 @@ import java.util.*;
public class TbSendSmsServiceImpl implements TbSendSmsService { public class TbSendSmsServiceImpl implements TbSendSmsService {
/** /**
* hutool * hutool
*/ */
@ -148,12 +148,15 @@ public class TbSendSmsServiceImpl implements TbSendSmsService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void sendSmsBySendVo(SendVo vo) { public void sendSmsBySendVo(SendVo vo) {
List<SendVo.DataInfo> infos = vo.getData(); List<SendVo.DataInfo> infos = vo.getData();
for (SendVo.DataInfo info : infos) { List<String> mobileList = new ArrayList<>();
TbTemplate template = lruCache.get(info.getTaskName()); Map<String, List<SendVo.DataInfo>> listMap = infos.stream().
collect(Collectors.groupingBy(SendVo.DataInfo::getTaskName));
for (String taskName : listMap.keySet()) {
TbTemplate template = lruCache.get(taskName);
if (template == null) { if (template == null) {
template = tbTemplateRepository.findByTaskName(info.getTaskName()); template = tbTemplateRepository.findByTaskName(taskName);
// 5分钟缓存 // 5分钟缓存
lruCache.put(info.getTaskName(), template, lruCache.put(taskName, template,
DateUnit.MINUTE.getMillis() * DefaultConstant.FIVE_NUMBER); DateUnit.MINUTE.getMillis() * DefaultConstant.FIVE_NUMBER);
} }
log.info(" template as [{}]", template); log.info(" template as [{}]", template);
@ -161,9 +164,10 @@ public class TbSendSmsServiceImpl implements TbSendSmsService {
log.info("send Sms fail the Template is null "); log.info("send Sms fail the Template is null ");
throw new BadRequestException("模板信息为空"); throw new BadRequestException("模板信息为空");
} }
listMap.get(taskName).forEach(info -> mobileList.add(info.getMobile()));
Map<String, Object> map = new HashMap<>(DefaultConstant.TWO_NUMBER); Map<String, Object> map = new HashMap<>(DefaultConstant.TWO_NUMBER);
map.put("baseUrlAddr", template.getLinkUrl()); map.put("baseUrlAddr", template.getLinkUrl());
map.put("variableList", info.getPhoneList()); map.put("variableList", mobileList);
// 接收生成短链参数 // 接收生成短链参数
ShortLinkUrlDto urlDto = ShortLinkUrlDto urlDto =
JSONUtil.toBean(HttpUtil.post JSONUtil.toBean(HttpUtil.post
@ -200,8 +204,9 @@ public class TbSendSmsServiceImpl implements TbSendSmsService {
sendSms.setSendStatus(sendResult ? StatusEnum.SUCCESS.getValue() : StatusEnum.UNSUCCESSFUL.getValue()); sendSms.setSendStatus(sendResult ? StatusEnum.SUCCESS.getValue() : StatusEnum.UNSUCCESSFUL.getValue());
tbSendSmsRepository.save(sendSms); tbSendSmsRepository.save(sendSms);
} }
log.info("======= [ sendSms send size {} ] =======", info.getPhoneList().size()); log.info("======= [ sendSms send size {} ] =======", listMap.get(taskName).size());
} }
} }
@Override @Override

@ -42,8 +42,8 @@ public class SendVo {
/** /**
* Base64 * Base64
*/ */
@JsonProperty("list") @JsonProperty("mobile")
private List<String> phoneList; private String mobile;
} }
} }

Loading…
Cancel
Save