| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public String sendMessage(Message message) { |
| | | |
| | | Message savedMessage = messageMapper.selectOne(new LambdaQueryWrapper<Message>() |
| | | .eq(Message::getTargetTo, message.getTargetTo()) |
| | | .eq(Message::getTargetFrom, message.getTargetFrom()) |
| | | .eq(Message::getBody, message.getBody()) |
| | | .eq(Message::getHead, message.getHead())); |
| | | if (savedMessage != null) { |
| | | messageMapper.deleteById(savedMessage); |
| | | if (!StringUtils.equals(message.getChannelCode(),ChannelCode.SMS)){ |
| | | Message savedMessage = messageMapper.selectOne(new LambdaQueryWrapper<Message>() |
| | | .eq(Message::getTargetTo, message.getTargetTo()) |
| | | .eq(Message::getTargetFrom, message.getTargetFrom()) |
| | | .eq(Message::getBody, message.getBody()) |
| | | .eq(Message::getHead, message.getHead())); |
| | | if (savedMessage != null) { |
| | | messageMapper.deleteById(savedMessage); |
| | | } |
| | | } |
| | | |
| | | ArrayList<Long> ids = new ArrayList<>(); |
| | | message.setTargetFrom(umsAdminMapper.selectById(message.getCreateUser()).getUsername()); |
| | | for (String receive : message.getTargetTo().split(",")) { |
| | | Message sendMessage = new Message(); |
| | | BeanUtils.copyProperties(message, sendMessage); |
| | | sendMessage.setCreateTime(new Date()); |
| | | sendMessage.setSendTime(new Date()); |
| | | sendMessage.setTargetTo(receive); |
| | | sendMessage.setSendTime(new Date()); |
| | | this.save(sendMessage); |
| | | ids.add(sendMessage.getId()); |
| | | if (message.getId()==null) { |
| | | for (String receive : message.getTargetTo().split(",")) { |
| | | Message sendMessage = new Message(); |
| | | BeanUtils.copyProperties(message, sendMessage); |
| | | sendMessage.setCreateTime(new Date()); |
| | | sendMessage.setSendTime(new Date()); |
| | | sendMessage.setTargetTo(receive); |
| | | sendMessage.setSendTime(new Date()); |
| | | this.save(sendMessage); |
| | | ids.add(sendMessage.getId()); |
| | | } |
| | | } |
| | | switch (message.getChannelCode()) { |
| | | //邮件发送 |
| | |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | @SneakyThrows |
| | | public String sendMessageByPhone(Message message) { |
| | | Message sendMessage = new Message(); |
| | | BeanUtils.copyProperties(message, sendMessage); |
| | | sendMessage.setCreateTime(new Date()); |
| | | sendMessage.setSendTime(new Date()); |
| | | sendMessage.setSendTime(new Date()); |
| | | this.save(sendMessage); |
| | | |
| | | String context = "【" + message.getHead() + "】" + message.getBody(); |
| | | String addSerial = ""; |
| | | SendReq sendReq = new SendReq(); |
| | | sendReq.setEcName(ecName); |
| | | sendReq.setApId(apId); |
| | | sendReq.setSign(sign); |
| | | sendReq.setContext(context); |
| | | sendReq.setMobiles(message.getPhoneNumber()); |
| | | sendReq.setAddSerial(addSerial); |
| | | |
| | | StringBuffer mac = new StringBuffer(); |
| | | mac.append(ecName); |
| | | mac.append(apId); |
| | | mac.append(sendReq.getMobiles()); |
| | | mac.append(context); |
| | | mac.append(sign); |
| | | mac.append(addSerial); |
| | | sendReq.setMac(MD5Util.md5Encrypt32Lower(mac.toString())); |
| | | |
| | | HttpHeaders httpHeaders = new HttpHeaders(); |
| | | httpHeaders.setContentType(MediaType.APPLICATION_JSON); |
| | | |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | |
| | | HttpEntity<String> stringHttpEntity = new HttpEntity<>(Base64Utils.encodeToString(objectMapper.writeValueAsBytes(mac)), httpHeaders); |
| | | |
| | | SendRes sendRes = objectMapper.readValue(restTemplate.postForEntity(url, stringHttpEntity, String.class).getBody(), SendRes.class); |
| | | Message sendedMessage = new Message(); |
| | | if (sendRes.getRspcod().equals("success")) { |
| | | sendedMessage.setStatus(2); |
| | | sendedMessage.setRespondResult("发送成功"); |
| | | sendedMessage.setId(sendMessage.getId()); |
| | | sendedMessage.setUpdateTime(new Date()); |
| | | sendedMessage.setSendTime(new Date()); |
| | | messageMapper.updateById(sendedMessage); |
| | | return "send message success!"; |
| | | } else { |
| | | sendedMessage.setStatus(3); |
| | | sendedMessage.setRespondResult("发送失败"); |
| | | sendedMessage.setSendTime(new Date()); |
| | | sendedMessage.setId(sendedMessage.getId()); |
| | | sendedMessage.setUpdateTime(new Date()); |
| | | messageMapper.updateById(sendedMessage); |
| | | return "send message fail!"; |
| | | } |
| | | } |
| | | |
| | | //发送邮件 |
| | | @SneakyThrows |
| | | private void sendMail(Message message) { |