From 32c350b8aca021b84125f1334f7a183a2defcbfd Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期三, 08 三月 2023 14:13:17 +0800
Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_server
---
ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java | 126 +++++++++++++++++++++++++++++------------
1 files changed, 88 insertions(+), 38 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java
index 7208238..015b95e 100644
--- a/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java
@@ -4,8 +4,8 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.ycl.controller.video.common.constant.ChannelCode;
-import com.ycl.controller.video.common.util.CommonUtils;
+import com.ycl.common.constant.ChannelCode;
+import com.ycl.common.util.CommonUtils;
import com.ycl.dto.message.MessageParam;
import com.ycl.entity.message.Message;
import com.ycl.entity.message.SendReq;
@@ -35,6 +35,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Properties;
import java.util.stream.Collectors;
/**
@@ -79,27 +80,35 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public String sendMessage(Message message) {
+ public void 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::getStatus, 1)
.eq(Message::getHead, message.getHead()));
if (savedMessage != null) {
messageMapper.deleteById(savedMessage);
}
ArrayList<Long> ids = new ArrayList<>();
-
- 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());
+ message.setTargetFrom(umsAdminMapper.selectById(message.getCreateUser()).getUsername());
+ 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());
+ sendMessage.setPhoneNumber(umsAdminMapper.selectById(receive).getMobile());
+ if (ChannelCode.INNER.equals(message.getChannelCode())){
+ sendMessage.setIsView(0);
+ }
+ this.save(sendMessage);
+ ids.add(sendMessage.getId());
+ }
}
switch (message.getChannelCode()) {
//閭欢鍙戦��
@@ -115,11 +124,64 @@
default:
throw new ApiException("鏈尮閰嶅埌璇ョ被鍨�");
}
- return "send message success!";
}
@SneakyThrows
- private void sendSMS(Message message, List<Long> mesIds) {
+ @Transactional(rollbackFor = Exception.class)
+ void sendSMS(Message message, List<Long> mesIds) {
+ String[] ids = message.getTargetTo().split(",");
+ String[] mobiles = new String[ids.length];
+ for (int i = 0; i < ids.length; i++) {
+ mobiles[i] = umsAdminMapper.selectById(ids[i]).getMobile();
+ }
+ message.setPhoneNumber(StringUtils.join(mobiles, ","));
+ Integer messageStatus = sendMessages(message);
+ Message messaged = new Message();
+ for (Long id : mesIds) {
+ if (messageStatus == 2) {
+ messaged.setStatus(2);
+ messaged.setRespondResult("鍙戦�佹垚鍔�");
+ }
+ if (messageStatus == 3) {
+ messaged.setStatus(3);
+ messaged.setRespondResult("鍙戦�佸け璐�");
+ }
+ messaged.setId(id);
+ messaged.setUpdateTime(new Date());
+ messaged.setSendTime(new Date());
+ messageMapper.updateById(messaged);
+ }
+ }
+
+ @Override
+ @SneakyThrows
+ @Transactional(rollbackFor = Exception.class)
+ public void sendMessageByPhone(Message message) {
+ Message sendMessage = new Message();
+ BeanUtils.copyProperties(message, sendMessage);
+ sendMessage.setCreateTime(new Date());
+ sendMessage.setSendTime(new Date());
+ sendMessage.setSendTime(new Date());
+ sendMessage.setTargetFrom(umsAdminMapper.selectById(message.getCreateUser()).getUsername());
+ this.save(sendMessage);
+ Integer messageStatus = sendMessages(message);
+ Message messaged = new Message();
+ if (messageStatus == 2) {
+ messaged.setStatus(2);
+ messaged.setRespondResult("鍙戦�佹垚鍔�");
+ }
+ if (messageStatus == 3) {
+ messaged.setStatus(3);
+ messaged.setRespondResult("鍙戦�佸け璐�");
+ }
+ messaged.setId(sendMessage.getId());
+ messaged.setUpdateTime(new Date());
+ messaged.setSendTime(new Date());
+ messageMapper.updateById(messaged);
+ }
+
+ @SneakyThrows
+ private Integer sendMessages(Message message) {
String context = "銆�" + message.getHead() + "銆�" + message.getBody();
String addSerial = "";
SendReq sendReq = new SendReq();
@@ -127,12 +189,7 @@
sendReq.setApId(apId);
sendReq.setSign(sign);
sendReq.setContext(context);
- String[] ids = message.getTargetTo().split(",");
- String[] mobiles = new String[ids.length];
- for (int i = 0; i < ids.length; i++) {
- mobiles[i] = umsAdminMapper.selectById(ids[i]).getMobile();
- }
- sendReq.setMobiles(StringUtils.join(mobiles, ","));
+ sendReq.setMobiles(message.getPhoneNumber());
sendReq.setAddSerial(addSerial);
StringBuffer mac = new StringBuffer();
@@ -152,25 +209,10 @@
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")) {
- for (Long id : mesIds) {
- sendedMessage.setStatus(2);
- sendedMessage.setRespondResult("鍙戦�佹垚鍔�");
- sendedMessage.setId(id);
- sendedMessage.setUpdateTime(new Date());
- sendedMessage.setSendTime(new Date());
- messageMapper.updateById(sendedMessage);
- }
+ return 2;
} else {
- for (Long id : mesIds) {
- sendedMessage.setStatus(3);
- sendedMessage.setRespondResult("鍙戦�佸け璐�");
- sendedMessage.setSendTime(new Date());
- sendedMessage.setId(id);
- sendedMessage.setUpdateTime(new Date());
- messageMapper.updateById(sendedMessage);
- }
+ return 3;
}
}
@@ -181,6 +223,14 @@
javaMailSender.setHost(sendHost);
javaMailSender.setUsername(userName);
javaMailSender.setPassword(password);
+ javaMailSender.setPort(465);
+ Properties properties = new Properties();
+ properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
+ properties.put("mail.smtp.auth", "true");//蹇呴』鏄瓧绗︿覆鑰屼笉鑳芥槸boolean鍚﹀垯鎶ラ敊
+ properties.put("mail.smtp.starttls.enable", "true");
+ properties.put("mail.smtp.timeout", "1000");
+ properties.put("mail.smtp.host", sendHost);
+ javaMailSender.setJavaMailProperties(properties);
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);
helper.setText(message.getBody());
--
Gitblit v1.8.0